[351774] Updating/regenerating based on UML 2.4.1 source models.
diff --git a/plugins/org.eclipse.uml2.uml.edit/plugin.properties b/plugins/org.eclipse.uml2.uml.edit/plugin.properties
index 90c9de8..27076ee 100644
--- a/plugins/org.eclipse.uml2.uml.edit/plugin.properties
+++ b/plugins/org.eclipse.uml2.uml.edit/plugin.properties
@@ -7,9 +7,8 @@
 # Contributors:
 #   IBM - initial API and implementation
 #   Kenn Hussey (Embarcadero Technologies) - 204200
-#   Kenn Hussey (CEA) - 327039
+#   Kenn Hussey (CEA) - 327039, 351774
 #
-# $Id: plugin.properties,v 1.20 2009/04/30 21:15:26 jbruck Exp $
 
 # NLS_MESSAGEFORMAT_VAR
 
@@ -869,6 +868,8 @@
 _UI_StructuredActivityNode_structuredNodeInput_feature = Structured Node Input
 _UI_StructuredActivityNode_structuredNodeOutput_feature = Structured Node Output
 _UI_WriteStructuralFeatureAction_result_feature = Result
+_UI_Activity_ownedGroup_feature = Group
+_UI_Activity_ownedNode_feature = Node
 _UI_Unknown_feature = Unspecified
 
 _UI_VisibilityKind_public_literal = Public
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/providers/ActivityEdgeItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/providers/ActivityEdgeItemProvider.java
index 265940d..a2e187c 100644
--- a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/providers/ActivityEdgeItemProvider.java
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/providers/ActivityEdgeItemProvider.java
@@ -9,9 +9,8 @@
  *   IBM - initial API and implementation
  *   Kenn Hussey (Embarcadero Technologies) - 215418, 204200
  *   Kenn Hussey - 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ActivityEdgeItemProvider.java,v 1.12 2010/09/28 21:00:19 khussey Exp $
  */
 package org.eclipse.uml2.uml.edit.providers;
 
@@ -71,8 +70,8 @@
 		if (itemPropertyDescriptors == null) {
 			super.getPropertyDescriptors(object);
 
+			addActivityPropertyDescriptor(object);
 			addGuardPropertyDescriptor(object);
-			addInGroupPropertyDescriptor(object);
 			addInPartitionPropertyDescriptor(object);
 			addInStructuredNodePropertyDescriptor(object);
 			addInterruptsPropertyDescriptor(object);
@@ -80,7 +79,7 @@
 			addSourcePropertyDescriptor(object);
 			addTargetPropertyDescriptor(object);
 			addWeightPropertyDescriptor(object);
-			addActivityPropertyDescriptor(object);
+			addInGroupPropertyDescriptor(object);
 		}
 		return itemPropertyDescriptors;
 	}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/providers/ActivityGroupItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/providers/ActivityGroupItemProvider.java
index 1f56854..0899267 100644
--- a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/providers/ActivityGroupItemProvider.java
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/providers/ActivityGroupItemProvider.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey (Embarcadero Technologies) - 215418, 204200
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ActivityGroupItemProvider.java,v 1.10 2009/12/02 18:27:49 jbruck Exp $
  */
 package org.eclipse.uml2.uml.edit.providers;
 
@@ -66,11 +65,11 @@
 		if (itemPropertyDescriptors == null) {
 			super.getPropertyDescriptors(object);
 
+			addContainedEdgePropertyDescriptor(object);
 			addContainedNodePropertyDescriptor(object);
 			addInActivityPropertyDescriptor(object);
 			addSubgroupPropertyDescriptor(object);
 			addSuperGroupPropertyDescriptor(object);
-			addContainedEdgePropertyDescriptor(object);
 		}
 		return itemPropertyDescriptors;
 	}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/providers/ActivityItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/providers/ActivityItemProvider.java
index ca767bd..5354418 100644
--- a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/providers/ActivityItemProvider.java
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/providers/ActivityItemProvider.java
@@ -9,9 +9,8 @@
  *   IBM - initial API and implementation
  *   Kenn Hussey (Embarcadero Technologies) - 215418, 204200
  *   Kenn Hussey - 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ActivityItemProvider.java,v 1.24 2010/09/28 21:00:19 khussey Exp $
  */
 package org.eclipse.uml2.uml.edit.providers;
 
@@ -81,12 +80,12 @@
 			super.getPropertyDescriptors(object);
 
 			addEdgePropertyDescriptor(object);
-			addGroupPropertyDescriptor(object);
-			addStructuredNodePropertyDescriptor(object);
 			addVariablePropertyDescriptor(object);
+			addGroupPropertyDescriptor(object);
 			addIsReadOnlyPropertyDescriptor(object);
 			addIsSingleExecutionPropertyDescriptor(object);
 			addPartitionPropertyDescriptor(object);
+			addStructuredNodePropertyDescriptor(object);
 			addNodePropertyDescriptor(object);
 		}
 		return itemPropertyDescriptors;
@@ -128,8 +127,7 @@
 				getString(
 					"_UI_PropertyDescriptor_description", "_UI_Activity_group_feature", "_UI_Activity_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
 				UMLPackage.Literals.ACTIVITY__GROUP, true, false, true, null,
-				null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
-				}));
+				null, null));
 	}
 
 	/**
@@ -188,8 +186,7 @@
 				getString(
 					"_UI_PropertyDescriptor_description", "_UI_Activity_node_feature", "_UI_Activity_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
 				UMLPackage.Literals.ACTIVITY__NODE, true, false, true, null,
-				null, new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
-				}));
+				null, null));
 	}
 
 	/**
@@ -226,8 +223,8 @@
 				getString("_UI_Activity_structuredNode_feature"), //$NON-NLS-1$
 				getString(
 					"_UI_PropertyDescriptor_description", "_UI_Activity_structuredNode_feature", "_UI_Activity_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				UMLPackage.Literals.ACTIVITY__STRUCTURED_NODE, false, false,
-				false, null, null,
+				UMLPackage.Literals.ACTIVITY__STRUCTURED_NODE, true, false,
+				true, null, null,
 				new String[]{"org.eclipse.ui.views.properties.expert" //$NON-NLS-1$
 				}));
 	}
@@ -266,10 +263,10 @@
 			Object object) {
 		if (childrenFeatures == null) {
 			super.getChildrenFeatures(object);
-			childrenFeatures.add(UMLPackage.Literals.ACTIVITY__EDGE);
-			childrenFeatures.add(UMLPackage.Literals.ACTIVITY__GROUP);
+			childrenFeatures.add(UMLPackage.Literals.ACTIVITY__OWNED_GROUP);
 			childrenFeatures.add(UMLPackage.Literals.ACTIVITY__VARIABLE);
-			childrenFeatures.add(UMLPackage.Literals.ACTIVITY__NODE);
+			childrenFeatures.add(UMLPackage.Literals.ACTIVITY__OWNED_NODE);
+			childrenFeatures.add(UMLPackage.Literals.ACTIVITY__STRUCTURED_NODE);
 		}
 		return childrenFeatures;
 	}
@@ -334,17 +331,19 @@
 		updateChildren(notification);
 
 		switch (notification.getFeatureID(Activity.class)) {
-			case UMLPackage.ACTIVITY__STRUCTURED_NODE :
+			case UMLPackage.ACTIVITY__EDGE :
+			case UMLPackage.ACTIVITY__GROUP :
 			case UMLPackage.ACTIVITY__IS_READ_ONLY :
 			case UMLPackage.ACTIVITY__IS_SINGLE_EXECUTION :
 			case UMLPackage.ACTIVITY__PARTITION :
+			case UMLPackage.ACTIVITY__NODE :
 				fireNotifyChanged(new ViewerNotification(notification,
 					notification.getNotifier(), false, true));
 				return;
-			case UMLPackage.ACTIVITY__EDGE :
-			case UMLPackage.ACTIVITY__GROUP :
+			case UMLPackage.ACTIVITY__OWNED_GROUP :
 			case UMLPackage.ACTIVITY__VARIABLE :
-			case UMLPackage.ACTIVITY__NODE :
+			case UMLPackage.ACTIVITY__OWNED_NODE :
+			case UMLPackage.ACTIVITY__STRUCTURED_NODE :
 				fireNotifyChanged(new ViewerNotification(notification,
 					notification.getNotifier(), true, false));
 				return;
@@ -365,6 +364,34 @@
 		super.collectNewChildDescriptors(newChildDescriptors, object);
 
 		newChildDescriptors.add(createChildParameter(
+			UMLPackage.Literals.ACTIVITY__OWNED_GROUP,
+			UMLFactory.eINSTANCE.createActivityPartition()));
+
+		newChildDescriptors.add(createChildParameter(
+			UMLPackage.Literals.ACTIVITY__OWNED_GROUP,
+			UMLFactory.eINSTANCE.createStructuredActivityNode()));
+
+		newChildDescriptors.add(createChildParameter(
+			UMLPackage.Literals.ACTIVITY__OWNED_GROUP,
+			UMLFactory.eINSTANCE.createInterruptibleActivityRegion()));
+
+		newChildDescriptors.add(createChildParameter(
+			UMLPackage.Literals.ACTIVITY__OWNED_GROUP,
+			UMLFactory.eINSTANCE.createConditionalNode()));
+
+		newChildDescriptors.add(createChildParameter(
+			UMLPackage.Literals.ACTIVITY__OWNED_GROUP,
+			UMLFactory.eINSTANCE.createExpansionRegion()));
+
+		newChildDescriptors.add(createChildParameter(
+			UMLPackage.Literals.ACTIVITY__OWNED_GROUP,
+			UMLFactory.eINSTANCE.createLoopNode()));
+
+		newChildDescriptors.add(createChildParameter(
+			UMLPackage.Literals.ACTIVITY__OWNED_GROUP,
+			UMLFactory.eINSTANCE.createSequenceNode()));
+
+		newChildDescriptors.add(createChildParameter(
 			UMLPackage.Literals.ACTIVITY__EDGE,
 			UMLFactory.eINSTANCE.createControlFlow()));
 
@@ -373,288 +400,260 @@
 			UMLFactory.eINSTANCE.createObjectFlow()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.ACTIVITY__GROUP,
-			UMLFactory.eINSTANCE.createActivityPartition()));
-
-		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.ACTIVITY__GROUP,
-			UMLFactory.eINSTANCE.createStructuredActivityNode()));
-
-		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.ACTIVITY__GROUP,
-			UMLFactory.eINSTANCE.createInterruptibleActivityRegion()));
-
-		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.ACTIVITY__GROUP,
-			UMLFactory.eINSTANCE.createConditionalNode()));
-
-		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.ACTIVITY__GROUP,
-			UMLFactory.eINSTANCE.createExpansionRegion()));
-
-		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.ACTIVITY__GROUP,
-			UMLFactory.eINSTANCE.createLoopNode()));
-
-		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.ACTIVITY__GROUP,
-			UMLFactory.eINSTANCE.createSequenceNode()));
-
-		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.ACTIVITY__STRUCTURED_NODE,
-			UMLFactory.eINSTANCE.createStructuredActivityNode()));
-
-		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.ACTIVITY__STRUCTURED_NODE,
-			UMLFactory.eINSTANCE.createConditionalNode()));
-
-		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.ACTIVITY__STRUCTURED_NODE,
-			UMLFactory.eINSTANCE.createExpansionRegion()));
-
-		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.ACTIVITY__STRUCTURED_NODE,
-			UMLFactory.eINSTANCE.createLoopNode()));
-
-		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.ACTIVITY__STRUCTURED_NODE,
-			UMLFactory.eINSTANCE.createSequenceNode()));
-
-		newChildDescriptors.add(createChildParameter(
 			UMLPackage.Literals.ACTIVITY__VARIABLE,
 			UMLFactory.eINSTANCE.createVariable()));
 
 		newChildDescriptors.add(createChildParameter(
+			UMLPackage.Literals.ACTIVITY__OWNED_NODE,
+			UMLFactory.eINSTANCE.createAcceptEventAction()));
+
+		newChildDescriptors.add(createChildParameter(
+			UMLPackage.Literals.ACTIVITY__OWNED_NODE,
+			UMLFactory.eINSTANCE.createAcceptCallAction()));
+
+		newChildDescriptors.add(createChildParameter(
+			UMLPackage.Literals.ACTIVITY__OWNED_NODE,
+			UMLFactory.eINSTANCE.createStructuredActivityNode()));
+
+		newChildDescriptors.add(createChildParameter(
+			UMLPackage.Literals.ACTIVITY__OWNED_NODE,
+			UMLFactory.eINSTANCE.createInputPin()));
+
+		newChildDescriptors.add(createChildParameter(
+			UMLPackage.Literals.ACTIVITY__OWNED_NODE,
+			UMLFactory.eINSTANCE.createOutputPin()));
+
+		newChildDescriptors.add(createChildParameter(
+			UMLPackage.Literals.ACTIVITY__OWNED_NODE,
+			UMLFactory.eINSTANCE.createActionInputPin()));
+
+		newChildDescriptors.add(createChildParameter(
+			UMLPackage.Literals.ACTIVITY__OWNED_NODE,
+			UMLFactory.eINSTANCE.createActivityFinalNode()));
+
+		newChildDescriptors.add(createChildParameter(
+			UMLPackage.Literals.ACTIVITY__OWNED_NODE,
+			UMLFactory.eINSTANCE.createActivityParameterNode()));
+
+		newChildDescriptors.add(createChildParameter(
+			UMLPackage.Literals.ACTIVITY__OWNED_NODE,
+			UMLFactory.eINSTANCE.createAddStructuralFeatureValueAction()));
+
+		newChildDescriptors.add(createChildParameter(
+			UMLPackage.Literals.ACTIVITY__OWNED_NODE,
+			UMLFactory.eINSTANCE.createAddVariableValueAction()));
+
+		newChildDescriptors.add(createChildParameter(
+			UMLPackage.Literals.ACTIVITY__OWNED_NODE,
+			UMLFactory.eINSTANCE.createBroadcastSignalAction()));
+
+		newChildDescriptors.add(createChildParameter(
+			UMLPackage.Literals.ACTIVITY__OWNED_NODE,
+			UMLFactory.eINSTANCE.createCallBehaviorAction()));
+
+		newChildDescriptors.add(createChildParameter(
+			UMLPackage.Literals.ACTIVITY__OWNED_NODE,
+			UMLFactory.eINSTANCE.createCallOperationAction()));
+
+		newChildDescriptors.add(createChildParameter(
+			UMLPackage.Literals.ACTIVITY__OWNED_NODE,
+			UMLFactory.eINSTANCE.createCentralBufferNode()));
+
+		newChildDescriptors.add(createChildParameter(
+			UMLPackage.Literals.ACTIVITY__OWNED_NODE,
+			UMLFactory.eINSTANCE.createClearAssociationAction()));
+
+		newChildDescriptors.add(createChildParameter(
+			UMLPackage.Literals.ACTIVITY__OWNED_NODE,
+			UMLFactory.eINSTANCE.createClearStructuralFeatureAction()));
+
+		newChildDescriptors.add(createChildParameter(
+			UMLPackage.Literals.ACTIVITY__OWNED_NODE,
+			UMLFactory.eINSTANCE.createClearVariableAction()));
+
+		newChildDescriptors.add(createChildParameter(
+			UMLPackage.Literals.ACTIVITY__OWNED_NODE,
+			UMLFactory.eINSTANCE.createConditionalNode()));
+
+		newChildDescriptors.add(createChildParameter(
+			UMLPackage.Literals.ACTIVITY__OWNED_NODE,
+			UMLFactory.eINSTANCE.createCreateLinkAction()));
+
+		newChildDescriptors.add(createChildParameter(
+			UMLPackage.Literals.ACTIVITY__OWNED_NODE,
+			UMLFactory.eINSTANCE.createCreateLinkObjectAction()));
+
+		newChildDescriptors.add(createChildParameter(
+			UMLPackage.Literals.ACTIVITY__OWNED_NODE,
+			UMLFactory.eINSTANCE.createCreateObjectAction()));
+
+		newChildDescriptors.add(createChildParameter(
+			UMLPackage.Literals.ACTIVITY__OWNED_NODE,
+			UMLFactory.eINSTANCE.createDataStoreNode()));
+
+		newChildDescriptors.add(createChildParameter(
+			UMLPackage.Literals.ACTIVITY__OWNED_NODE,
+			UMLFactory.eINSTANCE.createDecisionNode()));
+
+		newChildDescriptors.add(createChildParameter(
+			UMLPackage.Literals.ACTIVITY__OWNED_NODE,
+			UMLFactory.eINSTANCE.createDestroyLinkAction()));
+
+		newChildDescriptors.add(createChildParameter(
+			UMLPackage.Literals.ACTIVITY__OWNED_NODE,
+			UMLFactory.eINSTANCE.createDestroyObjectAction()));
+
+		newChildDescriptors.add(createChildParameter(
+			UMLPackage.Literals.ACTIVITY__OWNED_NODE,
+			UMLFactory.eINSTANCE.createExpansionNode()));
+
+		newChildDescriptors.add(createChildParameter(
+			UMLPackage.Literals.ACTIVITY__OWNED_NODE,
+			UMLFactory.eINSTANCE.createExpansionRegion()));
+
+		newChildDescriptors.add(createChildParameter(
+			UMLPackage.Literals.ACTIVITY__OWNED_NODE,
+			UMLFactory.eINSTANCE.createFlowFinalNode()));
+
+		newChildDescriptors.add(createChildParameter(
+			UMLPackage.Literals.ACTIVITY__OWNED_NODE,
+			UMLFactory.eINSTANCE.createForkNode()));
+
+		newChildDescriptors.add(createChildParameter(
+			UMLPackage.Literals.ACTIVITY__OWNED_NODE,
+			UMLFactory.eINSTANCE.createInitialNode()));
+
+		newChildDescriptors.add(createChildParameter(
+			UMLPackage.Literals.ACTIVITY__OWNED_NODE,
+			UMLFactory.eINSTANCE.createJoinNode()));
+
+		newChildDescriptors.add(createChildParameter(
+			UMLPackage.Literals.ACTIVITY__OWNED_NODE,
+			UMLFactory.eINSTANCE.createLoopNode()));
+
+		newChildDescriptors.add(createChildParameter(
+			UMLPackage.Literals.ACTIVITY__OWNED_NODE,
+			UMLFactory.eINSTANCE.createMergeNode()));
+
+		newChildDescriptors.add(createChildParameter(
+			UMLPackage.Literals.ACTIVITY__OWNED_NODE,
+			UMLFactory.eINSTANCE.createOpaqueAction()));
+
+		newChildDescriptors.add(createChildParameter(
+			UMLPackage.Literals.ACTIVITY__OWNED_NODE,
+			UMLFactory.eINSTANCE.createRaiseExceptionAction()));
+
+		newChildDescriptors.add(createChildParameter(
+			UMLPackage.Literals.ACTIVITY__OWNED_NODE,
+			UMLFactory.eINSTANCE.createReadExtentAction()));
+
+		newChildDescriptors.add(createChildParameter(
+			UMLPackage.Literals.ACTIVITY__OWNED_NODE,
+			UMLFactory.eINSTANCE.createReadIsClassifiedObjectAction()));
+
+		newChildDescriptors.add(createChildParameter(
+			UMLPackage.Literals.ACTIVITY__OWNED_NODE,
+			UMLFactory.eINSTANCE.createReadLinkAction()));
+
+		newChildDescriptors.add(createChildParameter(
+			UMLPackage.Literals.ACTIVITY__OWNED_NODE,
+			UMLFactory.eINSTANCE.createReadLinkObjectEndAction()));
+
+		newChildDescriptors.add(createChildParameter(
+			UMLPackage.Literals.ACTIVITY__OWNED_NODE,
+			UMLFactory.eINSTANCE.createReadLinkObjectEndQualifierAction()));
+
+		newChildDescriptors.add(createChildParameter(
+			UMLPackage.Literals.ACTIVITY__OWNED_NODE,
+			UMLFactory.eINSTANCE.createReadSelfAction()));
+
+		newChildDescriptors.add(createChildParameter(
+			UMLPackage.Literals.ACTIVITY__OWNED_NODE,
+			UMLFactory.eINSTANCE.createReadStructuralFeatureAction()));
+
+		newChildDescriptors.add(createChildParameter(
+			UMLPackage.Literals.ACTIVITY__OWNED_NODE,
+			UMLFactory.eINSTANCE.createReadVariableAction()));
+
+		newChildDescriptors.add(createChildParameter(
+			UMLPackage.Literals.ACTIVITY__OWNED_NODE,
+			UMLFactory.eINSTANCE.createReclassifyObjectAction()));
+
+		newChildDescriptors.add(createChildParameter(
+			UMLPackage.Literals.ACTIVITY__OWNED_NODE,
+			UMLFactory.eINSTANCE.createReduceAction()));
+
+		newChildDescriptors.add(createChildParameter(
+			UMLPackage.Literals.ACTIVITY__OWNED_NODE,
+			UMLFactory.eINSTANCE.createRemoveStructuralFeatureValueAction()));
+
+		newChildDescriptors.add(createChildParameter(
+			UMLPackage.Literals.ACTIVITY__OWNED_NODE,
+			UMLFactory.eINSTANCE.createRemoveVariableValueAction()));
+
+		newChildDescriptors.add(createChildParameter(
+			UMLPackage.Literals.ACTIVITY__OWNED_NODE,
+			UMLFactory.eINSTANCE.createReplyAction()));
+
+		newChildDescriptors.add(createChildParameter(
+			UMLPackage.Literals.ACTIVITY__OWNED_NODE,
+			UMLFactory.eINSTANCE.createSendObjectAction()));
+
+		newChildDescriptors.add(createChildParameter(
+			UMLPackage.Literals.ACTIVITY__OWNED_NODE,
+			UMLFactory.eINSTANCE.createSendSignalAction()));
+
+		newChildDescriptors.add(createChildParameter(
+			UMLPackage.Literals.ACTIVITY__OWNED_NODE,
+			UMLFactory.eINSTANCE.createSequenceNode()));
+
+		newChildDescriptors.add(createChildParameter(
+			UMLPackage.Literals.ACTIVITY__OWNED_NODE,
+			UMLFactory.eINSTANCE.createStartClassifierBehaviorAction()));
+
+		newChildDescriptors.add(createChildParameter(
+			UMLPackage.Literals.ACTIVITY__OWNED_NODE,
+			UMLFactory.eINSTANCE.createStartObjectBehaviorAction()));
+
+		newChildDescriptors.add(createChildParameter(
+			UMLPackage.Literals.ACTIVITY__OWNED_NODE,
+			UMLFactory.eINSTANCE.createTestIdentityAction()));
+
+		newChildDescriptors.add(createChildParameter(
+			UMLPackage.Literals.ACTIVITY__OWNED_NODE,
+			UMLFactory.eINSTANCE.createUnmarshallAction()));
+
+		newChildDescriptors.add(createChildParameter(
+			UMLPackage.Literals.ACTIVITY__OWNED_NODE,
+			UMLFactory.eINSTANCE.createValuePin()));
+
+		newChildDescriptors.add(createChildParameter(
+			UMLPackage.Literals.ACTIVITY__OWNED_NODE,
+			UMLFactory.eINSTANCE.createValueSpecificationAction()));
+
+		newChildDescriptors.add(createChildParameter(
 			UMLPackage.Literals.ACTIVITY__PARTITION,
 			UMLFactory.eINSTANCE.createActivityPartition()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.ACTIVITY__NODE,
-			UMLFactory.eINSTANCE.createAcceptEventAction()));
-
-		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.ACTIVITY__NODE,
-			UMLFactory.eINSTANCE.createAcceptCallAction()));
-
-		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.ACTIVITY__NODE,
+			UMLPackage.Literals.ACTIVITY__STRUCTURED_NODE,
 			UMLFactory.eINSTANCE.createStructuredActivityNode()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.ACTIVITY__NODE,
-			UMLFactory.eINSTANCE.createInputPin()));
-
-		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.ACTIVITY__NODE,
-			UMLFactory.eINSTANCE.createOutputPin()));
-
-		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.ACTIVITY__NODE,
-			UMLFactory.eINSTANCE.createActionInputPin()));
-
-		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.ACTIVITY__NODE,
-			UMLFactory.eINSTANCE.createActivityFinalNode()));
-
-		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.ACTIVITY__NODE,
-			UMLFactory.eINSTANCE.createActivityParameterNode()));
-
-		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.ACTIVITY__NODE,
-			UMLFactory.eINSTANCE.createAddStructuralFeatureValueAction()));
-
-		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.ACTIVITY__NODE,
-			UMLFactory.eINSTANCE.createAddVariableValueAction()));
-
-		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.ACTIVITY__NODE,
-			UMLFactory.eINSTANCE.createBroadcastSignalAction()));
-
-		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.ACTIVITY__NODE,
-			UMLFactory.eINSTANCE.createCallBehaviorAction()));
-
-		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.ACTIVITY__NODE,
-			UMLFactory.eINSTANCE.createCallOperationAction()));
-
-		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.ACTIVITY__NODE,
-			UMLFactory.eINSTANCE.createCentralBufferNode()));
-
-		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.ACTIVITY__NODE,
-			UMLFactory.eINSTANCE.createClearAssociationAction()));
-
-		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.ACTIVITY__NODE,
-			UMLFactory.eINSTANCE.createClearStructuralFeatureAction()));
-
-		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.ACTIVITY__NODE,
-			UMLFactory.eINSTANCE.createClearVariableAction()));
-
-		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.ACTIVITY__NODE,
+			UMLPackage.Literals.ACTIVITY__STRUCTURED_NODE,
 			UMLFactory.eINSTANCE.createConditionalNode()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.ACTIVITY__NODE,
-			UMLFactory.eINSTANCE.createCreateLinkAction()));
-
-		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.ACTIVITY__NODE,
-			UMLFactory.eINSTANCE.createCreateLinkObjectAction()));
-
-		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.ACTIVITY__NODE,
-			UMLFactory.eINSTANCE.createCreateObjectAction()));
-
-		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.ACTIVITY__NODE,
-			UMLFactory.eINSTANCE.createDataStoreNode()));
-
-		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.ACTIVITY__NODE,
-			UMLFactory.eINSTANCE.createDecisionNode()));
-
-		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.ACTIVITY__NODE,
-			UMLFactory.eINSTANCE.createDestroyLinkAction()));
-
-		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.ACTIVITY__NODE,
-			UMLFactory.eINSTANCE.createDestroyObjectAction()));
-
-		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.ACTIVITY__NODE,
-			UMLFactory.eINSTANCE.createExpansionNode()));
-
-		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.ACTIVITY__NODE,
+			UMLPackage.Literals.ACTIVITY__STRUCTURED_NODE,
 			UMLFactory.eINSTANCE.createExpansionRegion()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.ACTIVITY__NODE,
-			UMLFactory.eINSTANCE.createFlowFinalNode()));
-
-		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.ACTIVITY__NODE,
-			UMLFactory.eINSTANCE.createForkNode()));
-
-		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.ACTIVITY__NODE,
-			UMLFactory.eINSTANCE.createInitialNode()));
-
-		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.ACTIVITY__NODE,
-			UMLFactory.eINSTANCE.createJoinNode()));
-
-		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.ACTIVITY__NODE,
+			UMLPackage.Literals.ACTIVITY__STRUCTURED_NODE,
 			UMLFactory.eINSTANCE.createLoopNode()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.ACTIVITY__NODE,
-			UMLFactory.eINSTANCE.createMergeNode()));
-
-		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.ACTIVITY__NODE,
-			UMLFactory.eINSTANCE.createOpaqueAction()));
-
-		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.ACTIVITY__NODE,
-			UMLFactory.eINSTANCE.createRaiseExceptionAction()));
-
-		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.ACTIVITY__NODE,
-			UMLFactory.eINSTANCE.createReadExtentAction()));
-
-		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.ACTIVITY__NODE,
-			UMLFactory.eINSTANCE.createReadIsClassifiedObjectAction()));
-
-		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.ACTIVITY__NODE,
-			UMLFactory.eINSTANCE.createReadLinkAction()));
-
-		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.ACTIVITY__NODE,
-			UMLFactory.eINSTANCE.createReadLinkObjectEndAction()));
-
-		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.ACTIVITY__NODE,
-			UMLFactory.eINSTANCE.createReadLinkObjectEndQualifierAction()));
-
-		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.ACTIVITY__NODE,
-			UMLFactory.eINSTANCE.createReadSelfAction()));
-
-		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.ACTIVITY__NODE,
-			UMLFactory.eINSTANCE.createReadStructuralFeatureAction()));
-
-		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.ACTIVITY__NODE,
-			UMLFactory.eINSTANCE.createReadVariableAction()));
-
-		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.ACTIVITY__NODE,
-			UMLFactory.eINSTANCE.createReclassifyObjectAction()));
-
-		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.ACTIVITY__NODE,
-			UMLFactory.eINSTANCE.createReduceAction()));
-
-		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.ACTIVITY__NODE,
-			UMLFactory.eINSTANCE.createRemoveStructuralFeatureValueAction()));
-
-		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.ACTIVITY__NODE,
-			UMLFactory.eINSTANCE.createRemoveVariableValueAction()));
-
-		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.ACTIVITY__NODE,
-			UMLFactory.eINSTANCE.createReplyAction()));
-
-		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.ACTIVITY__NODE,
-			UMLFactory.eINSTANCE.createSendObjectAction()));
-
-		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.ACTIVITY__NODE,
-			UMLFactory.eINSTANCE.createSendSignalAction()));
-
-		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.ACTIVITY__NODE,
+			UMLPackage.Literals.ACTIVITY__STRUCTURED_NODE,
 			UMLFactory.eINSTANCE.createSequenceNode()));
-
-		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.ACTIVITY__NODE,
-			UMLFactory.eINSTANCE.createStartClassifierBehaviorAction()));
-
-		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.ACTIVITY__NODE,
-			UMLFactory.eINSTANCE.createStartObjectBehaviorAction()));
-
-		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.ACTIVITY__NODE,
-			UMLFactory.eINSTANCE.createTestIdentityAction()));
-
-		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.ACTIVITY__NODE,
-			UMLFactory.eINSTANCE.createUnmarshallAction()));
-
-		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.ACTIVITY__NODE,
-			UMLFactory.eINSTANCE.createValuePin()));
-
-		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.ACTIVITY__NODE,
-			UMLFactory.eINSTANCE.createValueSpecificationAction()));
 	}
 
 	/**
@@ -680,10 +679,10 @@
 			|| childFeature == UMLPackage.Literals.ENCAPSULATED_CLASSIFIER__OWNED_PORT
 			|| childFeature == UMLPackage.Literals.BEHAVIORED_CLASSIFIER__CLASSIFIER_BEHAVIOR
 			|| childFeature == UMLPackage.Literals.BEHAVIORED_CLASSIFIER__OWNED_BEHAVIOR
-			|| childFeature == UMLPackage.Literals.ACTIVITY__GROUP
+			|| childFeature == UMLPackage.Literals.ACTIVITY__OWNED_GROUP
 			|| childFeature == UMLPackage.Literals.ACTIVITY__PARTITION
-			|| childFeature == UMLPackage.Literals.ACTIVITY__STRUCTURED_NODE
-			|| childFeature == UMLPackage.Literals.ACTIVITY__NODE;
+			|| childFeature == UMLPackage.Literals.ACTIVITY__OWNED_NODE
+			|| childFeature == UMLPackage.Literals.ACTIVITY__STRUCTURED_NODE;
 
 		if (qualify) {
 			return getString("_UI_CreateChild_text2", //$NON-NLS-1$
@@ -697,16 +696,32 @@
 	 * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createAddCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.util.Collection, int)
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @generated
+	 * @generated NOT
 	 */
 	@Override
 	protected Command createAddCommand(EditingDomain domain, EObject owner,
 			EStructuralFeature feature, Collection<?> collection, int index) {
-		if (feature == UMLPackage.Literals.ACTIVITY__PARTITION) {
+		if (feature == UMLPackage.Literals.ACTIVITY__OWNED_GROUP) {
 			return new SubsetAddCommand(domain, owner, feature,
 				new EStructuralFeature[]{UMLPackage.Literals.ACTIVITY__GROUP},
 				collection, index);
 		}
+		if (feature == UMLPackage.Literals.ACTIVITY__OWNED_NODE) {
+			return new SubsetAddCommand(domain, owner, feature,
+				new EStructuralFeature[]{UMLPackage.Literals.ACTIVITY__NODE},
+				collection, index);
+		}
+		if (feature == UMLPackage.Literals.ACTIVITY__PARTITION) {
+			return new SubsetAddCommand(domain, owner, feature,
+				new EStructuralFeature[]{UMLPackage.Literals.ACTIVITY__GROUP,
+					UMLPackage.Literals.ACTIVITY__OWNED_GROUP}, collection,
+				index);
+		}
+		if (feature == UMLPackage.Literals.ACTIVITY__STRUCTURED_NODE) {
+			return new SubsetAddCommand(domain, owner, feature,
+				new EStructuralFeature[]{UMLPackage.Literals.ACTIVITY__GROUP,
+					UMLPackage.Literals.ACTIVITY__NODE}, collection, index);
+		}
 		return super
 			.createAddCommand(domain, owner, feature, collection, index);
 	}
@@ -715,12 +730,25 @@
 	 * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createRemoveCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, java.util.Collection)
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @generated
+	 * @generated NOT
 	 */
 	@Override
 	protected Command createRemoveCommand(EditingDomain domain, EObject owner,
 			EStructuralFeature feature, Collection<?> collection) {
 		if (feature == UMLPackage.Literals.ACTIVITY__GROUP) {
+			return new SupersetRemoveCommand(domain, owner, feature,
+				new EStructuralFeature[]{
+					UMLPackage.Literals.ACTIVITY__OWNED_GROUP,
+					UMLPackage.Literals.ACTIVITY__PARTITION,
+					UMLPackage.Literals.ACTIVITY__STRUCTURED_NODE}, collection);
+		}
+		if (feature == UMLPackage.Literals.ACTIVITY__NODE) {
+			return new SupersetRemoveCommand(domain, owner, feature,
+				new EStructuralFeature[]{
+					UMLPackage.Literals.ACTIVITY__OWNED_NODE,
+					UMLPackage.Literals.ACTIVITY__STRUCTURED_NODE}, collection);
+		}
+		if (feature == UMLPackage.Literals.ACTIVITY__OWNED_GROUP) {
 			return new SupersetRemoveCommand(
 				domain,
 				owner,
@@ -735,25 +763,46 @@
 	 * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#createReplaceCommand(org.eclipse.emf.edit.domain.EditingDomain, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature, org.eclipse.emf.ecore.EObject, java.util.Collection)
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @generated
+	 * @generated NOT
 	 */
 	@Override
 	protected Command createReplaceCommand(EditingDomain domain, EObject owner,
 			EStructuralFeature feature, EObject value, Collection<?> collection) {
+		if (feature == UMLPackage.Literals.ACTIVITY__GROUP) {
+			return new SubsetSupersetReplaceCommand(domain, owner, feature,
+				null, new EStructuralFeature[]{
+					UMLPackage.Literals.ACTIVITY__OWNED_GROUP,
+					UMLPackage.Literals.ACTIVITY__PARTITION,
+					UMLPackage.Literals.ACTIVITY__STRUCTURED_NODE}, value,
+				collection);
+		}
+		if (feature == UMLPackage.Literals.ACTIVITY__NODE) {
+			return new SubsetSupersetReplaceCommand(domain, owner, feature,
+				null, new EStructuralFeature[]{
+					UMLPackage.Literals.ACTIVITY__OWNED_NODE,
+					UMLPackage.Literals.ACTIVITY__STRUCTURED_NODE}, value,
+				collection);
+		}
 		if (feature == UMLPackage.Literals.ACTIVITY__PARTITION) {
 			return new SubsetSupersetReplaceCommand(domain, owner, feature,
-				new EStructuralFeature[]{UMLPackage.Literals.ACTIVITY__GROUP},
-				null, value, collection);
+				new EStructuralFeature[]{UMLPackage.Literals.ACTIVITY__GROUP,
+					UMLPackage.Literals.ACTIVITY__OWNED_GROUP}, null, value,
+				collection);
 		}
-		if (feature == UMLPackage.Literals.ACTIVITY__GROUP) {
+		if (feature == UMLPackage.Literals.ACTIVITY__OWNED_GROUP) {
 			return new SubsetSupersetReplaceCommand(
 				domain,
 				owner,
 				feature,
-				null,
+				new EStructuralFeature[]{UMLPackage.Literals.ACTIVITY__GROUP},
 				new EStructuralFeature[]{UMLPackage.Literals.ACTIVITY__PARTITION},
 				value, collection);
 		}
+		if (feature == UMLPackage.Literals.ACTIVITY__OWNED_NODE) {
+			return new SubsetSupersetReplaceCommand(domain, owner, feature,
+				new EStructuralFeature[]{UMLPackage.Literals.ACTIVITY__NODE},
+				null, value, collection);
+		}
 		return super.createReplaceCommand(domain, owner, feature, value,
 			collection);
 	}
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/providers/ActivityNodeItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/providers/ActivityNodeItemProvider.java
index 65fd5b2..fe23fd7 100644
--- a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/providers/ActivityNodeItemProvider.java
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/providers/ActivityNodeItemProvider.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey (Embarcadero Technologies) - 215418, 204200
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ActivityNodeItemProvider.java,v 1.10 2009/12/02 18:27:49 jbruck Exp $
  */
 package org.eclipse.uml2.uml.edit.providers;
 
@@ -67,12 +66,12 @@
 			super.getPropertyDescriptors(object);
 
 			addActivityPropertyDescriptor(object);
-			addInGroupPropertyDescriptor(object);
 			addInPartitionPropertyDescriptor(object);
 			addInStructuredNodePropertyDescriptor(object);
 			addInInterruptibleRegionPropertyDescriptor(object);
 			addOutgoingPropertyDescriptor(object);
 			addIncomingPropertyDescriptor(object);
+			addInGroupPropertyDescriptor(object);
 			addRedefinedNodePropertyDescriptor(object);
 		}
 		return itemPropertyDescriptors;
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/providers/ClassItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/providers/ClassItemProvider.java
index c9df887..9e564d1 100644
--- a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/providers/ClassItemProvider.java
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/providers/ClassItemProvider.java
@@ -9,9 +9,8 @@
  *   IBM - initial API and implementation
  *   Kenn Hussey (Embarcadero Technologies) - 205188, 215418, 204200
  *   Kenn Hussey - 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ClassItemProvider.java,v 1.19 2010/09/28 21:00:19 khussey Exp $
  */
 package org.eclipse.uml2.uml.edit.providers;
 
@@ -471,10 +470,6 @@
 
 		newChildDescriptors.add(createChildParameter(
 			UMLPackage.Literals.CLASS__NESTED_CLASSIFIER,
-			UMLFactory.eINSTANCE.createDataType()));
-
-		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.CLASS__NESTED_CLASSIFIER,
 			UMLFactory.eINSTANCE.createInterface()));
 
 		newChildDescriptors.add(createChildParameter(
@@ -491,6 +486,10 @@
 
 		newChildDescriptors.add(createChildParameter(
 			UMLPackage.Literals.CLASS__NESTED_CLASSIFIER,
+			UMLFactory.eINSTANCE.createDataType()));
+
+		newChildDescriptors.add(createChildParameter(
+			UMLPackage.Literals.CLASS__NESTED_CLASSIFIER,
 			UMLFactory.eINSTANCE.createEnumeration()));
 
 		newChildDescriptors.add(createChildParameter(
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/providers/ClassifierTemplateParameterItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/providers/ClassifierTemplateParameterItemProvider.java
index f6e5588..e5885d5 100644
--- a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/providers/ClassifierTemplateParameterItemProvider.java
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/providers/ClassifierTemplateParameterItemProvider.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2010 IBM Corporation, Embarcadero Technologies, and others.
+ * Copyright (c) 2005, 2011 IBM Corporation, Embarcadero Technologies, CEA, and others.
  * All rights reserved.   This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -9,8 +9,8 @@
  *   IBM - initial API and implementation
  *   Kenn Hussey (Embarcadero Technologies) - 215418, 204200
  *   Kenn Hussey - 323181
+ *   Kenn Hussey (CEA) - 351774
  *
- * $Id: ClassifierTemplateParameterItemProvider.java,v 1.12 2010/09/28 21:00:19 khussey Exp $
  */
 package org.eclipse.uml2.uml.edit.providers;
 
@@ -195,8 +195,8 @@
 		Object childFeature = feature;
 		Object childObject = child;
 
-		boolean qualify = childFeature == UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT
-			|| childFeature == UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT;
+		boolean qualify = childFeature == UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT
+			|| childFeature == UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT;
 
 		if (qualify) {
 			return getString("_UI_CreateChild_text2", //$NON-NLS-1$
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/providers/CollaborationUseItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/providers/CollaborationUseItemProvider.java
index 33a1e88..e08c84a 100644
--- a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/providers/CollaborationUseItemProvider.java
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/providers/CollaborationUseItemProvider.java
@@ -9,9 +9,8 @@
  *   IBM - initial API and implementation
  *   Kenn Hussey (Embarcadero Technologies) - 215418, 204200
  *   Kenn Hussey - 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: CollaborationUseItemProvider.java,v 1.14 2010/09/28 21:00:18 khussey Exp $
  */
 package org.eclipse.uml2.uml.edit.providers;
 
@@ -233,19 +232,19 @@
 
 		newChildDescriptors.add(createChildParameter(
 			UMLPackage.Literals.COLLABORATION_USE__ROLE_BINDING,
-			UMLFactory.eINSTANCE.createUsage()));
-
-		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.COLLABORATION_USE__ROLE_BINDING,
 			UMLFactory.eINSTANCE.createRealization()));
 
 		newChildDescriptors.add(createChildParameter(
 			UMLPackage.Literals.COLLABORATION_USE__ROLE_BINDING,
-			UMLFactory.eINSTANCE.createSubstitution()));
+			UMLFactory.eINSTANCE.createInterfaceRealization()));
 
 		newChildDescriptors.add(createChildParameter(
 			UMLPackage.Literals.COLLABORATION_USE__ROLE_BINDING,
-			UMLFactory.eINSTANCE.createInterfaceRealization()));
+			UMLFactory.eINSTANCE.createUsage()));
+
+		newChildDescriptors.add(createChildParameter(
+			UMLPackage.Literals.COLLABORATION_USE__ROLE_BINDING,
+			UMLFactory.eINSTANCE.createSubstitution()));
 
 		newChildDescriptors.add(createChildParameter(
 			UMLPackage.Literals.COLLABORATION_USE__ROLE_BINDING,
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/providers/ComponentItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/providers/ComponentItemProvider.java
index 47ff492..e639662 100644
--- a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/providers/ComponentItemProvider.java
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/providers/ComponentItemProvider.java
@@ -9,9 +9,8 @@
  *   IBM - initial API and implementation
  *   Kenn Hussey (Embarcadero Technologies) - 205188, 215418, 204200
  *   Kenn Hussey - 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ComponentItemProvider.java,v 1.20 2010/09/28 21:00:19 khussey Exp $
  */
 package org.eclipse.uml2.uml.edit.providers;
 
@@ -348,11 +347,11 @@
 
 		newChildDescriptors.add(createChildParameter(
 			UMLPackage.Literals.COMPONENT__PACKAGED_ELEMENT,
-			UMLFactory.eINSTANCE.createConstraint()));
+			UMLFactory.eINSTANCE.createRealization()));
 
 		newChildDescriptors.add(createChildParameter(
 			UMLPackage.Literals.COMPONENT__PACKAGED_ELEMENT,
-			UMLFactory.eINSTANCE.createDataType()));
+			UMLFactory.eINSTANCE.createInterfaceRealization()));
 
 		newChildDescriptors.add(createChildParameter(
 			UMLPackage.Literals.COMPONENT__PACKAGED_ELEMENT,
@@ -372,6 +371,14 @@
 
 		newChildDescriptors.add(createChildParameter(
 			UMLPackage.Literals.COMPONENT__PACKAGED_ELEMENT,
+			UMLFactory.eINSTANCE.createConstraint()));
+
+		newChildDescriptors.add(createChildParameter(
+			UMLPackage.Literals.COMPONENT__PACKAGED_ELEMENT,
+			UMLFactory.eINSTANCE.createDataType()));
+
+		newChildDescriptors.add(createChildParameter(
+			UMLPackage.Literals.COMPONENT__PACKAGED_ELEMENT,
 			UMLFactory.eINSTANCE.createModel()));
 
 		newChildDescriptors.add(createChildParameter(
@@ -408,18 +415,10 @@
 
 		newChildDescriptors.add(createChildParameter(
 			UMLPackage.Literals.COMPONENT__PACKAGED_ELEMENT,
-			UMLFactory.eINSTANCE.createRealization()));
-
-		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.COMPONENT__PACKAGED_ELEMENT,
 			UMLFactory.eINSTANCE.createSubstitution()));
 
 		newChildDescriptors.add(createChildParameter(
 			UMLPackage.Literals.COMPONENT__PACKAGED_ELEMENT,
-			UMLFactory.eINSTANCE.createInterfaceRealization()));
-
-		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.COMPONENT__PACKAGED_ELEMENT,
 			UMLFactory.eINSTANCE.createOpaqueExpression()));
 
 		newChildDescriptors.add(createChildParameter(
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/providers/ConnectableElementTemplateParameterItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/providers/ConnectableElementTemplateParameterItemProvider.java
index 8130d79..4d459ed 100644
--- a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/providers/ConnectableElementTemplateParameterItemProvider.java
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/providers/ConnectableElementTemplateParameterItemProvider.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2010 IBM Corporation, Embarcadero Technologies, and others.
+ * Copyright (c) 2005, 2011 IBM Corporation, Embarcadero Technologies, CEA, and others.
  * All rights reserved.   This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -9,8 +9,8 @@
  *   IBM - initial API and implementation
  *   Kenn Hussey (Embarcadero Technologies) - 215418, 204200
  *   Kenn Hussey - 323181
+ *   Kenn Hussey (CEA) - 351774
  *
- * $Id: ConnectableElementTemplateParameterItemProvider.java,v 1.9 2010/09/28 21:00:19 khussey Exp $
  */
 package org.eclipse.uml2.uml.edit.providers;
 
@@ -145,8 +145,8 @@
 		Object childFeature = feature;
 		Object childObject = child;
 
-		boolean qualify = childFeature == UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT
-			|| childFeature == UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT;
+		boolean qualify = childFeature == UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT
+			|| childFeature == UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT;
 
 		if (qualify) {
 			return getString("_UI_CreateChild_text2", //$NON-NLS-1$
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/providers/InterfaceItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/providers/InterfaceItemProvider.java
index 3833d40..44bf917 100644
--- a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/providers/InterfaceItemProvider.java
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/providers/InterfaceItemProvider.java
@@ -9,9 +9,8 @@
  *   IBM - initial API and implementation
  *   Kenn Hussey (Embarcadero Technologies) - 205188, 215418, 204200
  *   Kenn Hussey - 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: InterfaceItemProvider.java,v 1.18 2010/09/28 21:00:20 khussey Exp $
  */
 package org.eclipse.uml2.uml.edit.providers;
 
@@ -79,10 +78,10 @@
 
 			addNestedClassifierPropertyDescriptor(object);
 			addOwnedAttributePropertyDescriptor(object);
+			addOwnedOperationPropertyDescriptor(object);
 			addOwnedReceptionPropertyDescriptor(object);
 			addProtocolPropertyDescriptor(object);
 			addRedefinedInterfacePropertyDescriptor(object);
-			addOwnedOperationPropertyDescriptor(object);
 		}
 		return itemPropertyDescriptors;
 	}
@@ -229,10 +228,10 @@
 			childrenFeatures
 				.add(UMLPackage.Literals.INTERFACE__OWNED_ATTRIBUTE);
 			childrenFeatures
+				.add(UMLPackage.Literals.INTERFACE__OWNED_OPERATION);
+			childrenFeatures
 				.add(UMLPackage.Literals.INTERFACE__OWNED_RECEPTION);
 			childrenFeatures.add(UMLPackage.Literals.INTERFACE__PROTOCOL);
-			childrenFeatures
-				.add(UMLPackage.Literals.INTERFACE__OWNED_OPERATION);
 		}
 		return childrenFeatures;
 	}
@@ -299,9 +298,9 @@
 		switch (notification.getFeatureID(Interface.class)) {
 			case UMLPackage.INTERFACE__NESTED_CLASSIFIER :
 			case UMLPackage.INTERFACE__OWNED_ATTRIBUTE :
+			case UMLPackage.INTERFACE__OWNED_OPERATION :
 			case UMLPackage.INTERFACE__OWNED_RECEPTION :
 			case UMLPackage.INTERFACE__PROTOCOL :
-			case UMLPackage.INTERFACE__OWNED_OPERATION :
 				fireNotifyChanged(new ViewerNotification(notification,
 					notification.getNotifier(), true, false));
 				return;
@@ -347,10 +346,6 @@
 
 		newChildDescriptors.add(createChildParameter(
 			UMLPackage.Literals.INTERFACE__NESTED_CLASSIFIER,
-			UMLFactory.eINSTANCE.createDataType()));
-
-		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.INTERFACE__NESTED_CLASSIFIER,
 			UMLFactory.eINSTANCE.createInterface()));
 
 		newChildDescriptors.add(createChildParameter(
@@ -367,6 +362,10 @@
 
 		newChildDescriptors.add(createChildParameter(
 			UMLPackage.Literals.INTERFACE__NESTED_CLASSIFIER,
+			UMLFactory.eINSTANCE.createDataType()));
+
+		newChildDescriptors.add(createChildParameter(
+			UMLPackage.Literals.INTERFACE__NESTED_CLASSIFIER,
 			UMLFactory.eINSTANCE.createEnumeration()));
 
 		newChildDescriptors.add(createChildParameter(
@@ -442,16 +441,16 @@
 			UMLFactory.eINSTANCE.createExtensionEnd()));
 
 		newChildDescriptors.add(createChildParameter(
+			UMLPackage.Literals.INTERFACE__OWNED_OPERATION,
+			UMLFactory.eINSTANCE.createOperation()));
+
+		newChildDescriptors.add(createChildParameter(
 			UMLPackage.Literals.INTERFACE__OWNED_RECEPTION,
 			UMLFactory.eINSTANCE.createReception()));
 
 		newChildDescriptors.add(createChildParameter(
 			UMLPackage.Literals.INTERFACE__PROTOCOL,
 			UMLFactory.eINSTANCE.createProtocolStateMachine()));
-
-		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.INTERFACE__OWNED_OPERATION,
-			UMLFactory.eINSTANCE.createOperation()));
 	}
 
 	/**
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/providers/OperationItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/providers/OperationItemProvider.java
index 2b074da..46c1a96 100644
--- a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/providers/OperationItemProvider.java
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/providers/OperationItemProvider.java
@@ -9,9 +9,8 @@
  *   IBM - initial API and implementation
  *   Kenn Hussey (Embarcadero Technologies) - 215418, 204200
  *   Kenn Hussey - 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: OperationItemProvider.java,v 1.19 2010/09/28 21:00:18 khussey Exp $
  */
 package org.eclipse.uml2.uml.edit.providers;
 
@@ -92,10 +91,10 @@
 			addTemplateParameterPropertyDescriptor(object);
 			addOwnedTemplateSignaturePropertyDescriptor(object);
 			addTemplateBindingPropertyDescriptor(object);
+			addInterfacePropertyDescriptor(object);
 			addBodyConditionPropertyDescriptor(object);
 			addClassPropertyDescriptor(object);
 			addDatatypePropertyDescriptor(object);
-			addInterfacePropertyDescriptor(object);
 			addIsOrderedPropertyDescriptor(object);
 			addIsQueryPropertyDescriptor(object);
 			addIsUniquePropertyDescriptor(object);
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/providers/OperationTemplateParameterItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/providers/OperationTemplateParameterItemProvider.java
index ccc12f6..be6fd87 100644
--- a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/providers/OperationTemplateParameterItemProvider.java
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/providers/OperationTemplateParameterItemProvider.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2010 IBM Corporation, Embarcadero Technologies, and others.
+ * Copyright (c) 2005, 2011 IBM Corporation, Embarcadero Technologies, CEA, and others.
  * All rights reserved.   This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -9,8 +9,8 @@
  *   IBM - initial API and implementation
  *   Kenn Hussey (Embarcadero Technologies) - 215418, 204200
  *   Kenn Hussey - 323181
+ *   Kenn Hussey (CEA) - 351774
  *
- * $Id: OperationTemplateParameterItemProvider.java,v 1.9 2010/09/28 21:00:18 khussey Exp $
  */
 package org.eclipse.uml2.uml.edit.providers;
 
@@ -144,8 +144,8 @@
 		Object childFeature = feature;
 		Object childObject = child;
 
-		boolean qualify = childFeature == UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT
-			|| childFeature == UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT;
+		boolean qualify = childFeature == UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT
+			|| childFeature == UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT;
 
 		if (qualify) {
 			return getString("_UI_CreateChild_text2", //$NON-NLS-1$
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/providers/PackageItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/providers/PackageItemProvider.java
index 2981aa5..baefdc4 100644
--- a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/providers/PackageItemProvider.java
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/providers/PackageItemProvider.java
@@ -9,9 +9,8 @@
  *   IBM - initial API and implementation
  *   Kenn Hussey (Embarcadero Technologies) - 205188, 215418, 204200
  *   Kenn Hussey - 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: PackageItemProvider.java,v 1.21 2010/09/28 21:00:19 khussey Exp $
  */
 package org.eclipse.uml2.uml.edit.providers;
 
@@ -548,11 +547,11 @@
 
 		newChildDescriptors.add(createChildParameter(
 			UMLPackage.Literals.PACKAGE__PACKAGED_ELEMENT,
-			UMLFactory.eINSTANCE.createConstraint()));
+			UMLFactory.eINSTANCE.createRealization()));
 
 		newChildDescriptors.add(createChildParameter(
 			UMLPackage.Literals.PACKAGE__PACKAGED_ELEMENT,
-			UMLFactory.eINSTANCE.createDataType()));
+			UMLFactory.eINSTANCE.createInterfaceRealization()));
 
 		newChildDescriptors.add(createChildParameter(
 			UMLPackage.Literals.PACKAGE__PACKAGED_ELEMENT,
@@ -572,6 +571,14 @@
 
 		newChildDescriptors.add(createChildParameter(
 			UMLPackage.Literals.PACKAGE__PACKAGED_ELEMENT,
+			UMLFactory.eINSTANCE.createConstraint()));
+
+		newChildDescriptors.add(createChildParameter(
+			UMLPackage.Literals.PACKAGE__PACKAGED_ELEMENT,
+			UMLFactory.eINSTANCE.createDataType()));
+
+		newChildDescriptors.add(createChildParameter(
+			UMLPackage.Literals.PACKAGE__PACKAGED_ELEMENT,
 			UMLFactory.eINSTANCE.createModel()));
 
 		newChildDescriptors.add(createChildParameter(
@@ -608,18 +615,10 @@
 
 		newChildDescriptors.add(createChildParameter(
 			UMLPackage.Literals.PACKAGE__PACKAGED_ELEMENT,
-			UMLFactory.eINSTANCE.createRealization()));
-
-		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.PACKAGE__PACKAGED_ELEMENT,
 			UMLFactory.eINSTANCE.createSubstitution()));
 
 		newChildDescriptors.add(createChildParameter(
 			UMLPackage.Literals.PACKAGE__PACKAGED_ELEMENT,
-			UMLFactory.eINSTANCE.createInterfaceRealization()));
-
-		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.PACKAGE__PACKAGED_ELEMENT,
 			UMLFactory.eINSTANCE.createOpaqueExpression()));
 
 		newChildDescriptors.add(createChildParameter(
@@ -800,10 +799,6 @@
 
 		newChildDescriptors.add(createChildParameter(
 			UMLPackage.Literals.PACKAGE__OWNED_TYPE,
-			UMLFactory.eINSTANCE.createDataType()));
-
-		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.PACKAGE__OWNED_TYPE,
 			UMLFactory.eINSTANCE.createInterface()));
 
 		newChildDescriptors.add(createChildParameter(
@@ -820,6 +815,10 @@
 
 		newChildDescriptors.add(createChildParameter(
 			UMLPackage.Literals.PACKAGE__OWNED_TYPE,
+			UMLFactory.eINSTANCE.createDataType()));
+
+		newChildDescriptors.add(createChildParameter(
+			UMLPackage.Literals.PACKAGE__OWNED_TYPE,
 			UMLFactory.eINSTANCE.createEnumeration()));
 
 		newChildDescriptors.add(createChildParameter(
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/providers/PropertyItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/providers/PropertyItemProvider.java
index e62d9a5..416daa5 100644
--- a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/providers/PropertyItemProvider.java
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/providers/PropertyItemProvider.java
@@ -9,9 +9,8 @@
  *   IBM - initial API and implementation
  *   Kenn Hussey (Embarcadero Technologies) - 208353, 205188, 215418, 204200
  *   Kenn Hussey - 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: PropertyItemProvider.java,v 1.23 2010/09/28 21:00:18 khussey Exp $
  */
 package org.eclipse.uml2.uml.edit.providers;
 
@@ -91,8 +90,8 @@
 			addEndPropertyDescriptor(object);
 			addDeployedElementPropertyDescriptor(object);
 			addDeploymentPropertyDescriptor(object);
-			addDatatypePropertyDescriptor(object);
 			addInterfacePropertyDescriptor(object);
+			addDatatypePropertyDescriptor(object);
 			addAggregationPropertyDescriptor(object);
 			addAssociationEndPropertyDescriptor(object);
 			addQualifierPropertyDescriptor(object);
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/providers/StructuredActivityNodeItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/providers/StructuredActivityNodeItemProvider.java
index ff01d8d..7cf337c 100644
--- a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/providers/StructuredActivityNodeItemProvider.java
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/providers/StructuredActivityNodeItemProvider.java
@@ -9,9 +9,8 @@
  *   IBM - initial API and implementation
  *   Kenn Hussey (Embarcadero Technologies) - 215418, 204200
  *   Kenn Hussey - 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: StructuredActivityNodeItemProvider.java,v 1.20 2010/09/28 21:00:19 khussey Exp $
  */
 package org.eclipse.uml2.uml.edit.providers;
 
@@ -78,11 +77,11 @@
 			addOwnedMemberPropertyDescriptor(object);
 			addImportedMemberPropertyDescriptor(object);
 			addMemberPropertyDescriptor(object);
+			addContainedEdgePropertyDescriptor(object);
 			addContainedNodePropertyDescriptor(object);
 			addInActivityPropertyDescriptor(object);
 			addSubgroupPropertyDescriptor(object);
 			addSuperGroupPropertyDescriptor(object);
-			addContainedEdgePropertyDescriptor(object);
 			addMustIsolatePropertyDescriptor(object);
 			addNodePropertyDescriptor(object);
 			addStructuredNodeInputPropertyDescriptor(object);
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/providers/TemplateParameterItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/providers/TemplateParameterItemProvider.java
index 990822e..da37e75 100644
--- a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/providers/TemplateParameterItemProvider.java
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/providers/TemplateParameterItemProvider.java
@@ -9,9 +9,8 @@
  *   IBM - initial API and implementation
  *   Kenn Hussey (Embarcadero Technologies) - 205188, 215418, 204200
  *   Kenn Hussey - 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: TemplateParameterItemProvider.java,v 1.21 2010/09/28 21:00:18 khussey Exp $
  */
 package org.eclipse.uml2.uml.edit.providers;
 
@@ -80,9 +79,9 @@
 			super.getPropertyDescriptors(object);
 
 			addDefaultPropertyDescriptor(object);
+			addOwnedDefaultPropertyDescriptor(object);
 			addOwnedParameteredElementPropertyDescriptor(object);
 			addParameteredElementPropertyDescriptor(object);
-			addOwnedDefaultPropertyDescriptor(object);
 			addSignaturePropertyDescriptor(object);
 		}
 		return itemPropertyDescriptors;
@@ -203,9 +202,9 @@
 		if (childrenFeatures == null) {
 			super.getChildrenFeatures(object);
 			childrenFeatures
-				.add(UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT);
-			childrenFeatures
 				.add(UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT);
+			childrenFeatures
+				.add(UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT);
 		}
 		return childrenFeatures;
 	}
@@ -274,8 +273,8 @@
 				fireNotifyChanged(new ViewerNotification(notification,
 					notification.getNotifier(), false, true));
 				return;
-			case UMLPackage.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT :
 			case UMLPackage.TEMPLATE_PARAMETER__OWNED_DEFAULT :
+			case UMLPackage.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT :
 				fireNotifyChanged(new ViewerNotification(notification,
 					notification.getNotifier(), true, false));
 				return;
@@ -296,611 +295,611 @@
 		super.collectNewChildDescriptors(newChildDescriptors, object);
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
 			UMLFactory.eINSTANCE.createDependency()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
 			UMLFactory.eINSTANCE.createAbstraction()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
 			UMLFactory.eINSTANCE.createClass()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
 			UMLFactory.eINSTANCE.createStereotype()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
 			UMLFactory.eINSTANCE.createExpression()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
 			UMLFactory.eINSTANCE.createStringExpression()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
 			UMLFactory.eINSTANCE.createPackage()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
 			UMLFactory.eINSTANCE.createProfile()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
 			UMLFactory.eINSTANCE.createAssociation()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
 			UMLFactory.eINSTANCE.createExtension()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
 			UMLFactory.eINSTANCE.createProperty()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
 			UMLFactory.eINSTANCE.createDeployment()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
 			UMLFactory.eINSTANCE.createArtifact()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
 			UMLFactory.eINSTANCE.createDeploymentSpecification()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
 			UMLFactory.eINSTANCE.createManifestation()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
 			UMLFactory.eINSTANCE.createOperation()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
-			UMLFactory.eINSTANCE.createParameter()));
-
-		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
-			UMLFactory.eINSTANCE.createConstraint()));
-
-		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
-			UMLFactory.eINSTANCE.createDataType()));
-
-		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
-			UMLFactory.eINSTANCE.createInterface()));
-
-		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
-			UMLFactory.eINSTANCE.createSignal()));
-
-		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
-			UMLFactory.eINSTANCE.createStateMachine()));
-
-		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
-			UMLFactory.eINSTANCE.createProtocolStateMachine()));
-
-		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
-			UMLFactory.eINSTANCE.createPort()));
-
-		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
-			UMLFactory.eINSTANCE.createExtensionEnd()));
-
-		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
-			UMLFactory.eINSTANCE.createModel()));
-
-		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
-			UMLFactory.eINSTANCE.createEnumeration()));
-
-		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
-			UMLFactory.eINSTANCE.createInstanceSpecification()));
-
-		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
-			UMLFactory.eINSTANCE.createEnumerationLiteral()));
-
-		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
-			UMLFactory.eINSTANCE.createPrimitiveType()));
-
-		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
-			UMLFactory.eINSTANCE.createUsage()));
-
-		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
-			UMLFactory.eINSTANCE.createCollaboration()));
-
-		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
-			UMLFactory.eINSTANCE.createGeneralizationSet()));
-
-		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
-			UMLFactory.eINSTANCE.createUseCase()));
-
-		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
 			UMLFactory.eINSTANCE.createRealization()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
-			UMLFactory.eINSTANCE.createSubstitution()));
-
-		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
 			UMLFactory.eINSTANCE.createInterfaceRealization()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
+			UMLFactory.eINSTANCE.createInterface()));
+
+		newChildDescriptors.add(createChildParameter(
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
+			UMLFactory.eINSTANCE.createSignal()));
+
+		newChildDescriptors.add(createChildParameter(
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
+			UMLFactory.eINSTANCE.createStateMachine()));
+
+		newChildDescriptors.add(createChildParameter(
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
+			UMLFactory.eINSTANCE.createProtocolStateMachine()));
+
+		newChildDescriptors.add(createChildParameter(
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
+			UMLFactory.eINSTANCE.createPort()));
+
+		newChildDescriptors.add(createChildParameter(
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
+			UMLFactory.eINSTANCE.createConstraint()));
+
+		newChildDescriptors.add(createChildParameter(
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
+			UMLFactory.eINSTANCE.createParameter()));
+
+		newChildDescriptors.add(createChildParameter(
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
+			UMLFactory.eINSTANCE.createDataType()));
+
+		newChildDescriptors.add(createChildParameter(
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
+			UMLFactory.eINSTANCE.createExtensionEnd()));
+
+		newChildDescriptors.add(createChildParameter(
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
+			UMLFactory.eINSTANCE.createModel()));
+
+		newChildDescriptors.add(createChildParameter(
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
+			UMLFactory.eINSTANCE.createEnumeration()));
+
+		newChildDescriptors.add(createChildParameter(
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
+			UMLFactory.eINSTANCE.createInstanceSpecification()));
+
+		newChildDescriptors.add(createChildParameter(
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
+			UMLFactory.eINSTANCE.createEnumerationLiteral()));
+
+		newChildDescriptors.add(createChildParameter(
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
+			UMLFactory.eINSTANCE.createPrimitiveType()));
+
+		newChildDescriptors.add(createChildParameter(
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
+			UMLFactory.eINSTANCE.createUsage()));
+
+		newChildDescriptors.add(createChildParameter(
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
+			UMLFactory.eINSTANCE.createCollaboration()));
+
+		newChildDescriptors.add(createChildParameter(
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
+			UMLFactory.eINSTANCE.createGeneralizationSet()));
+
+		newChildDescriptors.add(createChildParameter(
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
+			UMLFactory.eINSTANCE.createUseCase()));
+
+		newChildDescriptors.add(createChildParameter(
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
+			UMLFactory.eINSTANCE.createSubstitution()));
+
+		newChildDescriptors.add(createChildParameter(
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
 			UMLFactory.eINSTANCE.createOpaqueExpression()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
 			UMLFactory.eINSTANCE.createActivity()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
 			UMLFactory.eINSTANCE.createVariable()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
 			UMLFactory.eINSTANCE.createInteraction()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
 			UMLFactory.eINSTANCE.createInteractionConstraint()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
 			UMLFactory.eINSTANCE.createActor()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
 			UMLFactory.eINSTANCE.createAnyReceiveEvent()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
 			UMLFactory.eINSTANCE.createAssociationClass()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
 			UMLFactory.eINSTANCE.createCallEvent()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
 			UMLFactory.eINSTANCE.createChangeEvent()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
 			UMLFactory.eINSTANCE.createCommunicationPath()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
 			UMLFactory.eINSTANCE.createComponent()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
 			UMLFactory.eINSTANCE.createComponentRealization()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
 			UMLFactory.eINSTANCE.createNode()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
 			UMLFactory.eINSTANCE.createDevice()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
 			UMLFactory.eINSTANCE.createDuration()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
 			UMLFactory.eINSTANCE.createIntervalConstraint()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
 			UMLFactory.eINSTANCE.createDurationConstraint()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
 			UMLFactory.eINSTANCE.createInterval()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
 			UMLFactory.eINSTANCE.createDurationInterval()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
 			UMLFactory.eINSTANCE.createDurationObservation()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
 			UMLFactory.eINSTANCE.createExecutionEnvironment()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
 			UMLFactory.eINSTANCE.createOpaqueBehavior()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
 			UMLFactory.eINSTANCE.createFunctionBehavior()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
 			UMLFactory.eINSTANCE.createInformationFlow()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
 			UMLFactory.eINSTANCE.createInformationItem()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
 			UMLFactory.eINSTANCE.createInstanceValue()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
 			UMLFactory.eINSTANCE.createLiteralBoolean()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
 			UMLFactory.eINSTANCE.createLiteralInteger()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
 			UMLFactory.eINSTANCE.createLiteralNull()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
 			UMLFactory.eINSTANCE.createLiteralReal()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
 			UMLFactory.eINSTANCE.createLiteralString()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
 			UMLFactory.eINSTANCE.createLiteralUnlimitedNatural()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
 			UMLFactory.eINSTANCE.createSignalEvent()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
 			UMLFactory.eINSTANCE.createTimeConstraint()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
 			UMLFactory.eINSTANCE.createTimeInterval()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
 			UMLFactory.eINSTANCE.createTimeExpression()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
 			UMLFactory.eINSTANCE.createTimeEvent()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
 			UMLFactory.eINSTANCE.createTimeObservation()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
 			UMLFactory.eINSTANCE.createDependency()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
 			UMLFactory.eINSTANCE.createAbstraction()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
 			UMLFactory.eINSTANCE.createClass()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
 			UMLFactory.eINSTANCE.createStereotype()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
 			UMLFactory.eINSTANCE.createExpression()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
 			UMLFactory.eINSTANCE.createStringExpression()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
 			UMLFactory.eINSTANCE.createPackage()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
 			UMLFactory.eINSTANCE.createProfile()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
 			UMLFactory.eINSTANCE.createAssociation()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
 			UMLFactory.eINSTANCE.createExtension()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
 			UMLFactory.eINSTANCE.createProperty()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
 			UMLFactory.eINSTANCE.createDeployment()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
 			UMLFactory.eINSTANCE.createArtifact()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
 			UMLFactory.eINSTANCE.createDeploymentSpecification()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
 			UMLFactory.eINSTANCE.createManifestation()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
 			UMLFactory.eINSTANCE.createOperation()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
-			UMLFactory.eINSTANCE.createParameter()));
-
-		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
-			UMLFactory.eINSTANCE.createConstraint()));
-
-		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
-			UMLFactory.eINSTANCE.createDataType()));
-
-		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
-			UMLFactory.eINSTANCE.createInterface()));
-
-		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
-			UMLFactory.eINSTANCE.createSignal()));
-
-		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
-			UMLFactory.eINSTANCE.createStateMachine()));
-
-		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
-			UMLFactory.eINSTANCE.createProtocolStateMachine()));
-
-		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
-			UMLFactory.eINSTANCE.createPort()));
-
-		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
-			UMLFactory.eINSTANCE.createExtensionEnd()));
-
-		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
-			UMLFactory.eINSTANCE.createModel()));
-
-		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
-			UMLFactory.eINSTANCE.createEnumeration()));
-
-		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
-			UMLFactory.eINSTANCE.createInstanceSpecification()));
-
-		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
-			UMLFactory.eINSTANCE.createEnumerationLiteral()));
-
-		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
-			UMLFactory.eINSTANCE.createPrimitiveType()));
-
-		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
-			UMLFactory.eINSTANCE.createUsage()));
-
-		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
-			UMLFactory.eINSTANCE.createCollaboration()));
-
-		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
-			UMLFactory.eINSTANCE.createGeneralizationSet()));
-
-		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
-			UMLFactory.eINSTANCE.createUseCase()));
-
-		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
 			UMLFactory.eINSTANCE.createRealization()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
-			UMLFactory.eINSTANCE.createSubstitution()));
-
-		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
 			UMLFactory.eINSTANCE.createInterfaceRealization()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
+			UMLFactory.eINSTANCE.createInterface()));
+
+		newChildDescriptors.add(createChildParameter(
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
+			UMLFactory.eINSTANCE.createSignal()));
+
+		newChildDescriptors.add(createChildParameter(
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
+			UMLFactory.eINSTANCE.createStateMachine()));
+
+		newChildDescriptors.add(createChildParameter(
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
+			UMLFactory.eINSTANCE.createProtocolStateMachine()));
+
+		newChildDescriptors.add(createChildParameter(
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
+			UMLFactory.eINSTANCE.createPort()));
+
+		newChildDescriptors.add(createChildParameter(
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
+			UMLFactory.eINSTANCE.createConstraint()));
+
+		newChildDescriptors.add(createChildParameter(
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
+			UMLFactory.eINSTANCE.createParameter()));
+
+		newChildDescriptors.add(createChildParameter(
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
+			UMLFactory.eINSTANCE.createDataType()));
+
+		newChildDescriptors.add(createChildParameter(
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
+			UMLFactory.eINSTANCE.createExtensionEnd()));
+
+		newChildDescriptors.add(createChildParameter(
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
+			UMLFactory.eINSTANCE.createModel()));
+
+		newChildDescriptors.add(createChildParameter(
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
+			UMLFactory.eINSTANCE.createEnumeration()));
+
+		newChildDescriptors.add(createChildParameter(
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
+			UMLFactory.eINSTANCE.createInstanceSpecification()));
+
+		newChildDescriptors.add(createChildParameter(
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
+			UMLFactory.eINSTANCE.createEnumerationLiteral()));
+
+		newChildDescriptors.add(createChildParameter(
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
+			UMLFactory.eINSTANCE.createPrimitiveType()));
+
+		newChildDescriptors.add(createChildParameter(
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
+			UMLFactory.eINSTANCE.createUsage()));
+
+		newChildDescriptors.add(createChildParameter(
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
+			UMLFactory.eINSTANCE.createCollaboration()));
+
+		newChildDescriptors.add(createChildParameter(
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
+			UMLFactory.eINSTANCE.createGeneralizationSet()));
+
+		newChildDescriptors.add(createChildParameter(
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
+			UMLFactory.eINSTANCE.createUseCase()));
+
+		newChildDescriptors.add(createChildParameter(
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
+			UMLFactory.eINSTANCE.createSubstitution()));
+
+		newChildDescriptors.add(createChildParameter(
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
 			UMLFactory.eINSTANCE.createOpaqueExpression()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
 			UMLFactory.eINSTANCE.createActivity()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
 			UMLFactory.eINSTANCE.createVariable()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
 			UMLFactory.eINSTANCE.createInteraction()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
 			UMLFactory.eINSTANCE.createInteractionConstraint()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
 			UMLFactory.eINSTANCE.createActor()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
 			UMLFactory.eINSTANCE.createAnyReceiveEvent()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
 			UMLFactory.eINSTANCE.createAssociationClass()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
 			UMLFactory.eINSTANCE.createCallEvent()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
 			UMLFactory.eINSTANCE.createChangeEvent()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
 			UMLFactory.eINSTANCE.createCommunicationPath()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
 			UMLFactory.eINSTANCE.createComponent()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
 			UMLFactory.eINSTANCE.createComponentRealization()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
 			UMLFactory.eINSTANCE.createNode()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
 			UMLFactory.eINSTANCE.createDevice()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
 			UMLFactory.eINSTANCE.createDuration()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
 			UMLFactory.eINSTANCE.createIntervalConstraint()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
 			UMLFactory.eINSTANCE.createDurationConstraint()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
 			UMLFactory.eINSTANCE.createInterval()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
 			UMLFactory.eINSTANCE.createDurationInterval()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
 			UMLFactory.eINSTANCE.createDurationObservation()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
 			UMLFactory.eINSTANCE.createExecutionEnvironment()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
 			UMLFactory.eINSTANCE.createOpaqueBehavior()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
 			UMLFactory.eINSTANCE.createFunctionBehavior()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
 			UMLFactory.eINSTANCE.createInformationFlow()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
 			UMLFactory.eINSTANCE.createInformationItem()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
 			UMLFactory.eINSTANCE.createInstanceValue()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
 			UMLFactory.eINSTANCE.createLiteralBoolean()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
 			UMLFactory.eINSTANCE.createLiteralInteger()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
 			UMLFactory.eINSTANCE.createLiteralNull()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
 			UMLFactory.eINSTANCE.createLiteralReal()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
 			UMLFactory.eINSTANCE.createLiteralString()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
 			UMLFactory.eINSTANCE.createLiteralUnlimitedNatural()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
 			UMLFactory.eINSTANCE.createSignalEvent()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
 			UMLFactory.eINSTANCE.createTimeConstraint()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
 			UMLFactory.eINSTANCE.createTimeInterval()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
 			UMLFactory.eINSTANCE.createTimeExpression()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
 			UMLFactory.eINSTANCE.createTimeEvent()));
 
 		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT,
+			UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
 			UMLFactory.eINSTANCE.createTimeObservation()));
 	}
 
@@ -916,8 +915,8 @@
 		Object childFeature = feature;
 		Object childObject = child;
 
-		boolean qualify = childFeature == UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT
-			|| childFeature == UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT;
+		boolean qualify = childFeature == UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT
+			|| childFeature == UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT;
 
 		if (qualify) {
 			return getString("_UI_CreateChild_text2", //$NON-NLS-1$
@@ -936,14 +935,6 @@
 	@Override
 	protected Command createSetCommand(EditingDomain domain, EObject owner,
 			EStructuralFeature feature, Object value) {
-		if (feature == UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT) {
-			return new SubsetSupersetSetCommand(
-				domain,
-				owner,
-				feature,
-				new EStructuralFeature[]{UMLPackage.Literals.TEMPLATE_PARAMETER__PARAMETERED_ELEMENT},
-				null, value);
-		}
 		if (feature == UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_DEFAULT) {
 			return new SubsetSupersetSetCommand(
 				domain,
@@ -952,6 +943,14 @@
 				new EStructuralFeature[]{UMLPackage.Literals.TEMPLATE_PARAMETER__DEFAULT},
 				null, value);
 		}
+		if (feature == UMLPackage.Literals.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT) {
+			return new SubsetSupersetSetCommand(
+				domain,
+				owner,
+				feature,
+				new EStructuralFeature[]{UMLPackage.Literals.TEMPLATE_PARAMETER__PARAMETERED_ELEMENT},
+				null, value);
+		}
 		if (feature == UMLPackage.Literals.TEMPLATE_PARAMETER__DEFAULT) {
 			return new SubsetSupersetSetCommand(
 				domain,
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/providers/TemplateParameterSubstitutionItemProvider.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/providers/TemplateParameterSubstitutionItemProvider.java
index b81702d..031ccc3 100644
--- a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/providers/TemplateParameterSubstitutionItemProvider.java
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/providers/TemplateParameterSubstitutionItemProvider.java
@@ -9,9 +9,8 @@
  *   IBM - initial API and implementation
  *   Kenn Hussey (Embarcadero Technologies) - 205188, 215418, 204200
  *   Kenn Hussey - 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: TemplateParameterSubstitutionItemProvider.java,v 1.22 2010/09/28 21:00:19 khussey Exp $
  */
 package org.eclipse.uml2.uml.edit.providers;
 
@@ -333,15 +332,11 @@
 
 		newChildDescriptors.add(createChildParameter(
 			UMLPackage.Literals.TEMPLATE_PARAMETER_SUBSTITUTION__OWNED_ACTUAL,
-			UMLFactory.eINSTANCE.createParameter()));
+			UMLFactory.eINSTANCE.createRealization()));
 
 		newChildDescriptors.add(createChildParameter(
 			UMLPackage.Literals.TEMPLATE_PARAMETER_SUBSTITUTION__OWNED_ACTUAL,
-			UMLFactory.eINSTANCE.createConstraint()));
-
-		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER_SUBSTITUTION__OWNED_ACTUAL,
-			UMLFactory.eINSTANCE.createDataType()));
+			UMLFactory.eINSTANCE.createInterfaceRealization()));
 
 		newChildDescriptors.add(createChildParameter(
 			UMLPackage.Literals.TEMPLATE_PARAMETER_SUBSTITUTION__OWNED_ACTUAL,
@@ -365,6 +360,18 @@
 
 		newChildDescriptors.add(createChildParameter(
 			UMLPackage.Literals.TEMPLATE_PARAMETER_SUBSTITUTION__OWNED_ACTUAL,
+			UMLFactory.eINSTANCE.createConstraint()));
+
+		newChildDescriptors.add(createChildParameter(
+			UMLPackage.Literals.TEMPLATE_PARAMETER_SUBSTITUTION__OWNED_ACTUAL,
+			UMLFactory.eINSTANCE.createParameter()));
+
+		newChildDescriptors.add(createChildParameter(
+			UMLPackage.Literals.TEMPLATE_PARAMETER_SUBSTITUTION__OWNED_ACTUAL,
+			UMLFactory.eINSTANCE.createDataType()));
+
+		newChildDescriptors.add(createChildParameter(
+			UMLPackage.Literals.TEMPLATE_PARAMETER_SUBSTITUTION__OWNED_ACTUAL,
 			UMLFactory.eINSTANCE.createExtensionEnd()));
 
 		newChildDescriptors.add(createChildParameter(
@@ -405,18 +412,10 @@
 
 		newChildDescriptors.add(createChildParameter(
 			UMLPackage.Literals.TEMPLATE_PARAMETER_SUBSTITUTION__OWNED_ACTUAL,
-			UMLFactory.eINSTANCE.createRealization()));
-
-		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER_SUBSTITUTION__OWNED_ACTUAL,
 			UMLFactory.eINSTANCE.createSubstitution()));
 
 		newChildDescriptors.add(createChildParameter(
 			UMLPackage.Literals.TEMPLATE_PARAMETER_SUBSTITUTION__OWNED_ACTUAL,
-			UMLFactory.eINSTANCE.createInterfaceRealization()));
-
-		newChildDescriptors.add(createChildParameter(
-			UMLPackage.Literals.TEMPLATE_PARAMETER_SUBSTITUTION__OWNED_ACTUAL,
 			UMLFactory.eINSTANCE.createOpaqueExpression()));
 
 		newChildDescriptors.add(createChildParameter(
diff --git a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/providers/UMLItemProviderAdapterFactory.java b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/providers/UMLItemProviderAdapterFactory.java
index 83f99c4..49357d8 100644
--- a/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/providers/UMLItemProviderAdapterFactory.java
+++ b/plugins/org.eclipse.uml2.uml.edit/src/org/eclipse/uml2/uml/edit/providers/UMLItemProviderAdapterFactory.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey (Embarcadero Technologies) - 205188, 215418, 204200, 247980
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: UMLItemProviderAdapterFactory.java,v 1.26 2008/12/16 15:52:44 khussey Exp $
  */
 package org.eclipse.uml2.uml.edit.providers;
 
@@ -4798,6 +4797,10 @@
 			classItemProvider.dispose();
 		if (stringExpressionItemProvider != null)
 			stringExpressionItemProvider.dispose();
+		if (expressionItemProvider != null)
+			expressionItemProvider.dispose();
+		if (packageItemProvider != null)
+			packageItemProvider.dispose();
 		if (templateSignatureItemProvider != null)
 			templateSignatureItemProvider.dispose();
 		if (templateParameterItemProvider != null)
@@ -4806,10 +4809,6 @@
 			templateBindingItemProvider.dispose();
 		if (templateParameterSubstitutionItemProvider != null)
 			templateParameterSubstitutionItemProvider.dispose();
-		if (expressionItemProvider != null)
-			expressionItemProvider.dispose();
-		if (packageItemProvider != null)
-			packageItemProvider.dispose();
 		if (packageMergeItemProvider != null)
 			packageMergeItemProvider.dispose();
 		if (profileApplicationItemProvider != null)
@@ -4840,14 +4839,10 @@
 			manifestationItemProvider.dispose();
 		if (operationItemProvider != null)
 			operationItemProvider.dispose();
-		if (parameterItemProvider != null)
-			parameterItemProvider.dispose();
-		if (parameterSetItemProvider != null)
-			parameterSetItemProvider.dispose();
-		if (constraintItemProvider != null)
-			constraintItemProvider.dispose();
-		if (dataTypeItemProvider != null)
-			dataTypeItemProvider.dispose();
+		if (interfaceRealizationItemProvider != null)
+			interfaceRealizationItemProvider.dispose();
+		if (realizationItemProvider != null)
+			realizationItemProvider.dispose();
 		if (interfaceItemProvider != null)
 			interfaceItemProvider.dispose();
 		if (receptionItemProvider != null)
@@ -4870,10 +4865,18 @@
 			triggerItemProvider.dispose();
 		if (portItemProvider != null)
 			portItemProvider.dispose();
+		if (constraintItemProvider != null)
+			constraintItemProvider.dispose();
 		if (transitionItemProvider != null)
 			transitionItemProvider.dispose();
 		if (protocolConformanceItemProvider != null)
 			protocolConformanceItemProvider.dispose();
+		if (parameterItemProvider != null)
+			parameterItemProvider.dispose();
+		if (parameterSetItemProvider != null)
+			parameterSetItemProvider.dispose();
+		if (dataTypeItemProvider != null)
+			dataTypeItemProvider.dispose();
 		if (operationTemplateParameterItemProvider != null)
 			operationTemplateParameterItemProvider.dispose();
 		if (extensionEndItemProvider != null)
@@ -4896,8 +4899,6 @@
 			collaborationUseItemProvider.dispose();
 		if (collaborationItemProvider != null)
 			collaborationItemProvider.dispose();
-		if (connectorItemProvider != null)
-			connectorItemProvider.dispose();
 		if (generalizationItemProvider != null)
 			generalizationItemProvider.dispose();
 		if (generalizationSetItemProvider != null)
@@ -4914,12 +4915,10 @@
 			includeItemProvider.dispose();
 		if (substitutionItemProvider != null)
 			substitutionItemProvider.dispose();
-		if (realizationItemProvider != null)
-			realizationItemProvider.dispose();
 		if (classifierTemplateParameterItemProvider != null)
 			classifierTemplateParameterItemProvider.dispose();
-		if (interfaceRealizationItemProvider != null)
-			interfaceRealizationItemProvider.dispose();
+		if (connectorItemProvider != null)
+			connectorItemProvider.dispose();
 		if (imageItemProvider != null)
 			imageItemProvider.dispose();
 		if (opaqueExpressionItemProvider != null)
diff --git a/plugins/org.eclipse.uml2.uml/.cvsignore b/plugins/org.eclipse.uml2.uml/.cvsignore
deleted file mode 100644
index 0481c92..0000000
--- a/plugins/org.eclipse.uml2.uml/.cvsignore
+++ /dev/null
@@ -1,3 +0,0 @@
-bin
-uml2.uml.jar
-org
diff --git a/plugins/org.eclipse.uml2.uml/model/CMOF.ecore b/plugins/org.eclipse.uml2.uml/model/CMOF.ecore
index 23a8b1c..ec20ce0 100644
--- a/plugins/org.eclipse.uml2.uml/model/CMOF.ecore
+++ b/plugins/org.eclipse.uml2.uml/model/CMOF.ecore
@@ -2,7 +2,7 @@
 <ecore:EPackage xmi:version="2.0"
     xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="cmof"
-    nsURI="http://www.omg.org/spec/MOF/20100901/cmof.xmi" nsPrefix="cmof">
+    nsURI="http://www.omg.org/spec/MOF/20110701/cmof.xmi" nsPrefix="cmof">
   <eClassifiers xsi:type="ecore:EClass" name="ReflectiveSequence" eSuperTypes="#//ReflectiveCollection">
     <eOperations name="add" ordered="false" lowerBound="1">
       <eParameters name="index" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Integer"/>
diff --git a/plugins/org.eclipse.uml2.uml/model/CMOF24.ecore b/plugins/org.eclipse.uml2.uml/model/CMOF24.ecore
new file mode 100644
index 0000000..23a8b1c
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml/model/CMOF24.ecore
@@ -0,0 +1,2612 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ecore:EPackage xmi:version="2.0"
+    xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="cmof"
+    nsURI="http://www.omg.org/spec/MOF/20100901/cmof.xmi" nsPrefix="cmof">
+  <eClassifiers xsi:type="ecore:EClass" name="ReflectiveSequence" eSuperTypes="#//ReflectiveCollection">
+    <eOperations name="add" ordered="false" lowerBound="1">
+      <eParameters name="index" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Integer"/>
+      <eParameters name="object" ordered="false" lowerBound="1" eType="#//Object"/>
+    </eOperations>
+    <eOperations name="get" ordered="false" lowerBound="1" eType="#//Object">
+      <eParameters name="index" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Integer"/>
+    </eOperations>
+    <eOperations name="remove" ordered="false" lowerBound="1" eType="#//Object">
+      <eParameters name="index" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Integer"/>
+    </eOperations>
+    <eOperations name="set" ordered="false" lowerBound="1" eType="#//Object">
+      <eParameters name="index" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Integer"/>
+      <eParameters name="object" ordered="false" lowerBound="1" eType="#//Object"/>
+    </eOperations>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="ReflectiveCollection" eSuperTypes="#//Object">
+    <eOperations name="add" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean">
+      <eParameters name="object" ordered="false" lowerBound="1" eType="#//Object"/>
+    </eOperations>
+    <eOperations name="addAll" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean">
+      <eParameters name="objects" ordered="false" lowerBound="1" eType="#//ReflectiveCollection"/>
+    </eOperations>
+    <eOperations name="clear" ordered="false" lowerBound="1"/>
+    <eOperations name="remove" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean">
+      <eParameters name="object" ordered="false" lowerBound="1" eType="#//Object"/>
+    </eOperations>
+    <eOperations name="size" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Integer"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="Object">
+    <eOperations name="get" ordered="false" lowerBound="1" eType="#//Object">
+      <eParameters name="property" ordered="false" lowerBound="1" eType="#//Property"/>
+    </eOperations>
+    <eOperations name="equals" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean">
+      <eParameters name="element" ordered="false" lowerBound="1" eType="#//Object"/>
+    </eOperations>
+    <eOperations name="set" ordered="false" lowerBound="1">
+      <eParameters name="property" ordered="false" lowerBound="1" eType="#//Property"/>
+      <eParameters name="value" ordered="false" lowerBound="1" eType="#//Object"/>
+    </eOperations>
+    <eOperations name="isSet" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean">
+      <eParameters name="property" ordered="false" lowerBound="1" eType="#//Property"/>
+    </eOperations>
+    <eOperations name="unset" ordered="false" lowerBound="1">
+      <eParameters name="property" ordered="false" lowerBound="1" eType="#//Property"/>
+    </eOperations>
+    <eOperations name="invoke" ordered="false" eType="#//Object">
+      <eParameters name="op" ordered="false" lowerBound="1" eType="#//Operation"/>
+      <eParameters name="arguments" ordered="false" upperBound="-1" eType="#//Argument"/>
+    </eOperations>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="Property" eSuperTypes="#//StructuralFeature">
+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+      <details key="documentation" value="A property is a structural feature of a classifier that characterizes instances of the classifier. A property related by ownedAttribute to a classifier (other than an association) represents an attribute and might also represent an association end. It relates an instance of the class to a value or set of values of the type of the attribute. A property related by memberEnd or its specializations to an association represents an end of the association. The type of the property is the type of the end of the association."/>
+    </eAnnotations>
+    <eAnnotations source="duplicates">
+      <contents xsi:type="ecore:EOperation" name="isConsistentWith" ordered="false"
+          lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The query isConsistentWith() specifies, for any two Properties in a context in which redefinition is possible, whether redefinition would be logically consistent. A redefining property is consistent with a redefined property if the type of the redefining property conforms to the type of the redefined property, and the multiplicity of the redefining property (if specified) is contained in the multiplicity of the redefined property.&#xA;The query isConsistentWith() specifies, for any two Properties in a context in which redefinition is possible, whether redefinition would be logically consistent. A redefining property is consistent with a redefined property if the type of the redefining property conforms to the type of the redefined property, the multiplicity of the redefining property (if specified) is contained in the multiplicity of the redefined property.&#xA;redefinee.isRedefinitionContextValid(self)&#xA;result = redefinee.oclIsKindOf(Property) and &#xA;  let prop : Property = redefinee.oclAsType(Property) in &#xA;  (prop.type.conformsTo(self.type) and &#xA;  ((prop.lowerBound()->notEmpty() and self.lowerBound()->notEmpty()) implies prop.lowerBound() >= self.lowerBound()) and &#xA;  ((prop.upperBound()->notEmpty() and self.upperBound()->notEmpty()) implies prop.lowerBound() &lt;= self.lowerBound()) and &#xA;  (self.isComposite implies prop.isComposite))"/>
+        </eAnnotations>
+        <eAnnotations source="redefines" references="#//RedefinableElement/isConsistentWith"/>
+        <eParameters name="redefinee" ordered="false" lowerBound="1" eType="#//RedefinableElement"/>
+      </contents>
+      <contents xsi:type="ecore:EAttribute" name="isReadOnly" ordered="false" lowerBound="1"
+          eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean"
+          defaultValueLiteral="false">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="If isReadOnly is true, the attribute may not be written to after initialization.&#xA;If true, the attribute may only be read, and not written."/>
+        </eAnnotations>
+        <eAnnotations source="redefines" references="#//StructuralFeature/isReadOnly"/>
+      </contents>
+    </eAnnotations>
+    <eOperations name="multiplicity_of_composite" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="A multiplicity of a composite aggregation must not have an upper bound greater than 1.&#xA;A multiplicity on an aggregate end of a composite aggregation must not have an upper bound greater than 1.&#xA;isComposite implies (upperBound()->isEmpty() or upperBound() &lt;= 1)"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="subsetting_context_conforms" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Subsetting may only occur when the context of the subsetting property conforms to the context of the subsetted property.&#xA;self.subsettedProperty->notEmpty() implies&#xA;  (self.subsettingContext()->notEmpty() and self.subsettingContext()->forAll (sc |&#xA;    self.subsettedProperty->forAll(sp |&#xA;      sp.subsettingContext()->exists(c | sc.conformsTo(c)))))"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="derived_union_is_read_only" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="A derived union is read only.&#xA;isDerivedUnion implies isReadOnly"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="redefined_property_inherited" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="A redefined property must be inherited from a more general classifier containing the redefining property.&#xA;if (redefinedProperty->notEmpty()) then&#xA;  (redefinitionContext->notEmpty() and&#xA;      redefinedProperty->forAll(rp|&#xA;        ((redefinitionContext->collect(fc|&#xA;          fc.allParents()))->asSet())->collect(c| c.allFeatures())->asSet()->includes(rp))"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="subsetted_property_names" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="A property may not subset a property with the same name.&#xA;true"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="derived_union_is_derived" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="A derived union is derived.&#xA;isDerivedUnion implies isDerived"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="subsetting_rules" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="A subsetting property may strengthen the type of the subsetted property, and its upper bound may be less.&#xA;self.subsettedProperty->forAll(sp |&#xA;  self.type.conformsTo(sp.type) and&#xA;    ((self.upperBound()->notEmpty() and sp.upperBound()->notEmpty()) implies&#xA;      self.upperBound()&lt;=sp.upperBound() ))"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="default" ordered="false" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//String">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Missing derivation for Property::/default : String&#xA;true"/>
+      </eAnnotations>
+    </eOperations>
+    <eOperations name="isAttribute" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The query isAttribute() is true if the Property is defined as an attribute of some classifier.&#xA;result = Classifier.allInstances->exists(c | c.attribute->includes(p))"/>
+      </eAnnotations>
+      <eParameters name="p" ordered="false" lowerBound="1" eType="#//Property"/>
+    </eOperations>
+    <eOperations name="isComposite" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The value of isComposite is true only if aggregation is composite.&#xA;result = (self.aggregation = #composite)"/>
+      </eAnnotations>
+    </eOperations>
+    <eOperations name="isNavigable" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The query isNavigable() indicates whether it is possible to navigate across the property.&#xA;result = not classifier->isEmpty() or association.owningAssociation.navigableOwnedEnd->includes(self)"/>
+      </eAnnotations>
+    </eOperations>
+    <eOperations name="opposite" ordered="false" lowerBound="1" eType="#//Property">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="If this property is owned by a class, associated with a binary association, and the other end of the association is also owned by a class, then opposite gives the other end.&#xA;result = if owningAssociation->isEmpty() and association.memberEnd->size() = 2&#xA;  then&#xA;    let otherEnd = (association.memberEnd - self)->any() in&#xA;      if otherEnd.owningAssociation->isEmpty() then otherEnd else Set{} endif&#xA;    else Set {}&#xA;    endif"/>
+      </eAnnotations>
+    </eOperations>
+    <eOperations name="subsettingContext" ordered="false" upperBound="-1" eType="#//Type">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The query subsettingContext() gives the context for subsetting a property. It consists, in the case of an attribute, of the corresponding classifier, and in the case of an association end, all of the classifiers at the other ends.&#xA;result = if association->notEmpty()&#xA;then association.endType-type&#xA;else if classifier->notEmpty() then Set{classifier} else Set{} endif&#xA;endif"/>
+      </eAnnotations>
+    </eOperations>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="class" ordered="false"
+        eType="#//Class" eOpposite="#//Class/ownedAttribute">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="References the Class that owns the Property.&#xA;References the Class that owns the Property."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//NamedElement/namespace"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="datatype" ordered="false"
+        eType="#//DataType" eOpposite="#//DataType/ownedAttribute">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The DataType that owns this Property."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//NamedElement/namespace"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="aggregation" ordered="false"
+        lowerBound="1" eType="#//AggregationKind" defaultValueLiteral="none">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Specifies the kind of aggregation that applies to the Property."/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="association" ordered="false"
+        eType="#//Association" eOpposite="#//Association/memberEnd">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="References the association of which this property is a member, if any."/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="owningAssociation" ordered="false"
+        eType="#//Association" eOpposite="#//Association/ownedEnd">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="References the owning association of this property, if any."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//NamedElement/namespace #//Feature/featuringClassifier #//Property/association #//RedefinableElement/redefinitionContext"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="default" ordered="false"
+        eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//String" volatile="true"
+        transient="true" derived="true">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Specifies a String that represents a value to be used when no argument is supplied for the Property.&#xA;A String that is evaluated to give a default value for the Property when an object of the owning Classifier is instantiated."/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="defaultValue" ordered="false"
+        eType="#//ValueSpecification" containment="true">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="A ValueSpecification that is evaluated to give a default value for the Property when an object of the owning Classifier is instantiated."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isComposite" ordered="false"
+        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean"
+        volatile="true" transient="true" defaultValueLiteral="false" derived="true">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="If isComposite is true, the object containing the attribute is a container for the object or value contained in the attribute.&#xA;This is a derived value, indicating whether the aggregation of the Property is composite or not."/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isDerived" ordered="false"
+        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean"
+        defaultValueLiteral="false">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="If isDerived is true, the value of the attribute is derived from information elsewhere.&#xA;Specifies whether the Property is derived, i.e., whether its value or values can be computed from other information."/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isDerivedUnion" ordered="false"
+        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean"
+        defaultValueLiteral="false">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Specifies whether the property is derived as the union of all of the properties that are constrained to subset it."/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isID" ordered="false" lowerBound="1"
+        eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean"
+        defaultValueLiteral="false">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="True indicates this property can be used to uniquely identify an instance of the containing Class."/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="opposite" ordered="false"
+        eType="#//Property" volatile="true" transient="true" derived="true">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="In the case where the property is one navigable end of a binary association with both ends navigable, this gives the other end."/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="redefinedProperty" ordered="false"
+        upperBound="-1" eType="#//Property">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="References the properties that are redefined by this property."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//RedefinableElement/redefinedElement"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="subsettedProperty" ordered="false"
+        upperBound="-1" eType="#//Property">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="References the properties of which this property is constrained to be a subset."/>
+      </eAnnotations>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="StructuralFeature" abstract="true" eSuperTypes="#//Feature #//MultiplicityElement #//TypedElement">
+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+      <details key="documentation" value="A structural feature is a typed feature of a classifier that specifies the structure of instances of the classifier.&#xA;By specializing multiplicity element, it supports a multiplicity that specifies valid cardinalities for the collection of values associated with an instantiation of the structural feature."/>
+    </eAnnotations>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isReadOnly" ordered="false"
+        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean"
+        defaultValueLiteral="false">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="States whether the feature's value may be modified by a client."/>
+      </eAnnotations>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="Feature" abstract="true" eSuperTypes="#//RedefinableElement">
+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+      <details key="documentation" value="A feature declares a behavioral or structural characteristic of instances of classifiers."/>
+    </eAnnotations>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="featuringClassifier" ordered="false"
+        upperBound="-1" eType="#//Classifier" changeable="false" volatile="true" transient="true"
+        derived="true" eOpposite="#//Classifier/feature">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The Classifiers that have this Feature as a feature."/>
+      </eAnnotations>
+      <eAnnotations source="union"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isStatic" ordered="false"
+        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean"
+        defaultValueLiteral="false">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Specifies whether this feature characterizes individual instances classified by the classifier (false) or the classifier itself (true)."/>
+      </eAnnotations>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="RedefinableElement" abstract="true"
+      eSuperTypes="#//NamedElement">
+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+      <details key="documentation" value="A redefinable element is an element that, when defined in the context of a classifier, can be redefined more specifically or differently in the context of another classifier that specializes (directly or indirectly) the context classifier."/>
+    </eAnnotations>
+    <eOperations name="redefinition_consistent" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="A redefining element must be consistent with each redefined element.&#xA;self.redefinedElement->forAll(re | re.isConsistentWith(self))"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="non_leaf_redefinition" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="A redefinable element can only redefine non-leaf redefinable elements&#xA;self.redefinedElement->forAll(not isLeaf)"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="redefinition_context_valid" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="At least one of the redefinition contexts of the redefining element must be a specialization of at least one of the redefinition contexts for each redefined element.&#xA;self.redefinedElement->forAll(e | self.isRedefinitionContextValid(e))"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="isConsistentWith" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The query isConsistentWith() specifies, for any two RedefinableElements in a context in which redefinition is possible, whether redefinition would be logically consistent. By default, this is false; this operation must be overridden for subclasses of RedefinableElement to define the consistency conditions.&#xA;redefinee.isRedefinitionContextValid(self)&#xA;result = false"/>
+      </eAnnotations>
+      <eParameters name="redefinee" ordered="false" lowerBound="1" eType="#//RedefinableElement"/>
+    </eOperations>
+    <eOperations name="isRedefinitionContextValid" ordered="false" lowerBound="1"
+        eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The query isRedefinitionContextValid() specifies whether the redefinition contexts of this RedefinableElement are properly related to the redefinition contexts of the specified RedefinableElement to allow this element to redefine the other. By default at least one of the redefinition contexts of this element must be a specialization of at least one of the redefinition contexts of the specified element.&#xA;result = redefinitionContext->exists(c | c.allParents()->includes(redefined.redefinitionContext)))"/>
+      </eAnnotations>
+      <eParameters name="redefined" ordered="false" lowerBound="1" eType="#//RedefinableElement"/>
+    </eOperations>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isLeaf" ordered="false"
+        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean"
+        defaultValueLiteral="false">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Indicates whether it is possible to further redefine a RedefinableElement. If the value is true, then it is not possible to further redefine the RedefinableElement. Note that this property is preserved through package merge operations; that is, the capability to redefine a RedefinableElement (i.e., isLeaf=false) must be preserved in the resulting RedefinableElement of a package merge operation where a RedefinableElement with isLeaf=false is merged with a matching RedefinableElement with isLeaf=true: the resulting RedefinableElement will have isLeaf=false. Default value is false."/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="redefinedElement" ordered="false"
+        upperBound="-1" eType="#//RedefinableElement" changeable="false" volatile="true"
+        transient="true" derived="true">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The redefinable element that is being redefined by this element."/>
+      </eAnnotations>
+      <eAnnotations source="union"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="redefinitionContext" ordered="false"
+        upperBound="-1" eType="#//Classifier" changeable="false" volatile="true" transient="true"
+        derived="true">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="References the contexts that this element may be redefined from."/>
+      </eAnnotations>
+      <eAnnotations source="union"/>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="NamedElement" abstract="true" eSuperTypes="#//Element">
+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+      <details key="documentation" value="A named element is an element in a model that may have a name."/>
+    </eAnnotations>
+    <eOperations name="visibility_needs_ownership" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="If a NamedElement is not owned by a Namespace, it does not have a visibility.&#xA;namespace->isEmpty() implies visibility->isEmpty()"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="has_no_qualified_name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="If there is no name, or one of the containing namespaces has no name, there is no qualified name.&#xA;(self.name->isEmpty() or self.allNamespaces()->select(ns | ns.name->isEmpty())->notEmpty())&#xA;  implies self.qualifiedName->isEmpty()"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="has_qualified_name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="When there is a name, and all of the containing namespaces have a name, the qualified name is constructed from the names of the containing namespaces.&#xA;(self.name->notEmpty() and self.allNamespaces()->select(ns | ns.name->isEmpty())->isEmpty()) implies&#xA;  self.qualifiedName = self.allNamespaces()->iterate( ns : Namespace; result: String = self.name | ns.name->union(self.separator())->union(result))"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="allNamespaces" upperBound="-1" eType="#//Namespace">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The query allNamespaces() gives the sequence of namespaces in which the NamedElement is nested, working outwards.&#xA;result = if self.namespace->isEmpty()&#xA;then Sequence{}&#xA;else self.namespace.allNamespaces()->prepend(self.namespace)&#xA;endif"/>
+      </eAnnotations>
+    </eOperations>
+    <eOperations name="isDistinguishableFrom" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The query isDistinguishableFrom() determines whether two NamedElements may logically co-exist within a Namespace. By default, two named elements are distinguishable if (a) they have unrelated types or (b) they have related types but different names.&#xA;result = if self.oclIsKindOf(n.oclType) or n.oclIsKindOf(self.oclType)&#xA;then ns.getNamesOfMember(self)->intersection(ns.getNamesOfMember(n))->isEmpty()&#xA;else true&#xA;endif"/>
+      </eAnnotations>
+      <eParameters name="n" ordered="false" lowerBound="1" eType="#//NamedElement"/>
+      <eParameters name="ns" ordered="false" lowerBound="1" eType="#//Namespace"/>
+    </eOperations>
+    <eOperations name="qualifiedName" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//String">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="When there is a name, and all of the containing namespaces have a name, the qualified name is constructed from the names of the containing namespaces.&#xA;result = if self.name->notEmpty() and self.allNamespaces()->select(ns | ns.name->isEmpty())->isEmpty()&#xA;then &#xA;    self.allNamespaces()->iterate( ns : Namespace; result: String = self.name | ns.name->union(self.separator())->union(result))&#xA;else&#xA;    Set{}&#xA;endif"/>
+      </eAnnotations>
+    </eOperations>
+    <eOperations name="separator" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//String">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The query separator() gives the string that is used to separate names when constructing a qualified name.&#xA;result = '::'"/>
+      </eAnnotations>
+    </eOperations>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="namespace" ordered="false"
+        eType="#//Namespace" changeable="false" volatile="true" transient="true" derived="true"
+        eOpposite="#//Namespace/ownedMember">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Specifies the namespace that owns the NamedElement."/>
+      </eAnnotations>
+      <eAnnotations source="union"/>
+      <eAnnotations source="subsets" references="#//Element/owner"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" ordered="false" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//String">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The name of the NamedElement."/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="qualifiedName" ordered="false"
+        eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//String" changeable="false"
+        volatile="true" transient="true" derived="true">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="A name which allows the NamedElement to be identified within a hierarchy of nested Namespaces. It is constructed from the names of the containing namespaces starting at the root of the hierarchy and ending with the name of the NamedElement itself."/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="visibility" ordered="false"
+        eType="#//VisibilityKind">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Determines where the NamedElement appears within different Namespaces within the overall model, and its accessibility."/>
+      </eAnnotations>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="Element" abstract="true" eSuperTypes="#//Object">
+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+      <details key="documentation" value="An element is a constituent of a model. As such, it has the capability of owning other elements."/>
+    </eAnnotations>
+    <eOperations name="has_owner" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Elements that must be owned must have an owner.&#xA;self.mustBeOwned() implies owner->notEmpty()"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="not_own_self" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="An element may not directly or indirectly own itself.&#xA;not self.allOwnedElements()->includes(self)"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="allOwnedElements" ordered="false" upperBound="-1" eType="#//Element">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The query allOwnedElements() gives all of the direct and indirect owned elements of an element.&#xA;result = ownedElement->union(ownedElement->collect(e | e.allOwnedElements()))"/>
+      </eAnnotations>
+    </eOperations>
+    <eOperations name="mustBeOwned" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The query mustBeOwned() indicates whether elements of this type must have an owner. Subclasses of Element that do not require an owner must override this operation.&#xA;result = true"/>
+      </eAnnotations>
+    </eOperations>
+    <eOperations name="getMetaClass" ordered="false" lowerBound="1" eType="#//Class"/>
+    <eOperations name="container" ordered="false" lowerBound="1" eType="#//Element"/>
+    <eOperations name="isInstanceOfType" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean">
+      <eParameters name="type" ordered="false" lowerBound="1" eType="#//Class"/>
+      <eParameters name="includesSubtypes" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean"/>
+    </eOperations>
+    <eOperations name="delete" ordered="false" lowerBound="1"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedComment" ordered="false"
+        upperBound="-1" eType="#//Comment" containment="true">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The Comments owned by this element."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedElement" ordered="false"
+        upperBound="-1" eType="#//Element" changeable="false" volatile="true" transient="true"
+        derived="true" eOpposite="#//Element/owner">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The Elements owned by this element."/>
+      </eAnnotations>
+      <eAnnotations source="union"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="owner" ordered="false"
+        eType="#//Element" changeable="false" volatile="true" transient="true" derived="true"
+        eOpposite="#//Element/ownedElement">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The Element that owns this element."/>
+      </eAnnotations>
+      <eAnnotations source="union"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="metaclass" ordered="false"
+        lowerBound="1" eType="#//Class" volatile="true" transient="true" derived="true"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="Comment" eSuperTypes="#//Element">
+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+      <details key="documentation" value="A comment is a textual annotation that can be attached to a set of elements."/>
+    </eAnnotations>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="annotatedElement" ordered="false"
+        upperBound="-1" eType="#//Element">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="References the Element(s) being commented."/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="body" ordered="false" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//String">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Specifies a string that is the comment."/>
+      </eAnnotations>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="Class" eSuperTypes="#//Classifier">
+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+      <details key="documentation" value="A class describes a set of objects that share the same specifications of features, constraints, and semantics."/>
+    </eAnnotations>
+    <eAnnotations source="duplicates">
+      <contents xsi:type="ecore:EOperation" name="inherit" ordered="false" upperBound="-1"
+          eType="#//NamedElement">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The inherit operation is overridden to exclude redefined properties.&#xA;result = inhs->excluding(inh | ownedMember->select(oclIsKindOf(RedefinableElement))->select(redefinedElement->includes(inh)))"/>
+        </eAnnotations>
+        <eAnnotations source="redefines" references="#//Classifier/inherit"/>
+        <eParameters name="inhs" ordered="false" upperBound="-1" eType="#//NamedElement"/>
+      </contents>
+      <contents xsi:type="ecore:EAttribute" name="isAbstract" ordered="false" lowerBound="1"
+          eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean"
+          defaultValueLiteral="false">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="True when a class is abstract.&#xA;If true, the Classifier does not provide a complete declaration and can typically not be instantiated. An abstract classifier is intended to be used by other classifiers e.g. as the target of general metarelationships or generalization relationships."/>
+        </eAnnotations>
+        <eAnnotations source="redefines" references="#//Classifier/isAbstract"/>
+      </contents>
+    </eAnnotations>
+    <eOperations name="superClass" ordered="false" upperBound="-1" eType="#//Class">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Missing derivation for Class::/superClass : Class&#xA;true"/>
+      </eAnnotations>
+    </eOperations>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="nestedClassifier" upperBound="-1"
+        eType="#//Classifier" containment="true">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="References all the Classifiers that are defined (nested) within the Class."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//Namespace/ownedMember"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedAttribute" upperBound="-1"
+        eType="#//Property" containment="true" eOpposite="#//Property/class">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The attributes (i.e. the properties) owned by the class."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//Classifier/attribute #//Namespace/ownedMember"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedOperation" upperBound="-1"
+        eType="#//Operation" containment="true" eOpposite="#//Operation/class">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The operations owned by the class."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//Namespace/ownedMember #//Classifier/feature"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="superClass" ordered="false"
+        upperBound="-1" eType="#//Class" volatile="true" transient="true" derived="true">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="This gives the superclasses of a class."/>
+      </eAnnotations>
+      <eAnnotations source="redefines" references="#//Classifier/general.1"/>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="Classifier" abstract="true" eSuperTypes="#//Namespace #//RedefinableElement #//Type">
+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+      <details key="documentation" value="A classifier is a classification of instances - it describes a set of instances that have features in common. A classifier can specify a generalization hierarchy by referencing its general classifiers."/>
+    </eAnnotations>
+    <eOperations name="non_final_parents" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The parents of a classifier must be non-final.&#xA;self.parents()->forAll(not isFinalSpecialization)"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="specialize_type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="A classifier may only specialize classifiers of a valid type.&#xA;self.parents()->forAll(c | self.maySpecializeType(c))"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="no_cycles_in_generalization" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Generalization hierarchies must be directed and acyclical. A classifier can not be both a transitively general and transitively specific classifier of the same classifier.&#xA;not self.allParents()->includes(self)"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="allFeatures" ordered="false" upperBound="-1" eType="#//Feature">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The query allFeatures() gives all of the features in the namespace of the classifier. In general, through mechanisms such as inheritance, this will be a larger set than feature.&#xA;result = member->select(oclIsKindOf(Feature))"/>
+      </eAnnotations>
+    </eOperations>
+    <eOperations name="allParents" ordered="false" upperBound="-1" eType="#//Classifier">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The query allParents() gives all of the direct and indirect ancestors of a generalized Classifier.&#xA;result = self.parents()->union(self.parents()->collect(p | p.allParents())"/>
+      </eAnnotations>
+    </eOperations>
+    <eOperations name="conformsTo" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The query conformsTo() gives true for a classifier that defines a type that conforms to another. This is used, for example, in the specification of signature conformance for operations.&#xA;result = (self=other) or (self.allParents()->includes(other))"/>
+      </eAnnotations>
+      <eAnnotations source="redefines" references="#//Type/conformsTo"/>
+      <eParameters name="other" ordered="false" lowerBound="1" eType="#//Classifier"/>
+    </eOperations>
+    <eOperations name="general" ordered="false" upperBound="-1" eType="#//Classifier">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The general classifiers are the classifiers referenced by the generalization relationships.&#xA;result = self.parents()"/>
+      </eAnnotations>
+    </eOperations>
+    <eOperations name="hasVisibilityOf" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The query hasVisibilityOf() determines whether a named element is visible in the classifier. By default all are visible. It is only called when the argument is something owned by a parent.&#xA;result = (n.visibility &lt;> VisibilityKind::private)&#xA;self.allParents()->including(self)->collect(c | c.member)->includes(n)"/>
+      </eAnnotations>
+      <eParameters name="n" ordered="false" lowerBound="1" eType="#//NamedElement"/>
+    </eOperations>
+    <eOperations name="inherit" ordered="false" upperBound="-1" eType="#//NamedElement">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The inherit operation is overridden to exclude redefined properties.&#xA;The query inherit() defines how to inherit a set of elements. Here the operation is defined to inherit them all. It is intended to be redefined in circumstances where inheritance is affected by redefinition.&#xA;result = inhs"/>
+      </eAnnotations>
+      <eParameters name="inhs" ordered="false" upperBound="-1" eType="#//NamedElement"/>
+    </eOperations>
+    <eOperations name="inheritableMembers" ordered="false" upperBound="-1" eType="#//NamedElement">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The query inheritableMembers() gives all of the members of a classifier that may be inherited in one of its descendants, subject to whatever visibility restrictions apply.&#xA;c.allParents()->includes(self)&#xA;result = member->select(m | c.hasVisibilityOf(m))"/>
+      </eAnnotations>
+      <eParameters name="c" ordered="false" lowerBound="1" eType="#//Classifier"/>
+    </eOperations>
+    <eOperations name="inheritedMember" ordered="false" upperBound="-1" eType="#//NamedElement">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="&#xA;The inheritedMember association is derived by inheriting the inheritable members of the parents.&#xA;&#xA;The inheritedMember association is derived by inheriting the inheritable members of the parents.&#xA;result = self.inherit(self.parents()->collect(p|p.inheritableMembers(self))->asSet())"/>
+      </eAnnotations>
+    </eOperations>
+    <eOperations name="maySpecializeType" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The query maySpecializeType() determines whether this classifier may have a generalization relationship to classifiers of the specified type. By default a classifier may specialize classifiers of the same or a more general type. It is intended to be redefined by classifiers that have different specialization constraints.&#xA;result = self.oclIsKindOf(c.oclType)"/>
+      </eAnnotations>
+      <eParameters name="c" ordered="false" lowerBound="1" eType="#//Classifier"/>
+    </eOperations>
+    <eOperations name="parents" ordered="false" upperBound="-1" eType="#//Classifier">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The query parents() gives all of the immediate ancestors of a generalized Classifier.&#xA;result = generalization.general"/>
+      </eAnnotations>
+    </eOperations>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="attribute" ordered="false"
+        upperBound="-1" eType="#//Property" changeable="false" volatile="true" transient="true"
+        derived="true">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Refers to all of the Properties that are direct (i.e. not inherited or imported) attributes of the classifier."/>
+      </eAnnotations>
+      <eAnnotations source="union"/>
+      <eAnnotations source="subsets" references="#//Classifier/feature"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="feature" ordered="false"
+        upperBound="-1" eType="#//Feature" changeable="false" volatile="true" transient="true"
+        derived="true" eOpposite="#//Feature/featuringClassifier">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Note that there may be members of the Classifier that are of the type Feature but are not included in this association, e.g. inherited features.&#xA;Specifies each feature defined in the classifier."/>
+      </eAnnotations>
+      <eAnnotations source="union"/>
+      <eAnnotations source="subsets" references="#//Namespace/member"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="general" ordered="false"
+        upperBound="-1" eType="#//Classifier" volatile="true" transient="true" derived="true">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="References the general classifier in the Generalization relationship.&#xA;Specifies the general Classifiers for this Classifier."/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="generalization" ordered="false"
+        upperBound="-1" eType="#//Generalization" containment="true" eOpposite="#//Generalization/specific">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Specifies the Generalization relationships for this Classifier. These Generalizations navigaten to more general classifiers in the generalization hierarchy."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="inheritedMember" ordered="false"
+        upperBound="-1" eType="#//NamedElement" changeable="false" volatile="true"
+        transient="true" derived="true">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Specifies all elements inherited by this classifier from the general classifiers."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//Namespace/member"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isAbstract" ordered="false"
+        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean"
+        defaultValueLiteral="false">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="If true, the Classifier does not provide a complete declaration and can typically not be instantiated. An abstract classifier is intended to be used by other classifiers e.g. as the target of general metarelationships or generalization relationships."/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isFinalSpecialization"
+        ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean"
+        defaultValueLiteral="false">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="If true, the Classifier cannot be specialized by generalization. Note that this property is preserved through package merge operations; that is, the capability to specialize a Classifier (i.e., isFinalSpecialization =false) must be preserved in the resulting Classifier of a package merge operation where a Classifier with isFinalSpecialization =false is merged with a matching Classifier with isFinalSpecialization =true: the resulting Classifier will have isFinalSpecialization =false."/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="redefinedClassifier" ordered="false"
+        upperBound="-1" eType="#//Classifier">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="References the Classifiers that are redefined by this Classifier."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//RedefinableElement/redefinedElement"/>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="Type" abstract="true" eSuperTypes="#//PackageableElement">
+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+      <details key="documentation" value="A type is a named element that is used as the type for a typed element. A type can be contained in a package.&#xA;A type constrains the values represented by a typed element."/>
+    </eAnnotations>
+    <eOperations name="conformsTo" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The query conformsTo() gives true for a type that conforms to another. By default, two types do not conform to each other. This query is intended to be redefined for specific conformance situations.&#xA;result = false"/>
+      </eAnnotations>
+      <eParameters name="other" ordered="false" lowerBound="1" eType="#//Type"/>
+    </eOperations>
+    <eOperations name="isInstance" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean">
+      <eParameters name="object" ordered="false" lowerBound="1" eType="#//Object"/>
+    </eOperations>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="package" ordered="false"
+        eType="#//Package" volatile="true" transient="true" derived="true" eOpposite="#//Package/ownedType.1">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Specifies the owning package of this classifier, if any."/>
+      </eAnnotations>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="PackageableElement" abstract="true"
+      eSuperTypes="#//NamedElement">
+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+      <details key="documentation" value="A packageable element indicates a named element that may be owned directly by a package."/>
+    </eAnnotations>
+    <eAnnotations source="duplicates">
+      <contents xsi:type="ecore:EAttribute" name="visibility" ordered="false" eType="#//VisibilityKind"
+          defaultValueLiteral="public">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="Indicates that packageable elements must always have a visibility, i.e., visibility is not optional."/>
+        </eAnnotations>
+        <eAnnotations source="redefines" references="#//NamedElement/visibility"/>
+      </contents>
+    </eAnnotations>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EEnum" name="VisibilityKind">
+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+      <details key="documentation" value="VisibilityKind is an enumeration type that defines literals to determine the visibility of elements in a model."/>
+    </eAnnotations>
+    <eLiterals name="public">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="A public element is visible to all elements that can access the contents of the namespace that owns it."/>
+      </eAnnotations>
+    </eLiterals>
+    <eLiterals name="private" value="1">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="A private element is only visible inside the namespace that owns it."/>
+      </eAnnotations>
+    </eLiterals>
+    <eLiterals name="protected" value="2">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="A protected element is visible to elements that have a generalization relationship to the namespace that owns it."/>
+      </eAnnotations>
+    </eLiterals>
+    <eLiterals name="package" value="3">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="A package element is owned by a namespace that is not a package, and is visible to elements that are in the same package as its owning namespace. Only named elements that are not owned by packages can be marked as having package visibility. Any element marked as having package visibility is visible to all elements within the nearest enclosing package (given that other owning elements have proper visibility). Outside the nearest enclosing package, an element marked as having package visibility is not visible."/>
+      </eAnnotations>
+    </eLiterals>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="Package" eSuperTypes="#//Namespace #//PackageableElement">
+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+      <details key="documentation" value="A package is used to group elements, and provides a namespace for the grouped elements."/>
+    </eAnnotations>
+    <eAnnotations source="duplicates">
+      <contents xsi:type="ecore:EOperation" name="mustBeOwned" ordered="false" lowerBound="1"
+          eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The query mustBeOwned() indicates whether elements of this type must have an owner.&#xA;result = false"/>
+        </eAnnotations>
+        <eAnnotations source="redefines" references="#//Element/mustBeOwned"/>
+      </contents>
+    </eAnnotations>
+    <eOperations name="elements_public_or_private" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="If an element that is owned by a package has visibility, it is public or private.&#xA;self.ownedElements->forAll(e | e.visibility->notEmpty() implies e.visbility = #public or e.visibility = #private)"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="makesVisible" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The query makesVisible() defines whether a Package makes an element visible outside itself. Elements with no visibility and elements with public visibility are made visible.&#xA;result = (ownedMember->includes(el)) or&#xA;(elementImport->select(ei|ei.importedElement = #public)->collect(ei|ei.importedElement)->includes(el)) or&#xA;(packageImport->select(pi|pi.visibility = #public)->collect(pi|pi.importedPackage.member->includes(el))->notEmpty())&#xA;self.member->includes(el)"/>
+      </eAnnotations>
+      <eParameters name="el" ordered="false" lowerBound="1" eType="#//NamedElement"/>
+    </eOperations>
+    <eOperations name="nestedPackage" ordered="false" upperBound="-1" eType="#//Package">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Missing derivation for Package::/nestedPackage : Package&#xA;true"/>
+      </eAnnotations>
+    </eOperations>
+    <eOperations name="ownedType" ordered="false" upperBound="-1" eType="#//Type">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Missing derivation for Package::/ownedType : Type&#xA;true"/>
+      </eAnnotations>
+    </eOperations>
+    <eOperations name="visibleMembers" ordered="false" upperBound="-1" eType="#//PackageableElement">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The query visibleMembers() defines which members of a Package can be accessed outside it.&#xA;result = member->select( m | self.makesVisible(m))"/>
+      </eAnnotations>
+    </eOperations>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="URI" ordered="false" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//String">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Provides an identifier for the package that can be used for many purposes. A URI is the universally unique identification of the package following the IETF URI specification, RFC 2396 http://www.ietf.org/rfc/rfc2396.txt and it must comply with those syntax rules."/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="nestedPackage" ordered="false"
+        upperBound="-1" eType="#//Package" volatile="true" transient="true" derived="true"
+        eOpposite="#//Package/nestingPackage">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="References the packaged elements that are Packages."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//Package/packagedElement"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="nestingPackage" ordered="false"
+        eType="#//Package" volatile="true" transient="true" derived="true" eOpposite="#//Package/nestedPackage.1">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="References the Package that owns this Package."/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="packageMerge" ordered="false"
+        upperBound="-1" eType="#//PackageMerge" containment="true" eOpposite="#//PackageMerge/receivingPackage">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="References the PackageMerges that are owned by this Package."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="packagedElement" ordered="false"
+        upperBound="-1" eType="#//PackageableElement" containment="true">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Specifies the packageable elements that are owned by this Package."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//Namespace/ownedMember"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedType" ordered="false"
+        upperBound="-1" eType="#//Type" volatile="true" transient="true" derived="true"
+        eOpposite="#//Type/package">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="References the packaged elements that are Types."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//Package/packagedElement"/>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="Namespace" abstract="true" eSuperTypes="#//NamedElement">
+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+      <details key="documentation" value="A namespace is an element in a model that contains a set of named elements that can be identified by name."/>
+    </eAnnotations>
+    <eOperations name="members_distinguishable" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="All the members of a Namespace are distinguishable within it.&#xA;membersAreDistinguishable()"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="excludeCollisions" ordered="false" upperBound="-1" eType="#//PackageableElement">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The query excludeCollisions() excludes from a set of PackageableElements any that would not be distinguishable from each other in this namespace.&#xA;result = imps->reject(imp1 | imps.exists(imp2 | not imp1.isDistinguishableFrom(imp2, self)))"/>
+      </eAnnotations>
+      <eParameters name="imps" ordered="false" upperBound="-1" eType="#//PackageableElement"/>
+    </eOperations>
+    <eOperations name="getNamesOfMember" ordered="false" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//String">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The query getNamesOfMember() takes importing into account. It gives back the set of names that an element would have in an importing namespace, either because it is owned, or if not owned then imported individually, or if not individually then from a package.&#xA;The query getNamesOfMember() gives a set of all of the names that a member would have in a Namespace. In general a member can have multiple names in a Namespace if it is imported more than once with different aliases. The query takes account of importing. It gives back the set of names that an element would have in an importing namespace, either because it is owned, or if not owned then imported individually, or if not individually then from a package.&#xA;result = if self.ownedMember ->includes(element)&#xA;then Set{}->include(element.name)&#xA;else let elementImports: ElementImport = self.elementImport->select(ei | ei.importedElement = element) in&#xA;  if elementImports->notEmpty()&#xA;  then elementImports->collect(el | el.getName())&#xA;  else self.packageImport->select(pi | pi.importedPackage.visibleMembers()->includes(element))-> collect(pi | pi.importedPackage.getNamesOfMember(element))&#xA;  endif&#xA;endif"/>
+      </eAnnotations>
+      <eParameters name="element" ordered="false" lowerBound="1" eType="#//NamedElement"/>
+    </eOperations>
+    <eOperations name="importMembers" ordered="false" upperBound="-1" eType="#//PackageableElement">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The query importMembers() defines which of a set of PackageableElements are actually imported into the namespace. This excludes hidden ones, i.e., those which have names that conflict with names of owned members, and also excludes elements which would have the same name when imported.&#xA;result = self.excludeCollisions(imps)->select(imp | self.ownedMember->forAll(mem |&#xA;mem.imp.isDistinguishableFrom(mem, self)))"/>
+      </eAnnotations>
+      <eParameters name="imps" ordered="false" upperBound="-1" eType="#//PackageableElement"/>
+    </eOperations>
+    <eOperations name="importedMember" ordered="false" upperBound="-1" eType="#//PackageableElement">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The importedMember property is derived from the ElementImports and the PackageImports. References the PackageableElements that are members of this Namespace as a result of either PackageImports or ElementImports.&#xA;result = self.importMembers(self.elementImport.importedElement.asSet()-&#xA;>union(self.packageImport.importedPackage->collect(p | p.visibleMembers())))"/>
+      </eAnnotations>
+    </eOperations>
+    <eOperations name="membersAreDistinguishable" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The Boolean query membersAreDistinguishable() determines whether all of the namespace's members are distinguishable within it.&#xA;result = self.member->forAll( memb |&#xA;self.member->excluding(memb)->forAll(other |&#xA;memb.isDistinguishableFrom(other, self)))"/>
+      </eAnnotations>
+    </eOperations>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="elementImport" ordered="false"
+        upperBound="-1" eType="#//ElementImport" containment="true" eOpposite="#//ElementImport/importingNamespace">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="References the ElementImports owned by the Namespace."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="importedMember" ordered="false"
+        upperBound="-1" eType="#//PackageableElement" changeable="false" volatile="true"
+        transient="true" derived="true">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="References the PackageableElements that are members of this Namespace as a result of either PackageImports or ElementImports."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//Namespace/member"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="member" ordered="false"
+        upperBound="-1" eType="#//NamedElement" changeable="false" volatile="true"
+        transient="true" derived="true">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="A collection of NamedElements identifiable within the Namespace, either by being owned or by being introduced by importing or inheritance."/>
+      </eAnnotations>
+      <eAnnotations source="union"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedMember" ordered="false"
+        upperBound="-1" eType="#//NamedElement" changeable="false" volatile="true"
+        transient="true" derived="true" eOpposite="#//NamedElement/namespace">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="A collection of NamedElements owned by the Namespace."/>
+      </eAnnotations>
+      <eAnnotations source="union"/>
+      <eAnnotations source="subsets" references="#//Element/ownedElement #//Namespace/member"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedRule" ordered="false"
+        upperBound="-1" eType="#//Constraint" containment="true" eOpposite="#//Constraint/context">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Specifies a set of Constraints owned by this Namespace."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//Namespace/ownedMember"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="packageImport" ordered="false"
+        upperBound="-1" eType="#//PackageImport" containment="true" eOpposite="#//PackageImport/importingNamespace">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="References the PackageImports owned by the Namespace."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="ElementImport" eSuperTypes="#//DirectedRelationship">
+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+      <details key="documentation" value="An element import identifies an element in another package, and allows the element to be referenced using its name without a qualifier."/>
+    </eAnnotations>
+    <eOperations name="visibility_public_or_private" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The visibility of an ElementImport is either public or private.&#xA;self.visibility = #public or self.visibility = #private"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="imported_element_is_public" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="An importedElement has either public visibility or no visibility at all.&#xA;self.importedElement.visibility.notEmpty() implies self.importedElement.visibility = #public"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="getName" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//String">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The query getName() returns the name under which the imported PackageableElement will be known in the importing namespace.&#xA;result = if self.alias->notEmpty() then&#xA;  self.alias&#xA;else&#xA;  self.importedElement.name&#xA;endif"/>
+      </eAnnotations>
+    </eOperations>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="alias" ordered="false"
+        eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//String">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Specifies the name that should be added to the namespace of the importing package in lieu of the name of the imported packagable element. The aliased name must not clash with any other member name in the importing package. By default, no alias is used."/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="importedElement" ordered="false"
+        lowerBound="1" eType="#//PackageableElement">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Specifies the PackageableElement whose name is to be added to a Namespace."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//DirectedRelationship/target"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="visibility" ordered="false"
+        lowerBound="1" eType="#//VisibilityKind" defaultValueLiteral="public">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Specifies the visibility of the imported PackageableElement within the importing Package. The default visibility is the same as that of the imported element. If the imported element does not have a visibility, it is possible to add visibility to the element import."/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="importingNamespace" ordered="false"
+        lowerBound="1" eType="#//Namespace" eOpposite="#//Namespace/elementImport">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Specifies the Namespace that imports a PackageableElement from another Package."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//Element/owner #//DirectedRelationship/source"/>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="DirectedRelationship" abstract="true"
+      eSuperTypes="#//Relationship">
+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+      <details key="documentation" value="A directed relationship represents a relationship between a collection of source model elements and a collection of target model elements."/>
+    </eAnnotations>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="source" ordered="false"
+        lowerBound="1" upperBound="-1" eType="#//Element" changeable="false" volatile="true"
+        transient="true" derived="true">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Specifies the sources of the DirectedRelationship."/>
+      </eAnnotations>
+      <eAnnotations source="union"/>
+      <eAnnotations source="subsets" references="#//Relationship/relatedElement"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="target" ordered="false"
+        lowerBound="1" upperBound="-1" eType="#//Element" changeable="false" volatile="true"
+        transient="true" derived="true">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Specifies the targets of the DirectedRelationship."/>
+      </eAnnotations>
+      <eAnnotations source="union"/>
+      <eAnnotations source="subsets" references="#//Relationship/relatedElement"/>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="Relationship" abstract="true" eSuperTypes="#//Element">
+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+      <details key="documentation" value="Relationship is an abstract concept that specifies some kind of relationship between elements."/>
+    </eAnnotations>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="relatedElement" ordered="false"
+        lowerBound="1" upperBound="-1" eType="#//Element" changeable="false" volatile="true"
+        transient="true" derived="true">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Specifies the elements related by the Relationship."/>
+      </eAnnotations>
+      <eAnnotations source="union"/>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="Constraint" eSuperTypes="#//PackageableElement">
+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+      <details key="documentation" value="A constraint is a condition or restriction expressed in natural language text or in a machine readable language for the purpose of declaring some of the semantics of an element."/>
+    </eAnnotations>
+    <eOperations name="value_specification_boolean" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The value specification for a constraint must evaluate to a Boolean value.&#xA;self.specification().booleanValue().isOclKindOf(Boolean)"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="boolean_value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The value specification for a constraint must evaluate to a Boolean value.&#xA;true"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="not_apply_to_self" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="A constraint cannot be applied to itself.&#xA;not constrainedElement->includes(self)"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="no_side_effects" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Evaluating the value specification for a constraint must not have side effects.&#xA;true"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="constrainedElement" upperBound="-1"
+        eType="#//Element">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The ordered set of Elements referenced by this Constraint."/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="specification" ordered="false"
+        lowerBound="1" eType="#//ValueSpecification" containment="true">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="A condition that must be true when evaluated in order for the constraint to be satisfied."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="context" ordered="false"
+        eType="#//Namespace" eOpposite="#//Namespace/ownedRule">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Specifies the namespace that owns the NamedElement."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//NamedElement/namespace"/>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="ValueSpecification" abstract="true"
+      eSuperTypes="#//TypedElement #//PackageableElement">
+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+      <details key="documentation" value="A value specification is the specification of a (possibly empty) set of instances, including both objects and data values."/>
+    </eAnnotations>
+    <eOperations name="booleanValue" ordered="false" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The query booleanValue() gives a single Boolean value when one can be computed.&#xA;result = Set{}"/>
+      </eAnnotations>
+    </eOperations>
+    <eOperations name="integerValue" ordered="false" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Integer">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The query integerValue() gives a single Integer value when one can be computed.&#xA;result = Set{}"/>
+      </eAnnotations>
+    </eOperations>
+    <eOperations name="isComputable" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The query isComputable() determines whether a value specification can be computed in a model. This operation cannot be fully defined in OCL. A conforming implementation is expected to deliver true for this operation for all value specifications that it can compute, and to compute all of those for which the operation is true. A conforming implementation is expected to be able to compute the value of all literals.&#xA;result = false"/>
+      </eAnnotations>
+    </eOperations>
+    <eOperations name="isNull" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The query isNull() returns true when it can be computed that the value is null.&#xA;result = false"/>
+      </eAnnotations>
+    </eOperations>
+    <eOperations name="realValue" ordered="false" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Real">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The query realValue() gives a single Real value when one can be computed.&#xA;result = Set{}"/>
+      </eAnnotations>
+    </eOperations>
+    <eOperations name="stringValue" ordered="false" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//String">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The query stringValue() gives a single String value when one can be computed.&#xA;result = Set{}"/>
+      </eAnnotations>
+    </eOperations>
+    <eOperations name="unlimitedValue" ordered="false" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//UnlimitedNatural">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The query unlimitedValue() gives a single UnlimitedNatural value when one can be computed.&#xA;result = Set{}"/>
+      </eAnnotations>
+    </eOperations>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="TypedElement" abstract="true" eSuperTypes="#//NamedElement">
+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+      <details key="documentation" value="A typed element is a kind of named element that represents an element with a type.&#xA;A typed element has a type."/>
+    </eAnnotations>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="type" ordered="false" eType="#//Type">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="This information is derived from the return result for this Operation.&#xA;The type of the TypedElement."/>
+      </eAnnotations>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="PackageImport" eSuperTypes="#//DirectedRelationship">
+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+      <details key="documentation" value="A package import is a relationship that allows the use of unqualified names to refer to package members from other namespaces."/>
+    </eAnnotations>
+    <eOperations name="public_or_private" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The visibility of a PackageImport is either public or private.&#xA;self.visibility = #public or self.visibility = #private"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="importedPackage" ordered="false"
+        lowerBound="1" eType="#//Package">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Specifies the Package whose members are imported into a Namespace."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//DirectedRelationship/target"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="visibility" ordered="false"
+        lowerBound="1" eType="#//VisibilityKind" defaultValueLiteral="public">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Specifies the visibility of the imported PackageableElements within the importing Namespace, i.e., whether imported elements will in turn be visible to other packages that use that importingPackage as an importedPackage. If the PackageImport is public, the imported elements will be visible outside the package, while if it is private they will not."/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="importingNamespace" ordered="false"
+        lowerBound="1" eType="#//Namespace" eOpposite="#//Namespace/packageImport">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Specifies the Namespace that imports the members from a Package."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//Element/owner #//DirectedRelationship/source"/>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="PackageMerge" eSuperTypes="#//DirectedRelationship">
+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+      <details key="documentation" value="A package merge defines how the contents of one package are extended by the contents of another package."/>
+    </eAnnotations>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="mergedPackage" ordered="false"
+        lowerBound="1" eType="#//Package">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="References the Package that is to be merged with the receiving package of the PackageMerge."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//DirectedRelationship/target"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="receivingPackage" ordered="false"
+        lowerBound="1" eType="#//Package" eOpposite="#//Package/packageMerge">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="References the Package that is being extended with the contents of the merged package of the PackageMerge."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//Element/owner #//DirectedRelationship/source"/>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="Generalization" eSuperTypes="#//DirectedRelationship">
+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+      <details key="documentation" value="A generalization is a taxonomic relationship between a more general classifier and a more specific classifier. Each instance of the specific classifier is also an indirect instance of the general classifier. Thus, the specific classifier inherits the features of the more general classifier."/>
+    </eAnnotations>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="general" ordered="false"
+        lowerBound="1" eType="#//Classifier">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="References the general classifier in the Generalization relationship."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//DirectedRelationship/target"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isSubstitutable" ordered="false"
+        eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean"
+        defaultValueLiteral="true">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Indicates whether the specific classifier can be used wherever the general classifier can be used. If true, the execution traces of the specific classifier will be a superset of the execution traces of the general classifier."/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="specific" ordered="false"
+        lowerBound="1" eType="#//Classifier" eOpposite="#//Classifier/generalization">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="References the specializing classifier in the Generalization relationship."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//DirectedRelationship/source #//Element/owner"/>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="Operation" eSuperTypes="#//BehavioralFeature">
+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+      <details key="documentation" value="An operation is a behavioral feature of a classifier that specifies the name, type, parameters, and constraints for invoking an associated behavior."/>
+    </eAnnotations>
+    <eAnnotations source="duplicates">
+      <contents xsi:type="ecore:EOperation" name="isConsistentWith" ordered="false"
+          lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The query isConsistentWith() specifies, for any two Operations in a context in which redefinition is possible, whether redefinition would be consistent in the sense of maintaining type covariance. Other senses of consistency may be required, for example to determine consistency in the sense of contravariance. Users may define alternative queries under names different from 'isConsistentWith()', as for example, users may define a query named 'isContravariantWith()'.&#xA;A redefining operation is consistent with a redefined operation if it has the same number of owned parameters, and the type of each owned parameter conforms to the type of the corresponding redefined parameter.&#xA;result = redefinee.oclIsKindOf(Operation) and&#xA;let op : Operation = redefinee.oclAsType(Operation) in&#xA;&#x9;self.ownedParameter->size() = op.ownedParameter->size() and&#xA;&#x9;Sequence{1..self.ownedParameter->size()}->&#xA;&#x9;&#x9;forAll(i |op.ownedParameter->at(1).type.conformsTo(self.ownedParameter->at(i).type))&#xA;redefinee.isRedefinitionContextValid(self)"/>
+        </eAnnotations>
+        <eAnnotations source="redefines" references="#//RedefinableElement/isConsistentWith"/>
+        <eParameters name="redefinee" ordered="false" lowerBound="1" eType="#//RedefinableElement"/>
+      </contents>
+      <contents xsi:type="ecore:EReference" name="ownedParameter" upperBound="-1"
+          eType="#//Parameter" containment="true" eOpposite="#//Parameter/operation">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="Specifies the ordered set of formal parameters of this BehavioralFeature.&#xA;Specifies the parameters owned by this Operation."/>
+        </eAnnotations>
+        <eAnnotations source="redefines" references="#//BehavioralFeature/ownedParameter"/>
+      </contents>
+      <contents xsi:type="ecore:EReference" name="raisedException" ordered="false"
+          upperBound="-1" eType="#//Type">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="References the Types representing exceptions that may be raised during an invocation of this operation."/>
+        </eAnnotations>
+        <eAnnotations source="redefines" references="#//BehavioralFeature/raisedException"/>
+      </contents>
+    </eAnnotations>
+    <eOperations name="only_body_for_query" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="A bodyCondition can only be specified for a query operation.&#xA;bodyCondition->notEmpty() implies isQuery"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="at_most_one_return" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="An operation can have at most one return parameter; i.e., an owned parameter with the direction set to 'return'&#xA;self.ownedParameter->select(par | par.direction = #return)->size() &lt;= 1"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="isOrdered" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="If this operation has a return parameter, isOrdered equals the value of isOrdered for that parameter. Otherwise isOrdered is false.&#xA;result = if returnResult()->notEmpty() then returnResult()->any().isOrdered else false endif"/>
+      </eAnnotations>
+    </eOperations>
+    <eOperations name="isUnique" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="If this operation has a return parameter, isUnique equals the value of isUnique for that parameter. Otherwise isUnique is true.&#xA;result = if returnResult()->notEmpty() then returnResult()->any().isUnique else true endif"/>
+      </eAnnotations>
+    </eOperations>
+    <eOperations name="lower" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Integer">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="If this operation has a return parameter, lower equals the value of lower for that parameter. Otherwise lower is not defined.&#xA;result = if returnResult()->notEmpty() then returnResult()->any().lower else Set{} endif"/>
+      </eAnnotations>
+    </eOperations>
+    <eOperations name="returnResult" ordered="false" upperBound="-1" eType="#//Parameter">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The query returnResult() returns the set containing the return parameter of the Operation if one exists, otherwise, it returns an empty set&#xA;result = ownedParameter->select (par | par.direction = #return)"/>
+      </eAnnotations>
+    </eOperations>
+    <eOperations name="type" ordered="false" lowerBound="1" eType="#//Type">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="If this operation has a return parameter, type equals the value of type for that parameter. Otherwise type is not defined.&#xA;result = if returnResult()->notEmpty() then returnResult()->any().type else Set{} endif"/>
+      </eAnnotations>
+    </eOperations>
+    <eOperations name="upper" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//UnlimitedNatural">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="If this operation has a return parameter, upper equals the value of upper for that parameter. Otherwise upper is not defined.&#xA;result = if returnResult()->notEmpty() then returnResult()->any().upper else Set{} endif"/>
+      </eAnnotations>
+    </eOperations>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="bodyCondition" ordered="false"
+        eType="#//Constraint">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="An optional Constraint on the result values of an invocation of this Operation."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//Namespace/ownedRule"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="datatype" ordered="false"
+        eType="#//DataType" eOpposite="#//DataType/ownedOperation">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The DataType that owns this Operation."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//NamedElement/namespace #//Feature/featuringClassifier #//RedefinableElement/redefinitionContext"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isOrdered" ordered="false"
+        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean"
+        changeable="false" volatile="true" transient="true" defaultValueLiteral="false"
+        derived="true">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="This information is derived from the return result for this Operation.&#xA;Specifies whether the return parameter is ordered or not, if present."/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isQuery" ordered="false"
+        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean"
+        defaultValueLiteral="false">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Specifies whether an execution of the BehavioralFeature leaves the state of the system unchanged (isQuery=true) or whether side effects may occur (isQuery=false)."/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isUnique" ordered="false"
+        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean"
+        changeable="false" volatile="true" transient="true" defaultValueLiteral="true"
+        derived="true">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="This information is derived from the return result for this Operation.&#xA;Specifies whether the return parameter is unique or not, if present."/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="lower" ordered="false"
+        eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Integer"
+        changeable="false" volatile="true" transient="true" defaultValueLiteral="1"
+        derived="true">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="This information is derived from the return result for this Operation.&#xA;Specifies the lower multiplicity of the return parameter, if present."/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="postcondition" ordered="false"
+        upperBound="-1" eType="#//Constraint">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="An optional set of Constraints specifying the state of the system when the Operation is completed."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//Namespace/ownedRule"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="precondition" ordered="false"
+        upperBound="-1" eType="#//Constraint">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="An optional set of Constraints on the state of the system when the Operation is invoked."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//Namespace/ownedRule"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="redefinedOperation" ordered="false"
+        upperBound="-1" eType="#//Operation">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="References the Operations that are redefined by this Operation."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//RedefinableElement/redefinedElement"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="type" ordered="false" eType="#//Type"
+        changeable="false" volatile="true" transient="true" derived="true">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="This information is derived from the return result for this Operation.&#xA;Specifies the return result of the operation, if present."/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="upper" ordered="false"
+        eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//UnlimitedNatural"
+        changeable="false" volatile="true" transient="true" defaultValueLiteral="1"
+        derived="true">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="This information is derived from the return result for this Operation.&#xA;Specifies the upper multiplicity of the return parameter, if present."/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="class" ordered="false"
+        eType="#//Class" eOpposite="#//Class/ownedOperation">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The class that owns the operation."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//NamedElement/namespace #//Feature/featuringClassifier #//RedefinableElement/redefinitionContext"/>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="BehavioralFeature" abstract="true" eSuperTypes="#//Namespace #//Feature">
+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+      <details key="documentation" value="A behavioral feature is a feature of a classifier that specifies an aspect of the behavior of its instances."/>
+    </eAnnotations>
+    <eAnnotations source="duplicates">
+      <contents xsi:type="ecore:EOperation" name="isDistinguishableFrom" ordered="false"
+          lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The query isDistinguishableFrom() determines whether two BehavioralFeatures may coexist in the same Namespace. It specifies that they have to have different signatures.&#xA;result = if n.oclIsKindOf(BehavioralFeature)&#xA;then&#xA;  if ns.getNamesOfMember(self)->intersection(ns.getNamesOfMember(n))->notEmpty()&#xA;  then Set{}->including(self)->including(n)->isUnique(bf | bf.ownedParameter->collect(type))&#xA;  else true&#xA;  endif&#xA;else true&#xA;endif"/>
+        </eAnnotations>
+        <eAnnotations source="redefines" references="#//NamedElement/isDistinguishableFrom"/>
+        <eParameters name="n" ordered="false" lowerBound="1" eType="#//NamedElement"/>
+        <eParameters name="ns" ordered="false" lowerBound="1" eType="#//Namespace"/>
+      </contents>
+    </eAnnotations>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedParameter" upperBound="-1"
+        eType="#//Parameter" containment="true">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Specifies the ordered set of formal parameters of this BehavioralFeature."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//Namespace/ownedMember"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="raisedException" ordered="false"
+        upperBound="-1" eType="#//Type">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="References the Types representing exceptions that may be raised during an invocation of this feature."/>
+      </eAnnotations>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="Parameter" eSuperTypes="#//MultiplicityElement #//TypedElement">
+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+      <details key="documentation" value="A parameter is a specification of an argument used to pass information into or out of an invocation of a behavioral feature."/>
+    </eAnnotations>
+    <eOperations name="default" ordered="false" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//String">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Missing derivation for Parameter::/default : String&#xA;true"/>
+      </eAnnotations>
+    </eOperations>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="default" ordered="false"
+        eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//String" volatile="true"
+        transient="true" derived="true">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Specifies a String that represents a value to be used when no argument is supplied for the Parameter."/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="defaultValue" ordered="false"
+        eType="#//ValueSpecification" containment="true">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Specifies a ValueSpecification that represents a value to be used when no argument is supplied for the Parameter."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="direction" ordered="false"
+        lowerBound="1" eType="#//ParameterDirectionKind" defaultValueLiteral="in">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Indicates whether a parameter is being sent into or out of a behavioral element."/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="operation" ordered="false"
+        eType="#//Operation" changeable="false" volatile="true" transient="true">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="References the Operation owning this parameter."/>
+      </eAnnotations>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="MultiplicityElement" abstract="true"
+      eSuperTypes="#//Element">
+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+      <details key="documentation" value="A multiplicity is a definition of an inclusive interval of non-negative integers beginning with a lower bound and ending with a (possibly infinite) upper bound. A multiplicity element embeds this information to specify the allowable cardinalities for an instantiation of this element."/>
+    </eAnnotations>
+    <eOperations name="lower_ge_0" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The lower bound must be a non-negative integer literal.&#xA;lowerBound()->notEmpty() implies lowerBound() >= 0"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="value_specification_no_side_effects" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="If a non-literal ValueSpecification is used for the lower or upper bound, then evaluating that specification must not have side effects.&#xA;true"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="upper_ge_lower" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The upper bound must be greater than or equal to the lower bound.&#xA;(upperBound()->notEmpty() and lowerBound()->notEmpty()) implies upperBound() >= lowerBound()"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="value_specification_constant" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="If a non-literal ValueSpecification is used for the lower or upper bound, then that specification must be a constant expression.&#xA;true"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="includesCardinality" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The query includesCardinality() checks whether the specified cardinality is valid for this multiplicity.&#xA;result = (lowerBound() &lt;= C) and (upperBound() >= C)&#xA;upperBound()->notEmpty() and lowerBound()->notEmpty()"/>
+      </eAnnotations>
+      <eParameters name="C" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Integer"/>
+    </eOperations>
+    <eOperations name="includesMultiplicity" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The query includesMultiplicity() checks whether this multiplicity includes all the cardinalities allowed by the specified multiplicity.&#xA;result = (self.lowerBound() &lt;= M.lowerBound()) and (self.upperBound() >= M.upperBound())&#xA;self.upperBound()->notEmpty() and self.lowerBound()->notEmpty() and M.upperBound()->notEmpty() and M.lowerBound()->notEmpty()"/>
+      </eAnnotations>
+      <eParameters name="M" ordered="false" lowerBound="1" eType="#//MultiplicityElement"/>
+    </eOperations>
+    <eOperations name="isMultivalued" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The query isMultivalued() checks whether this multiplicity has an upper bound greater than one.&#xA;upperBound()->notEmpty()&#xA;result = upperBound() > 1"/>
+      </eAnnotations>
+    </eOperations>
+    <eOperations name="lower" ordered="false" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Integer">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The derived lower attribute must equal the lowerBound.&#xA;result = lowerBound()"/>
+      </eAnnotations>
+    </eOperations>
+    <eOperations name="lowerBound" ordered="false" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Integer">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The query lowerBound() returns the lower bound of the multiplicity as an integer.&#xA;result = if lowerValue->isEmpty() then 1 else lowerValue.integerValue() endif"/>
+      </eAnnotations>
+    </eOperations>
+    <eOperations name="upper" ordered="false" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//UnlimitedNatural">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The derived upper attribute must equal the upperBound.&#xA;result = upperBound()"/>
+      </eAnnotations>
+    </eOperations>
+    <eOperations name="upperBound" ordered="false" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//UnlimitedNatural">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The query upperBound() returns the upper bound of the multiplicity for a bounded multiplicity as an unlimited natural.&#xA;result = if upperValue->isEmpty() then 1 else upperValue.unlimitedValue() endif"/>
+      </eAnnotations>
+    </eOperations>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isOrdered" ordered="false"
+        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean"
+        defaultValueLiteral="false">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="For a multivalued multiplicity, this attribute specifies whether the values in an instantiation of this element are sequentially ordered."/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isUnique" ordered="false"
+        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean"
+        defaultValueLiteral="true">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="For a multivalued multiplicity, this attributes specifies whether the values in an instantiation of this element are unique."/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="lower" ordered="false"
+        eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Integer"
+        volatile="true" transient="true" defaultValueLiteral="1" derived="true">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Specifies the lower bound of the multiplicity interval."/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="lowerValue" ordered="false"
+        eType="#//ValueSpecification" containment="true">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The specification of the lower bound for this multiplicity."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="upper" ordered="false"
+        eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//UnlimitedNatural"
+        volatile="true" transient="true" defaultValueLiteral="1" derived="true">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Specifies the upper bound of the multiplicity interval."/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="upperValue" ordered="false"
+        eType="#//ValueSpecification" containment="true">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The specification of the upper bound for this multiplicity."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EEnum" name="ParameterDirectionKind">
+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+      <details key="documentation" value="Parameter direction kind is an enumeration type that defines literals used to specify direction of parameters."/>
+    </eAnnotations>
+    <eLiterals name="in">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Indicates that parameter values are passed into the behavioral element by the caller."/>
+      </eAnnotations>
+    </eLiterals>
+    <eLiterals name="inout" value="1">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Indicates that parameter values are passed into a behavioral element by the caller and then back out to the caller from the behavioral element."/>
+      </eAnnotations>
+    </eLiterals>
+    <eLiterals name="out" value="2">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Indicates that parameter values are passed from a behavioral element out to the caller."/>
+      </eAnnotations>
+    </eLiterals>
+    <eLiterals name="return" value="3">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Indicates that parameter values are passed as return values from a behavioral element back to the caller."/>
+      </eAnnotations>
+    </eLiterals>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="DataType" eSuperTypes="#//Classifier">
+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+      <details key="documentation" value="A data type is a type whose instances are identified only by their value. A data type may contain attributes to support the modeling of structured data types."/>
+    </eAnnotations>
+    <eAnnotations source="duplicates">
+      <contents xsi:type="ecore:EOperation" name="inherit" ordered="false" upperBound="-1"
+          eType="#//NamedElement">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The inherit operation is overridden to exclude redefined properties.&#xA;result = inhs->excluding(inh | ownedMember->select(oclIsKindOf(RedefinableElement))->select(redefinedElement->includes(inh)))"/>
+        </eAnnotations>
+        <eAnnotations source="redefines" references="#//Classifier/inherit"/>
+        <eParameters name="inhs" ordered="false" upperBound="-1" eType="#//NamedElement"/>
+      </contents>
+    </eAnnotations>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedAttribute" upperBound="-1"
+        eType="#//Property" containment="true" eOpposite="#//Property/datatype">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The Attributes owned by the DataType."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//Classifier/attribute #//Namespace/ownedMember"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedOperation" upperBound="-1"
+        eType="#//Operation" containment="true" eOpposite="#//Operation/datatype">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The Operations owned by the DataType."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//Namespace/ownedMember #//Classifier/feature"/>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EEnum" name="AggregationKind">
+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+      <details key="documentation" value="AggregationKind is an enumeration type that specifies the literals for defining the kind of aggregation of a property."/>
+    </eAnnotations>
+    <eLiterals name="none">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Indicates that the property has no aggregation."/>
+      </eAnnotations>
+    </eLiterals>
+    <eLiterals name="shared" value="1">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Indicates that the property has a shared aggregation."/>
+      </eAnnotations>
+    </eLiterals>
+    <eLiterals name="composite" value="2">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Indicates that the property is aggregated compositely, i.e., the composite object has responsibility for the existence and storage of the composed objects (parts)."/>
+      </eAnnotations>
+    </eLiterals>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="Association" eSuperTypes="#//Classifier #//Relationship">
+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+      <details key="documentation" value="An association describes a set of tuples whose values refer to typed instances. An instance of an association is called a link.A link is a tuple with one value for each end of the association, where each value is an instance of the type of the end.&#xA;An association describes a set of tuples whose values refer to typed instances. An instance of an association is called a link. A link is a tuple with one value for each end of the association, where each value is an instance of the type of the end."/>
+    </eAnnotations>
+    <eOperations name="binary_associations" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Only binary associations can be aggregations.&#xA;self.memberEnd->exists(aggregation &lt;> Aggregation::none) implies self.memberEnd->size() = 2"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="specialized_end_number" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="An association specializing another association has the same number of ends as the other association.&#xA;parents()->select(oclIsKindOf(Association)).oclAsType(Association)->forAll(p | p.memberEnd->size() = self.memberEnd->size())"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="association_ends" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Association ends of associations with more than two ends must be owned by the association.&#xA;if memberEnd->size() > 2 then ownedEnd->includesAll(memberEnd)"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="specialized_end_types" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="When an association specializes another association, every end of the specific association corresponds to an end of the general association, and the specific end reaches the same type or a subtype of the more general end.&#xA;Sequence{1..self.memberEnd->size()}->&#xA;&#x9;forAll(i | self.general->select(oclIsKindOf(Association)).oclAsType(Association)->&#xA;&#x9;&#x9;forAll(ga |self.memberEnd->at(i).type.conformsTo(ga.memberEnd->at(i).type)))"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="endType" upperBound="-1" eType="#//Type">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="endType is derived from the types of the member ends.&#xA;result = self.memberEnd->collect(e | e.type)"/>
+      </eAnnotations>
+    </eOperations>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="endType" lowerBound="1"
+        upperBound="-1" eType="#//Type" changeable="false" volatile="true" transient="true"
+        derived="true">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="References the classifiers that are used as types of the ends of the association."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//Relationship/relatedElement"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isDerived" ordered="false"
+        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean"
+        defaultValueLiteral="false">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Specifies whether the association is derived from other model elements such as other associations or constraints."/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="navigableOwnedEnd" ordered="false"
+        upperBound="-1" eType="#//Property">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The navigable ends that are owned by the association itself."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//Association/ownedEnd"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedEnd" upperBound="-1"
+        eType="#//Property" containment="true" eOpposite="#//Property/owningAssociation">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The ends that are owned by the association itself."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//Association/memberEnd #//Namespace/ownedMember #//Classifier/feature"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="memberEnd" lowerBound="2"
+        upperBound="-1" eType="#//Property" eOpposite="#//Property/association">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Each end represents participation of instances of the classifier connected to the end in links of the association."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//Namespace/member"/>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="Argument">
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" ordered="false" lowerBound="1"
+        eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//String"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="value" ordered="false"
+        lowerBound="1" eType="#//Object"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="Enumeration" eSuperTypes="#//DataType">
+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+      <details key="documentation" value="An enumeration is a data type whose values are enumerated in the model as enumeration literals."/>
+    </eAnnotations>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedLiteral" upperBound="-1"
+        eType="#//EnumerationLiteral" containment="true" eOpposite="#//EnumerationLiteral/enumeration">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The ordered set of literals for this Enumeration."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//Namespace/ownedMember"/>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="EnumerationLiteral" eSuperTypes="#//InstanceSpecification">
+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+      <details key="documentation" value="An enumeration literal is a user-defined data value for an enumeration."/>
+    </eAnnotations>
+    <eAnnotations source="duplicates">
+      <contents xsi:type="ecore:EReference" name="classifier" ordered="false" upperBound="-1"
+          eType="#//Enumeration" changeable="false" volatile="true" transient="true"
+          derived="true">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The classifier of this EnumerationLiteral derived to be equal to its enumeration."/>
+        </eAnnotations>
+        <eAnnotations source="redefines" references="#//InstanceSpecification/classifier"/>
+      </contents>
+    </eAnnotations>
+    <eOperations name="classifier_equals_owning_enumeration" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="classifier = enumeration"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="classifier" ordered="false" lowerBound="1" eType="#//Enumeration">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Missing derivation for EnumerationLiteral::/classifier : Enumeration&#xA;true"/>
+      </eAnnotations>
+    </eOperations>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="enumeration" ordered="false"
+        eType="#//Enumeration" eOpposite="#//Enumeration/ownedLiteral">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The Enumeration that this EnumerationLiteral is a member of."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//NamedElement/namespace"/>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="InstanceSpecification" eSuperTypes="#//PackageableElement">
+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+      <details key="documentation" value="An instance specification is a model element that represents an instance in a modeled system."/>
+    </eAnnotations>
+    <eOperations name="structural_feature" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="One structural feature (including the same feature inherited from multiple classifiers) is the defining feature of at most one slot in an instance specification.&#xA;classifier->forAll(c | (c.allFeatures()->forAll(f | slot->select(s | s.definingFeature = f)->size() &lt;= 1)))"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="defining_feature" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The defining feature of each slot is a structural feature (directly or inherited) of a classifier of the instance specification.&#xA;slot->forAll(s | classifier->exists (c | c.allFeatures()->includes (s.definingFeature)))"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="classifier" ordered="false"
+        upperBound="-1" eType="#//Classifier">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The classifier or classifiers of the represented instance. If multiple classifiers are specified, the instance is classified by all of them."/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="slot" ordered="false" upperBound="-1"
+        eType="#//Slot" containment="true" eOpposite="#//Slot/owningInstance">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="A slot giving the value or values of a structural feature of the instance. An instance specification can have one slot per structural feature of its classifiers, including inherited features. It is not necessary to model a slot for each structural feature, in which case the instance specification is a partial description."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="specification" ordered="false"
+        eType="#//ValueSpecification" containment="true">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="A specification of how to compute, derive, or construct the instance."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="Slot" eSuperTypes="#//Element">
+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+      <details key="documentation" value="A slot specifies that an entity modeled by an instance specification has a value or values for a specific structural feature."/>
+    </eAnnotations>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="definingFeature" ordered="false"
+        lowerBound="1" eType="#//StructuralFeature">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The structural feature that specifies the values that may be held by the slot."/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="value" upperBound="-1"
+        eType="#//ValueSpecification" containment="true">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The value or values corresponding to the defining feature for the owning instance specification."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="owningInstance" ordered="false"
+        lowerBound="1" eType="#//InstanceSpecification" eOpposite="#//InstanceSpecification/slot">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The instance specification that owns this slot."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//Element/owner"/>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="Expression" eSuperTypes="#//ValueSpecification">
+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+      <details key="documentation" value="An expression is a structured tree of symbols that denotes a (possibly empty) set of values when evaluated in a context.&#xA;An expression represents a node in an expression tree, which may be non-terminal or terminal. It defines a symbol, and has a possibly empty sequence of operands which are value specifications."/>
+    </eAnnotations>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="operand" upperBound="-1"
+        eType="#//ValueSpecification" containment="true">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Specifies a sequence of operands."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="symbol" ordered="false"
+        eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//String">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The symbol associated with the node in the expression tree."/>
+      </eAnnotations>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="InstanceValue" eSuperTypes="#//ValueSpecification">
+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+      <details key="documentation" value="An instance value is a value specification that identifies an instance."/>
+    </eAnnotations>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="instance" ordered="false"
+        lowerBound="1" eType="#//InstanceSpecification">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The instance that is the specified value."/>
+      </eAnnotations>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="LiteralBoolean" eSuperTypes="#//LiteralSpecification">
+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+      <details key="documentation" value="A literal Boolean is a specification of a Boolean value."/>
+    </eAnnotations>
+    <eAnnotations source="duplicates">
+      <contents xsi:type="ecore:EOperation" name="booleanValue" ordered="false" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The query booleanValue() gives the value.&#xA;result = value"/>
+        </eAnnotations>
+        <eAnnotations source="redefines" references="#//ValueSpecification/booleanValue"/>
+      </contents>
+      <contents xsi:type="ecore:EOperation" name="isComputable" ordered="false" lowerBound="1"
+          eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The query isComputable() is redefined to be true.&#xA;result = true"/>
+        </eAnnotations>
+        <eAnnotations source="redefines" references="#//ValueSpecification/isComputable"/>
+      </contents>
+    </eAnnotations>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" ordered="false"
+        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean"
+        defaultValueLiteral="false">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The specified Boolean value."/>
+      </eAnnotations>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="LiteralSpecification" abstract="true"
+      eSuperTypes="#//ValueSpecification">
+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+      <details key="documentation" value="A literal specification identifies a literal constant being modeled."/>
+    </eAnnotations>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="LiteralInteger" eSuperTypes="#//LiteralSpecification">
+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+      <details key="documentation" value="A literal integer is a specification of an integer value."/>
+    </eAnnotations>
+    <eAnnotations source="duplicates">
+      <contents xsi:type="ecore:EOperation" name="integerValue" ordered="false" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Integer">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The query integerValue() gives the value.&#xA;result = value"/>
+        </eAnnotations>
+        <eAnnotations source="redefines" references="#//ValueSpecification/integerValue"/>
+      </contents>
+      <contents xsi:type="ecore:EOperation" name="isComputable" ordered="false" lowerBound="1"
+          eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The query isComputable() is redefined to be true.&#xA;result = true"/>
+        </eAnnotations>
+        <eAnnotations source="redefines" references="#//ValueSpecification/isComputable"/>
+      </contents>
+    </eAnnotations>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" ordered="false"
+        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Integer"
+        defaultValueLiteral="0">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The specified Integer value."/>
+      </eAnnotations>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="LiteralNull" eSuperTypes="#//LiteralSpecification">
+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+      <details key="documentation" value="A literal null specifies the lack of a value."/>
+    </eAnnotations>
+    <eAnnotations source="duplicates">
+      <contents xsi:type="ecore:EOperation" name="isComputable" ordered="false" lowerBound="1"
+          eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The query isComputable() is redefined to be true.&#xA;result = true"/>
+        </eAnnotations>
+        <eAnnotations source="redefines" references="#//ValueSpecification/isComputable"/>
+      </contents>
+      <contents xsi:type="ecore:EOperation" name="isNull" ordered="false" lowerBound="1"
+          eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The query isNull() returns true.&#xA;result = true"/>
+        </eAnnotations>
+        <eAnnotations source="redefines" references="#//ValueSpecification/isNull"/>
+      </contents>
+    </eAnnotations>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="LiteralReal" eSuperTypes="#//LiteralSpecification">
+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+      <details key="documentation" value="A literal real is a specification of a real value."/>
+    </eAnnotations>
+    <eAnnotations source="duplicates">
+      <contents xsi:type="ecore:EOperation" name="isComputable" ordered="false" lowerBound="1"
+          eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The query isComputable() is redefined to be true.&#xA;result = true"/>
+        </eAnnotations>
+        <eAnnotations source="redefines" references="#//ValueSpecification/isComputable"/>
+      </contents>
+      <contents xsi:type="ecore:EOperation" name="realValue" ordered="false" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Real">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The query realValue() gives the value.&#xA;result = value"/>
+        </eAnnotations>
+        <eAnnotations source="redefines" references="#//ValueSpecification/realValue"/>
+      </contents>
+    </eAnnotations>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" ordered="false"
+        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Real"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="LiteralString" eSuperTypes="#//LiteralSpecification">
+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+      <details key="documentation" value="A literal string is a specification of a string value."/>
+    </eAnnotations>
+    <eAnnotations source="duplicates">
+      <contents xsi:type="ecore:EOperation" name="isComputable" ordered="false" lowerBound="1"
+          eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The query isComputable() is redefined to be true.&#xA;result = true"/>
+        </eAnnotations>
+        <eAnnotations source="redefines" references="#//ValueSpecification/isComputable"/>
+      </contents>
+      <contents xsi:type="ecore:EOperation" name="stringValue" ordered="false" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//String">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The query stringValue() gives the value.&#xA;result = value"/>
+        </eAnnotations>
+        <eAnnotations source="redefines" references="#//ValueSpecification/stringValue"/>
+      </contents>
+    </eAnnotations>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" ordered="false"
+        eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//String">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The specified String value."/>
+      </eAnnotations>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="LiteralUnlimitedNatural" eSuperTypes="#//LiteralSpecification">
+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+      <details key="documentation" value="A literal unlimited natural is a specification of an unlimited natural number."/>
+    </eAnnotations>
+    <eAnnotations source="duplicates">
+      <contents xsi:type="ecore:EOperation" name="isComputable" ordered="false" lowerBound="1"
+          eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The query isComputable() is redefined to be true.&#xA;result = true"/>
+        </eAnnotations>
+        <eAnnotations source="redefines" references="#//ValueSpecification/isComputable"/>
+      </contents>
+      <contents xsi:type="ecore:EOperation" name="unlimitedValue" ordered="false"
+          eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//UnlimitedNatural">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The query unlimitedValue() gives the value.&#xA;result = value"/>
+        </eAnnotations>
+        <eAnnotations source="redefines" references="#//ValueSpecification/unlimitedValue"/>
+      </contents>
+    </eAnnotations>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" ordered="false"
+        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//UnlimitedNatural"
+        defaultValueLiteral="0">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The specified UnlimitedNatural value."/>
+      </eAnnotations>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="OpaqueExpression" eSuperTypes="#//ValueSpecification">
+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+      <details key="documentation" value="An opaque expression is an uninterpreted textual statement that denotes a (possibly empty) set of values when evaluated in a context."/>
+    </eAnnotations>
+    <eOperations name="language_body_size" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="If the language attribute is not empty, then the size of the body and language arrays must be the same.&#xA;language->notEmpty() implies (body->size() = language->size())"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="isIntegral" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The query isIntegral() tells whether an expression is intended to produce an integer.&#xA;result = false"/>
+      </eAnnotations>
+    </eOperations>
+    <eOperations name="isNonNegative" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The query isNonNegative() tells whether an integer expression has a non-negative value.&#xA;self.isIntegral()&#xA;result = false"/>
+      </eAnnotations>
+    </eOperations>
+    <eOperations name="isPositive" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The query isPositive() tells whether an integer expression has a positive value.&#xA;self.isIntegral()&#xA;result = false"/>
+      </eAnnotations>
+    </eOperations>
+    <eOperations name="value" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Integer">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The query value() gives an integer value for an expression intended to produce one.&#xA;true&#xA;self.isIntegral()"/>
+      </eAnnotations>
+    </eOperations>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="body" unique="false" upperBound="-1"
+        eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//String">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The text of the expression, possibly in multiple languages."/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="language" upperBound="-1"
+        eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//String">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Specifies the languages in which the expression is stated. The interpretation of the expression body depends on the languages. If the languages are unspecified, they might be implicit from the expression body or the context. Languages are matched to body strings by order."/>
+      </eAnnotations>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="PrimitiveType" eSuperTypes="#//DataType">
+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+      <details key="documentation" value="A primitive type defines a predefined data type, without any relevant substructure (i.e., it has no parts in the context of UML). A primitive datatype may have an algebra and operations defined outside of UML, for example, mathematically."/>
+    </eAnnotations>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="URIExtent" eSuperTypes="#//Extent">
+    <eOperations name="contextURI" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//String"/>
+    <eOperations name="uri" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//String">
+      <eParameters name="object" ordered="false" lowerBound="1" eType="#//Element"/>
+    </eOperations>
+    <eOperations name="element" ordered="false" lowerBound="1" eType="#//Element">
+      <eParameters name="uri" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//String"/>
+    </eOperations>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="Extent" eSuperTypes="#//Object">
+    <eOperations name="useContainment" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean"/>
+    <eOperations name="elements" ordered="false" lowerBound="1" eType="#//ReflectiveSequence"/>
+    <eOperations name="elementsOfType" ordered="false" upperBound="-1" eType="#//Element">
+      <eParameters name="type" ordered="false" lowerBound="1" eType="#//Class"/>
+      <eParameters name="includesSubtypes" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean"/>
+    </eOperations>
+    <eOperations name="linksOfType" ordered="false" upperBound="-1" eType="#//Link">
+      <eParameters name="type" ordered="false" lowerBound="1" eType="#//Association"/>
+    </eOperations>
+    <eOperations name="linkedElements" ordered="false" upperBound="-1" eType="#//Element">
+      <eParameters name="association" ordered="false" lowerBound="1" eType="#//Association"/>
+      <eParameters name="endElement" ordered="false" lowerBound="1" eType="#//Element"/>
+      <eParameters name="end1ToEnd2Direction" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean"/>
+    </eOperations>
+    <eOperations name="linkExists" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean">
+      <eParameters name="association" ordered="false" lowerBound="1" eType="#//Association"/>
+      <eParameters name="firstElement" ordered="false" lowerBound="1" eType="#//Element"/>
+      <eParameters name="secondElement" ordered="false" lowerBound="1" eType="#//Element"/>
+    </eOperations>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="Link" eSuperTypes="#//Object">
+    <eOperations name="equals" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean">
+      <eAnnotations source="redefines" references="#//Object/equals"/>
+      <eParameters name="otherLink" ordered="false" lowerBound="1" eType="#//Link"/>
+    </eOperations>
+    <eOperations name="delete" ordered="false" lowerBound="1"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="firstElement" ordered="false"
+        lowerBound="1" eType="#//Element"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="secondElement" ordered="false"
+        lowerBound="1" eType="#//Element"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="association" ordered="false"
+        lowerBound="1" eType="#//Association"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="Factory" eSuperTypes="#//Element">
+    <eOperations name="createFromString" ordered="false" lowerBound="1" eType="#//Object">
+      <eParameters name="dataType" ordered="false" lowerBound="1" eType="#//DataType"/>
+      <eParameters name="string" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//String"/>
+    </eOperations>
+    <eOperations name="convertToString" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//String">
+      <eParameters name="dataType" ordered="false" lowerBound="1" eType="#//DataType"/>
+      <eParameters name="object" ordered="false" lowerBound="1" eType="#//Object"/>
+    </eOperations>
+    <eOperations name="create" ordered="false" lowerBound="1" eType="#//Element">
+      <eParameters name="metaClass" ordered="false" lowerBound="1" eType="#//Class"/>
+    </eOperations>
+    <eOperations name="createElement" ordered="false" lowerBound="1" eType="#//Element">
+      <eParameters name="class" ordered="false" lowerBound="1" eType="#//Class"/>
+      <eParameters name="arguments" ordered="false" upperBound="-1" eType="#//Argument"/>
+    </eOperations>
+    <eOperations name="createLink" ordered="false" lowerBound="1" eType="#//Link">
+      <eParameters name="association" ordered="false" lowerBound="1" eType="#//Association"/>
+      <eParameters name="firstElement" ordered="false" lowerBound="1" eType="#//Element"/>
+      <eParameters name="secondElement" ordered="false" lowerBound="1" eType="#//Element"/>
+    </eOperations>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="package" ordered="false"
+        lowerBound="1" eType="#//Package"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="Exception">
+    <eStructuralFeatures xsi:type="ecore:EReference" name="objectInError" ordered="false"
+        lowerBound="1" eType="#//Element"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="elementInError" ordered="false"
+        lowerBound="1" eType="#//Element"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="description" ordered="false"
+        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//String"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="Tag" eSuperTypes="#//Element">
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" ordered="false" lowerBound="1"
+        eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//String"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" ordered="false"
+        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//String"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="element" ordered="false"
+        upperBound="-1" eType="#//Element"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="tagOwner" ordered="false"
+        eType="#//Element">
+      <eAnnotations source="subsets" references="#//Element/owner"/>
+    </eStructuralFeatures>
+  </eClassifiers>
+</ecore:EPackage>
diff --git a/plugins/org.eclipse.uml2.uml/model/CMOF24_2_UML.ecore2ecore b/plugins/org.eclipse.uml2.uml/model/CMOF24_2_UML.ecore2ecore
new file mode 100644
index 0000000..89a2f34
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml/model/CMOF24_2_UML.ecore2ecore
@@ -0,0 +1,761 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ecore2ecore:Ecore2EcoreMappingRoot xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore2ecore="http://www.eclipse.org/emf/2004/Ecore2Ecore" topToBottom="true">
+  <nested>
+    <outputs href="UML.ecore#//Property/interface"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//Property/associationEnd"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//Property/qualifier"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//ConnectableElement/end"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//ParameterableElement/owningTemplateParameter"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//ParameterableElement/templateParameter"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//DeploymentTarget/deployedElement"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//DeploymentTarget/deployment"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//NamedElement/clientDependency"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//NamedElement/nameExpression"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//Class/extension"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//Class/isActive"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//Class/ownedReception"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//StructuredClassifier/part"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//StructuredClassifier/role"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//BehavioredClassifier/classifierBehavior"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//BehavioredClassifier/interfaceRealization"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//BehavioredClassifier/ownedBehavior"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//Classifier/collaborationUse"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//Classifier/powertypeExtent"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//Classifier/ownedUseCase"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//Classifier/useCase"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//Classifier/representation"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//Classifier/substitution"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//TemplateableElement/ownedTemplateSignature"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//TemplateableElement/templateBinding"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//Package/ownedStereotype"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//Package/profileApplication"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//Generalization/generalizationSet"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//Operation/interface"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//BehavioralFeature/concurrency"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//BehavioralFeature/isAbstract"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//BehavioralFeature/method"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//BehavioralFeature/ownedParameterSet"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//Parameter/effect"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//Parameter/isException"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//Parameter/isStream"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//Parameter/parameterSet"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//OpaqueExpression/behavior"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//OpaqueExpression/result"/>
+  </nested>
+  <nested>
+    <inputs href="CMOF.ecore#//ReflectiveSequence"/>
+  </nested>
+  <nested>
+    <inputs href="CMOF.ecore#//ReflectiveCollection"/>
+  </nested>
+  <nested>
+    <inputs href="CMOF.ecore#//Object"/>
+  </nested>
+  <nested>
+    <inputs href="CMOF.ecore#//URIExtent"/>
+  </nested>
+  <nested>
+    <inputs href="CMOF.ecore#//Extent"/>
+  </nested>
+  <nested>
+    <inputs href="CMOF.ecore#//Link"/>
+  </nested>
+  <nested>
+    <inputs href="CMOF.ecore#//Factory"/>
+  </nested>
+  <nested>
+    <inputs href="CMOF.ecore#//Exception"/>
+  </nested>
+  <nested>
+    <inputs href="CMOF.ecore#//Tag"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//Abstraction"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//Dependency"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//Stereotype"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//StringExpression"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//TemplateSignature"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//TemplateParameter"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//TemplateBinding"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//TemplateParameterSubstitution"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//ProfileApplication"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//Profile"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//Extension"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//ConnectorEnd"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//ConnectableElementTemplateParameter"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//Deployment"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//DeploymentSpecification"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//Artifact"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//Manifestation"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//CallConcurrencyKind"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//Behavior"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//ParameterEffectKind"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//ParameterSet"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//Interface"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//Reception"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//Signal"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//ProtocolStateMachine"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//StateMachine"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//Pseudostate"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//Vertex"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//Region"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//State"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//ConnectionPointReference"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//Trigger"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//Event"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//Port"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//Transition"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//TransitionKind"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//PseudostateKind"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//ProtocolConformance"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//OperationTemplateParameter"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//ExtensionEnd"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//Model"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//Usage"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//CollaborationUse"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//Collaboration"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//Connector"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//ConnectorKind"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//GeneralizationSet"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//RedefinableTemplateSignature"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//UseCase"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//Extend"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//ExtensionPoint"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//Include"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//Substitution"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//Realization"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//ClassifierTemplateParameter"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//InterfaceRealization"/>
+  </nested>
+  <nested>
+    <nested>
+      <outputs href="UML.ecore#//EncapsulatedClassifier/ownedPort"/>
+    </nested>
+    <outputs href="UML.ecore#//EncapsulatedClassifier"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//Image"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//AcceptCallAction"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//AcceptEventAction"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//Action"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//ExecutableNode"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//ActivityNode"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//Activity"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//ActivityEdge"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//ActivityGroup"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//ActivityPartition"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//StructuredActivityNode"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//InputPin"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//Pin"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//ObjectNode"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//ObjectNodeOrderingKind"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//OutputPin"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//Variable"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//InterruptibleActivityRegion"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//ExceptionHandler"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//ActionExecutionSpecification"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//ExecutionSpecification"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//InteractionFragment"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//Lifeline"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//PartDecomposition"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//InteractionUse"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//Gate"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//MessageEnd"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//Message"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//Interaction"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//MessageKind"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//MessageSort"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//InteractionOperand"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//InteractionConstraint"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//GeneralOrdering"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//OccurrenceSpecification"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//ActionInputPin"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//ActivityFinalNode"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//FinalNode"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//ControlNode"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//ActivityParameterNode"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//Actor"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//AddStructuralFeatureValueAction"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//WriteStructuralFeatureAction"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//StructuralFeatureAction"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//AddVariableValueAction"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//WriteVariableAction"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//VariableAction"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//AnyReceiveEvent"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//MessageEvent"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//AssociationClass"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//BehaviorExecutionSpecification"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//BroadcastSignalAction"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//InvocationAction"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//CallAction"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//CallBehaviorAction"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//CallEvent"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//CallOperationAction"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//CentralBufferNode"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//ChangeEvent"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//Clause"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//ClearAssociationAction"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//ClearStructuralFeatureAction"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//ClearVariableAction"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//CombinedFragment"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//InteractionOperatorKind"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//CommunicationPath"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//Component"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//ComponentRealization"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//ConditionalNode"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//ConsiderIgnoreFragment"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//Continuation"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//ControlFlow"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//CreateLinkAction"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//WriteLinkAction"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//LinkAction"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//LinkEndData"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//QualifierValue"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//LinkEndCreationData"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//CreateLinkObjectAction"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//CreateObjectAction"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//DataStoreNode"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//DecisionNode"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//ObjectFlow"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//DestroyLinkAction"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//LinkEndDestructionData"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//DestroyObjectAction"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//DestructionOccurrenceSpecification"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//MessageOccurrenceSpecification"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//Device"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//Node"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//Duration"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//Observation"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//DurationConstraint"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//IntervalConstraint"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//Interval"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//DurationInterval"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//DurationObservation"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//ExecutionEnvironment"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//ExecutionOccurrenceSpecification"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//ExpansionNode"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//ExpansionRegion"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//ExpansionKind"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//FinalState"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//FlowFinalNode"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//ForkNode"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//FunctionBehavior"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//OpaqueBehavior"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//InformationFlow"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//InformationItem"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//InitialNode"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//InstanceValue"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//LoopNode"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//MergeNode"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//OpaqueAction"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//ProtocolTransition"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//RaiseExceptionAction"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//ReadExtentAction"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//ReadIsClassifiedObjectAction"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//ReadLinkAction"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//ReadLinkObjectEndAction"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//ReadLinkObjectEndQualifierAction"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//ReadSelfAction"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//ReadStructuralFeatureAction"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//ReadVariableAction"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//ReclassifyObjectAction"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//ReduceAction"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//RemoveStructuralFeatureValueAction"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//RemoveVariableValueAction"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//ReplyAction"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//SendObjectAction"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//SendSignalAction"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//SequenceNode"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//SignalEvent"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//StartClassifierBehaviorAction"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//StartObjectBehaviorAction"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//StateInvariant"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//TestIdentityAction"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//TimeConstraint"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//TimeInterval"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//TimeExpression"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//TimeEvent"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//TimeObservation"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//UnmarshallAction"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//ValuePin"/>
+  </nested>
+  <nested>
+    <outputs href="UML.ecore#//ValueSpecificationAction"/>
+  </nested>
+  <inputs href="CMOF24.ecore#/"/>
+  <outputs href="UML.ecore#/"/>
+</ecore2ecore:Ecore2EcoreMappingRoot>
diff --git a/plugins/org.eclipse.uml2.uml/model/CMOF24_2_UML.ecore2xml b/plugins/org.eclipse.uml2.uml/model/CMOF24_2_UML.ecore2xml
new file mode 100644
index 0000000..210a150
--- /dev/null
+++ b/plugins/org.eclipse.uml2.uml/model/CMOF24_2_UML.ecore2xml
@@ -0,0 +1,979 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ecore2xml:XMLMap xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:ecore2xml="http://www.eclipse.org/emf/2005/Ecore2XML">
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EPackage" href="UML.ecore#/"/>
+    <value name="cmof" targetNamespace="http://www.omg.org/spec/MOF/20100901/cmof.xmi"/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EReference" href="UML.ecore#//Property/interface"/>
+    <value xMLRepresentation="1"/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EReference" href="UML.ecore#//Property/associationEnd"/>
+    <value xMLRepresentation="1"/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EReference" href="UML.ecore#//Property/qualifier"/>
+    <value xMLRepresentation="0"/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EReference" href="UML.ecore#//ConnectableElement/end"/>
+    <value xMLRepresentation="1"/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EReference" href="UML.ecore#//ParameterableElement/owningTemplateParameter"/>
+    <value xMLRepresentation="1"/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EReference" href="UML.ecore#//ParameterableElement/templateParameter"/>
+    <value xMLRepresentation="1"/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EReference" href="UML.ecore#//DeploymentTarget/deployedElement"/>
+    <value xMLRepresentation="1"/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EReference" href="UML.ecore#//DeploymentTarget/deployment"/>
+    <value xMLRepresentation="0"/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EReference" href="UML.ecore#//NamedElement/clientDependency"/>
+    <value xMLRepresentation="1"/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EReference" href="UML.ecore#//NamedElement/nameExpression"/>
+    <value xMLRepresentation="0"/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EReference" href="UML.ecore#//Class/extension"/>
+    <value xMLRepresentation="1"/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EAttribute" href="UML.ecore#//Class/isActive"/>
+    <value xMLRepresentation="1"/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EReference" href="UML.ecore#//Class/ownedReception"/>
+    <value xMLRepresentation="0"/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EReference" href="UML.ecore#//StructuredClassifier/part"/>
+    <value xMLRepresentation="1"/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EReference" href="UML.ecore#//StructuredClassifier/role"/>
+    <value xMLRepresentation="1"/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EReference" href="UML.ecore#//BehavioredClassifier/classifierBehavior"/>
+    <value xMLRepresentation="1"/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EReference" href="UML.ecore#//BehavioredClassifier/interfaceRealization"/>
+    <value xMLRepresentation="0"/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EReference" href="UML.ecore#//BehavioredClassifier/ownedBehavior"/>
+    <value xMLRepresentation="0"/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EReference" href="UML.ecore#//Classifier/collaborationUse"/>
+    <value xMLRepresentation="0"/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EReference" href="UML.ecore#//Classifier/powertypeExtent"/>
+    <value xMLRepresentation="1"/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EReference" href="UML.ecore#//Classifier/ownedUseCase"/>
+    <value xMLRepresentation="0"/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EReference" href="UML.ecore#//Classifier/useCase"/>
+    <value xMLRepresentation="1"/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EReference" href="UML.ecore#//Classifier/representation"/>
+    <value xMLRepresentation="1"/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EReference" href="UML.ecore#//Classifier/substitution"/>
+    <value xMLRepresentation="0"/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EReference" href="UML.ecore#//TemplateableElement/ownedTemplateSignature"/>
+    <value xMLRepresentation="0"/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EReference" href="UML.ecore#//TemplateableElement/templateBinding"/>
+    <value xMLRepresentation="0"/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EReference" href="UML.ecore#//Package/ownedStereotype"/>
+    <value xMLRepresentation="1"/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EReference" href="UML.ecore#//Package/profileApplication"/>
+    <value xMLRepresentation="0"/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EReference" href="UML.ecore#//Generalization/generalizationSet"/>
+    <value xMLRepresentation="1"/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EReference" href="UML.ecore#//Operation/interface"/>
+    <value xMLRepresentation="1"/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EAttribute" href="UML.ecore#//BehavioralFeature/concurrency"/>
+    <value xMLRepresentation="1"/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EAttribute" href="UML.ecore#//BehavioralFeature/isAbstract"/>
+    <value xMLRepresentation="1"/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EReference" href="UML.ecore#//BehavioralFeature/method"/>
+    <value xMLRepresentation="1"/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EReference" href="UML.ecore#//BehavioralFeature/ownedParameterSet"/>
+    <value xMLRepresentation="0"/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EAttribute" href="UML.ecore#//Parameter/effect"/>
+    <value xMLRepresentation="1"/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EAttribute" href="UML.ecore#//Parameter/isException"/>
+    <value xMLRepresentation="1"/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EAttribute" href="UML.ecore#//Parameter/isStream"/>
+    <value xMLRepresentation="1"/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EReference" href="UML.ecore#//Parameter/parameterSet"/>
+    <value xMLRepresentation="1"/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EReference" href="UML.ecore#//OpaqueExpression/behavior"/>
+    <value xMLRepresentation="1"/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EReference" href="UML.ecore#//OpaqueExpression/result"/>
+    <value xMLRepresentation="1"/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//Abstraction"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//Dependency"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//Stereotype"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//StringExpression"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//TemplateSignature"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//TemplateParameter"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//TemplateBinding"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//TemplateParameterSubstitution"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//ProfileApplication"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//Profile"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//Extension"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//ConnectorEnd"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//ConnectableElementTemplateParameter"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//Deployment"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//DeploymentSpecification"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//Artifact"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//Manifestation"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EEnum" href="UML.ecore#//CallConcurrencyKind"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//Behavior"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EEnum" href="UML.ecore#//ParameterEffectKind"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//ParameterSet"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//Interface"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//Reception"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//Signal"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//ProtocolStateMachine"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//StateMachine"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//Pseudostate"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//Vertex"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//Region"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//State"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//ConnectionPointReference"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//Trigger"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//Event"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//Port"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//Transition"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EEnum" href="UML.ecore#//TransitionKind"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EEnum" href="UML.ecore#//PseudostateKind"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//ProtocolConformance"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//OperationTemplateParameter"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//ExtensionEnd"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//Model"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//Usage"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//CollaborationUse"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//Collaboration"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//Connector"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EEnum" href="UML.ecore#//ConnectorKind"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//GeneralizationSet"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//RedefinableTemplateSignature"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//UseCase"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//Extend"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//ExtensionPoint"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//Include"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//Substitution"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//Realization"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//ClassifierTemplateParameter"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//InterfaceRealization"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//EncapsulatedClassifier"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EReference" href="UML.ecore#//EncapsulatedClassifier/ownedPort"/>
+    <value xMLRepresentation="1"/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//Image"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//AcceptCallAction"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//AcceptEventAction"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//Action"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//ExecutableNode"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//ActivityNode"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//Activity"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//ActivityEdge"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//ActivityGroup"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//ActivityPartition"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//StructuredActivityNode"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//InputPin"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//Pin"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//ObjectNode"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EEnum" href="UML.ecore#//ObjectNodeOrderingKind"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//OutputPin"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//Variable"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//InterruptibleActivityRegion"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//ExceptionHandler"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//ActionExecutionSpecification"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//ExecutionSpecification"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//InteractionFragment"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//Lifeline"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//PartDecomposition"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//InteractionUse"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//Gate"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//MessageEnd"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//Message"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//Interaction"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EEnum" href="UML.ecore#//MessageKind"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EEnum" href="UML.ecore#//MessageSort"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//InteractionOperand"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//InteractionConstraint"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//GeneralOrdering"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//OccurrenceSpecification"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//ActionInputPin"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//ActivityFinalNode"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//FinalNode"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//ControlNode"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//ActivityParameterNode"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//Actor"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//AddStructuralFeatureValueAction"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//WriteStructuralFeatureAction"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//StructuralFeatureAction"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//AddVariableValueAction"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//WriteVariableAction"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//VariableAction"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//AnyReceiveEvent"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//MessageEvent"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//AssociationClass"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//BehaviorExecutionSpecification"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//BroadcastSignalAction"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//InvocationAction"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//CallAction"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//CallBehaviorAction"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//CallEvent"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//CallOperationAction"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//CentralBufferNode"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//ChangeEvent"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//Clause"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//ClearAssociationAction"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//ClearStructuralFeatureAction"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//ClearVariableAction"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//CombinedFragment"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EEnum" href="UML.ecore#//InteractionOperatorKind"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//CommunicationPath"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//Component"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//ComponentRealization"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//ConditionalNode"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//ConsiderIgnoreFragment"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//Continuation"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//ControlFlow"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//CreateLinkAction"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//WriteLinkAction"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//LinkAction"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//LinkEndData"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//QualifierValue"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//LinkEndCreationData"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//CreateLinkObjectAction"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//CreateObjectAction"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//DataStoreNode"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//DecisionNode"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//ObjectFlow"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//DestroyLinkAction"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//LinkEndDestructionData"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//DestroyObjectAction"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//DestructionOccurrenceSpecification"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//MessageOccurrenceSpecification"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//Device"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//Node"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//Duration"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//Observation"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//DurationConstraint"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//IntervalConstraint"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//Interval"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//DurationInterval"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//DurationObservation"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//ExecutionEnvironment"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//ExecutionOccurrenceSpecification"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//ExpansionNode"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//ExpansionRegion"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EEnum" href="UML.ecore#//ExpansionKind"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//FinalState"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//FlowFinalNode"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//ForkNode"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//FunctionBehavior"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//OpaqueBehavior"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//InformationFlow"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//InformationItem"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//InitialNode"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//InstanceValue"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//LoopNode"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//MergeNode"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//OpaqueAction"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//ProtocolTransition"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//RaiseExceptionAction"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//ReadExtentAction"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//ReadIsClassifiedObjectAction"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//ReadLinkAction"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//ReadLinkObjectEndAction"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//ReadLinkObjectEndQualifierAction"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//ReadSelfAction"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//ReadStructuralFeatureAction"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//ReadVariableAction"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//ReclassifyObjectAction"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//ReduceAction"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//RemoveStructuralFeatureValueAction"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//RemoveVariableValueAction"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//ReplyAction"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//SendObjectAction"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//SendSignalAction"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//SequenceNode"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//SignalEvent"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//StartClassifierBehaviorAction"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//StartObjectBehaviorAction"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//StateInvariant"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//TestIdentityAction"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//TimeConstraint"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//TimeInterval"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//TimeExpression"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//TimeEvent"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//TimeObservation"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//UnmarshallAction"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//ValuePin"/>
+    <value/>
+  </ecoreToXMLInfo>
+  <ecoreToXMLInfo>
+    <key xsi:type="ecore:EClass" href="UML.ecore#//ValueSpecificationAction"/>
+    <value/>
+  </ecoreToXMLInfo>
+</ecore2xml:XMLMap>
diff --git a/plugins/org.eclipse.uml2.uml/model/CMOF_2_UML.ecore2xml b/plugins/org.eclipse.uml2.uml/model/CMOF_2_UML.ecore2xml
index 210a150..9e28467 100644
--- a/plugins/org.eclipse.uml2.uml/model/CMOF_2_UML.ecore2xml
+++ b/plugins/org.eclipse.uml2.uml/model/CMOF_2_UML.ecore2xml
@@ -2,7 +2,7 @@
 <ecore2xml:XMLMap xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:ecore2xml="http://www.eclipse.org/emf/2005/Ecore2XML">
   <ecoreToXMLInfo>
     <key xsi:type="ecore:EPackage" href="UML.ecore#/"/>
-    <value name="cmof" targetNamespace="http://www.omg.org/spec/MOF/20100901/cmof.xmi"/>
+    <value name="cmof" targetNamespace="http://www.omg.org/spec/MOF/20110701/cmof.xmi"/>
   </ecoreToXMLInfo>
   <ecoreToXMLInfo>
     <key xsi:type="ecore:EReference" href="UML.ecore#//Property/interface"/>
diff --git a/plugins/org.eclipse.uml2.uml/model/Ecore.uml b/plugins/org.eclipse.uml2.uml/model/Ecore.uml
index d6bd817..51b3e76 100644
--- a/plugins/org.eclipse.uml2.uml/model/Ecore.uml
+++ b/plugins/org.eclipse.uml2.uml/model/Ecore.uml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<xmi:XMI xmi:version="20100901" xmlns:xmi="http://www.omg.org/spec/XMI/20100901" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Ecore="http://www.eclipse.org/uml2/schemas/Ecore/5" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/4.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/uml2/schemas/Ecore/5 pathmap://UML_PROFILES/Ecore.profile.uml#_z1OFcHjqEdy8S4Cr8Rc_NA">
+<xmi:XMI xmi:version="20110701" xmlns:xmi="http://www.omg.org/spec/XMI/20110701" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Ecore="http://www.eclipse.org/uml2/schemas/Ecore/5" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/4.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/uml2/schemas/Ecore/5 pathmap://UML_PROFILES/Ecore.profile.uml#_z1OFcHjqEdy8S4Cr8Rc_NA">
   <uml:Model xmi:id="_SeWiQMX_EduPJbEsMYXjUQ" name="Ecore">
     <packagedElement xmi:type="uml:Class" xmi:id="_SeWj6cX_EduPJbEsMYXjUQ" name="EAnnotation">
       <eAnnotations xmi:id="_SeWj6sX_EduPJbEsMYXjUQ" source="http://www.eclipse.org/emf/2002/Ecore">
diff --git a/plugins/org.eclipse.uml2.uml/model/UML.ecore b/plugins/org.eclipse.uml2.uml/model/UML.ecore
index f7df411..67b88f1 100644
--- a/plugins/org.eclipse.uml2.uml/model/UML.ecore
+++ b/plugins/org.eclipse.uml2.uml/model/UML.ecore
@@ -1,8 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<ecore:EPackage xmi:version="2.0"
-    xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="uml"
-    nsURI="http://www.eclipse.org/uml2/4.0.0/UML" nsPrefix="uml">
+<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="uml" nsURI="http://www.eclipse.org/uml2/4.0.0/UML" nsPrefix="uml">
   <eClassifiers xsi:type="ecore:EClass" name="Abstraction" eSuperTypes="#//Dependency">
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       <details key="documentation" value="An abstraction is a relationship that relates two elements or sets of elements that represent the same concept at different levels of abstraction or from different viewpoints."/>
@@ -34,41 +32,49 @@
       <eAnnotations source="subsets" references="#//DirectedRelationship/target"/>
     </eStructuralFeatures>
   </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="DirectedRelationship" abstract="true"
-      eSuperTypes="#//Relationship">
+  <eClassifiers xsi:type="ecore:EClass" name="PackageableElement" abstract="true"
+      eSuperTypes="#//NamedElement #//ParameterableElement">
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="A directed relationship represents a relationship between a collection of source model elements and a collection of target model elements."/>
+      <details key="documentation" value="Packageable elements are able to serve as a template parameter.&#xA;A packageable element indicates a named element that may be owned directly by a package."/>
     </eAnnotations>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="source" ordered="false"
-        lowerBound="1" upperBound="-1" eType="#//Element" changeable="false" volatile="true"
-        transient="true" derived="true">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Specifies the sources of the DirectedRelationship."/>
-      </eAnnotations>
-      <eAnnotations source="union"/>
-      <eAnnotations source="subsets" references="#//Relationship/relatedElement"/>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="target" ordered="false"
-        lowerBound="1" upperBound="-1" eType="#//Element" changeable="false" volatile="true"
-        transient="true" derived="true">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Specifies the targets of the DirectedRelationship."/>
-      </eAnnotations>
-      <eAnnotations source="union"/>
-      <eAnnotations source="subsets" references="#//Relationship/relatedElement"/>
-    </eStructuralFeatures>
+    <eAnnotations source="duplicates">
+      <contents xsi:type="ecore:EAttribute" name="visibility" ordered="false" eType="#//VisibilityKind"
+          defaultValueLiteral="public">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="Indicates that packageable elements must always have a visibility, i.e., visibility is not optional."/>
+        </eAnnotations>
+        <eAnnotations source="redefines" references="#//NamedElement/visibility"/>
+      </contents>
+    </eAnnotations>
   </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="Relationship" abstract="true" eSuperTypes="#//Element">
+  <eClassifiers xsi:type="ecore:EClass" name="ParameterableElement" abstract="true"
+      eSuperTypes="#//Element">
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="Relationship is an abstract concept that specifies some kind of relationship between elements."/>
+      <details key="documentation" value="A parameterable element is an element that can be exposed as a formal template parameter for a template, or specified as an actual parameter in a binding of a template."/>
     </eAnnotations>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="relatedElement" ordered="false"
-        lowerBound="1" upperBound="-1" eType="#//Element" changeable="false" volatile="true"
-        transient="true" derived="true">
+    <eOperations name="isCompatibleWith" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Specifies the elements related by the Relationship."/>
+        <details key="documentation" value="The query isCompatibleWith() determines if this parameterable element is compatible with the specified parameterable element. By default parameterable element P is compatible with parameterable element Q if the kind of P is the same or a subtype as the kind of Q. Subclasses should override this operation to specify different compatibility constraints.&#xA;result = p->oclIsKindOf(self.oclType)"/>
       </eAnnotations>
-      <eAnnotations source="union"/>
+      <eParameters name="p" ordered="false" lowerBound="1" eType="#//ParameterableElement"/>
+    </eOperations>
+    <eOperations name="isTemplateParameter" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The query isTemplateParameter() determines if this parameterable element is exposed as a formal template parameter.&#xA;result = templateParameter->notEmpty()"/>
+      </eAnnotations>
+    </eOperations>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="owningTemplateParameter"
+        ordered="false" eType="#//TemplateParameter" eOpposite="#//TemplateParameter/ownedParameteredElement">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The formal template parameter that owns this element."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//ParameterableElement/templateParameter #//Element/owner"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="templateParameter" ordered="false"
+        eType="#//TemplateParameter" eOpposite="#//TemplateParameter/parameteredElement">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The template parameter that exposes this element as a formal parameter."/>
+      </eAnnotations>
     </eStructuralFeatures>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="Element" abstract="true" eSuperTypes="platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EModelElement">
@@ -466,28 +472,9 @@
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       <details key="documentation" value="A stereotype defines how an existing metaclass may be extended, and enables the use of platform or domain specific terminology or notation in place of, or in addition to, the ones used for the extended metaclass."/>
     </eAnnotations>
-    <eOperations name="binaryAssociationsOnly" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="associationEndOwnership" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Stereotypes may only participate in binary associations.&#xA;ownedAttribute.association->forAll(memberEnd->size()=2)"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="generalize" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="A Stereotype may only generalize or specialize another Stereotype.&#xA;generalization.general->forAll(e |e.oclIsKindOf(Stereotype)) and generalization.specific->forAll(e | e.oclIsKindOf(Stereotype)) "/>
+        <details key="documentation" value="Where a stereotype’s property is an association end for an association other than a kind of extension, and the other end is not a stereotype, the other end must be owned by the association itself.&#xA;ownedAttribute&#xA;->select(association->notEmpty() and not association.oclIsKindOf(Extension) and not type.oclIsKindOf(Stereotype))&#xA;->forAll(opposite.owner = association)"/>
       </eAnnotations>
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
         <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -523,9 +510,28 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="associationEndOwnership" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="binaryAssociationsOnly" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Where a stereotype’s property is an association end for an association other than a kind of extension, and the other end is not a stereotype, the other end must be owned by the association itself.&#xA;ownedAttribute&#xA;->select(association->notEmpty() and not association.oclIsKindOf(Extension) and not type.oclIsKindOf(Stereotype))&#xA;->forAll(opposite.owner = association)"/>
+        <details key="documentation" value="Stereotypes may only participate in binary associations.&#xA;ownedAttribute.association->forAll(memberEnd->size()=2)"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="generalize" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="A Stereotype may only generalize or specialize another Stereotype.&#xA;generalization.general->forAll(e |e.oclIsKindOf(Stereotype)) and generalization.specific->forAll(e | e.oclIsKindOf(Stereotype)) "/>
       </eAnnotations>
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
         <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -641,7 +647,7 @@
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="Class" eSuperTypes="#//EncapsulatedClassifier #//BehavioredClassifier">
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="A class describes a set of objects that share the same specifications of features, constraints, and semantics.&#xA;A class has the capability to have an internal structure and ports.&#xA;Class has derived association that indicates how it may be extended through one or more stereotypes. Stereotype is the only kind of metaclass that cannot be extended by stereotypes.&#xA;A class may be designated as active (i.e., each of its instances having its own thread of control) or passive (i.e., each of its instances executing within the context of some other object). A class may also specify which signals the instances of this class handle."/>
+      <details key="documentation" value="A class may be designated as active (i.e., each of its instances having its own thread of control) or passive (i.e., each of its instances executing within the context of some other object). A class may also specify which signals the instances of this class handle.&#xA;A class describes a set of objects that share the same specifications of features, constraints, and semantics.&#xA;A class has the capability to have an internal structure and ports.&#xA;Class has derived association that indicates how it may be extended through one or more stereotypes. Stereotype is the only kind of metaclass that cannot be extended by stereotypes."/>
     </eAnnotations>
     <eAnnotations source="duplicates">
       <contents xsi:type="ecore:EOperation" name="inherit" ordered="false" upperBound="-1"
@@ -658,13 +664,13 @@
           <details key="documentation" value="The attributes (i.e. the properties) owned by the class."/>
         </eAnnotations>
         <eAnnotations source="redefines" references="#//StructuredClassifier/ownedAttribute"/>
-        <eAnnotations source="subsets" references="#//Classifier/attribute #//Namespace/ownedMember"/>
+        <eAnnotations source="subsets" references="#//Namespace/ownedMember #//Classifier/attribute"/>
       </contents>
       <contents xsi:type="ecore:EAttribute" name="isAbstract" ordered="false" lowerBound="1"
           eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean"
           defaultValueLiteral="false">
         <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="True when a class is abstract.&#xA;If true, the Classifier does not provide a complete declaration and can typically not be instantiated. An abstract classifier is intended to be used by other classifiers e.g. as the target of general metarelationships or generalization relationships."/>
+          <details key="documentation" value="If true, the Classifier does not provide a complete declaration and can typically not be instantiated. An abstract classifier is intended to be used by other classifiers e.g. as the target of general metarelationships or generalization relationships.&#xA;True when a class is abstract."/>
         </eAnnotations>
         <eAnnotations source="redefines" references="#//Classifier/isAbstract"/>
       </contents>
@@ -773,14 +779,34 @@
       <eAnnotations source="redefines" references="#//Classifier/general"/>
     </eStructuralFeatures>
   </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="BehavioredClassifier" abstract="true"
+  <eClassifiers xsi:type="ecore:EClass" name="EncapsulatedClassifier" abstract="true"
+      eSuperTypes="#//StructuredClassifier">
+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+      <details key="documentation" value="A classifier has the ability to own ports as specific and type checked interaction points."/>
+    </eAnnotations>
+    <eOperations name="getOwnedPorts" ordered="false" upperBound="-1" eType="#//Port">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Missing derivation for EncapsulatedClassifier::/ownedPort : Port&#xA;true"/>
+        <details key="suppressedVisibility" value="true"/>
+      </eAnnotations>
+    </eOperations>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedPort" ordered="false"
+        upperBound="-1" eType="#//Port" changeable="false" volatile="true" transient="true"
+        derived="true">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="References a set of ports that an encapsulated classifier owns."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//StructuredClassifier/ownedAttribute"/>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="StructuredClassifier" abstract="true"
       eSuperTypes="#//Classifier">
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="A behaviored classifier may have an interface realization.&#xA;A classifier can have behavior specifications defined in its namespace. One of these may specify the behavior of the classifier itself."/>
+      <details key="documentation" value="A structured classifier is an abstract metaclass that represents any classifier whose behavior can be fully or partly described by the collaboration of owned or referenced instances."/>
     </eAnnotations>
-    <eOperations name="class_behavior" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="multiplicities" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="If a behavior is classifier behavior, it does not have a specification.&#xA;self.classifierBehavior->notEmpty() implies self.classifierBehavior.specification->isEmpty()"/>
+        <details key="documentation" value="The multiplicities on connected elements must be consistent.&#xA;true"/>
       </eAnnotations>
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
         <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -797,42 +823,70 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="getAllImplementedInterfaces" ordered="false" upperBound="-1"
-        eType="#//Interface">
+    <eOperations name="createOwnedAttribute" ordered="false" lowerBound="1" eType="#//Property">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Retrieves all the interfaces on which this behaviored classifier or any of its parents has an interface realization dependency."/>
+        <details key="documentation" value="Creates a property with the specified name, type, lower bound, and upper bound as an owned attribute of this structured classifier."/>
+      </eAnnotations>
+      <eParameters name="name" ordered="false" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//String">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The name for the new attribute, or null."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="type" ordered="false" eType="#//Type">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The type for the new attribute, or null."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="lower" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Integer">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The lower bound for the new attribute."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="upper" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//UnlimitedNatural">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The upper bound for the new attribute."/>
+        </eAnnotations>
+      </eParameters>
+    </eOperations>
+    <eOperations name="getParts" ordered="false" upperBound="-1" eType="#//Property">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Missing derivation for StructuredClassifier::/part : Property&#xA;true"/>
+        <details key="suppressedVisibility" value="true"/>
       </eAnnotations>
     </eOperations>
-    <eOperations name="getImplementedInterfaces" ordered="false" upperBound="-1" eType="#//Interface">
+    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedAttribute" upperBound="-1"
+        eType="#//Property" containment="true">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Retrieves the interfaces on which this behaviored classifier has an interface realization dependency."/>
+        <details key="documentation" value="References the properties owned by the classifier."/>
       </eAnnotations>
-    </eOperations>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="classifierBehavior" ordered="false"
-        eType="#//Behavior">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="A behavior specification that specifies the behavior of the classifier itself."/>
-      </eAnnotations>
-      <eAnnotations source="subsets" references="#//BehavioredClassifier/ownedBehavior"/>
+      <eAnnotations source="subsets" references="#//Classifier/attribute #//Namespace/ownedMember #//StructuredClassifier/role"/>
     </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="interfaceRealization" ordered="false"
-        upperBound="-1" eType="#//InterfaceRealization" containment="true" eOpposite="#//InterfaceRealization/implementingClassifier">
+    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedConnector" ordered="false"
+        upperBound="-1" eType="#//Connector" containment="true">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The set of InterfaceRealizations owned by the BehavioredClassifier. Interface realizations reference the Interfaces of which the BehavioredClassifier is an implementation."/>
+        <details key="documentation" value="References the connectors owned by the classifier."/>
       </eAnnotations>
-      <eAnnotations source="subsets" references="#//Element/ownedElement #//NamedElement/clientDependency"/>
+      <eAnnotations source="subsets" references="#//Classifier/feature #//Namespace/ownedMember"/>
     </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedBehavior" ordered="false"
-        upperBound="-1" eType="#//Behavior" containment="true">
+    <eStructuralFeatures xsi:type="ecore:EReference" name="part" ordered="false" upperBound="-1"
+        eType="#//Property" changeable="false" volatile="true" transient="true" derived="true">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="References behavior specifications owned by a classifier."/>
+        <details key="documentation" value="References the properties specifying instances that the classifier owns by composition. This association is derived, selecting those owned properties where isComposite is true."/>
       </eAnnotations>
-      <eAnnotations source="subsets" references="#//Namespace/ownedMember"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="role" ordered="false" upperBound="-1"
+        eType="#//ConnectableElement" changeable="false" volatile="true" transient="true"
+        derived="true">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="References the roles that instances may play in this classifier."/>
+      </eAnnotations>
+      <eAnnotations source="union"/>
+      <eAnnotations source="subsets" references="#//Namespace/member"/>
     </eStructuralFeatures>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="Classifier" abstract="true" eSuperTypes="#//Namespace #//RedefinableElement #//Type #//TemplateableElement">
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="A classifier is a classification of instances - it describes a set of instances that have features in common. A classifier can specify a generalization hierarchy by referencing its general classifiers.&#xA;A classifier has the capability to own collaboration uses. These collaboration uses link a collaboration with the classifier to give a description of the workings of the classifier.&#xA;Classifier is defined to be a kind of templateable element so that a classifier can be parameterized. It is also defined to be a kind of parameterable element so that a classifier can be a formal template parameter.&#xA;A classifier has the capability to own use cases. Although the owning classifier typically represents the subject to which the owned use cases apply, this is not necessarily the case. In principle, the same use case can be applied to multiple subjects, as identified by the subject association role of a use case."/>
+      <details key="documentation" value="A classifier is a classification of instances - it describes a set of instances that have features in common. A classifier can specify a generalization hierarchy by referencing its general classifiers.&#xA;A classifier has the capability to own use cases. Although the owning classifier typically represents the subject to which the owned use cases apply, this is not necessarily the case. In principle, the same use case can be applied to multiple subjects, as identified by the subject association role of a use case.&#xA;Classifier is defined to be a kind of templateable element so that a classifier can be parameterized. It is also defined to be a kind of parameterable element so that a classifier can be a formal template parameter.&#xA;A classifier has the capability to own collaboration uses. These collaboration uses link a collaboration with the classifier to give a description of the workings of the classifier."/>
     </eAnnotations>
     <eAnnotations source="duplicates">
       <contents xsi:type="ecore:EOperation" name="isTemplate" ordered="false" lowerBound="1"
@@ -857,44 +911,6 @@
         <eAnnotations source="redefines" references="#//ParameterableElement/templateParameter"/>
       </contents>
     </eAnnotations>
-    <eOperations name="specialize_type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="A classifier may only specialize classifiers of a valid type.&#xA;self.parents()->forAll(c | self.maySpecializeType(c))"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="maps_to_generalization_set" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The Classifier that maps to a GeneralizationSet may neither be a specific nor a general Classifier in any of the Generalization relationships defined for that GeneralizationSet. In other words, a power type may not be an instance of itself nor may its instances also be its subclasses.&#xA;true"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
     <eOperations name="non_final_parents" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
         <details key="documentation" value="The parents of a classifier must be non-final.&#xA;self.parents()->forAll(not isFinalSpecialization)"/>
@@ -933,6 +949,44 @@
         </eGenericType>
       </eParameters>
     </eOperations>
+    <eOperations name="specialize_type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="A classifier may only specialize classifiers of a valid type.&#xA;self.parents()->forAll(c | self.maySpecializeType(c))"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="maps_to_generalization_set" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The Classifier that maps to a GeneralizationSet may neither be a specific nor a general Classifier in any of the Generalization relationships defined for that GeneralizationSet. In other words, a power type may not be an instance of itself nor may its instances also be its subclasses.&#xA;true"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
     <eOperations name="getAllAttributes" ordered="false" upperBound="-1" eType="#//Property">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
         <details key="documentation" value="Retrieves all the attributes of this classifier, including those inherited from its parents."/>
@@ -1034,7 +1088,7 @@
     </eOperations>
     <eOperations name="inherit" ordered="false" upperBound="-1" eType="#//NamedElement">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The query inherit() defines how to inherit a set of elements. Here the operation is defined to inherit them all. It is intended to be redefined in circumstances where inheritance is affected by redefinition.&#xA;The inherit operation is overridden to exclude redefined properties.&#xA;result = inhs"/>
+        <details key="documentation" value="The inherit operation is overridden to exclude redefined properties.&#xA;The query inherit() defines how to inherit a set of elements. Here the operation is defined to inherit them all. It is intended to be redefined in circumstances where inheritance is affected by redefinition.&#xA;result = inhs"/>
       </eAnnotations>
       <eParameters name="inhs" ordered="false" upperBound="-1" eType="#//NamedElement"/>
     </eOperations>
@@ -1233,7 +1287,7 @@
     </eOperations>
     <eOperations name="getNamesOfMember" ordered="false" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//String">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The query getNamesOfMember() takes importing into account. It gives back the set of names that an element would have in an importing namespace, either because it is owned, or if not owned then imported individually, or if not individually then from a package.&#xA;The query getNamesOfMember() gives a set of all of the names that a member would have in a Namespace. In general a member can have multiple names in a Namespace if it is imported more than once with different aliases. The query takes account of importing. It gives back the set of names that an element would have in an importing namespace, either because it is owned, or if not owned then imported individually, or if not individually then from a package.&#xA;result = if self.ownedMember ->includes(element)&#xA;then Set{}->include(element.name)&#xA;else let elementImports: ElementImport = self.elementImport->select(ei | ei.importedElement = element) in&#xA;  if elementImports->notEmpty()&#xA;  then elementImports->collect(el | el.getName())&#xA;  else self.packageImport->select(pi | pi.importedPackage.visibleMembers()->includes(element))-> collect(pi | pi.importedPackage.getNamesOfMember(element))&#xA;  endif&#xA;endif"/>
+        <details key="documentation" value="The query getNamesOfMember() gives a set of all of the names that a member would have in a Namespace. In general a member can have multiple names in a Namespace if it is imported more than once with different aliases. The query takes account of importing. It gives back the set of names that an element would have in an importing namespace, either because it is owned, or if not owned then imported individually, or if not individually then from a package.&#xA;The query getNamesOfMember() takes importing into account. It gives back the set of names that an element would have in an importing namespace, either because it is owned, or if not owned then imported individually, or if not individually then from a package.&#xA;result = if self.ownedMember ->includes(element)&#xA;then Set{}->include(element.name)&#xA;else let elementImports: ElementImport = self.elementImport->select(ei | ei.importedElement = element) in&#xA;  if elementImports->notEmpty()&#xA;  then elementImports->collect(el | el.getName())&#xA;  else self.packageImport->select(pi | pi.importedPackage.visibleMembers()->includes(element))-> collect(pi | pi.importedPackage.getNamesOfMember(element))&#xA;  endif&#xA;endif"/>
       </eAnnotations>
       <eParameters name="element" ordered="false" lowerBound="1" eType="#//NamedElement"/>
     </eOperations>
@@ -1311,25 +1365,6 @@
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       <details key="documentation" value="A named element supports using a string expression to specify its name. This allows names of model elements to involve template parameters. The actual name is evaluated from the string expression only when it is sensible to do so (e.g., when a template is bound).&#xA;A named element is an element in a model that may have a name."/>
     </eAnnotations>
-    <eOperations name="visibility_needs_ownership" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="If a NamedElement is not owned by a Namespace, it does not have a visibility.&#xA;namespace->isEmpty() implies visibility->isEmpty()"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
     <eOperations name="has_qualified_name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
         <details key="documentation" value="When there is a name, and all of the containing namespaces have a name, the qualified name is constructed from the names of the containing namespaces.&#xA;(self.name->notEmpty() and self.allNamespaces()->select(ns | ns.name->isEmpty())->isEmpty()) implies&#xA;  self.qualifiedName = self.allNamespaces()->iterate( ns : Namespace; result: String = self.name | ns.name->union(self.separator())->union(result))"/>
@@ -1368,6 +1403,25 @@
         </eGenericType>
       </eParameters>
     </eOperations>
+    <eOperations name="visibility_needs_ownership" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="If a NamedElement is not owned by a Namespace, it does not have a visibility.&#xA;namespace->isEmpty() implies visibility->isEmpty()"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
     <eOperations name="createDependency" ordered="false" lowerBound="1" eType="#//Dependency">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
         <details key="documentation" value="Creates a dependency between this named element and the specified supplier, owned by this named element's nearest package."/>
@@ -1491,9 +1545,9 @@
         <eAnnotations source="redefines" references="#//ValueSpecification/stringValue"/>
       </contents>
     </eAnnotations>
-    <eOperations name="operands" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="subexpressions" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="All the operands of a StringExpression must be LiteralStrings&#xA;operand->forAll (op | op.oclIsKindOf (LiteralString))"/>
+        <details key="documentation" value="If a StringExpression has sub-expressions, it cannot have operands and vice versa (this avoids the problem of having to define a collating sequence between operands and subexpressions).&#xA;if subExpression->notEmpty() then operand->isEmpty() else operand->notEmpty()"/>
       </eAnnotations>
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
         <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -1510,9 +1564,9 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="subexpressions" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="operands" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="If a StringExpression has sub-expressions, it cannot have operands and vice versa (this avoids the problem of having to define a collating sequence between operands and subexpressions).&#xA;if subExpression->notEmpty() then operand->isEmpty() else operand->notEmpty()"/>
+        <details key="documentation" value="All the operands of a StringExpression must be LiteralStrings&#xA;operand->forAll (op | op.oclIsKindOf (LiteralString))"/>
       </eAnnotations>
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
         <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -1544,285 +1598,9 @@
       <eAnnotations source="subsets" references="#//Element/ownedElement"/>
     </eStructuralFeatures>
   </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="TemplateableElement" abstract="true"
-      eSuperTypes="#//Element">
-    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="A templateable element is an element that can optionally be defined as a template and bound to other templates."/>
-    </eAnnotations>
-    <eOperations name="isTemplate" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The query isTemplate() returns whether this templateable element is actually a template.&#xA;result = ownedTemplateSignature->notEmpty()"/>
-      </eAnnotations>
-    </eOperations>
-    <eOperations name="parameterableElements" ordered="false" upperBound="-1" eType="#//ParameterableElement">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The query parameterableElements() returns the set of elements that may be used as the parametered elements for a template parameter of this templateable element. By default, this set includes all the owned elements. Subclasses may override this operation if they choose to restrict the set of parameterable elements.&#xA;result = allOwnedElements->select(oclIsKindOf(ParameterableElement))"/>
-      </eAnnotations>
-    </eOperations>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedTemplateSignature"
-        ordered="false" eType="#//TemplateSignature" containment="true" eOpposite="#//TemplateSignature/template">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The optional template signature specifying the formal template parameters."/>
-      </eAnnotations>
-      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="templateBinding" ordered="false"
-        upperBound="-1" eType="#//TemplateBinding" containment="true" eOpposite="#//TemplateBinding/boundElement">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The optional bindings from this element to templates."/>
-      </eAnnotations>
-      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
-    </eStructuralFeatures>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="TemplateSignature" eSuperTypes="#//Element">
-    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="A template signature bundles the set of formal template parameters for a templated element."/>
-    </eAnnotations>
-    <eOperations name="own_elements" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Parameters must own the elements they parameter or those elements must be owned by the element being templated.&#xA;templatedElement.ownedElement->includesAll(parameter.parameteredElement - parameter.ownedParameteredElement)"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedParameter" upperBound="-1"
-        eType="#//TemplateParameter" containment="true" eOpposite="#//TemplateParameter/signature">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The formal template parameters that are owned by this template signature."/>
-      </eAnnotations>
-      <eAnnotations source="subsets" references="#//Element/ownedElement #//TemplateSignature/parameter"/>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="parameter" lowerBound="1"
-        upperBound="-1" eType="#//TemplateParameter">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The ordered set of all formal template parameters for this template signature."/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="template" ordered="false"
-        lowerBound="1" eType="#//TemplateableElement" eOpposite="#//TemplateableElement/ownedTemplateSignature">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The element that owns this template signature."/>
-      </eAnnotations>
-      <eAnnotations source="subsets" references="#//Element/owner"/>
-    </eStructuralFeatures>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="TemplateParameter" eSuperTypes="#//Element">
-    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="A template parameter exposes a parameterable element as a formal template parameter of a template."/>
-    </eAnnotations>
-    <eOperations name="must_be_compatible" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The default must be compatible with the formal template parameter.&#xA;default->notEmpty() implies default->isCompatibleWith(parameteredElement)"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="default" ordered="false"
-        eType="#//ParameterableElement">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The element that is the default for this formal template parameter."/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedParameteredElement"
-        ordered="false" eType="#//ParameterableElement" containment="true" eOpposite="#//ParameterableElement/owningTemplateParameter">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The element that is owned by this template parameter."/>
-      </eAnnotations>
-      <eAnnotations source="subsets" references="#//Element/ownedElement #//TemplateParameter/parameteredElement"/>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="parameteredElement" ordered="false"
-        lowerBound="1" eType="#//ParameterableElement" eOpposite="#//ParameterableElement/templateParameter">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The element exposed by this template parameter."/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedDefault" ordered="false"
-        eType="#//ParameterableElement" containment="true">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The element that is owned by this template parameter for the purpose of providing a default."/>
-      </eAnnotations>
-      <eAnnotations source="subsets" references="#//Element/ownedElement #//TemplateParameter/default"/>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="signature" ordered="false"
-        lowerBound="1" eType="#//TemplateSignature" eOpposite="#//TemplateSignature/ownedParameter">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The template signature that owns this template parameter."/>
-      </eAnnotations>
-      <eAnnotations source="subsets" references="#//Element/owner"/>
-    </eStructuralFeatures>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="ParameterableElement" abstract="true"
-      eSuperTypes="#//Element">
-    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="A parameterable element is an element that can be exposed as a formal template parameter for a template, or specified as an actual parameter in a binding of a template."/>
-    </eAnnotations>
-    <eOperations name="isCompatibleWith" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The query isCompatibleWith() determines if this parameterable element is compatible with the specified parameterable element. By default parameterable element P is compatible with parameterable element Q if the kind of P is the same or a subtype as the kind of Q. Subclasses should override this operation to specify different compatibility constraints.&#xA;result = p->oclIsKindOf(self.oclType)"/>
-      </eAnnotations>
-      <eParameters name="p" ordered="false" lowerBound="1" eType="#//ParameterableElement"/>
-    </eOperations>
-    <eOperations name="isTemplateParameter" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The query isTemplateParameter() determines if this parameterable element is exposed as a formal template parameter.&#xA;result = templateParameter->notEmpty()"/>
-      </eAnnotations>
-    </eOperations>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="owningTemplateParameter"
-        ordered="false" eType="#//TemplateParameter" eOpposite="#//TemplateParameter/ownedParameteredElement">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The formal template parameter that owns this element."/>
-      </eAnnotations>
-      <eAnnotations source="subsets" references="#//ParameterableElement/templateParameter #//Element/owner"/>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="templateParameter" ordered="false"
-        eType="#//TemplateParameter" eOpposite="#//TemplateParameter/parameteredElement">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The template parameter that exposes this element as a formal parameter."/>
-      </eAnnotations>
-    </eStructuralFeatures>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="TemplateBinding" eSuperTypes="#//DirectedRelationship">
-    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="A template binding represents a relationship between a templateable element and a template. A template binding specifies the substitutions of actual parameters for the formal parameters of the template."/>
-    </eAnnotations>
-    <eOperations name="parameter_substitution_formal" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Each parameter substitution must refer to a formal template parameter of the target template signature.&#xA;parameterSubstitution->forAll(b | template.parameter->includes(b.formal))"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="one_parameter_substitution" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="A binding contains at most one parameter substitution for each formal template parameter of the target template signature.&#xA;template.parameter->forAll(p | parameterSubstitution->select(b | b.formal = p)->size() &lt;= 1)"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="parameterSubstitution"
-        ordered="false" upperBound="-1" eType="#//TemplateParameterSubstitution" containment="true"
-        eOpposite="#//TemplateParameterSubstitution/templateBinding">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The parameter substitutions owned by this template binding."/>
-      </eAnnotations>
-      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="signature" ordered="false"
-        lowerBound="1" eType="#//TemplateSignature">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The template signature for the template that is the target of the binding."/>
-      </eAnnotations>
-      <eAnnotations source="subsets" references="#//DirectedRelationship/target"/>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="boundElement" ordered="false"
-        lowerBound="1" eType="#//TemplateableElement" eOpposite="#//TemplateableElement/templateBinding">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The element that is bound by this binding."/>
-      </eAnnotations>
-      <eAnnotations source="subsets" references="#//DirectedRelationship/source #//Element/owner"/>
-    </eStructuralFeatures>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="TemplateParameterSubstitution" eSuperTypes="#//Element">
-    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="A template parameter substitution relates the actual parameter to a formal template parameter as part of a template binding."/>
-    </eAnnotations>
-    <eOperations name="must_be_compatible" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The actual parameter must be compatible with the formal template parameter, e.g. the actual parameter for a class template parameter must be a class.&#xA;actual->forAll(a | a.isCompatibleWith(formal.parameteredElement))"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="actual" ordered="false"
-        lowerBound="1" eType="#//ParameterableElement">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The element that is the actual parameter for this substitution."/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="formal" ordered="false"
-        lowerBound="1" eType="#//TemplateParameter">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The formal template parameter that is associated with this substitution."/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedActual" ordered="false"
-        eType="#//ParameterableElement" containment="true">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The actual parameter that is owned by this substitution."/>
-      </eAnnotations>
-      <eAnnotations source="subsets" references="#//Element/ownedElement #//TemplateParameterSubstitution/actual"/>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="templateBinding" ordered="false"
-        lowerBound="1" eType="#//TemplateBinding" eOpposite="#//TemplateBinding/parameterSubstitution">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The optional bindings from this element to templates."/>
-      </eAnnotations>
-      <eAnnotations source="subsets" references="#//Element/owner"/>
-    </eStructuralFeatures>
-  </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="Expression" eSuperTypes="#//ValueSpecification">
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="An expression represents a node in an expression tree, which may be non-terminal or terminal. It defines a symbol, and has a possibly empty sequence of operands which are value specifications.&#xA;An expression is a structured tree of symbols that denotes a (possibly empty) set of values when evaluated in a context."/>
+      <details key="documentation" value="An expression is a structured tree of symbols that denotes a (possibly empty) set of values when evaluated in a context.&#xA;An expression represents a node in an expression tree, which may be non-terminal or terminal. It defines a symbol, and has a possibly empty sequence of operands which are value specifications."/>
     </eAnnotations>
     <eStructuralFeatures xsi:type="ecore:EReference" name="operand" upperBound="-1"
         eType="#//ValueSpecification" containment="true">
@@ -1891,11 +1669,11 @@
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="TypedElement" abstract="true" eSuperTypes="#//NamedElement">
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="A typed element has a type.&#xA;A typed element is a kind of named element that represents an element with a type."/>
+      <details key="documentation" value="A typed element is a kind of named element that represents an element with a type.&#xA;A typed element has a type."/>
     </eAnnotations>
     <eStructuralFeatures xsi:type="ecore:EReference" name="type" ordered="false" eType="#//Type">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The type of the TypedElement.&#xA;This information is derived from the return result for this Operation."/>
+        <details key="documentation" value="This information is derived from the return result for this Operation.&#xA;The type of the TypedElement."/>
       </eAnnotations>
     </eStructuralFeatures>
   </eClassifiers>
@@ -1982,46 +1760,6 @@
       <eAnnotations source="subsets" references="#//NamedElement/namespace"/>
     </eStructuralFeatures>
   </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="PackageableElement" abstract="true"
-      eSuperTypes="#//NamedElement #//ParameterableElement">
-    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="A packageable element indicates a named element that may be owned directly by a package.&#xA;Packageable elements are able to serve as a template parameter."/>
-    </eAnnotations>
-    <eAnnotations source="duplicates">
-      <contents xsi:type="ecore:EAttribute" name="visibility" ordered="false" eType="#//VisibilityKind"
-          defaultValueLiteral="public">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="Indicates that packageable elements must always have a visibility, i.e., visibility is not optional."/>
-        </eAnnotations>
-        <eAnnotations source="redefines" references="#//NamedElement/visibility"/>
-      </contents>
-    </eAnnotations>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EEnum" name="VisibilityKind">
-    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="VisibilityKind is an enumeration type that defines literals to determine the visibility of elements in a model."/>
-    </eAnnotations>
-    <eLiterals name="public">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="A public element is visible to all elements that can access the contents of the namespace that owns it."/>
-      </eAnnotations>
-    </eLiterals>
-    <eLiterals name="private" value="1">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="A private element is only visible inside the namespace that owns it."/>
-      </eAnnotations>
-    </eLiterals>
-    <eLiterals name="protected" value="2">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="A protected element is visible to elements that have a generalization relationship to the namespace that owns it."/>
-      </eAnnotations>
-    </eLiterals>
-    <eLiterals name="package" value="3">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="A package element is owned by a namespace that is not a package, and is visible to elements that are in the same package as its owning namespace. Only named elements that are not owned by packages can be marked as having package visibility. Any element marked as having package visibility is visible to all elements within the nearest enclosing package (given that other owning elements have proper visibility). Outside the nearest enclosing package, an element marked as having package visibility is not visible."/>
-      </eAnnotations>
-    </eLiterals>
-  </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="Package" eSuperTypes="#//Namespace #//PackageableElement #//TemplateableElement">
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       <details key="documentation" value="A package can have one or more profile applications to indicate which profiles have been applied. Because a profile is a package, it is possible to apply a profile not only to packages, but also to profiles.&#xA;Package specializes TemplateableElement and PackageableElement specializes ParameterableElement to specify that a package can be used as a template and a PackageableElement as a template parameter.&#xA;A package is used to group elements, and provides a namespace for the grouped elements."/>
@@ -2227,7 +1965,7 @@
     </eOperations>
     <eOperations name="makesVisible" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The query makesVisible() defines whether a Package makes an element visible outside itself. Elements with no visibility and elements with public visibility are made visible.&#xA;self.member->includes(el)&#xA;result = (ownedMember->includes(el)) or&#xA;(elementImport->select(ei|ei.importedElement = #public)->collect(ei|ei.importedElement)->includes(el)) or&#xA;(packageImport->select(pi|pi.visibility = #public)->collect(pi|pi.importedPackage.member->includes(el))->notEmpty())"/>
+        <details key="documentation" value="The query makesVisible() defines whether a Package makes an element visible outside itself. Elements with no visibility and elements with public visibility are made visible.&#xA;result = (ownedMember->includes(el)) or&#xA;(elementImport->select(ei|ei.importedElement = #public)->collect(ei|ei.importedElement)->includes(el)) or&#xA;(packageImport->select(pi|pi.visibility = #public)->collect(pi|pi.importedPackage.member->includes(el))->notEmpty())&#xA;self.member->includes(el)"/>
       </eAnnotations>
       <eParameters name="el" ordered="false" lowerBound="1" eType="#//NamedElement"/>
     </eOperations>
@@ -2312,6 +2050,289 @@
       <eAnnotations source="subsets" references="#//Package/packagedElement"/>
     </eStructuralFeatures>
   </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="TemplateableElement" abstract="true"
+      eSuperTypes="#//Element">
+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+      <details key="documentation" value="A templateable element is an element that can optionally be defined as a template and bound to other templates."/>
+    </eAnnotations>
+    <eOperations name="isTemplate" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The query isTemplate() returns whether this templateable element is actually a template.&#xA;result = ownedTemplateSignature->notEmpty()"/>
+      </eAnnotations>
+    </eOperations>
+    <eOperations name="parameterableElements" ordered="false" upperBound="-1" eType="#//ParameterableElement">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The query parameterableElements() returns the set of elements that may be used as the parametered elements for a template parameter of this templateable element. By default, this set includes all the owned elements. Subclasses may override this operation if they choose to restrict the set of parameterable elements.&#xA;result = allOwnedElements->select(oclIsKindOf(ParameterableElement))"/>
+      </eAnnotations>
+    </eOperations>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedTemplateSignature"
+        ordered="false" eType="#//TemplateSignature" containment="true" eOpposite="#//TemplateSignature/template">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The optional template signature specifying the formal template parameters."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="templateBinding" ordered="false"
+        upperBound="-1" eType="#//TemplateBinding" containment="true" eOpposite="#//TemplateBinding/boundElement">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The optional bindings from this element to templates."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="TemplateSignature" eSuperTypes="#//Element">
+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+      <details key="documentation" value="A template signature bundles the set of formal template parameters for a templated element."/>
+    </eAnnotations>
+    <eOperations name="own_elements" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Parameters must own the elements they parameter or those elements must be owned by the element being templated.&#xA;templatedElement.ownedElement->includesAll(parameter.parameteredElement - parameter.ownedParameteredElement)"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedParameter" upperBound="-1"
+        eType="#//TemplateParameter" containment="true" eOpposite="#//TemplateParameter/signature">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The formal template parameters that are owned by this template signature."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//TemplateSignature/parameter #//Element/ownedElement"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="parameter" lowerBound="1"
+        upperBound="-1" eType="#//TemplateParameter">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The ordered set of all formal template parameters for this template signature."/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="template" ordered="false"
+        lowerBound="1" eType="#//TemplateableElement" eOpposite="#//TemplateableElement/ownedTemplateSignature">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The element that owns this template signature."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//Element/owner"/>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="TemplateParameter" eSuperTypes="#//Element">
+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+      <details key="documentation" value="A template parameter exposes a parameterable element as a formal template parameter of a template."/>
+    </eAnnotations>
+    <eOperations name="must_be_compatible" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The default must be compatible with the formal template parameter.&#xA;default->notEmpty() implies default->isCompatibleWith(parameteredElement)"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="default" ordered="false"
+        eType="#//ParameterableElement">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The element that is the default for this formal template parameter."/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedDefault" ordered="false"
+        eType="#//ParameterableElement" containment="true">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The element that is owned by this template parameter for the purpose of providing a default."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//Element/ownedElement #//TemplateParameter/default"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedParameteredElement"
+        ordered="false" eType="#//ParameterableElement" containment="true" eOpposite="#//ParameterableElement/owningTemplateParameter">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The element that is owned by this template parameter."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//TemplateParameter/parameteredElement #//Element/ownedElement"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="parameteredElement" ordered="false"
+        lowerBound="1" eType="#//ParameterableElement" eOpposite="#//ParameterableElement/templateParameter">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The element exposed by this template parameter."/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="signature" ordered="false"
+        lowerBound="1" eType="#//TemplateSignature" eOpposite="#//TemplateSignature/ownedParameter">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The template signature that owns this template parameter."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//Element/owner"/>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="TemplateBinding" eSuperTypes="#//DirectedRelationship">
+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+      <details key="documentation" value="A template binding represents a relationship between a templateable element and a template. A template binding specifies the substitutions of actual parameters for the formal parameters of the template."/>
+    </eAnnotations>
+    <eOperations name="parameter_substitution_formal" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Each parameter substitution must refer to a formal template parameter of the target template signature.&#xA;parameterSubstitution->forAll(b | template.parameter->includes(b.formal))"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="one_parameter_substitution" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="A binding contains at most one parameter substitution for each formal template parameter of the target template signature.&#xA;template.parameter->forAll(p | parameterSubstitution->select(b | b.formal = p)->size() &lt;= 1)"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="parameterSubstitution"
+        ordered="false" upperBound="-1" eType="#//TemplateParameterSubstitution" containment="true"
+        eOpposite="#//TemplateParameterSubstitution/templateBinding">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The parameter substitutions owned by this template binding."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="signature" ordered="false"
+        lowerBound="1" eType="#//TemplateSignature">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The template signature for the template that is the target of the binding."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//DirectedRelationship/target"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="boundElement" ordered="false"
+        lowerBound="1" eType="#//TemplateableElement" eOpposite="#//TemplateableElement/templateBinding">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The element that is bound by this binding."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//Element/owner #//DirectedRelationship/source"/>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="DirectedRelationship" abstract="true"
+      eSuperTypes="#//Relationship">
+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+      <details key="documentation" value="A directed relationship represents a relationship between a collection of source model elements and a collection of target model elements."/>
+    </eAnnotations>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="source" ordered="false"
+        lowerBound="1" upperBound="-1" eType="#//Element" changeable="false" volatile="true"
+        transient="true" derived="true">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Specifies the sources of the DirectedRelationship."/>
+      </eAnnotations>
+      <eAnnotations source="union"/>
+      <eAnnotations source="subsets" references="#//Relationship/relatedElement"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="target" ordered="false"
+        lowerBound="1" upperBound="-1" eType="#//Element" changeable="false" volatile="true"
+        transient="true" derived="true">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Specifies the targets of the DirectedRelationship."/>
+      </eAnnotations>
+      <eAnnotations source="union"/>
+      <eAnnotations source="subsets" references="#//Relationship/relatedElement"/>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="Relationship" abstract="true" eSuperTypes="#//Element">
+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+      <details key="documentation" value="Relationship is an abstract concept that specifies some kind of relationship between elements."/>
+    </eAnnotations>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="relatedElement" ordered="false"
+        lowerBound="1" upperBound="-1" eType="#//Element" changeable="false" volatile="true"
+        transient="true" derived="true">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Specifies the elements related by the Relationship."/>
+      </eAnnotations>
+      <eAnnotations source="union"/>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="TemplateParameterSubstitution" eSuperTypes="#//Element">
+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+      <details key="documentation" value="A template parameter substitution relates the actual parameter to a formal template parameter as part of a template binding."/>
+    </eAnnotations>
+    <eOperations name="must_be_compatible" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The actual parameter must be compatible with the formal template parameter, e.g. the actual parameter for a class template parameter must be a class.&#xA;actual->forAll(a | a.isCompatibleWith(formal.parameteredElement))"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="actual" ordered="false"
+        lowerBound="1" eType="#//ParameterableElement">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The element that is the actual parameter for this substitution."/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="formal" ordered="false"
+        lowerBound="1" eType="#//TemplateParameter">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The formal template parameter that is associated with this substitution."/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedActual" ordered="false"
+        eType="#//ParameterableElement" containment="true">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The actual parameter that is owned by this substitution."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//Element/ownedElement #//TemplateParameterSubstitution/actual"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="templateBinding" ordered="false"
+        lowerBound="1" eType="#//TemplateBinding" eOpposite="#//TemplateBinding/parameterSubstitution">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The optional bindings from this element to templates."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//Element/owner"/>
+    </eStructuralFeatures>
+  </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="PackageMerge" eSuperTypes="#//DirectedRelationship">
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       <details key="documentation" value="A package merge defines how the contents of one package are extended by the contents of another package."/>
@@ -2328,7 +2349,7 @@
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
         <details key="documentation" value="References the Package that is being extended with the contents of the merged package of the PackageMerge."/>
       </eAnnotations>
-      <eAnnotations source="subsets" references="#//DirectedRelationship/source #//Element/owner"/>
+      <eAnnotations source="subsets" references="#//Element/owner #//DirectedRelationship/source"/>
     </eStructuralFeatures>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="ProfileApplication" eSuperTypes="#//DirectedRelationship">
@@ -2369,7 +2390,7 @@
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
         <details key="documentation" value="The package that owns the profile application."/>
       </eAnnotations>
-      <eAnnotations source="subsets" references="#//DirectedRelationship/source #//Element/owner"/>
+      <eAnnotations source="subsets" references="#//Element/owner #//DirectedRelationship/source"/>
     </eStructuralFeatures>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="Profile" eSuperTypes="#//Package">
@@ -2516,9 +2537,9 @@
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       <details key="documentation" value="An element import identifies an element in another package, and allows the element to be referenced using its name without a qualifier."/>
     </eAnnotations>
-    <eOperations name="imported_element_is_public" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="visibility_public_or_private" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="An importedElement has either public visibility or no visibility at all.&#xA;self.importedElement.visibility.notEmpty() implies self.importedElement.visibility = #public"/>
+        <details key="documentation" value="The visibility of an ElementImport is either public or private.&#xA;self.visibility = #public or self.visibility = #private"/>
       </eAnnotations>
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
         <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -2535,9 +2556,9 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="visibility_public_or_private" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="imported_element_is_public" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The visibility of an ElementImport is either public or private.&#xA;self.visibility = #public or self.visibility = #private"/>
+        <details key="documentation" value="An importedElement has either public visibility or no visibility at all.&#xA;self.importedElement.visibility.notEmpty() implies self.importedElement.visibility = #public"/>
       </eAnnotations>
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
         <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -2577,7 +2598,7 @@
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
         <details key="documentation" value="Specifies the Namespace that imports a PackageableElement from another Package."/>
       </eAnnotations>
-      <eAnnotations source="subsets" references="#//DirectedRelationship/source #//Element/owner"/>
+      <eAnnotations source="subsets" references="#//Element/owner #//DirectedRelationship/source"/>
     </eStructuralFeatures>
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="visibility" ordered="false"
         lowerBound="1" eType="#//VisibilityKind" defaultValueLiteral="public">
@@ -2586,6 +2607,31 @@
       </eAnnotations>
     </eStructuralFeatures>
   </eClassifiers>
+  <eClassifiers xsi:type="ecore:EEnum" name="VisibilityKind">
+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+      <details key="documentation" value="VisibilityKind is an enumeration type that defines literals to determine the visibility of elements in a model."/>
+    </eAnnotations>
+    <eLiterals name="public">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="A public element is visible to all elements that can access the contents of the namespace that owns it."/>
+      </eAnnotations>
+    </eLiterals>
+    <eLiterals name="private" value="1">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="A private element is only visible inside the namespace that owns it."/>
+      </eAnnotations>
+    </eLiterals>
+    <eLiterals name="protected" value="2">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="A protected element is visible to elements that have a generalization relationship to the namespace that owns it."/>
+      </eAnnotations>
+    </eLiterals>
+    <eLiterals name="package" value="3">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="A package element is owned by a namespace that is not a package, and is visible to elements that are in the same package as its owning namespace. Only named elements that are not owned by packages can be marked as having package visibility. Any element marked as having package visibility is visible to all elements within the nearest enclosing package (given that other owning elements have proper visibility). Outside the nearest enclosing package, an element marked as having package visibility is not visible."/>
+      </eAnnotations>
+    </eLiterals>
+  </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="PackageImport" eSuperTypes="#//DirectedRelationship">
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       <details key="documentation" value="A package import is a relationship that allows the use of unqualified names to refer to package members from other namespaces."/>
@@ -2621,7 +2667,7 @@
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
         <details key="documentation" value="Specifies the Namespace that imports the members from a Package."/>
       </eAnnotations>
-      <eAnnotations source="subsets" references="#//DirectedRelationship/source #//Element/owner"/>
+      <eAnnotations source="subsets" references="#//Element/owner #//DirectedRelationship/source"/>
     </eStructuralFeatures>
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="visibility" ordered="false"
         lowerBound="1" eType="#//VisibilityKind" defaultValueLiteral="public">
@@ -2725,7 +2771,7 @@
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="Association" eSuperTypes="#//Classifier #//Relationship">
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="An association describes a set of tuples whose values refer to typed instances. An instance of an association is called a link. A link is a tuple with one value for each end of the association, where each value is an instance of the type of the end."/>
+      <details key="documentation" value="An association describes a set of tuples whose values refer to typed instances. An instance of an association is called a link.A link is a tuple with one value for each end of the association, where each value is an instance of the type of the end.&#xA;An association describes a set of tuples whose values refer to typed instances. An instance of an association is called a link. A link is a tuple with one value for each end of the association, where each value is an instance of the type of the end."/>
     </eAnnotations>
     <eOperations name="specialized_end_number" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -2746,9 +2792,9 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="specialized_end_types" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="association_ends" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="When an association specializes another association, every end of the specific association corresponds to an end of the general association, and the specific end reaches the same type or a subtype of the more general end.&#xA;Sequence{1..self.memberEnd->size()}->&#xA;&#x9;forAll(i | self.general->select(oclIsKindOf(Association)).oclAsType(Association)->&#xA;&#x9;&#x9;forAll(ga |self.memberEnd->at(i).type.conformsTo(ga.memberEnd->at(i).type)))"/>
+        <details key="documentation" value="Association ends of associations with more than two ends must be owned by the association.&#xA;if memberEnd->size() > 2 then ownedEnd->includesAll(memberEnd)"/>
       </eAnnotations>
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
         <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -2784,9 +2830,9 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="association_ends" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="specialized_end_types" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Association ends of associations with more than two ends must be owned by the association.&#xA;if memberEnd->size() > 2 then ownedEnd->includesAll(memberEnd)"/>
+        <details key="documentation" value="When an association specializes another association, every end of the specific association corresponds to an end of the general association, and the specific end reaches the same type or a subtype of the more general end.&#xA;Sequence{1..self.memberEnd->size()}->&#xA;&#x9;forAll(i | self.general->select(oclIsKindOf(Association)).oclAsType(Association)->&#xA;&#x9;&#x9;forAll(ga |self.memberEnd->at(i).type.conformsTo(ga.memberEnd->at(i).type)))"/>
       </eAnnotations>
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
         <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -2841,7 +2887,7 @@
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
         <details key="documentation" value="The ends that are owned by the association itself."/>
       </eAnnotations>
-      <eAnnotations source="subsets" references="#//Classifier/feature #//Association/memberEnd #//Namespace/ownedMember"/>
+      <eAnnotations source="subsets" references="#//Association/memberEnd #//Classifier/feature #//Namespace/ownedMember"/>
     </eStructuralFeatures>
     <eStructuralFeatures xsi:type="ecore:EReference" name="navigableOwnedEnd" ordered="false"
         upperBound="-1" eType="#//Property">
@@ -2853,7 +2899,7 @@
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="Property" eSuperTypes="#//StructuralFeature #//ConnectableElement #//DeploymentTarget">
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="Property represents a declared state of one or more instances in terms of a named relationship to a value or values. When a property is an attribute of a classifier, the value or values are related to the instance of the classifier by being held in slots of the instance. When a property is an association end, the value or values are related to the instance or instances at the other end(s) of the association. The range of valid values represented by the property can be controlled by setting the property's type.&#xA;A property has the capability of being a deployment target in a deployment relationship. This enables modeling the deployment to hierarchical nodes that have properties functioning as internal parts.&#xA;Property specializes ParameterableElement to specify that a property can be exposed as a formal template parameter, and provided as an actual parameter in a binding of a template.&#xA;A property represents a set of instances that are owned by a containing classifier instance.&#xA;A property is a structural feature of a classifier that characterizes instances of the classifier. A property related by ownedAttribute to a classifier (other than an association) represents an attribute and might also represent an association end. It relates an instance of the class to a value or set of values of the type of the attribute. A property related by memberEnd or its specializations to an association represents an end of the association. The type of the property is the type of the end of the association."/>
+      <details key="documentation" value="Property represents a declared state of one or more instances in terms of a named relationship to a value or values. When a property is an attribute of a classifier, the value or values are related to the instance of the classifier by being held in slots of the instance. When a property is an association end, the value or values are related to the instance or instances at the other end(s) of the association. The range of valid values represented by the property can be controlled by setting the property's type.&#xA;A property is a structural feature of a classifier that characterizes instances of the classifier. A property related by ownedAttribute to a classifier (other than an association) represents an attribute and might also represent an association end. It relates an instance of the class to a value or set of values of the type of the attribute. A property related by memberEnd or its specializations to an association represents an end of the association. The type of the property is the type of the end of the association.&#xA;A property has the capability of being a deployment target in a deployment relationship. This enables modeling the deployment to hierarchical nodes that have properties functioning as internal parts.&#xA;Property specializes ParameterableElement to specify that a property can be exposed as a formal template parameter, and provided as an actual parameter in a binding of a template.&#xA;A property represents a set of instances that are owned by a containing classifier instance."/>
     </eAnnotations>
     <eAnnotations source="duplicates">
       <contents xsi:type="ecore:EOperation" name="isCompatibleWith" ordered="false"
@@ -2867,7 +2913,7 @@
       <contents xsi:type="ecore:EOperation" name="isConsistentWith" ordered="false"
           lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean">
         <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The query isConsistentWith() specifies, for any two Properties in a context in which redefinition is possible, whether redefinition would be logically consistent. A redefining property is consistent with a redefined property if the type of the redefining property conforms to the type of the redefined property, and the multiplicity of the redefining property (if specified) is contained in the multiplicity of the redefined property.&#xA;redefinee.isRedefinitionContextValid(self)&#xA;result = redefinee.oclIsKindOf(Property) and &#xA;  let prop : Property = redefinee.oclAsType(Property) in &#xA;  (prop.type.conformsTo(self.type) and &#xA;  ((prop.lowerBound()->notEmpty() and self.lowerBound()->notEmpty()) implies prop.lowerBound() >= self.lowerBound()) and &#xA;  ((prop.upperBound()->notEmpty() and self.upperBound()->notEmpty()) implies prop.lowerBound() &lt;= self.lowerBound()) and &#xA;  (self.isComposite implies prop.isComposite))"/>
+          <details key="documentation" value="The query isConsistentWith() specifies, for any two Properties in a context in which redefinition is possible, whether redefinition would be logically consistent. A redefining property is consistent with a redefined property if the type of the redefining property conforms to the type of the redefined property, the multiplicity of the redefining property (if specified) is contained in the multiplicity of the redefined property.&#xA;The query isConsistentWith() specifies, for any two Properties in a context in which redefinition is possible, whether redefinition would be logically consistent. A redefining property is consistent with a redefined property if the type of the redefining property conforms to the type of the redefined property, and the multiplicity of the redefining property (if specified) is contained in the multiplicity of the redefined property.&#xA;redefinee.isRedefinitionContextValid(self)&#xA;result = redefinee.oclIsKindOf(Property) and &#xA;  let prop : Property = redefinee.oclAsType(Property) in &#xA;  (prop.type.conformsTo(self.type) and &#xA;  ((prop.lowerBound()->notEmpty() and self.lowerBound()->notEmpty()) implies prop.lowerBound() >= self.lowerBound()) and &#xA;  ((prop.upperBound()->notEmpty() and self.upperBound()->notEmpty()) implies prop.lowerBound() &lt;= self.lowerBound()) and &#xA;  (self.isComposite implies prop.isComposite))"/>
         </eAnnotations>
         <eAnnotations source="redefines" references="#//RedefinableElement/isConsistentWith"/>
         <eParameters name="redefinee" ordered="false" lowerBound="1" eType="#//RedefinableElement"/>
@@ -2876,71 +2922,14 @@
           eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean"
           defaultValueLiteral="false">
         <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="If isReadOnly is true, the attribute may not be written to after initialization.&#xA;If true, the attribute may only be read, and not written."/>
+          <details key="documentation" value="If true, the attribute may only be read, and not written.&#xA;If isReadOnly is true, the attribute may not be written to after initialization."/>
         </eAnnotations>
         <eAnnotations source="redefines" references="#//StructuralFeature/isReadOnly"/>
       </contents>
     </eAnnotations>
-    <eOperations name="subsetting_context_conforms" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="subsetted_property_names" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Subsetting may only occur when the context of the subsetting property conforms to the context of the subsetted property.&#xA;self.subsettedProperty->notEmpty() implies&#xA;  (self.subsettingContext()->notEmpty() and self.subsettingContext()->forAll (sc |&#xA;    self.subsettedProperty->forAll(sp |&#xA;      sp.subsettingContext()->exists(c | sc.conformsTo(c)))))"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="derived_union_is_read_only" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="A derived union is read only.&#xA;isDerivedUnion implies isReadOnly"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="multiplicity_of_composite" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="A multiplicity on an aggregate end of a composite aggregation must not have an upper bound greater than 1.&#xA;A multiplicity of a composite aggregation must not have an upper bound greater than 1.&#xA;isComposite implies (upperBound()->isEmpty() or upperBound() &lt;= 1)"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="redefined_property_inherited" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="A redefined property must be inherited from a more general classifier containing the redefining property.&#xA;if (redefinedProperty->notEmpty()) then&#xA;  (redefinitionContext->notEmpty() and&#xA;      redefinedProperty->forAll(rp|&#xA;        ((redefinitionContext->collect(fc|&#xA;          fc.allParents()))->asSet())->collect(c| c.allFeatures())->asSet()->includes(rp))"/>
+        <details key="documentation" value="A property may not subset a property with the same name.&#xA;true"/>
       </eAnnotations>
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
         <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -2976,6 +2965,25 @@
         </eGenericType>
       </eParameters>
     </eOperations>
+    <eOperations name="multiplicity_of_composite" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="A multiplicity on an aggregate end of a composite aggregation must not have an upper bound greater than 1.&#xA;A multiplicity of a composite aggregation must not have an upper bound greater than 1.&#xA;isComposite implies (upperBound()->isEmpty() or upperBound() &lt;= 1)"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
     <eOperations name="binding_to_attribute" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
         <details key="documentation" value="A binding of a property template parameter representing an attribute must be to an attribute.&#xA;(isAttribute(self) and (templateParameterSubstitution->notEmpty())&#xA;  implies (templateParameterSubstitution->forAll(ts | isAttribute(ts.formal)))"/>
@@ -2995,9 +3003,28 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="derived_union_is_derived" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="redefined_property_inherited" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="A derived union is derived.&#xA;isDerivedUnion implies isDerived"/>
+        <details key="documentation" value="A redefined property must be inherited from a more general classifier containing the redefining property.&#xA;if (redefinedProperty->notEmpty()) then&#xA;  (redefinitionContext->notEmpty() and&#xA;      redefinedProperty->forAll(rp|&#xA;        ((redefinitionContext->collect(fc|&#xA;          fc.allParents()))->asSet())->collect(c| c.allFeatures())->asSet()->includes(rp))"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="subsetting_context_conforms" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Subsetting may only occur when the context of the subsetting property conforms to the context of the subsetted property.&#xA;self.subsettedProperty->notEmpty() implies&#xA;  (self.subsettingContext()->notEmpty() and self.subsettingContext()->forAll (sc |&#xA;    self.subsettedProperty->forAll(sp |&#xA;      sp.subsettingContext()->exists(c | sc.conformsTo(c)))))"/>
       </eAnnotations>
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
         <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -3033,9 +3060,28 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="subsetted_property_names" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="derived_union_is_derived" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="A property may not subset a property with the same name.&#xA;true"/>
+        <details key="documentation" value="A derived union is derived.&#xA;isDerivedUnion implies isDerived"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="derived_union_is_read_only" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="A derived union is read only.&#xA;isDerivedUnion implies isReadOnly"/>
       </eAnnotations>
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
         <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -3183,13 +3229,6 @@
         <details key="documentation" value="The query subsettingContext() gives the context for subsetting a property. It consists, in the case of an attribute, of the corresponding classifier, and in the case of an association end, all of the classifiers at the other ends.&#xA;result = if association->notEmpty()&#xA;then association.endType-type&#xA;else if classifier->notEmpty() then Set{classifier} else Set{} endif&#xA;endif"/>
       </eAnnotations>
     </eOperations>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="datatype" ordered="false"
-        eType="#//DataType" eOpposite="#//DataType/ownedAttribute">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The DataType that owns this Property."/>
-      </eAnnotations>
-      <eAnnotations source="subsets" references="#//NamedElement/namespace #//Feature/featuringClassifier #//RedefinableElement/redefinitionContext"/>
-    </eStructuralFeatures>
     <eStructuralFeatures xsi:type="ecore:EReference" name="interface" ordered="false"
         eType="#//Interface" eOpposite="#//Interface/ownedAttribute">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -3197,6 +3236,13 @@
       </eAnnotations>
       <eAnnotations source="subsets" references="#//NamedElement/namespace #//Feature/featuringClassifier #//RedefinableElement/redefinitionContext"/>
     </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="datatype" ordered="false"
+        eType="#//DataType" eOpposite="#//DataType/ownedAttribute">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The DataType that owns this Property."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//NamedElement/namespace #//Feature/featuringClassifier #//RedefinableElement/redefinitionContext"/>
+    </eStructuralFeatures>
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="aggregation" ordered="false"
         lowerBound="1" eType="#//AggregationKind" defaultValueLiteral="none">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -3220,7 +3266,7 @@
     <eStructuralFeatures xsi:type="ecore:EReference" name="class" ordered="false"
         eType="#//Class" changeable="false" volatile="true" transient="true">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="References the Class that owns the Property."/>
+        <details key="documentation" value="References the Class that owns the Property.&#xA;References the Class that owns the Property."/>
       </eAnnotations>
       <eAnnotations source="subsets" references="#//NamedElement/namespace #//Feature/featuringClassifier #//RedefinableElement/redefinitionContext"/>
     </eStructuralFeatures>
@@ -3228,7 +3274,7 @@
         eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//String" volatile="true"
         transient="true" unsettable="true" derived="true">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="A String that is evaluated to give a default value for the Property when an object of the owning Classifier is instantiated.&#xA;Specifies a String that represents a value to be used when no argument is supplied for the Property."/>
+        <details key="documentation" value="Specifies a String that represents a value to be used when no argument is supplied for the Property.&#xA;A String that is evaluated to give a default value for the Property when an object of the owning Classifier is instantiated."/>
       </eAnnotations>
     </eStructuralFeatures>
     <eStructuralFeatures xsi:type="ecore:EReference" name="defaultValue" ordered="false"
@@ -3249,7 +3295,7 @@
         lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean"
         defaultValueLiteral="false">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Specifies whether the Property is derived, i.e., whether its value or values can be computed from other information.&#xA;If isDerived is true, the value of the attribute is derived from information elsewhere."/>
+        <details key="documentation" value="If isDerived is true, the value of the attribute is derived from information elsewhere.&#xA;Specifies whether the Property is derived, i.e., whether its value or values can be computed from other information."/>
       </eAnnotations>
     </eStructuralFeatures>
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="isDerivedUnion" ordered="false"
@@ -3277,7 +3323,7 @@
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
         <details key="documentation" value="References the owning association of this property, if any."/>
       </eAnnotations>
-      <eAnnotations source="subsets" references="#//Feature/featuringClassifier #//NamedElement/namespace #//Property/association #//RedefinableElement/redefinitionContext"/>
+      <eAnnotations source="subsets" references="#//Feature/featuringClassifier #//RedefinableElement/redefinitionContext #//NamedElement/namespace #//Property/association"/>
     </eStructuralFeatures>
     <eStructuralFeatures xsi:type="ecore:EReference" name="redefinedProperty" ordered="false"
         upperBound="-1" eType="#//Property">
@@ -3299,135 +3345,15 @@
       </eAnnotations>
     </eStructuralFeatures>
   </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="ConnectableElement" abstract="true"
-      eSuperTypes="#//TypedElement #//ParameterableElement">
+  <eClassifiers xsi:type="ecore:EClass" name="StructuralFeature" abstract="true" eSuperTypes="#//Feature #//TypedElement #//MultiplicityElement">
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="ConnectableElement is an abstract metaclass representing a set of instances that play roles of a classifier. Connectable elements may be joined by attached connectors and specify configurations of linked instances to be created within an instance of the containing classifier.&#xA;A connectable element may be exposed as a connectable element template parameter."/>
+      <details key="documentation" value="A structural feature is a typed feature of a classifier that specifies the structure of instances of the classifier.&#xA;By specializing multiplicity element, it supports a multiplicity that specifies valid cardinalities for the collection of values associated with an instantiation of the structural feature."/>
     </eAnnotations>
-    <eAnnotations source="duplicates">
-      <contents xsi:type="ecore:EReference" name="templateParameter" ordered="false"
-          eType="#//TemplateParameter" eOpposite="#//ConnectableElementTemplateParameter/%duplicates%/parameteredElement">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The ConnectableElementTemplateParameter for this ConnectableElement parameter."/>
-        </eAnnotations>
-        <eAnnotations source="redefines" references="#//ParameterableElement/templateParameter"/>
-      </contents>
-    </eAnnotations>
-    <eOperations name="getEnds" ordered="false" upperBound="-1" eType="#//ConnectorEnd">
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isReadOnly" ordered="false"
+        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean"
+        defaultValueLiteral="false">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Missing derivation for ConnectableElement::/end : ConnectorEnd&#xA;true"/>
-        <details key="suppressedVisibility" value="true"/>
-      </eAnnotations>
-    </eOperations>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="end" upperBound="-1" eType="#//ConnectorEnd"
-        changeable="false" volatile="true" transient="true" derived="true">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Denotes a set of connector ends that attaches to this connectable element."/>
-      </eAnnotations>
-    </eStructuralFeatures>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="ConnectorEnd" eSuperTypes="#//MultiplicityElement">
-    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="A connector end is an endpoint of a connector, which attaches the connector to a connectable element. Each connector end is part of one connector."/>
-    </eAnnotations>
-    <eOperations name="role_and_part_with_port" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="If a connector end references a partWithPort, then the role must be a port that is defined by the type of the partWithPort.&#xA;true"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="part_with_port_empty" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="If a connector end is attached to a port of the containing classifier, partWithPort will be empty.&#xA;true"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="multiplicity" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The multiplicity of the connector end may not be more general than the multiplicity of the association typing the owning connector.&#xA;true"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="self_part_with_port" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The property held in self.partWithPort must not be a Port.&#xA;true"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="getDefiningEnd" ordered="false" eType="#//Property">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Missing derivation for ConnectorEnd::/definingEnd : Property&#xA;true"/>
-        <details key="suppressedVisibility" value="true"/>
-      </eAnnotations>
-    </eOperations>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="definingEnd" ordered="false"
-        eType="#//Property" changeable="false" volatile="true" transient="true" derived="true">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="A derived association referencing the corresponding association end on the association which types the connector owing this connector end. This association is derived by selecting the association end at the same place in the ordering of association ends as this connector end."/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="partWithPort" ordered="false"
-        eType="#//Property">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Indicates the role of the internal structure of a classifier with the port to which the connector end is attached."/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="role" ordered="false" lowerBound="1"
-        eType="#//ConnectableElement">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The connectable element attached at this connector end. When an instance of the containing classifier is created, a link may (depending on the multiplicities) be created to an instance of the classifier that types this connectable element."/>
+        <details key="documentation" value="States whether the feature's value may be modified by a client."/>
       </eAnnotations>
     </eStructuralFeatures>
   </eClassifiers>
@@ -3436,25 +3362,6 @@
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       <details key="documentation" value="A multiplicity is a definition of an inclusive interval of non-negative integers beginning with a lower bound and ending with a (possibly infinite) upper bound. A multiplicity element embeds this information to specify the allowable cardinalities for an instantiation of this element."/>
     </eAnnotations>
-    <eOperations name="upper_ge_lower" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The upper bound must be greater than or equal to the lower bound.&#xA;(upperBound()->notEmpty() and lowerBound()->notEmpty()) implies upperBound() >= lowerBound()"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
     <eOperations name="lower_ge_0" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
         <details key="documentation" value="The lower bound must be a non-negative integer literal.&#xA;lowerBound()->notEmpty() implies lowerBound() >= 0"/>
@@ -3474,9 +3381,9 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="value_specification_no_side_effects" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="upper_ge_lower" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="If a non-literal ValueSpecification is used for the lower or upper bound, then evaluating that specification must not have side effects.&#xA;true"/>
+        <details key="documentation" value="The upper bound must be greater than or equal to the lower bound.&#xA;(upperBound()->notEmpty() and lowerBound()->notEmpty()) implies upperBound() >= lowerBound()"/>
       </eAnnotations>
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
         <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -3512,6 +3419,25 @@
         </eGenericType>
       </eParameters>
     </eOperations>
+    <eOperations name="value_specification_no_side_effects" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="If a non-literal ValueSpecification is used for the lower or upper bound, then evaluating that specification must not have side effects.&#xA;true"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
     <eOperations name="setLower" ordered="false" lowerBound="1">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
         <details key="suppressedVisibility" value="true"/>
@@ -3538,7 +3464,7 @@
     </eOperations>
     <eOperations name="includesMultiplicity" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The query includesMultiplicity() checks whether this multiplicity includes all the cardinalities allowed by the specified multiplicity.&#xA;self.upperBound()->notEmpty() and self.lowerBound()->notEmpty() and M.upperBound()->notEmpty() and M.lowerBound()->notEmpty()&#xA;result = (self.lowerBound() &lt;= M.lowerBound()) and (self.upperBound() >= M.upperBound())"/>
+        <details key="documentation" value="The query includesMultiplicity() checks whether this multiplicity includes all the cardinalities allowed by the specified multiplicity.&#xA;result = (self.lowerBound() &lt;= M.lowerBound()) and (self.upperBound() >= M.upperBound())&#xA;self.upperBound()->notEmpty() and self.lowerBound()->notEmpty() and M.upperBound()->notEmpty() and M.lowerBound()->notEmpty()"/>
       </eAnnotations>
       <eParameters name="M" ordered="false" lowerBound="1" eType="#//MultiplicityElement"/>
     </eOperations>
@@ -3551,7 +3477,7 @@
     </eOperations>
     <eOperations name="isMultivalued" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The query isMultivalued() checks whether this multiplicity has an upper bound greater than one.&#xA;upperBound()->notEmpty()&#xA;result = upperBound() > 1"/>
+        <details key="documentation" value="The query isMultivalued() checks whether this multiplicity has an upper bound greater than one.&#xA;result = upperBound() > 1&#xA;upperBound()->notEmpty()"/>
       </eAnnotations>
     </eOperations>
     <eOperations name="getLower" ordered="false" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Integer">
@@ -3619,531 +3545,6 @@
       <eAnnotations source="subsets" references="#//Element/ownedElement"/>
     </eStructuralFeatures>
   </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="ConnectableElementTemplateParameter"
-      eSuperTypes="#//TemplateParameter">
-    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="A connectable element template parameter exposes a connectable element as a formal parameter for a template."/>
-    </eAnnotations>
-    <eAnnotations source="duplicates">
-      <contents xsi:type="ecore:EReference" name="parameteredElement" ordered="false"
-          lowerBound="1" eType="#//ParameterableElement" eOpposite="#//ConnectableElement/%duplicates%/templateParameter">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The ConnectableElement for this template parameter."/>
-        </eAnnotations>
-        <eAnnotations source="redefines" references="#//TemplateParameter/parameteredElement"/>
-      </contents>
-    </eAnnotations>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="DeploymentTarget" abstract="true" eSuperTypes="#//NamedElement">
-    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="A deployment target is the location for a deployed artifact."/>
-    </eAnnotations>
-    <eOperations name="getDeployedElements" ordered="false" upperBound="-1" eType="#//PackageableElement">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Missing derivation for DeploymentTarget::/deployedElement : PackageableElement&#xA;result = ((self.deployment->collect(deployedArtifact))->collect(manifestation))->collect(utilizedElement)"/>
-        <details key="suppressedVisibility" value="true"/>
-      </eAnnotations>
-    </eOperations>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="deployedElement" ordered="false"
-        upperBound="-1" eType="#//PackageableElement" changeable="false" volatile="true"
-        transient="true" derived="true">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The set of elements that are manifested in an Artifact that is involved in Deployment to a DeploymentTarget."/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="deployment" ordered="false"
-        upperBound="-1" eType="#//Deployment" containment="true" eOpposite="#//Deployment/location">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The set of Deployments for a DeploymentTarget."/>
-      </eAnnotations>
-      <eAnnotations source="subsets" references="#//Element/ownedElement #//NamedElement/clientDependency"/>
-    </eStructuralFeatures>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="Deployment" eSuperTypes="#//Dependency">
-    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="A deployment is the allocation of an artifact or artifact instance to a deployment target.&#xA;A component deployment is the deployment of one or more artifacts or artifact instances to a deployment target, optionally parameterized by a deployment specification. Examples are executables and configuration files."/>
-    </eAnnotations>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="configuration" ordered="false"
-        upperBound="-1" eType="#//DeploymentSpecification" containment="true" eOpposite="#//DeploymentSpecification/deployment">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The specification of properties that parameterize the deployment and execution of one or more Artifacts."/>
-      </eAnnotations>
-      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="deployedArtifact" ordered="false"
-        upperBound="-1" eType="#//DeployedArtifact">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The Artifacts that are deployed onto a Node. This association specializes the supplier association."/>
-      </eAnnotations>
-      <eAnnotations source="subsets" references="#//Dependency/supplier"/>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="location" ordered="false"
-        lowerBound="1" eType="#//DeploymentTarget" eOpposite="#//DeploymentTarget/deployment">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The DeployedTarget which is the target of a Deployment."/>
-      </eAnnotations>
-      <eAnnotations source="subsets" references="#//Dependency/client #//Element/owner"/>
-    </eStructuralFeatures>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="DeploymentSpecification" eSuperTypes="#//Artifact">
-    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="A deployment specification specifies a set of properties that determine execution parameters of a component artifact that is deployed on a node. A deployment specification can be aimed at a specific type of container. An artifact that reifies or implements deployment specification properties is a deployment descriptor."/>
-    </eAnnotations>
-    <eOperations name="deployment_target" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The DeploymentTarget of a DeploymentSpecification is a kind of ExecutionEnvironment.&#xA;self.deployment->forAll (d | d.location.oclIsKindOf(ExecutionEnvironment))"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="deployed_elements" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The deployedElements of a DeploymentTarget that are involved in a Deployment that has an associated Deployment-Specification is a kind of Component (i.e. the configured components).&#xA;self.deployment->forAll (d | d.location.deployedElements->forAll (de |&#xA;  de.oclIsKindOf(Component)))"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="deploymentLocation" ordered="false"
-        eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//String" unsettable="true">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The location where an Artifact is deployed onto a Node. This is typically a 'directory' or 'memory address'."/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="executionLocation" ordered="false"
-        eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//String" unsettable="true">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The location where a component Artifact executes. This may be a local or remote location."/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="deployment" ordered="false"
-        eType="#//Deployment" eOpposite="#//Deployment/configuration">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The deployment with which the DeploymentSpecification is associated."/>
-      </eAnnotations>
-      <eAnnotations source="subsets" references="#//Element/owner"/>
-    </eStructuralFeatures>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="Artifact" eSuperTypes="#//Classifier #//DeployedArtifact">
-    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="An artifact is the specification of a physical piece of information that is used or produced by a software development process, or by deployment and operation of a system. Examples of artifacts include model files, source files, scripts, and binary executable files, a table in a database system, a development deliverable, or a word-processing document, a mail message.&#xA;An artifact is the source of a deployment to a node."/>
-    </eAnnotations>
-    <eOperations name="createOwnedAttribute" ordered="false" lowerBound="1" eType="#//Property">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Creates a property with the specified name, type, lower bound, and upper bound as an owned attribute of this artifact."/>
-      </eAnnotations>
-      <eParameters name="name" ordered="false" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//String">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The name for the new attribute, or null."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="type" ordered="false" eType="#//Type">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The type for the new attribute, or null."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="lower" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Integer">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The lower bound for the new attribute."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="upper" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//UnlimitedNatural">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The upper bound for the new attribute."/>
-        </eAnnotations>
-      </eParameters>
-    </eOperations>
-    <eOperations name="createOwnedOperation" ordered="false" lowerBound="1" eType="#//Operation">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Creates an operation with the specified name, parameter names, parameter types, and return type (or null) as an owned operation of this artifact."/>
-      </eAnnotations>
-      <eParameters name="name" ordered="false" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//String">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The name for the new operation, or null."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="parameterNames" ordered="false" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//String">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The parameter names for  the new operation, or null."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="parameterTypes" ordered="false" upperBound="-1" eType="#//Type">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The parameter types for the new operation, or null."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="returnType" ordered="false" eType="#//Type">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The return type for the new operation, or null."/>
-        </eAnnotations>
-      </eParameters>
-    </eOperations>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="fileName" ordered="false"
-        eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//String" unsettable="true">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="A concrete name that is used to refer to the Artifact in a physical context. Example: file system name, universal resource locator."/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="manifestation" ordered="false"
-        upperBound="-1" eType="#//Manifestation" containment="true">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The set of model elements that are manifested in the Artifact. That is, these model elements are utilized in the construction (or generation) of the artifact."/>
-      </eAnnotations>
-      <eAnnotations source="subsets" references="#//Element/ownedElement #//NamedElement/clientDependency"/>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="nestedArtifact" ordered="false"
-        upperBound="-1" eType="#//Artifact" containment="true">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The Artifacts that are defined (nested) within the Artifact. The association is a specialization of the ownedMember association from Namespace to NamedElement."/>
-      </eAnnotations>
-      <eAnnotations source="subsets" references="#//Namespace/ownedMember"/>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedAttribute" upperBound="-1"
-        eType="#//Property" containment="true">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The attributes or association ends defined for the Artifact. The association is a specialization of the ownedMember association."/>
-      </eAnnotations>
-      <eAnnotations source="subsets" references="#//Classifier/attribute #//Namespace/ownedMember"/>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedOperation" upperBound="-1"
-        eType="#//Operation" containment="true">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The Operations defined for the Artifact. The association is a specialization of the ownedMember association."/>
-      </eAnnotations>
-      <eAnnotations source="subsets" references="#//Classifier/feature #//Namespace/ownedMember"/>
-    </eStructuralFeatures>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="DeployedArtifact" abstract="true" eSuperTypes="#//NamedElement">
-    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="A deployed artifact is an artifact or artifact instance that has been deployed to a deployment target."/>
-    </eAnnotations>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="Manifestation" eSuperTypes="#//Abstraction">
-    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="A manifestation is the concrete physical rendering of one or more model elements by an artifact."/>
-    </eAnnotations>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="utilizedElement" ordered="false"
-        lowerBound="1" eType="#//PackageableElement">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The model element that is utilized in the manifestation in an Artifact."/>
-      </eAnnotations>
-      <eAnnotations source="subsets" references="#//Dependency/supplier"/>
-    </eStructuralFeatures>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="Operation" eSuperTypes="#//BehavioralFeature #//ParameterableElement #//TemplateableElement">
-    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="Operation specializes TemplateableElement in order to support specification of template operations and bound operations. Operation specializes ParameterableElement to specify that an operation can be exposed as a formal template parameter, and provided as an actual parameter in a binding of a template.&#xA;An operation may invoke both the execution of method behaviors as well as other behavioral responses.&#xA;An operation is a behavioral feature of a classifier that specifies the name, type, parameters, and constraints for invoking an associated behavior."/>
-    </eAnnotations>
-    <eAnnotations source="duplicates">
-      <contents xsi:type="ecore:EOperation" name="isConsistentWith" ordered="false"
-          lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="A redefining operation is consistent with a redefined operation if it has the same number of owned parameters, and the type of each owned parameter conforms to the type of the corresponding redefined parameter.&#xA;The query isConsistentWith() specifies, for any two Operations in a context in which redefinition is possible, whether redefinition would be consistent in the sense of maintaining type covariance. Other senses of consistency may be required, for example to determine consistency in the sense of contravariance. Users may define alternative queries under names different from 'isConsistentWith()', as for example, users may define a query named 'isContravariantWith()'.&#xA;result = redefinee.oclIsKindOf(Operation) and&#xA;let op : Operation = redefinee.oclAsType(Operation) in&#xA;&#x9;self.ownedParameter->size() = op.ownedParameter->size() and&#xA;&#x9;Sequence{1..self.ownedParameter->size()}->&#xA;&#x9;&#x9;forAll(i |op.ownedParameter->at(1).type.conformsTo(self.ownedParameter->at(i).type))&#xA;redefinee.isRedefinitionContextValid(self)"/>
-        </eAnnotations>
-        <eAnnotations source="redefines" references="#//RedefinableElement/isConsistentWith"/>
-        <eParameters name="redefinee" ordered="false" lowerBound="1" eType="#//RedefinableElement"/>
-      </contents>
-      <contents xsi:type="ecore:EReference" name="ownedParameter" upperBound="-1"
-          eType="#//Parameter" containment="true" eOpposite="#//Parameter/operation">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="Specifies the ordered set of formal parameters of this BehavioralFeature.&#xA;Specifies the parameters owned by this Operation."/>
-        </eAnnotations>
-        <eAnnotations source="redefines" references="#//BehavioralFeature/ownedParameter"/>
-      </contents>
-      <contents xsi:type="ecore:EReference" name="raisedException" ordered="false"
-          upperBound="-1" eType="#//Type">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="References the Types representing exceptions that may be raised during an invocation of this operation."/>
-        </eAnnotations>
-        <eAnnotations source="redefines" references="#//BehavioralFeature/raisedException"/>
-      </contents>
-      <contents xsi:type="ecore:EReference" name="templateParameter" ordered="false"
-          eType="#//TemplateParameter" eOpposite="#//OperationTemplateParameter/%duplicates%/parameteredElement">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The template parameter that exposes this element as a formal parameter."/>
-        </eAnnotations>
-        <eAnnotations source="redefines" references="#//ParameterableElement/templateParameter"/>
-      </contents>
-    </eAnnotations>
-    <eOperations name="at_most_one_return" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="An operation can have at most one return parameter; i.e., an owned parameter with the direction set to 'return'&#xA;self.ownedParameter->select(par | par.direction = #return)->size() &lt;= 1"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="only_body_for_query" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="A bodyCondition can only be specified for a query operation.&#xA;bodyCondition->notEmpty() implies isQuery"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="getReturnResult" ordered="false" eType="#//Parameter">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Retrieves the (only) return result parameter for this operation."/>
-      </eAnnotations>
-    </eOperations>
-    <eOperations name="setIsOrdered" ordered="false" lowerBound="1">
-      <eParameters name="newIsOrdered" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean"/>
-    </eOperations>
-    <eOperations name="setIsUnique" ordered="false" lowerBound="1">
-      <eParameters name="newIsUnique" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean"/>
-    </eOperations>
-    <eOperations name="setLower" ordered="false" lowerBound="1">
-      <eParameters name="newLower" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Integer"/>
-    </eOperations>
-    <eOperations name="setType" ordered="false" lowerBound="1">
-      <eParameters name="newType" ordered="false" lowerBound="1" eType="#//Type"/>
-    </eOperations>
-    <eOperations name="setUpper" ordered="false" lowerBound="1">
-      <eParameters name="newUpper" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//UnlimitedNatural"/>
-    </eOperations>
-    <eOperations name="isOrdered" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="If this operation has a return parameter, isOrdered equals the value of isOrdered for that parameter. Otherwise isOrdered is false.&#xA;result = if returnResult()->notEmpty() then returnResult()->any().isOrdered else false endif"/>
-      </eAnnotations>
-    </eOperations>
-    <eOperations name="isUnique" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="If this operation has a return parameter, isUnique equals the value of isUnique for that parameter. Otherwise isUnique is true.&#xA;result = if returnResult()->notEmpty() then returnResult()->any().isUnique else true endif"/>
-      </eAnnotations>
-    </eOperations>
-    <eOperations name="getLower" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Integer">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="If this operation has a return parameter, lower equals the value of lower for that parameter. Otherwise lower is not defined.&#xA;result = if returnResult()->notEmpty() then returnResult()->any().lower else Set{} endif"/>
-        <details key="suppressedVisibility" value="true"/>
-      </eAnnotations>
-    </eOperations>
-    <eOperations name="returnResult" ordered="false" upperBound="-1" eType="#//Parameter">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The query returnResult() returns the set containing the return parameter of the Operation if one exists, otherwise, it returns an empty set&#xA;result = ownedParameter->select (par | par.direction = #return)"/>
-      </eAnnotations>
-    </eOperations>
-    <eOperations name="getType" ordered="false" lowerBound="1" eType="#//Type">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="If this operation has a return parameter, type equals the value of type for that parameter. Otherwise type is not defined.&#xA;result = if returnResult()->notEmpty() then returnResult()->any().type else Set{} endif"/>
-        <details key="suppressedVisibility" value="true"/>
-      </eAnnotations>
-    </eOperations>
-    <eOperations name="getUpper" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//UnlimitedNatural">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="If this operation has a return parameter, upper equals the value of upper for that parameter. Otherwise upper is not defined.&#xA;result = if returnResult()->notEmpty() then returnResult()->any().upper else Set{} endif"/>
-        <details key="suppressedVisibility" value="true"/>
-      </eAnnotations>
-    </eOperations>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="bodyCondition" ordered="false"
-        eType="#//Constraint">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="An optional Constraint on the result values of an invocation of this Operation."/>
-      </eAnnotations>
-      <eAnnotations source="subsets" references="#//Namespace/ownedRule"/>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="class" ordered="false"
-        eType="#//Class" eOpposite="#//Class/ownedOperation">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The class that owns the operation."/>
-      </eAnnotations>
-      <eAnnotations source="subsets" references="#//Feature/featuringClassifier #//NamedElement/namespace #//RedefinableElement/redefinitionContext"/>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="datatype" ordered="false"
-        eType="#//DataType" eOpposite="#//DataType/ownedOperation">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The DataType that owns this Operation."/>
-      </eAnnotations>
-      <eAnnotations source="subsets" references="#//Feature/featuringClassifier #//NamedElement/namespace #//RedefinableElement/redefinitionContext"/>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="interface" ordered="false"
-        eType="#//Interface" eOpposite="#//Interface/ownedOperation">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The Interface that owns this Operation."/>
-      </eAnnotations>
-      <eAnnotations source="subsets" references="#//Feature/featuringClassifier #//NamedElement/namespace #//RedefinableElement/redefinitionContext"/>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isOrdered" ordered="false"
-        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean"
-        changeable="false" volatile="true" transient="true" defaultValueLiteral="false"
-        derived="true">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="This information is derived from the return result for this Operation.&#xA;Specifies whether the return parameter is ordered or not, if present."/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isQuery" ordered="false"
-        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean"
-        defaultValueLiteral="false">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Specifies whether an execution of the BehavioralFeature leaves the state of the system unchanged (isQuery=true) or whether side effects may occur (isQuery=false)."/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isUnique" ordered="false"
-        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean"
-        changeable="false" volatile="true" transient="true" defaultValueLiteral="true"
-        derived="true">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="This information is derived from the return result for this Operation.&#xA;Specifies whether the return parameter is unique or not, if present."/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="lower" ordered="false"
-        eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Integer"
-        changeable="false" volatile="true" transient="true" defaultValueLiteral="1"
-        derived="true">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Specifies the lower multiplicity of the return parameter, if present.&#xA;This information is derived from the return result for this Operation."/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="postcondition" ordered="false"
-        upperBound="-1" eType="#//Constraint">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="An optional set of Constraints specifying the state of the system when the Operation is completed."/>
-      </eAnnotations>
-      <eAnnotations source="subsets" references="#//Namespace/ownedRule"/>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="precondition" ordered="false"
-        upperBound="-1" eType="#//Constraint">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="An optional set of Constraints on the state of the system when the Operation is invoked."/>
-      </eAnnotations>
-      <eAnnotations source="subsets" references="#//Namespace/ownedRule"/>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="redefinedOperation" ordered="false"
-        upperBound="-1" eType="#//Operation">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="References the Operations that are redefined by this Operation."/>
-      </eAnnotations>
-      <eAnnotations source="subsets" references="#//RedefinableElement/redefinedElement"/>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="type" ordered="false" eType="#//Type"
-        changeable="false" volatile="true" transient="true" derived="true">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="This information is derived from the return result for this Operation.&#xA;Specifies the return result of the operation, if present."/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="upper" ordered="false"
-        eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//UnlimitedNatural"
-        changeable="false" volatile="true" transient="true" defaultValueLiteral="1"
-        derived="true">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Specifies the upper multiplicity of the return parameter, if present.&#xA;This information is derived from the return result for this Operation."/>
-      </eAnnotations>
-    </eStructuralFeatures>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="BehavioralFeature" abstract="true" eSuperTypes="#//Namespace #//Feature">
-    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="A behavioral feature is a feature of a classifier that specifies an aspect of the behavior of its instances.&#xA;A behavioral feature owns zero or more parameter sets.&#xA;A behavioral feature is implemented (realized) by a behavior. A behavioral feature specifies that a classifier will respond to a designated request by invoking its implementing method."/>
-    </eAnnotations>
-    <eAnnotations source="duplicates">
-      <contents xsi:type="ecore:EOperation" name="isDistinguishableFrom" ordered="false"
-          lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The query isDistinguishableFrom() determines whether two BehavioralFeatures may coexist in the same Namespace. It specifies that they have to have different signatures.&#xA;result = if n.oclIsKindOf(BehavioralFeature)&#xA;then&#xA;  if ns.getNamesOfMember(self)->intersection(ns.getNamesOfMember(n))->notEmpty()&#xA;  then Set{}->including(self)->including(n)->isUnique(bf | bf.ownedParameter->collect(type))&#xA;  else true&#xA;  endif&#xA;else true&#xA;endif"/>
-        </eAnnotations>
-        <eAnnotations source="redefines" references="#//NamedElement/isDistinguishableFrom"/>
-        <eParameters name="n" ordered="false" lowerBound="1" eType="#//NamedElement"/>
-        <eParameters name="ns" ordered="false" lowerBound="1" eType="#//Namespace"/>
-      </contents>
-    </eAnnotations>
-    <eOperations name="createReturnResult" ordered="false" lowerBound="1" eType="#//Parameter">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Creates a return result parameter with the specified name and type."/>
-      </eAnnotations>
-      <eParameters name="name" ordered="false" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//String">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The name for the new return result, or null."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="type" ordered="false" eType="#//Type">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The type for the new return result, or null."/>
-        </eAnnotations>
-      </eParameters>
-    </eOperations>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="concurrency" ordered="false"
-        lowerBound="1" eType="#//CallConcurrencyKind" defaultValueLiteral="sequential">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Specifies the semantics of concurrent calls to the same passive instance (i.e., an instance originating from a class with isActive being false). Active instances control access to their own behavioral features."/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isAbstract" ordered="false"
-        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean"
-        defaultValueLiteral="false">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="If true, then the behavioral feature does not have an implementation, and one must be supplied by a more specific element. If false, the behavioral feature must have an implementation in the classifier or one must be inherited from a more general element."/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="method" ordered="false"
-        upperBound="-1" eType="#//Behavior" eOpposite="#//Behavior/specification">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="A behavioral description that implements the behavioral feature. There may be at most one behavior for a particular pairing of a classifier (as owner of the behavior) and a behavioral feature (as specification of the behavior)."/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedParameter" upperBound="-1"
-        eType="#//Parameter" containment="true">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Specifies the ordered set of formal parameters of this BehavioralFeature."/>
-      </eAnnotations>
-      <eAnnotations source="subsets" references="#//Namespace/ownedMember"/>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedParameterSet" ordered="false"
-        upperBound="-1" eType="#//ParameterSet" containment="true">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The ParameterSets owned by this BehavioralFeature."/>
-      </eAnnotations>
-      <eAnnotations source="subsets" references="#//Namespace/ownedMember"/>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="raisedException" ordered="false"
-        upperBound="-1" eType="#//Type">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="References the Types representing exceptions that may be raised during an invocation of this feature."/>
-      </eAnnotations>
-    </eStructuralFeatures>
-  </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="Feature" abstract="true" eSuperTypes="#//RedefinableElement">
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       <details key="documentation" value="A feature declares a behavioral or structural characteristic of instances of classifiers."/>
@@ -4263,6 +3664,663 @@
       <eAnnotations source="union"/>
     </eStructuralFeatures>
   </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="ConnectableElement" abstract="true"
+      eSuperTypes="#//TypedElement #//ParameterableElement">
+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+      <details key="documentation" value="ConnectableElement is an abstract metaclass representing a set of instances that play roles of a classifier. Connectable elements may be joined by attached connectors and specify configurations of linked instances to be created within an instance of the containing classifier.&#xA;A connectable element may be exposed as a connectable element template parameter."/>
+    </eAnnotations>
+    <eAnnotations source="duplicates">
+      <contents xsi:type="ecore:EReference" name="templateParameter" ordered="false"
+          eType="#//TemplateParameter" eOpposite="#//ConnectableElementTemplateParameter/%duplicates%/parameteredElement">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The ConnectableElementTemplateParameter for this ConnectableElement parameter."/>
+        </eAnnotations>
+        <eAnnotations source="redefines" references="#//ParameterableElement/templateParameter"/>
+      </contents>
+    </eAnnotations>
+    <eOperations name="getEnds" ordered="false" upperBound="-1" eType="#//ConnectorEnd">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Missing derivation for ConnectableElement::/end : ConnectorEnd&#xA;true"/>
+        <details key="suppressedVisibility" value="true"/>
+      </eAnnotations>
+    </eOperations>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="end" upperBound="-1" eType="#//ConnectorEnd"
+        changeable="false" volatile="true" transient="true" derived="true">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Denotes a set of connector ends that attaches to this connectable element."/>
+      </eAnnotations>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="ConnectorEnd" eSuperTypes="#//MultiplicityElement">
+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+      <details key="documentation" value="A connector end is an endpoint of a connector, which attaches the connector to a connectable element. Each connector end is part of one connector."/>
+    </eAnnotations>
+    <eOperations name="role_and_part_with_port" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="If a connector end references a partWithPort, then the role must be a port that is defined by the type of the partWithPort.&#xA;true"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="self_part_with_port" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The property held in self.partWithPort must not be a Port.&#xA;true"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="multiplicity" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The multiplicity of the connector end may not be more general than the multiplicity of the association typing the owning connector.&#xA;true"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="part_with_port_empty" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="If a connector end is attached to a port of the containing classifier, partWithPort will be empty.&#xA;true"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="getDefiningEnd" ordered="false" eType="#//Property">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Missing derivation for ConnectorEnd::/definingEnd : Property&#xA;true"/>
+        <details key="suppressedVisibility" value="true"/>
+      </eAnnotations>
+    </eOperations>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="definingEnd" ordered="false"
+        eType="#//Property" changeable="false" volatile="true" transient="true" derived="true">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="A derived association referencing the corresponding association end on the association which types the connector owing this connector end. This association is derived by selecting the association end at the same place in the ordering of association ends as this connector end."/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="partWithPort" ordered="false"
+        eType="#//Property">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Indicates the role of the internal structure of a classifier with the port to which the connector end is attached."/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="role" ordered="false" lowerBound="1"
+        eType="#//ConnectableElement">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The connectable element attached at this connector end. When an instance of the containing classifier is created, a link may (depending on the multiplicities) be created to an instance of the classifier that types this connectable element."/>
+      </eAnnotations>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="ConnectableElementTemplateParameter"
+      eSuperTypes="#//TemplateParameter">
+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+      <details key="documentation" value="A connectable element template parameter exposes a connectable element as a formal parameter for a template."/>
+    </eAnnotations>
+    <eAnnotations source="duplicates">
+      <contents xsi:type="ecore:EReference" name="parameteredElement" ordered="false"
+          lowerBound="1" eType="#//ParameterableElement" eOpposite="#//ConnectableElement/%duplicates%/templateParameter">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The ConnectableElement for this template parameter."/>
+        </eAnnotations>
+        <eAnnotations source="redefines" references="#//TemplateParameter/parameteredElement"/>
+      </contents>
+    </eAnnotations>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="DeploymentTarget" abstract="true" eSuperTypes="#//NamedElement">
+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+      <details key="documentation" value="A deployment target is the location for a deployed artifact."/>
+    </eAnnotations>
+    <eOperations name="getDeployedElements" ordered="false" upperBound="-1" eType="#//PackageableElement">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Missing derivation for DeploymentTarget::/deployedElement : PackageableElement&#xA;result = ((self.deployment->collect(deployedArtifact))->collect(manifestation))->collect(utilizedElement)"/>
+        <details key="suppressedVisibility" value="true"/>
+      </eAnnotations>
+    </eOperations>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="deployedElement" ordered="false"
+        upperBound="-1" eType="#//PackageableElement" changeable="false" volatile="true"
+        transient="true" derived="true">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The set of elements that are manifested in an Artifact that is involved in Deployment to a DeploymentTarget."/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="deployment" ordered="false"
+        upperBound="-1" eType="#//Deployment" containment="true" eOpposite="#//Deployment/location">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The set of Deployments for a DeploymentTarget."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//Element/ownedElement #//NamedElement/clientDependency"/>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="Deployment" eSuperTypes="#//Dependency">
+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+      <details key="documentation" value="A deployment is the allocation of an artifact or artifact instance to a deployment target.&#xA;A component deployment is the deployment of one or more artifacts or artifact instances to a deployment target, optionally parameterized by a deployment specification. Examples are executables and configuration files."/>
+    </eAnnotations>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="configuration" ordered="false"
+        upperBound="-1" eType="#//DeploymentSpecification" containment="true" eOpposite="#//DeploymentSpecification/deployment">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The specification of properties that parameterize the deployment and execution of one or more Artifacts."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="deployedArtifact" ordered="false"
+        upperBound="-1" eType="#//DeployedArtifact">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The Artifacts that are deployed onto a Node. This association specializes the supplier association."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//Dependency/supplier"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="location" ordered="false"
+        lowerBound="1" eType="#//DeploymentTarget" eOpposite="#//DeploymentTarget/deployment">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The DeployedTarget which is the target of a Deployment."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//Element/owner #//Dependency/client"/>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="DeploymentSpecification" eSuperTypes="#//Artifact">
+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+      <details key="documentation" value="A deployment specification specifies a set of properties that determine execution parameters of a component artifact that is deployed on a node. A deployment specification can be aimed at a specific type of container. An artifact that reifies or implements deployment specification properties is a deployment descriptor."/>
+    </eAnnotations>
+    <eOperations name="deployed_elements" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The deployedElements of a DeploymentTarget that are involved in a Deployment that has an associated Deployment-Specification is a kind of Component (i.e. the configured components).&#xA;self.deployment->forAll (d | d.location.deployedElements->forAll (de |&#xA;  de.oclIsKindOf(Component)))"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="deployment_target" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The DeploymentTarget of a DeploymentSpecification is a kind of ExecutionEnvironment.&#xA;self.deployment->forAll (d | d.location.oclIsKindOf(ExecutionEnvironment))"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="deploymentLocation" ordered="false"
+        eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//String" unsettable="true">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The location where an Artifact is deployed onto a Node. This is typically a 'directory' or 'memory address'."/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="executionLocation" ordered="false"
+        eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//String" unsettable="true">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The location where a component Artifact executes. This may be a local or remote location."/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="deployment" ordered="false"
+        eType="#//Deployment" eOpposite="#//Deployment/configuration">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The deployment with which the DeploymentSpecification is associated."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//Element/owner"/>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="Artifact" eSuperTypes="#//Classifier #//DeployedArtifact">
+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+      <details key="documentation" value="An artifact is the source of a deployment to a node.&#xA;An artifact is the specification of a physical piece of information that is used or produced by a software development process, or by deployment and operation of a system. Examples of artifacts include model files, source files, scripts, and binary executable files, a table in a database system, a development deliverable, or a word-processing document, a mail message."/>
+    </eAnnotations>
+    <eOperations name="createOwnedAttribute" ordered="false" lowerBound="1" eType="#//Property">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Creates a property with the specified name, type, lower bound, and upper bound as an owned attribute of this artifact."/>
+      </eAnnotations>
+      <eParameters name="name" ordered="false" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//String">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The name for the new attribute, or null."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="type" ordered="false" eType="#//Type">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The type for the new attribute, or null."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="lower" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Integer">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The lower bound for the new attribute."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="upper" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//UnlimitedNatural">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The upper bound for the new attribute."/>
+        </eAnnotations>
+      </eParameters>
+    </eOperations>
+    <eOperations name="createOwnedOperation" ordered="false" lowerBound="1" eType="#//Operation">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Creates an operation with the specified name, parameter names, parameter types, and return type (or null) as an owned operation of this artifact."/>
+      </eAnnotations>
+      <eParameters name="name" ordered="false" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//String">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The name for the new operation, or null."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="parameterNames" ordered="false" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//String">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The parameter names for  the new operation, or null."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="parameterTypes" ordered="false" upperBound="-1" eType="#//Type">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The parameter types for the new operation, or null."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="returnType" ordered="false" eType="#//Type">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The return type for the new operation, or null."/>
+        </eAnnotations>
+      </eParameters>
+    </eOperations>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="fileName" ordered="false"
+        eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//String" unsettable="true">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="A concrete name that is used to refer to the Artifact in a physical context. Example: file system name, universal resource locator."/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="manifestation" ordered="false"
+        upperBound="-1" eType="#//Manifestation" containment="true">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The set of model elements that are manifested in the Artifact. That is, these model elements are utilized in the construction (or generation) of the artifact."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//Element/ownedElement #//NamedElement/clientDependency"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="nestedArtifact" ordered="false"
+        upperBound="-1" eType="#//Artifact" containment="true">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The Artifacts that are defined (nested) within the Artifact. The association is a specialization of the ownedMember association from Namespace to NamedElement."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//Namespace/ownedMember"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedAttribute" upperBound="-1"
+        eType="#//Property" containment="true">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The attributes or association ends defined for the Artifact. The association is a specialization of the ownedMember association."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//Namespace/ownedMember #//Classifier/attribute"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedOperation" upperBound="-1"
+        eType="#//Operation" containment="true">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The Operations defined for the Artifact. The association is a specialization of the ownedMember association."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//Classifier/feature #//Namespace/ownedMember"/>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="DeployedArtifact" abstract="true" eSuperTypes="#//NamedElement">
+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+      <details key="documentation" value="A deployed artifact is an artifact or artifact instance that has been deployed to a deployment target."/>
+    </eAnnotations>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="Manifestation" eSuperTypes="#//Abstraction">
+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+      <details key="documentation" value="A manifestation is the concrete physical rendering of one or more model elements by an artifact."/>
+    </eAnnotations>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="utilizedElement" ordered="false"
+        lowerBound="1" eType="#//PackageableElement">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The model element that is utilized in the manifestation in an Artifact."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//Dependency/supplier"/>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="Operation" eSuperTypes="#//BehavioralFeature #//ParameterableElement #//TemplateableElement">
+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+      <details key="documentation" value="An operation is a behavioral feature of a classifier that specifies the name, type, parameters, and constraints for invoking an associated behavior.&#xA;An operation may invoke both the execution of method behaviors as well as other behavioral responses.&#xA;Operation specializes TemplateableElement in order to support specification of template operations and bound operations. Operation specializes ParameterableElement to specify that an operation can be exposed as a formal template parameter, and provided as an actual parameter in a binding of a template."/>
+    </eAnnotations>
+    <eAnnotations source="duplicates">
+      <contents xsi:type="ecore:EOperation" name="isConsistentWith" ordered="false"
+          lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="A redefining operation is consistent with a redefined operation if it has the same number of owned parameters, and the type of each owned parameter conforms to the type of the corresponding redefined parameter.&#xA;The query isConsistentWith() specifies, for any two Operations in a context in which redefinition is possible, whether redefinition would be consistent in the sense of maintaining type covariance. Other senses of consistency may be required, for example to determine consistency in the sense of contravariance. Users may define alternative queries under names different from 'isConsistentWith()', as for example, users may define a query named 'isContravariantWith()'.&#xA;redefinee.isRedefinitionContextValid(self)&#xA;result = redefinee.oclIsKindOf(Operation) and&#xA;let op : Operation = redefinee.oclAsType(Operation) in&#xA;&#x9;self.ownedParameter->size() = op.ownedParameter->size() and&#xA;&#x9;Sequence{1..self.ownedParameter->size()}->&#xA;&#x9;&#x9;forAll(i |op.ownedParameter->at(1).type.conformsTo(self.ownedParameter->at(i).type))"/>
+        </eAnnotations>
+        <eAnnotations source="redefines" references="#//RedefinableElement/isConsistentWith"/>
+        <eParameters name="redefinee" ordered="false" lowerBound="1" eType="#//RedefinableElement"/>
+      </contents>
+      <contents xsi:type="ecore:EReference" name="ownedParameter" upperBound="-1"
+          eType="#//Parameter" containment="true" eOpposite="#//Parameter/operation">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="Specifies the ordered set of formal parameters of this BehavioralFeature.&#xA;Specifies the parameters owned by this Operation."/>
+        </eAnnotations>
+        <eAnnotations source="redefines" references="#//BehavioralFeature/ownedParameter"/>
+      </contents>
+      <contents xsi:type="ecore:EReference" name="raisedException" ordered="false"
+          upperBound="-1" eType="#//Type">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="References the Types representing exceptions that may be raised during an invocation of this operation."/>
+        </eAnnotations>
+        <eAnnotations source="redefines" references="#//BehavioralFeature/raisedException"/>
+      </contents>
+      <contents xsi:type="ecore:EReference" name="templateParameter" ordered="false"
+          eType="#//TemplateParameter" eOpposite="#//OperationTemplateParameter/%duplicates%/parameteredElement">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The template parameter that exposes this element as a formal parameter."/>
+        </eAnnotations>
+        <eAnnotations source="redefines" references="#//ParameterableElement/templateParameter"/>
+      </contents>
+    </eAnnotations>
+    <eOperations name="at_most_one_return" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="An operation can have at most one return parameter; i.e., an owned parameter with the direction set to 'return'&#xA;self.ownedParameter->select(par | par.direction = #return)->size() &lt;= 1"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="only_body_for_query" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="A bodyCondition can only be specified for a query operation.&#xA;bodyCondition->notEmpty() implies isQuery"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="getReturnResult" ordered="false" eType="#//Parameter">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Retrieves the (only) return result parameter for this operation."/>
+      </eAnnotations>
+    </eOperations>
+    <eOperations name="setIsOrdered" ordered="false" lowerBound="1">
+      <eParameters name="newIsOrdered" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean"/>
+    </eOperations>
+    <eOperations name="setIsUnique" ordered="false" lowerBound="1">
+      <eParameters name="newIsUnique" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean"/>
+    </eOperations>
+    <eOperations name="setLower" ordered="false" lowerBound="1">
+      <eParameters name="newLower" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Integer"/>
+    </eOperations>
+    <eOperations name="setType" ordered="false" lowerBound="1">
+      <eParameters name="newType" ordered="false" lowerBound="1" eType="#//Type"/>
+    </eOperations>
+    <eOperations name="setUpper" ordered="false" lowerBound="1">
+      <eParameters name="newUpper" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//UnlimitedNatural"/>
+    </eOperations>
+    <eOperations name="isOrdered" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="If this operation has a return parameter, isOrdered equals the value of isOrdered for that parameter. Otherwise isOrdered is false.&#xA;result = if returnResult()->notEmpty() then returnResult()->any().isOrdered else false endif"/>
+      </eAnnotations>
+    </eOperations>
+    <eOperations name="isUnique" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="If this operation has a return parameter, isUnique equals the value of isUnique for that parameter. Otherwise isUnique is true.&#xA;result = if returnResult()->notEmpty() then returnResult()->any().isUnique else true endif"/>
+      </eAnnotations>
+    </eOperations>
+    <eOperations name="getLower" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Integer">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="If this operation has a return parameter, lower equals the value of lower for that parameter. Otherwise lower is not defined.&#xA;result = if returnResult()->notEmpty() then returnResult()->any().lower else Set{} endif"/>
+        <details key="suppressedVisibility" value="true"/>
+      </eAnnotations>
+    </eOperations>
+    <eOperations name="returnResult" ordered="false" upperBound="-1" eType="#//Parameter">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The query returnResult() returns the set containing the return parameter of the Operation if one exists, otherwise, it returns an empty set&#xA;result = ownedParameter->select (par | par.direction = #return)"/>
+      </eAnnotations>
+    </eOperations>
+    <eOperations name="getType" ordered="false" lowerBound="1" eType="#//Type">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="If this operation has a return parameter, type equals the value of type for that parameter. Otherwise type is not defined.&#xA;result = if returnResult()->notEmpty() then returnResult()->any().type else Set{} endif"/>
+        <details key="suppressedVisibility" value="true"/>
+      </eAnnotations>
+    </eOperations>
+    <eOperations name="getUpper" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//UnlimitedNatural">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="If this operation has a return parameter, upper equals the value of upper for that parameter. Otherwise upper is not defined.&#xA;result = if returnResult()->notEmpty() then returnResult()->any().upper else Set{} endif"/>
+        <details key="suppressedVisibility" value="true"/>
+      </eAnnotations>
+    </eOperations>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="interface" ordered="false"
+        eType="#//Interface" eOpposite="#//Interface/ownedOperation">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The Interface that owns this Operation."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//Feature/featuringClassifier #//RedefinableElement/redefinitionContext #//NamedElement/namespace"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="bodyCondition" ordered="false"
+        eType="#//Constraint">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="An optional Constraint on the result values of an invocation of this Operation."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//Namespace/ownedRule"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="class" ordered="false"
+        eType="#//Class" eOpposite="#//Class/ownedOperation">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The class that owns the operation."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//Feature/featuringClassifier #//RedefinableElement/redefinitionContext #//NamedElement/namespace"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="datatype" ordered="false"
+        eType="#//DataType" eOpposite="#//DataType/ownedOperation">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The DataType that owns this Operation."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//Feature/featuringClassifier #//RedefinableElement/redefinitionContext #//NamedElement/namespace"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isOrdered" ordered="false"
+        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean"
+        changeable="false" volatile="true" transient="true" defaultValueLiteral="false"
+        derived="true">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="This information is derived from the return result for this Operation.&#xA;Specifies whether the return parameter is ordered or not, if present."/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isQuery" ordered="false"
+        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean"
+        defaultValueLiteral="false">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Specifies whether an execution of the BehavioralFeature leaves the state of the system unchanged (isQuery=true) or whether side effects may occur (isQuery=false)."/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isUnique" ordered="false"
+        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean"
+        changeable="false" volatile="true" transient="true" defaultValueLiteral="true"
+        derived="true">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Specifies whether the return parameter is unique or not, if present.&#xA;This information is derived from the return result for this Operation."/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="lower" ordered="false"
+        eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Integer"
+        changeable="false" volatile="true" transient="true" defaultValueLiteral="1"
+        derived="true">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="This information is derived from the return result for this Operation.&#xA;Specifies the lower multiplicity of the return parameter, if present."/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="postcondition" ordered="false"
+        upperBound="-1" eType="#//Constraint">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="An optional set of Constraints specifying the state of the system when the Operation is completed."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//Namespace/ownedRule"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="precondition" ordered="false"
+        upperBound="-1" eType="#//Constraint">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="An optional set of Constraints on the state of the system when the Operation is invoked."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//Namespace/ownedRule"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="redefinedOperation" ordered="false"
+        upperBound="-1" eType="#//Operation">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="References the Operations that are redefined by this Operation."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//RedefinableElement/redefinedElement"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="type" ordered="false" eType="#//Type"
+        changeable="false" volatile="true" transient="true" derived="true">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="This information is derived from the return result for this Operation.&#xA;Specifies the return result of the operation, if present."/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="upper" ordered="false"
+        eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//UnlimitedNatural"
+        changeable="false" volatile="true" transient="true" defaultValueLiteral="1"
+        derived="true">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="This information is derived from the return result for this Operation.&#xA;Specifies the upper multiplicity of the return parameter, if present."/>
+      </eAnnotations>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="BehavioralFeature" abstract="true" eSuperTypes="#//Namespace #//Feature">
+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+      <details key="documentation" value="A behavioral feature is a feature of a classifier that specifies an aspect of the behavior of its instances.&#xA;A behavioral feature is implemented (realized) by a behavior. A behavioral feature specifies that a classifier will respond to a designated request by invoking its implementing method.&#xA;A behavioral feature owns zero or more parameter sets."/>
+    </eAnnotations>
+    <eAnnotations source="duplicates">
+      <contents xsi:type="ecore:EOperation" name="isDistinguishableFrom" ordered="false"
+          lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The query isDistinguishableFrom() determines whether two BehavioralFeatures may coexist in the same Namespace. It specifies that they have to have different signatures.&#xA;result = if n.oclIsKindOf(BehavioralFeature)&#xA;then&#xA;  if ns.getNamesOfMember(self)->intersection(ns.getNamesOfMember(n))->notEmpty()&#xA;  then Set{}->including(self)->including(n)->isUnique(bf | bf.ownedParameter->collect(type))&#xA;  else true&#xA;  endif&#xA;else true&#xA;endif"/>
+        </eAnnotations>
+        <eAnnotations source="redefines" references="#//NamedElement/isDistinguishableFrom"/>
+        <eParameters name="n" ordered="false" lowerBound="1" eType="#//NamedElement"/>
+        <eParameters name="ns" ordered="false" lowerBound="1" eType="#//Namespace"/>
+      </contents>
+    </eAnnotations>
+    <eOperations name="createReturnResult" ordered="false" lowerBound="1" eType="#//Parameter">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Creates a return result parameter with the specified name and type."/>
+      </eAnnotations>
+      <eParameters name="name" ordered="false" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//String">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The name for the new return result, or null."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="type" ordered="false" eType="#//Type">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The type for the new return result, or null."/>
+        </eAnnotations>
+      </eParameters>
+    </eOperations>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="concurrency" ordered="false"
+        lowerBound="1" eType="#//CallConcurrencyKind" defaultValueLiteral="sequential">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Specifies the semantics of concurrent calls to the same passive instance (i.e., an instance originating from a class with isActive being false). Active instances control access to their own behavioral features."/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isAbstract" ordered="false"
+        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean"
+        defaultValueLiteral="false">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="If true, then the behavioral feature does not have an implementation, and one must be supplied by a more specific element. If false, the behavioral feature must have an implementation in the classifier or one must be inherited from a more general element."/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="method" ordered="false"
+        upperBound="-1" eType="#//Behavior" eOpposite="#//Behavior/specification">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="A behavioral description that implements the behavioral feature. There may be at most one behavior for a particular pairing of a classifier (as owner of the behavior) and a behavioral feature (as specification of the behavior)."/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedParameter" upperBound="-1"
+        eType="#//Parameter" containment="true">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Specifies the ordered set of formal parameters of this BehavioralFeature."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//Namespace/ownedMember"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedParameterSet" ordered="false"
+        upperBound="-1" eType="#//ParameterSet" containment="true">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The ParameterSets owned by this BehavioralFeature."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//Namespace/ownedMember"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="raisedException" ordered="false"
+        upperBound="-1" eType="#//Type">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="References the Types representing exceptions that may be raised during an invocation of this feature."/>
+      </eAnnotations>
+    </eStructuralFeatures>
+  </eClassifiers>
   <eClassifiers xsi:type="ecore:EEnum" name="CallConcurrencyKind">
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       <details key="documentation" value="CallConcurrencyKind is an enumeration type."/>
@@ -4287,9 +4345,28 @@
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       <details key="documentation" value="Behavior is a specification of how its context classifier changes state over time. This specification may be either a definition of possible behavior execution or emergent behavior, or a selective illustration of an interesting subset of possible executions. The latter form is typically used for capturing examples, such as a trace of a particular execution.&#xA;A behavior owns zero or more parameter sets."/>
     </eAnnotations>
-    <eOperations name="most_one_behaviour" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="parameters_match" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="There may be at most one behavior for a given pairing of classifier (as owner of the behavior) and behavioral feature (as specification of the behavior).&#xA;true"/>
+        <details key="documentation" value="The parameters of the behavior must match the parameters of the implemented behavioral feature.&#xA;true"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="feature_of_context_classifier" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The implemented behavioral feature must be a feature (possibly inherited) of the context classifier of the behavior.&#xA;true"/>
       </eAnnotations>
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
         <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -4325,28 +4402,9 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="parameters_match" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="most_one_behaviour" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The parameters of the behavior must match the parameters of the implemented behavioral feature.&#xA;true"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="feature_of_context_classifier" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The implemented behavioral feature must be a feature (possibly inherited) of the context classifier of the behavior.&#xA;true"/>
+        <details key="documentation" value="There may be at most one behavior for a given pairing of classifier (as owner of the behavior) and behavioral feature (as specification of the behavior).&#xA;true"/>
       </eAnnotations>
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
         <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -4426,13 +4484,14 @@
       </eAnnotations>
     </eStructuralFeatures>
   </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="Parameter" eSuperTypes="#//ConnectableElement #//MultiplicityElement">
+  <eClassifiers xsi:type="ecore:EClass" name="BehavioredClassifier" abstract="true"
+      eSuperTypes="#//Classifier">
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="A parameter is a specification of an argument used to pass information into or out of an invocation of a behavioral feature.&#xA;Parameters have support for streaming, exceptions, and parameter sets.&#xA;Parameters are allowed to be treated as connectable elements."/>
+      <details key="documentation" value="A behaviored classifier may have an interface realization.&#xA;A classifier can have behavior specifications defined in its namespace. One of these may specify the behavior of the classifier itself."/>
     </eAnnotations>
-    <eOperations name="in_and_out" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="class_behavior" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Only in and inout parameters may have a delete effect. Only out, inout, and return parameters may have a create effect.&#xA;true"/>
+        <details key="documentation" value="If a behavior is classifier behavior, it does not have a specification.&#xA;self.classifierBehavior->notEmpty() implies self.classifierBehavior.specification->isEmpty()"/>
       </eAnnotations>
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
         <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -4449,9 +4508,1835 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="not_exception" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="getAllImplementedInterfaces" ordered="false" upperBound="-1"
+        eType="#//Interface">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="An input parameter cannot be an exception.&#xA;true"/>
+        <details key="documentation" value="Retrieves all the interfaces on which this behaviored classifier or any of its parents has an interface realization dependency."/>
+      </eAnnotations>
+    </eOperations>
+    <eOperations name="getImplementedInterfaces" ordered="false" upperBound="-1" eType="#//Interface">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Retrieves the interfaces on which this behaviored classifier has an interface realization dependency."/>
+      </eAnnotations>
+    </eOperations>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="classifierBehavior" ordered="false"
+        eType="#//Behavior">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="A behavior specification that specifies the behavior of the classifier itself."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//BehavioredClassifier/ownedBehavior"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="interfaceRealization" ordered="false"
+        upperBound="-1" eType="#//InterfaceRealization" containment="true" eOpposite="#//InterfaceRealization/implementingClassifier">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The set of InterfaceRealizations owned by the BehavioredClassifier. Interface realizations reference the Interfaces of which the BehavioredClassifier is an implementation."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//Element/ownedElement #//NamedElement/clientDependency"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedBehavior" ordered="false"
+        upperBound="-1" eType="#//Behavior" containment="true">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="References behavior specifications owned by a classifier."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//Namespace/ownedMember"/>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="InterfaceRealization" eSuperTypes="#//Realization">
+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+      <details key="documentation" value="An interface realization is a specialized realization relationship between a classifier and an interface. This relationship signifies that the realizing classifier conforms to the contract specified by the interface."/>
+    </eAnnotations>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="contract" ordered="false"
+        lowerBound="1" eType="#//Interface">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="References the Interface specifying the conformance contract."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//Dependency/supplier"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="implementingClassifier"
+        ordered="false" lowerBound="1" eType="#//BehavioredClassifier" eOpposite="#//BehavioredClassifier/interfaceRealization">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="References the BehavioredClassifier that owns this Interfacerealization (i.e., the classifier that realizes the Interface to which it points)."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//Element/owner #//Dependency/client"/>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="Realization" eSuperTypes="#//Abstraction">
+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+      <details key="documentation" value="Realization is a specialized abstraction relationship between two sets of model elements, one representing a specification (the supplier) and the other represents an implementation of the latter (the client). Realization can be used to model stepwise refinement, optimizations, transformations, templates, model synthesis, framework composition, etc."/>
+    </eAnnotations>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="Interface" eSuperTypes="#//Classifier">
+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+      <details key="documentation" value="Since an interface specifies conformance characteristics, it does not own detailed behavior specifications. Instead, interfaces may own a protocol state machine that specifies event sequences and pre/post conditions for the operations and receptions described by the interface.&#xA;Interfaces may include receptions (in addition to operations).&#xA;An interface is a kind of classifier that represents a declaration of a set of coherent public features and obligations. An interface specifies a contract; any instance of a classifier that realizes the interface must fulfill that contract. The obligations that may be associated with an interface are in the form of various kinds of constraints (such as pre- and post-conditions) or protocol specifications, which may impose ordering restrictions on interactions through the interface."/>
+    </eAnnotations>
+    <eOperations name="visibility" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The visibility of all features owned by an interface must be public.&#xA;self.feature->forAll(f | f.visibility = #public)"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="createOwnedAttribute" ordered="false" lowerBound="1" eType="#//Property">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Creates a property with the specified name, type, lower bound, and upper bound as an owned attribute of this interface."/>
+      </eAnnotations>
+      <eParameters name="name" ordered="false" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//String">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The name for the new attribute, or null."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="type" ordered="false" eType="#//Type">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The type for the new attribute, or null."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="lower" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Integer">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The lower bound for the new attribute."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="upper" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//UnlimitedNatural">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The upper bound for the new attribute."/>
+        </eAnnotations>
+      </eParameters>
+    </eOperations>
+    <eOperations name="createOwnedOperation" ordered="false" lowerBound="1" eType="#//Operation">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Creates an operation with the specified name, parameter names, parameter types, and return type (or null) as an owned operation of this interface."/>
+      </eAnnotations>
+      <eParameters name="name" ordered="false" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//String">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The name for the new operation, or null."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="parameterNames" ordered="false" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//String">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The parameter names for the new operation, or null."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="parameterTypes" ordered="false" upperBound="-1" eType="#//Type">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The parameter types for the new operation, or null."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="returnType" ordered="false" eType="#//Type">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The return type for the new operation, or null."/>
+        </eAnnotations>
+      </eParameters>
+    </eOperations>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="nestedClassifier" upperBound="-1"
+        eType="#//Classifier" containment="true">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="References all the Classifiers that are defined (nested) within the Class."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//Namespace/ownedMember"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedAttribute" upperBound="-1"
+        eType="#//Property" containment="true" eOpposite="#//Property/interface">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The attributes (i.e. the properties) owned by the class."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//Namespace/ownedMember #//Classifier/attribute"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedOperation" upperBound="-1"
+        eType="#//Operation" containment="true" eOpposite="#//Operation/interface">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The operations owned by the class."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//Classifier/feature #//Namespace/ownedMember"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedReception" ordered="false"
+        upperBound="-1" eType="#//Reception" containment="true">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Receptions that objects providing this interface are willing to accept."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//Classifier/feature #//Namespace/ownedMember"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="protocol" ordered="false"
+        eType="#//ProtocolStateMachine" containment="true">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="References a protocol state machine specifying the legal sequences of the invocation of the behavioral features described in the interface."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//Namespace/ownedMember"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="redefinedInterface" ordered="false"
+        upperBound="-1" eType="#//Interface">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="References all the Interfaces redefined by this Interface."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//Classifier/redefinedClassifier"/>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="Reception" eSuperTypes="#//BehavioralFeature">
+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+      <details key="documentation" value="A reception is a declaration stating that a classifier is prepared to react to the receipt of a signal. A reception designates a signal and specifies the expected behavioral response. The details of handling a signal are specified by the behavior associated with the reception or the classifier itself."/>
+    </eAnnotations>
+    <eOperations name="not_query" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="A Reception can not be a query.&#xA;not self.isQuery"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="signal" ordered="false"
+        lowerBound="1" eType="#//Signal">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The signal that this reception handles."/>
+      </eAnnotations>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="Signal" eSuperTypes="#//Classifier">
+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+      <details key="documentation" value="A signal is a specification of send request instances communicated between objects. The receiving object handles the received request instances as specified by its receptions. The data carried by a send request (which was passed to it by the send invocation occurrence that caused that request) are represented as attributes of the signal. A signal is defined independently of the classifiers handling the signal occurrence."/>
+    </eAnnotations>
+    <eOperations name="createOwnedAttribute" ordered="false" lowerBound="1" eType="#//Property">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Creates a property with the specified name, type, lower bound, and upper bound as an owned attribute of this signal."/>
+      </eAnnotations>
+      <eParameters name="name" ordered="false" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//String">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The name for the new attribute, or null."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="type" ordered="false" eType="#//Type">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The type for the new attribute, or null."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="lower" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Integer">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The lower bound for the new attribute."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="upper" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//UnlimitedNatural">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The upper bound for the new attribute."/>
+        </eAnnotations>
+      </eParameters>
+    </eOperations>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedAttribute" upperBound="-1"
+        eType="#//Property" containment="true">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The attributes owned by the signal."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//Namespace/ownedMember #//Classifier/attribute"/>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="ProtocolStateMachine" eSuperTypes="#//StateMachine">
+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+      <details key="documentation" value="A protocol state machine is always defined in the context of a classifier. It specifies which operations of the classifier can be called in which state and under which condition, thus specifying the allowed call sequences on the classifier's operations. A protocol state machine presents the possible and permitted transitions on the instances of its context classifier, together with the operations which carry the transitions. In this manner, an instance lifecycle can be created for a classifier, by specifying the order in which the operations can be activated and the states through which an instance progresses during its existence."/>
+    </eAnnotations>
+    <eAnnotations source="duplicates">
+      <contents xsi:type="ecore:EOperation" name="classifier_context" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="A protocol state machine must only have a classifier context, not a behavioral feature context.&#xA;(not context->isEmpty( )) and specification->isEmpty()"/>
+        </eAnnotations>
+        <eAnnotations source="redefines" references="#//StateMachine/classifier_context"/>
+        <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+            <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+          </eAnnotations>
+        </eParameters>
+        <eParameters name="context">
+          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+            <details key="documentation" value="The cache of context-specific information."/>
+          </eAnnotations>
+          <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          </eGenericType>
+        </eParameters>
+      </contents>
+    </eAnnotations>
+    <eOperations name="entry_exit_do" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The states of a protocol state machine cannot have entry, exit, or do activity actions.&#xA;region->forAll(r | r.subvertex->forAll(v | v.oclIsKindOf(State) implies&#xA;(v.entry->isEmpty() and v.exit->isEmpty() and v.doActivity->isEmpty())))&#xA;"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="protocol_transitions" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="All transitions of a protocol state machine must be protocol transitions. (transitions as extended by the ProtocolStateMachines package)&#xA;region->forAll(r | r.transition->forAll(t | t.oclIsTypeOf(ProtocolTransition)))"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="deep_or_shallow_history" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Protocol state machines cannot have deep or shallow history pseudostates.&#xA;region->forAll (r | r.subvertex->forAll (v | v.oclIsKindOf(Psuedostate) implies&#xA;((v.kind &lt;> #deepHistory) and (v.kind &lt;> #shallowHistory)))))&#xA;"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="ports_connected" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="If two ports are connected, then the protocol state machine of the required interface (if defined) must be conformant to the protocol state machine of the provided interface (if defined).&#xA;true"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="conformance" ordered="false"
+        upperBound="-1" eType="#//ProtocolConformance" containment="true" eOpposite="#//ProtocolConformance/specificMachine">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Conformance between protocol state machines."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="StateMachine" eSuperTypes="#//Behavior">
+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+      <details key="documentation" value="State machines can be used to express the behavior of part of a system. Behavior is modeled as a traversal of a graph of state nodes interconnected by one or more joined transition arcs that are triggered by the dispatching of series of (event) occurrences. During this traversal, the state machine executes a series of activities associated with various elements of the state machine."/>
+    </eAnnotations>
+    <eAnnotations source="duplicates">
+      <contents xsi:type="ecore:EOperation" name="isConsistentWith" ordered="false"
+          lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The query isConsistentWith() specifies that a redefining state machine is consistent with a redefined state machine provided that the redefining state machine is an extension of the redefined state machine: Regions are inherited and regions can be added, inherited regions can be redefined. In case of multiple redefining state machines, extension implies that the redefining state machine gets orthogonal regions for each of the redefined state machines.&#xA;result = true"/>
+        </eAnnotations>
+        <eAnnotations source="redefines" references="#//RedefinableElement/isConsistentWith"/>
+        <eParameters name="redefinee" ordered="false" lowerBound="1" eType="#//RedefinableElement"/>
+      </contents>
+    </eAnnotations>
+    <eOperations name="method" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="A state machine as the method for a behavioral feature cannot have entry/exit connection points.&#xA;specification->notEmpty() implies connectionPoint->isEmpty()"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="classifier_context" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The classifier context of a state machine cannot be an interface.&#xA;context->notEmpty() implies not context.oclIsKindOf(Interface)"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="context_classifier" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The context classifier of the method state machine of a behavioral feature must be the classifier that owns the behavioral feature.&#xA;specification->notEmpty() implies (context->notEmpty() and specification->featuringClassifier->exists (c | c = context))"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="connection_points" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The connection points of a state machine are pseudostates of kind entry point or exit point.&#xA;conectionPoint->forAll (c | c.kind = #entryPoint or c.kind = #exitPoint)"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="LCA" ordered="false" lowerBound="1" eType="#//Namespace">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The operation LCA(s1,s2) returns an orthogonal state or region which is the least common ancestor of states s1 and s2, based on the statemachine containment hierarchy.&#xA;true"/>
+      </eAnnotations>
+      <eParameters name="s1" ordered="false" lowerBound="1" eType="#//State"/>
+      <eParameters name="s2" ordered="false" lowerBound="1" eType="#//State"/>
+    </eOperations>
+    <eOperations name="ancestor" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The query ancestor(s1, s2) checks whether s1 is an ancestor state of state s2.&#xA;result = &#xA;if (s2 = s1) then &#xA;&#x9;true &#xA;else &#xA;&#x9;if (s2.container->isEmpty() or not s2.container.owner.oclIsKindOf(State)) then &#xA;&#x9;&#x9;false &#xA;&#x9;else &#xA;&#x9;&#x9;ancestor(s1, s2.container.owner.oclAsType(State))&#xA;&#x9;endif&#xA;endif &#xA;"/>
+      </eAnnotations>
+      <eParameters name="s1" ordered="false" lowerBound="1" eType="#//State"/>
+      <eParameters name="s2" ordered="false" lowerBound="1" eType="#//State"/>
+    </eOperations>
+    <eOperations name="isRedefinitionContextValid" ordered="false" lowerBound="1"
+        eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The query isRedefinitionContextValid() specifies whether the redefinition contexts of a statemachine are properly related to the redefinition contexts of the specified statemachine to allow this element to redefine the other. The containing classifier of a redefining statemachine must redefine the containing classifier of the redefined statemachine.&#xA;result = true"/>
+      </eAnnotations>
+      <eAnnotations source="redefines" references="#//RedefinableElement/isRedefinitionContextValid"/>
+      <eParameters name="redefined" ordered="false" lowerBound="1" eType="#//StateMachine"/>
+    </eOperations>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="connectionPoint" ordered="false"
+        upperBound="-1" eType="#//Pseudostate" containment="true" eOpposite="#//Pseudostate/stateMachine">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The connection points defined for this state machine. They represent the interface of the state machine when used as part of submachine state."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//Namespace/ownedMember"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="submachineState" ordered="false"
+        upperBound="-1" eType="#//State" eOpposite="#//State/submachine">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="References the submachine(s) in case of a submachine state. Multiple machines are referenced in case of a concurrent state."/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="region" ordered="false"
+        lowerBound="1" upperBound="-1" eType="#//Region" containment="true" eOpposite="#//Region/stateMachine">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The regions owned directly by the state machine."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//Namespace/ownedMember"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="extendedStateMachine" ordered="false"
+        upperBound="-1" eType="#//StateMachine">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The state machines of which this is an extension."/>
+      </eAnnotations>
+      <eAnnotations source="redefines" references="#//Behavior/redefinedBehavior"/>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="Pseudostate" eSuperTypes="#//Vertex">
+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+      <details key="documentation" value="A pseudostate is an abstraction that encompasses different types of transient vertices in the state machine graph."/>
+    </eAnnotations>
+    <eOperations name="junction_vertex" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="In a complete statemachine, a junction vertex must have at least one incoming and one outgoing transition.&#xA;(self.kind = #junction) implies&#xA;((self.incoming->size >= 1) and (self.outgoing->size >= 1))&#xA;"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="history_vertices" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="History vertices can have at most one outgoing transition.&#xA;((self.kind = #deepHistory) or (self.kind = #shallowHistory)) implies&#xA;(self.outgoing->size &lt;= 1)&#xA;"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="transitions_outgoing" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="All transitions outgoing a fork vertex must target states in different regions of an orthogonal state.&#xA;(self.kind = #fork) implies&#xA;  self.outgoing->forAll (t1, t2 | t1&lt;>t2 implies&#xA;    (self.stateMachine.LCA(t1.target, t2.target).container.isOrthogonal))"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="outgoing_from_initial" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The outgoing transition from and initial vertex may have a behavior, but not a trigger or a guard.&#xA;(self.kind = #initial) implies (self.outgoing.guard->isEmpty()&#xA;  and self.outgoing.trigger->isEmpty())"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="fork_vertex" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="In a complete statemachine, a fork vertex must have at least two outgoing transitions and exactly one incoming transition.&#xA;(self.kind = #fork) implies&#xA;((self.incoming->size = 1) and (self.outgoing->size >= 2))&#xA;"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="join_vertex" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="In a complete statemachine, a join vertex must have at least two incoming transitions and exactly one outgoing transition.&#xA;(self.kind = #join) implies&#xA;((self.outgoing->size = 1) and (self.incoming->size >= 2))&#xA;"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="choice_vertex" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="In a complete statemachine, a choice vertex must have at least one incoming and one outgoing transition.&#xA;(self.kind = #choice) implies&#xA;((self.incoming->size >= 1) and (self.outgoing->size >= 1))&#xA;"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="initial_vertex" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="An initial vertex can have at most one outgoing transition.&#xA;(self.kind = #initial) implies (self.outgoing->size &lt;= 1)"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="transitions_incoming" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="All transitions incoming a join vertex must originate in different regions of an orthogonal state.&#xA;(self.kind = #join) implies&#xA;  self.incoming->forAll (t1, t2 | t1&lt;>t2 implies&#xA;    (self.stateMachine.LCA(t1.source, t2.source).container.isOrthogonal))"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="state" ordered="false"
+        eType="#//State" eOpposite="#//State/connectionPoint">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The State that owns this pseudostate and in which it appears."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//NamedElement/namespace"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" ordered="false" lowerBound="1"
+        eType="#//PseudostateKind" defaultValueLiteral="initial">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Determines the precise type of the Pseudostate and can be one of: entryPoint, exitPoint, initial, deepHistory, shallowHistory, join, fork, junction, terminate or choice."/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="stateMachine" ordered="false"
+        eType="#//StateMachine" eOpposite="#//StateMachine/connectionPoint">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The StateMachine in which this Pseudostate is defined. This only applies to Pseudostates of the kind entryPoint or exitPoint."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//NamedElement/namespace"/>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="Vertex" abstract="true" eSuperTypes="#//NamedElement">
+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+      <details key="documentation" value="A vertex is an abstraction of a node in a state machine graph. In general, it can be the source or destination of any number of transitions."/>
+    </eAnnotations>
+    <eOperations name="containingStateMachine" ordered="false" lowerBound="1" eType="#//StateMachine">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The operation containingStateMachine() returns the state machine in which this Vertex is defined&#xA;result = if not container->isEmpty()&#xA;then&#xA;-- the container is a region&#xA;container.containingStateMachine()&#xA;else if (oclIsKindOf(Pseudostate)) then&#xA;-- entry or exit point?&#xA;if (kind = #entryPoint) or (kind = #exitPoint) then&#xA;stateMachine&#xA;else if (oclIsKindOf(ConnectionPointReference)) then&#xA;state.containingStateMachine() -- no other valid cases possible&#xA;endif&#xA;"/>
+      </eAnnotations>
+    </eOperations>
+    <eOperations name="getIncomings" ordered="false" upperBound="-1" eType="#//Transition">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Missing derivation for Vertex::/incoming : Transition&#xA;result = Transition.allInstances()->select(t | t.target=self)"/>
+        <details key="suppressedVisibility" value="true"/>
+      </eAnnotations>
+    </eOperations>
+    <eOperations name="getOutgoings" ordered="false" upperBound="-1" eType="#//Transition">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Missing derivation for Vertex::/outgoing : Transition&#xA;result = Transition.allInstances()->select(t | t.source=self)"/>
+        <details key="suppressedVisibility" value="true"/>
+      </eAnnotations>
+    </eOperations>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="container" ordered="false"
+        eType="#//Region" eOpposite="#//Region/subvertex">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The region that contains this vertex."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//NamedElement/namespace"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="incoming" ordered="false"
+        upperBound="-1" eType="#//Transition" changeable="false" volatile="true" transient="true"
+        derived="true">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Specifies the transitions entering this vertex."/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="outgoing" ordered="false"
+        upperBound="-1" eType="#//Transition" changeable="false" volatile="true" transient="true"
+        derived="true">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Specifies the transitions departing from this vertex."/>
+      </eAnnotations>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="Region" eSuperTypes="#//Namespace #//RedefinableElement">
+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+      <details key="documentation" value="A region is an orthogonal part of either a composite state or a state machine. It contains states and transitions."/>
+    </eAnnotations>
+    <eAnnotations source="duplicates">
+      <contents xsi:type="ecore:EOperation" name="isConsistentWith" ordered="false"
+          lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The query isConsistentWith() specifies that a redefining region is consistent with a redefined region provided that the redefining region is an extension of the redefined region, i.e. it adds vertices and transitions and it redefines states and transitions of the redefined region.&#xA;result = true"/>
+        </eAnnotations>
+        <eAnnotations source="redefines" references="#//RedefinableElement/isConsistentWith"/>
+        <eParameters name="redefinee" ordered="false" lowerBound="1" eType="#//RedefinableElement"/>
+      </contents>
+      <contents xsi:type="ecore:EReference" name="redefinitionContext" ordered="false"
+          upperBound="-1" eType="#//Classifier" changeable="false" volatile="true"
+          transient="true" derived="true">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="References the classifier in which context this element may be redefined."/>
+        </eAnnotations>
+        <eAnnotations source="redefines" references="#//RedefinableElement/redefinitionContext"/>
+      </contents>
+    </eAnnotations>
+    <eOperations name="shallow_history_vertex" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="A region can have at most one shallow history vertex&#xA;self.subvertex->select(v | v.oclIsKindOf(Pseudostate))->&#xA;select(p : Pseudostate | p.kind = #shallowHistory)->size() &lt;= 1&#xA;"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="deep_history_vertex" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="A region can have at most one deep history vertex&#xA;self.subvertex->select (v | v.oclIsKindOf(Pseudostate))->&#xA;select(p : Pseudostate | p.kind = #deepHistory)->size() &lt;= 1&#xA;"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="initial_vertex" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="A region can have at most one initial vertex&#xA;self.subvertex->select (v | v.oclIsKindOf(Pseudostate))->&#xA;select(p : Pseudostate | p.kind = #initial)->size() &lt;= 1&#xA;"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="owned" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="If a Region is owned by a StateMachine, then it cannot also be owned by a State and vice versa.&#xA;(stateMachine->notEmpty() implies state->isEmpty()) and (state->notEmpty() implies stateMachine->isEmpty())"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="belongsToPSM" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The operation belongsToPSM () checks if the region belongs to a protocol state machine&#xA;result = if not stateMachine->isEmpty() then&#xA;oclIsTypeOf(ProtocolStateMachine)&#xA;else if not state->isEmpty() then&#xA;state.container.belongsToPSM ()&#xA;else false"/>
+      </eAnnotations>
+    </eOperations>
+    <eOperations name="containingStateMachine" ordered="false" lowerBound="1" eType="#//StateMachine">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The operation containingStateMachine() returns the sate machine in which this Region is defined&#xA;result = if stateMachine->isEmpty() &#xA;then&#xA;state.containingStateMachine()&#xA;else&#xA;stateMachine&#xA;endif"/>
+      </eAnnotations>
+    </eOperations>
+    <eOperations name="isRedefinitionContextValid" ordered="false" lowerBound="1"
+        eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The query isRedefinitionContextValid() specifies whether the redefinition contexts of a region are properly related to the redefinition contexts of the specified region to allow this element to redefine the other. The containing statemachine/state of a redefining region must redefine the containing statemachine/state of the redefined region.&#xA;result = true"/>
+      </eAnnotations>
+      <eAnnotations source="redefines" references="#//RedefinableElement/isRedefinitionContextValid"/>
+      <eParameters name="redefined" ordered="false" lowerBound="1" eType="#//Region"/>
+    </eOperations>
+    <eOperations name="redefinitionContext" ordered="false" lowerBound="1" eType="#//Classifier">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The redefinition context of a region is the nearest containing statemachine&#xA;result = let sm = containingStateMachine() in&#xA;if sm.context->isEmpty() or sm.general->notEmpty() then&#xA;sm&#xA;else&#xA;sm.context&#xA;endif"/>
+      </eAnnotations>
+    </eOperations>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="extendedRegion" ordered="false"
+        eType="#//Region">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The region of which this region is an extension."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//RedefinableElement/redefinedElement"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="state" ordered="false"
+        eType="#//State" eOpposite="#//State/region">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The State that owns the Region. If a Region is owned by a State, then it cannot also be owned by a StateMachine."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//NamedElement/namespace"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="stateMachine" ordered="false"
+        eType="#//StateMachine" eOpposite="#//StateMachine/region">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The StateMachine that owns the Region. If a Region is owned by a StateMachine, then it cannot also be owned by a State."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//NamedElement/namespace"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="transition" ordered="false"
+        upperBound="-1" eType="#//Transition" containment="true" eOpposite="#//Transition/container">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The set of transitions owned by the region."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//Namespace/ownedMember"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="subvertex" ordered="false"
+        upperBound="-1" eType="#//Vertex" containment="true" eOpposite="#//Vertex/container">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The set of vertices that are owned by this region."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//Namespace/ownedMember"/>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="State" eSuperTypes="#//Namespace #//RedefinableElement #//Vertex">
+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+      <details key="documentation" value="A state models a situation during which some (usually implicit) invariant condition holds.&#xA;The states of protocol state machines are exposed to the users of their context classifiers. A protocol state represents an exposed stable situation of its context classifier: when an instance of the classifier is not processing any operation, users of this instance can always know its state configuration."/>
+    </eAnnotations>
+    <eAnnotations source="duplicates">
+      <contents xsi:type="ecore:EOperation" name="containingStateMachine" ordered="false"
+          lowerBound="1" eType="#//StateMachine">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The query containingStateMachine() returns the state machine that contains the state either directly or transitively.&#xA;result = container.containingStateMachine()"/>
+        </eAnnotations>
+        <eAnnotations source="redefines" references="#//Vertex/containingStateMachine"/>
+      </contents>
+      <contents xsi:type="ecore:EOperation" name="isConsistentWith" ordered="false"
+          lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The query isConsistentWith() specifies that a redefining state is consistent with a redefined state provided that the redefining state is an extension of the redefined state: A simple state can be redefined (extended) to become a composite state (by adding a region) and a composite state can be redefined (extended) by adding regions and by adding vertices, states, and transitions to inherited regions. All states may add or replace entry, exit, and 'doActivity' actions.&#xA;result = true"/>
+        </eAnnotations>
+        <eAnnotations source="redefines" references="#//RedefinableElement/isConsistentWith"/>
+        <eParameters name="redefinee" ordered="false" lowerBound="1" eType="#//RedefinableElement"/>
+      </contents>
+      <contents xsi:type="ecore:EReference" name="redefinitionContext" ordered="false"
+          upperBound="-1" eType="#//Classifier" changeable="false" volatile="true"
+          transient="true" derived="true">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="References the classifier in which context this element may be redefined."/>
+        </eAnnotations>
+        <eAnnotations source="redefines" references="#//RedefinableElement/redefinitionContext"/>
+      </contents>
+    </eAnnotations>
+    <eOperations name="entry_or_exit" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Only entry or exit pseudostates can serve as connection points.&#xA;connectionPoint->forAll(cp|cp.kind = #entry or cp.kind = #exit)"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="composite_states" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Only composite states can have entry or exit pseudostates defined.&#xA;connectionPoint->notEmpty() implies isComoposite"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="destinations_or_sources_of_transitions" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The connection point references used as destinations/sources of transitions associated with a submachine state must be defined as entry/exit points in the submachine state machine.&#xA;self.isSubmachineState implies (self.connection->forAll (cp |&#xA;cp.entry->forAll (p | p.statemachine = self.submachine) and&#xA;cp.exit->forAll (p | p.statemachine = self.submachine)))"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="submachine_or_regions" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="A state is not allowed to have both a submachine and regions.&#xA;isComposite implies not isSubmachineState"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="submachine_states" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Only submachine states can have connection point references.&#xA;isSubmachineState implies connection->notEmpty ( )"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="isComposite" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="A composite state is a state with at least one region.&#xA;result = region.notEmpty()"/>
+      </eAnnotations>
+    </eOperations>
+    <eOperations name="isOrthogonal" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="An orthogonal state is a composite state with at least 2 regions&#xA;result = (region->size () > 1)"/>
+      </eAnnotations>
+    </eOperations>
+    <eOperations name="isRedefinitionContextValid" ordered="false" lowerBound="1"
+        eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The query isRedefinitionContextValid() specifies whether the redefinition contexts of a state are properly related to the redefinition contexts of the specified state to allow this element to redefine the other. The containing region of a redefining state must redefine the containing region of the redefined state.&#xA;result = true"/>
+      </eAnnotations>
+      <eAnnotations source="redefines" references="#//RedefinableElement/isRedefinitionContextValid"/>
+      <eParameters name="redefined" ordered="false" lowerBound="1" eType="#//State"/>
+    </eOperations>
+    <eOperations name="isSimple" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="A simple state is a state without any regions.&#xA;result = region.isEmpty()"/>
+      </eAnnotations>
+    </eOperations>
+    <eOperations name="isSubmachineState" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Only submachine states can have a reference statemachine.&#xA;result = submachine.notEmpty()"/>
+      </eAnnotations>
+    </eOperations>
+    <eOperations name="redefinitionContext" ordered="false" lowerBound="1" eType="#//Classifier">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The redefinition context of a state is the nearest containing statemachine.&#xA;result = let sm = containingStateMachine() in&#xA;if sm.context->isEmpty() or sm.general->notEmpty() then&#xA;sm&#xA;else&#xA;sm.context&#xA;endif"/>
+      </eAnnotations>
+    </eOperations>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="connection" ordered="false"
+        upperBound="-1" eType="#//ConnectionPointReference" containment="true" eOpposite="#//ConnectionPointReference/state">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The entry and exit connection points used in conjunction with this (submachine) state, i.e. as targets and sources, respectively, in the region with the submachine state. A connection point reference references the corresponding definition of a connection point pseudostate in the statemachine referenced by the submachinestate."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//Namespace/ownedMember"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="connectionPoint" ordered="false"
+        upperBound="-1" eType="#//Pseudostate" containment="true" eOpposite="#//Pseudostate/state">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The entry and exit pseudostates of a composite state. These can only be entry or exit Pseudostates, and they must have different names. They can only be defined for composite states."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//Namespace/ownedMember"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="deferrableTrigger" ordered="false"
+        upperBound="-1" eType="#//Trigger" containment="true">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="A list of triggers that are candidates to be retained by the state machine if they trigger no transitions out of the state (not consumed). A deferred trigger is retained until the state machine reaches a state configuration where it is no longer deferred."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="doActivity" ordered="false"
+        eType="#//Behavior" containment="true">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="An optional behavior that is executed while being in the state. The execution starts when this state is entered, and stops either by itself, or when the state is exited, whichever comes first."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="entry" ordered="false"
+        eType="#//Behavior" containment="true">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="An optional behavior that is executed whenever this state is entered regardless of the transition taken to reach the state. If defined, entry actions are always executed to completion prior to any internal behavior or transitions performed within the state."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="exit" ordered="false" eType="#//Behavior"
+        containment="true">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="An optional behavior that is executed whenever this state is exited regardless of which transition was taken out of the state. If defined, exit actions are always executed to completion only after all internal activities and transition actions have completed execution."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isComposite" ordered="false"
+        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean"
+        changeable="false" volatile="true" transient="true" defaultValueLiteral="false"
+        derived="true">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="A state with isComposite=true is said to be a composite state. A composite state is a state that contains at least one region."/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isOrthogonal" ordered="false"
+        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean"
+        changeable="false" volatile="true" transient="true" defaultValueLiteral="false"
+        derived="true">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="A state with isOrthogonal=true is said to be an orthogonal composite state. An orthogonal composite state contains two or more regions."/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isSimple" ordered="false"
+        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean"
+        changeable="false" volatile="true" transient="true" defaultValueLiteral="true"
+        derived="true">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="A state with isSimple=true is said to be a simple state. A simple state does not have any regions and it does not refer to any submachine state machine."/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isSubmachineState" ordered="false"
+        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean"
+        changeable="false" volatile="true" transient="true" defaultValueLiteral="false"
+        derived="true">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="A state with isSubmachineState=true is said to be a submachine state. Such a state refers to a state machine (submachine)."/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="redefinedState" ordered="false"
+        eType="#//State">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The state of which this state is a redefinition."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//RedefinableElement/redefinedElement"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="stateInvariant" ordered="false"
+        eType="#//Constraint">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Specifies conditions that are always true when this state is the current state. In protocol state machines, state invariants are additional conditions to the preconditions of the outgoing transitions, and to the postcondition of the incoming transitions."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//Namespace/ownedRule"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="submachine" ordered="false"
+        eType="#//StateMachine" eOpposite="#//StateMachine/submachineState">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The state machine that is to be inserted in place of the (submachine) state."/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="region" ordered="false"
+        upperBound="-1" eType="#//Region" containment="true" eOpposite="#//Region/state">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The regions owned directly by the state."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//Namespace/ownedMember"/>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="ConnectionPointReference" eSuperTypes="#//Vertex">
+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+      <details key="documentation" value="A connection point reference represents a usage (as part of a submachine state) of an entry/exit point defined in the statemachine reference by the submachine state."/>
+    </eAnnotations>
+    <eOperations name="entry_pseudostates" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The entry Pseudostates must be Pseudostates with kind entryPoint.&#xA;entry->notEmpty() implies entry->forAll(e | e.kind = #entryPoint)"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="exit_pseudostates" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The exit Pseudostates must be Pseudostates with kind exitPoint.&#xA;exit->notEmpty() implies exit->forAll(e | e.kind = #exitPoint)"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="entry" ordered="false"
+        upperBound="-1" eType="#//Pseudostate">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The entryPoint kind pseudo states corresponding to this connection point."/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="exit" ordered="false" upperBound="-1"
+        eType="#//Pseudostate">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The exitPoints kind pseudo states corresponding to this connection point."/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="state" ordered="false"
+        eType="#//State" eOpposite="#//State/connection">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The State in which the connection point refreshens are defined."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//NamedElement/namespace"/>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="Trigger" eSuperTypes="#//NamedElement">
+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+      <details key="documentation" value="A trigger specification may be qualified by the port on which the event occurred.&#xA;A trigger relates an event to a behavior that may affect an instance of the classifier."/>
+    </eAnnotations>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="event" ordered="false"
+        lowerBound="1" eType="#//Event">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The event that causes the trigger."/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="port" ordered="false" upperBound="-1"
+        eType="#//Port">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="A optional port of the receiver object on which the behavioral feature is invoked."/>
+      </eAnnotations>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="Event" abstract="true" eSuperTypes="#//PackageableElement">
+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+      <details key="documentation" value="An event is the specification of some occurrence that may potentially trigger effects by an object."/>
+    </eAnnotations>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="Port" eSuperTypes="#//Property">
+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+      <details key="documentation" value="A port has an associated protocol state machine.&#xA;A port is a property of a classifier that specifies a distinct interaction point between that classifier and its environment or between the (behavior of the) classifier and its internal parts. Ports are connected to properties of the classifier by connectors through which requests can be made to invoke the behavioral features of a classifier. A Port may specify the services a classifier provides (offers) to its environment as well as the services that a classifier expects (requires) of its environment."/>
+    </eAnnotations>
+    <eOperations name="default_value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="A defaultValue for port cannot be specified when the type of the Port is an Interface&#xA;true"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="port_aggregation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Port.aggregation must be composite.&#xA;true"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="port_destroyed" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="When a port is destroyed, all connectors attached to this port will be destroyed also.&#xA;true"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="getProvideds" ordered="false" upperBound="-1" eType="#//Interface">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Missing derivation for Port::/provided : Interface&#xA;true"/>
+        <details key="suppressedVisibility" value="true"/>
+      </eAnnotations>
+    </eOperations>
+    <eOperations name="getRequireds" ordered="false" upperBound="-1" eType="#//Interface">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Missing derivation for Port::/required : Interface&#xA;true"/>
+        <details key="suppressedVisibility" value="true"/>
+      </eAnnotations>
+    </eOperations>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isBehavior" ordered="false"
+        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean"
+        defaultValueLiteral="false">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Specifies whether requests arriving at this port are sent to the classifier behavior of this classifier. Such ports are referred to as behavior port. Any invocation of a behavioral feature targeted at a behavior port will be handled by the instance of the owning classifier itself, rather than by any instances that this classifier may contain."/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isConjugated" ordered="false"
+        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean"
+        defaultValueLiteral="false">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Specifies the way that the provided and required interfaces are derived from the Port’s Type. The default value is false."/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isService" ordered="false"
+        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean"
+        defaultValueLiteral="true">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="If true indicates that this port is used to provide the published functionality of a classifier; if false, this port is used to implement the classifier but is not part of the essential externally-visible functionality of the classifier and can, therefore, be altered or deleted along with the internal implementation of the classifier and other properties that are considered part of its implementation."/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="protocol" ordered="false"
+        eType="#//ProtocolStateMachine">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="References an optional protocol state machine which describes valid interactions at this interaction point."/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="provided" ordered="false"
+        upperBound="-1" eType="#//Interface" changeable="false" volatile="true" transient="true"
+        derived="true">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="References the interfaces specifying the set of operations and receptions that the classifier offers to its environment via this port, and which it will handle either directly or by forwarding it to a part of its internal structure. This association is derived according to the value of isConjugated. If isConjugated is false, provided is derived as the union of the sets of interfaces realized by the type of the port and its supertypes, or directly from the type of the port if the port is typed by an interface. If isConjugated is true, it is derived as the union of the sets of interfaces used by the type of the port and its supertypes."/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="redefinedPort" ordered="false"
+        upperBound="-1" eType="#//Port">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="A port may be redefined when its containing classifier is specialized. The redefining port may have additional interfaces to those that are associated with the redefined port or it may replace an interface by one of its subtypes."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//Property/redefinedProperty"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="required" ordered="false"
+        upperBound="-1" eType="#//Interface" changeable="false" volatile="true" transient="true"
+        derived="true">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="References the interfaces specifying the set of operations and receptions that the classifier expects its environment to handle via this port. This association is derived according to the value of isConjugated. If isConjugated is false, required is derived as the union of the sets of interfaces used by the type of the port and its supertypes. If isConjugated is true, it is derived as the union of the sets of interfaces realized by the type of the port and its supertypes, or directly from the type of the port if the port is typed by an interface."/>
+      </eAnnotations>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="Constraint" eSuperTypes="#//PackageableElement">
+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+      <details key="documentation" value="A constraint is a condition or restriction expressed in natural language text or in a machine readable language for the purpose of declaring some of the semantics of an element."/>
+    </eAnnotations>
+    <eOperations name="not_apply_to_self" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="A constraint cannot be applied to itself.&#xA;not constrainedElement->includes(self)"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="no_side_effects" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Evaluating the value specification for a constraint must not have side effects.&#xA;true"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="boolean_value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The value specification for a constraint must evaluate to a Boolean value.&#xA;true"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="value_specification_boolean" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The value specification for a constraint must evaluate to a Boolean value.&#xA;self.specification().booleanValue().isOclKindOf(Boolean)"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="constrainedElement" upperBound="-1"
+        eType="#//Element">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The ordered set of Elements referenced by this Constraint."/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="context" ordered="false"
+        eType="#//Namespace" eOpposite="#//Namespace/ownedRule">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Specifies the namespace that owns the NamedElement."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//NamedElement/namespace"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="specification" ordered="false"
+        lowerBound="1" eType="#//ValueSpecification" containment="true">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="A condition that must be true when evaluated in order for the constraint to be satisfied."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="Transition" eSuperTypes="#//Namespace #//RedefinableElement">
+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+      <details key="documentation" value="A transition is a directed relationship between a source vertex and a target vertex. It may be part of a compound transition, which takes the state machine from one state configuration to another, representing the complete response of the state machine to an occurrence of an event of a particular type."/>
+    </eAnnotations>
+    <eAnnotations source="duplicates">
+      <contents xsi:type="ecore:EOperation" name="isConsistentWith" ordered="false"
+          lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The query isConsistentWith() specifies that a redefining transition is consistent with a redefined transition provided that the redefining transition has the following relation to the redefined transition: A redefining transition redefines all properties of the corresponding redefined transition, except the source state and the trigger.&#xA;redefinee.isRedefinitionContextValid(self)&#xA;result = (redefinee.oclIsKindOf(Transition) and&#xA;  let trans: Transition = redefinee.oclAsType(Transition) in&#xA;    (source() = trans.source() and trigger() = tran.trigger())"/>
+        </eAnnotations>
+        <eAnnotations source="redefines" references="#//RedefinableElement/isConsistentWith"/>
+        <eParameters name="redefinee" ordered="false" lowerBound="1" eType="#//RedefinableElement"/>
+      </contents>
+      <contents xsi:type="ecore:EReference" name="redefinitionContext" ordered="false"
+          upperBound="-1" eType="#//Classifier" changeable="false" volatile="true"
+          transient="true" derived="true">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="References the classifier in which context this element may be redefined."/>
+        </eAnnotations>
+        <eAnnotations source="redefines" references="#//RedefinableElement/redefinitionContext"/>
+      </contents>
+    </eAnnotations>
+    <eOperations name="state_is_local" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="A transition with kind local must have a composite state or an entry point as its source.&#xA;(kind = TransitionKind::local) implies&#xA;&#x9;&#x9;((source.oclIsKindOf (State) and source.oclAsType(State).isComposite) or&#xA;&#x9;&#x9;(source.oclIsKindOf (Pseudostate) and source.oclAsType(Pseudostate).kind = PseudostateKind::entryPoint))"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="fork_segment_guards" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="A fork segment must not have guards or triggers.&#xA;(source.oclIsKindOf(Pseudostate) and source.kind = #fork) implies (guard->isEmpty() and trigger->isEmpty())"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="join_segment_state" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="A join segment must always originate from a state.&#xA;(target.oclIsKindOf(Pseudostate) and target.kind = #join) implies (source.oclIsKindOf(State))"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="initial_transition" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="An initial transition at the topmost level (region of a statemachine) either has no trigger or it has a trigger with the stereotype >.&#xA;self.source.oclIsKindOf(Pseudostate) implies&#xA;(self.source.oclAsType(Pseudostate).kind = #initial) implies&#xA;(self.source.container = self.stateMachine.top) implies&#xA;((self.trigger->isEmpty) or&#xA;(self.trigger.stereotype.name = 'create'))&#xA;"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="outgoing_pseudostates" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Transitions outgoing pseudostates may not have a trigger.&#xA;source.oclIsKindOf(Pseudostate) and (source.kind &lt;> #initial)) implies trigger->isEmpty()"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="signatures_compatible" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="In case of more than one trigger, the signatures of these must be compatible in case the parameters of the signal are assigned to local variables/attributes.&#xA;true"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="state_is_internal" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="A transition with kind internal must have a state as its source, and its source and target must be equal.&#xA;(kind = TransitionKind::internal) implies&#xA;&#x9;&#x9;(source.oclIsKindOf (State) and source = target)"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="join_segment_guards" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="A join segment must not have guards or triggers.&#xA;(target.oclIsKindOf(Pseudostate) and target.kind = #join) implies (guard->isEmpty() and trigger->isEmpty())"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="fork_segment_state" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="A fork segment must always target a state.&#xA;(source.oclIsKindOf(Pseudostate) and source.kind = #fork) implies (target.oclIsKindOf(State))"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="state_is_external" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="A transition with kind external can source any vertex except entry points.&#xA;(kind = TransitionKind::external) implies&#xA;&#x9;not (source.oclIsKindOf(Pseudostate) and source.oclAsType(Pseudostate).kind = PseudostateKind::entryPoint)"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="containingStateMachine" ordered="false" lowerBound="1" eType="#//StateMachine">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The query containingStateMachine() returns the state machine that contains the transition either directly or transitively.&#xA;result = container.containingStateMachine()"/>
+      </eAnnotations>
+    </eOperations>
+    <eOperations name="redefinitionContext" ordered="false" lowerBound="1" eType="#//Classifier">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The redefinition context of a transition is the nearest containing statemachine.&#xA;result = let sm = containingStateMachine() in&#xA;if sm.context->isEmpty() or sm.general->notEmpty() then&#xA;sm&#xA;else&#xA;sm.context&#xA;endif"/>
+      </eAnnotations>
+    </eOperations>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="effect" ordered="false"
+        eType="#//Behavior" containment="true">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Specifies an optional behavior to be performed when the transition fires."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="guard" ordered="false"
+        eType="#//Constraint">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="A guard is a constraint that provides a fine-grained control over the firing of the transition. The guard is evaluated when an event occurrence is dispatched by the state machine. If the guard is true at that time, the transition may be enabled, otherwise, it is disabled. Guards should be pure expressions without side effects. Guard expressions with side effects are ill formed."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//Namespace/ownedRule"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" ordered="false" lowerBound="1"
+        eType="#//TransitionKind" defaultValueLiteral="external">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Indicates the precise type of the transition."/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="redefinedTransition" ordered="false"
+        eType="#//Transition">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The transition that is redefined by this transition."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//RedefinableElement/redefinedElement"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="source" ordered="false"
+        lowerBound="1" eType="#//Vertex">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Designates the originating vertex (state or pseudostate) of the transition."/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="target" ordered="false"
+        lowerBound="1" eType="#//Vertex">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Designates the target vertex that is reached when the transition is taken."/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="trigger" ordered="false"
+        upperBound="-1" eType="#//Trigger" containment="true">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Specifies the triggers that may fire the transition."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="container" ordered="false"
+        lowerBound="1" eType="#//Region" eOpposite="#//Region/transition">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Designates the region that owns this transition."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//NamedElement/namespace"/>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EEnum" name="TransitionKind">
+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+      <details key="documentation" value="TransitionKind is an enumeration type."/>
+    </eAnnotations>
+    <eLiterals name="internal">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Implies that the transition, if triggered, occurs without exiting or entering the source state. Thus, it does not cause a state change. This means that the entry or exit condition of the source state will not be invoked. An internal transition can be taken even if the state machine is in one or more regions nested within this state."/>
+      </eAnnotations>
+    </eLiterals>
+    <eLiterals name="local" value="1">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Implies that the transition, if triggered, will not exit the composite (source) state, but it will apply to any state within the composite state, and these will be exited and entered."/>
+      </eAnnotations>
+    </eLiterals>
+    <eLiterals name="external" value="2">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Implies that the transition, if triggered, will exit the composite (source) state."/>
+      </eAnnotations>
+    </eLiterals>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EEnum" name="PseudostateKind">
+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+      <details key="documentation" value="PseudostateKind is an enumeration type."/>
+    </eAnnotations>
+    <eLiterals name="initial">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="An initial pseudostate represents a default vertex that is the source for a single transition to the default state of a composite state. There can be at most one initial vertex in a region. The outgoing transition from the initial vertex may have a behavior, but not a trigger or guard."/>
+      </eAnnotations>
+    </eLiterals>
+    <eLiterals name="deepHistory" value="1">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="DeepHistory represents the most recent active configuration of the composite state that directly contains this pseudostate; e.g. the state configuration that was active when the composite state was last exited. A composite state can have at most one deep history vertex. At most one transition may originate from the history connector to the default deep history state. This transition is taken in case the composite state had never been active before. Entry actions of states entered on the path to the state represented by a deep history are performed."/>
+      </eAnnotations>
+    </eLiterals>
+    <eLiterals name="shallowHistory" value="2">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="ShallowHistory represents the most recent active substate of its containing state (but not the substates of that substate). A composite state can have at most one shallow history vertex. A transition coming into the shallow history vertex is equivalent to a transition coming into the most recent active substate of a state. At most one transition may originate from the history connector to the default shallow history state. This transition is taken in case the composite state had never been active before. Entry actions of states entered on the path to the state represented by a shallow history are performed."/>
+      </eAnnotations>
+    </eLiterals>
+    <eLiterals name="join" value="3">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Join vertices serve to merge several transitions emanating from source vertices in different orthogonal regions. The transitions entering a join vertex cannot have guards or triggers."/>
+      </eAnnotations>
+    </eLiterals>
+    <eLiterals name="fork" value="4">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Fork vertices serve to split an incoming transition into two or more transitions terminating on orthogonal target vertices (i.e. vertices in different regions of a composite state). The segments outgoing from a fork vertex must not have guards or triggers."/>
+      </eAnnotations>
+    </eLiterals>
+    <eLiterals name="junction" value="5">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Junction vertices are semantic-free vertices that are used to chain together multiple transitions. They are used to construct compound transition paths between states. For example, a junction can be used to converge multiple incoming transitions into a single outgoing transition representing a shared transition path (this is known as an merge). Conversely, they can be used to split an incoming transition into multiple outgoing transition segments with different guard conditions. This realizes a static conditional branch. (In the latter case, outgoing transitions whose guard conditions evaluate to false are disabled. A predefined guard denoted 'else' may be defined for at most one outgoing transition. This transition is enabled if all the guards labeling the other transitions are false.) Static conditional branches are distinct from dynamic conditional branches that are realized by choice vertices (described below)."/>
+      </eAnnotations>
+    </eLiterals>
+    <eLiterals name="choice" value="6">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Choice vertices which, when reached, result in the dynamic evaluation of the guards of the triggers of its outgoing transitions. This realizes a dynamic conditional branch. It allows splitting of transitions into multiple outgoing paths such that the decision on which path to take may be a function of the results of prior actions performed in the same run-tocompletion step. If more than one of the guards evaluates to true, an arbitrary one is selected. If none of the guards evaluates to true, then the model is considered ill-formed. (To avoid this, it is recommended to define one outgoing transition with the predefined else guard for every choice vertex.) Choice vertices should be distinguished from static branch points that are based on junction points (described above)."/>
+      </eAnnotations>
+    </eLiterals>
+    <eLiterals name="entryPoint" value="7">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="An entry point pseudostate is an entry point of a state machine or composite state. In each region of the state machine or composite state it has a single transition to a vertex within the same region."/>
+      </eAnnotations>
+    </eLiterals>
+    <eLiterals name="exitPoint" value="8">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="An exit point pseudostate is an exit point of a state machine or composite state. Entering an exit point within any region of the composite state or state machine referenced by a submachine state implies the exit of this composite state or submachine state and the triggering of the transition that has this exit point as source in the state machine enclosing the submachine or composite state."/>
+      </eAnnotations>
+    </eLiterals>
+    <eLiterals name="terminate" value="9">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Entering a terminate pseudostate implies that the execution of this state machine by means of its context object is terminated. The state machine does not exit any states nor does it perform any exit actions other than those associated with the transition leading to the terminate pseudostate. Entering a terminate pseudostate is equivalent to invoking a DestroyObjectAction."/>
+      </eAnnotations>
+    </eLiterals>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="ProtocolConformance" eSuperTypes="#//DirectedRelationship">
+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+      <details key="documentation" value="Protocol state machines can be redefined into more specific protocol state machines, or into behavioral state machines. Protocol conformance declares that the specific protocol state machine specifies a protocol that conforms to the general state machine one, or that the specific behavioral state machine abide by the protocol of the general protocol state machine."/>
+    </eAnnotations>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="generalMachine" ordered="false"
+        lowerBound="1" eType="#//ProtocolStateMachine">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Specifies the protocol state machine to which the specific state machine conforms."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//DirectedRelationship/target"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="specificMachine" ordered="false"
+        lowerBound="1" eType="#//ProtocolStateMachine" eOpposite="#//ProtocolStateMachine/conformance">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Specifies the state machine which conforms to the general state machine."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//Element/owner #//DirectedRelationship/source"/>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="Parameter" eSuperTypes="#//ConnectableElement #//MultiplicityElement">
+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+      <details key="documentation" value="Parameters are allowed to be treated as connectable elements.&#xA;A parameter is a specification of an argument used to pass information into or out of an invocation of a behavioral feature.&#xA;Parameters have support for streaming, exceptions, and parameter sets."/>
+    </eAnnotations>
+    <eOperations name="reentrant_behaviors" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Reentrant behaviors cannot have stream parameters.&#xA;true"/>
       </eAnnotations>
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
         <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -4487,9 +6372,28 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="reentrant_behaviors" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="not_exception" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Reentrant behaviors cannot have stream parameters.&#xA;true"/>
+        <details key="documentation" value="An input parameter cannot be an exception.&#xA;true"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="in_and_out" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Only in and inout parameters may have a delete effect. Only out, inout, and return parameters may have a create effect.&#xA;true"/>
       </eAnnotations>
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
         <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -4710,9 +6614,9 @@
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       <details key="documentation" value="A parameter set is an element that provides alternative sets of inputs or outputs that a behavior may use."/>
     </eAnnotations>
-    <eOperations name="same_parameterized_entity" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="two_parameter_sets" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The parameters in a parameter set must all be inputs or all be outputs of the same parameterized entity, and the parameter set is owned by that entity.&#xA;true"/>
+        <details key="documentation" value="Two parameter sets cannot have exactly the same set of parameters.&#xA;true"/>
       </eAnnotations>
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
         <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -4748,9 +6652,9 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="two_parameter_sets" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="same_parameterized_entity" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Two parameter sets cannot have exactly the same set of parameters.&#xA;true"/>
+        <details key="documentation" value="The parameters in a parameter set must all be inputs or all be outputs of the same parameterized entity, and the parameter set is owned by that entity.&#xA;true"/>
       </eAnnotations>
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
         <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -4781,107 +6685,6 @@
       </eAnnotations>
     </eStructuralFeatures>
   </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="Constraint" eSuperTypes="#//PackageableElement">
-    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="A constraint is a condition or restriction expressed in natural language text or in a machine readable language for the purpose of declaring some of the semantics of an element."/>
-    </eAnnotations>
-    <eOperations name="boolean_value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The value specification for a constraint must evaluate to a Boolean value.&#xA;true"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="no_side_effects" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Evaluating the value specification for a constraint must not have side effects.&#xA;true"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="not_apply_to_self" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="A constraint cannot be applied to itself.&#xA;not constrainedElement->includes(self)"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="value_specification_boolean" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The value specification for a constraint must evaluate to a Boolean value.&#xA;self.specification().booleanValue().isOclKindOf(Boolean)"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="constrainedElement" upperBound="-1"
-        eType="#//Element">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The ordered set of Elements referenced by this Constraint."/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="context" ordered="false"
-        eType="#//Namespace" eOpposite="#//Namespace/ownedRule">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Specifies the namespace that owns the NamedElement."/>
-      </eAnnotations>
-      <eAnnotations source="subsets" references="#//NamedElement/namespace"/>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="specification" ordered="false"
-        lowerBound="1" eType="#//ValueSpecification" containment="true">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="A condition that must be true when evaluated in order for the constraint to be satisfied."/>
-      </eAnnotations>
-      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
-    </eStructuralFeatures>
-  </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="DataType" eSuperTypes="#//Classifier">
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       <details key="documentation" value="A data type is a type whose instances are identified only by their value. A data type may contain attributes to support the modeling of structured data types."/>
@@ -4951,7 +6754,7 @@
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
         <details key="documentation" value="The Attributes owned by the DataType."/>
       </eAnnotations>
-      <eAnnotations source="subsets" references="#//Classifier/attribute #//Namespace/ownedMember"/>
+      <eAnnotations source="subsets" references="#//Namespace/ownedMember #//Classifier/attribute"/>
     </eStructuralFeatures>
     <eStructuralFeatures xsi:type="ecore:EReference" name="ownedOperation" upperBound="-1"
         eType="#//Operation" containment="true" eOpposite="#//Operation/datatype">
@@ -4961,1670 +6764,6 @@
       <eAnnotations source="subsets" references="#//Classifier/feature #//Namespace/ownedMember"/>
     </eStructuralFeatures>
   </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="Interface" eSuperTypes="#//Classifier">
-    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="Interfaces may include receptions (in addition to operations).&#xA;An interface is a kind of classifier that represents a declaration of a set of coherent public features and obligations. An interface specifies a contract; any instance of a classifier that realizes the interface must fulfill that contract. The obligations that may be associated with an interface are in the form of various kinds of constraints (such as pre- and post-conditions) or protocol specifications, which may impose ordering restrictions on interactions through the interface.&#xA;Since an interface specifies conformance characteristics, it does not own detailed behavior specifications. Instead, interfaces may own a protocol state machine that specifies event sequences and pre/post conditions for the operations and receptions described by the interface."/>
-    </eAnnotations>
-    <eOperations name="visibility" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The visibility of all features owned by an interface must be public.&#xA;self.feature->forAll(f | f.visibility = #public)"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="createOwnedAttribute" ordered="false" lowerBound="1" eType="#//Property">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Creates a property with the specified name, type, lower bound, and upper bound as an owned attribute of this interface."/>
-      </eAnnotations>
-      <eParameters name="name" ordered="false" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//String">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The name for the new attribute, or null."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="type" ordered="false" eType="#//Type">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The type for the new attribute, or null."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="lower" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Integer">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The lower bound for the new attribute."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="upper" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//UnlimitedNatural">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The upper bound for the new attribute."/>
-        </eAnnotations>
-      </eParameters>
-    </eOperations>
-    <eOperations name="createOwnedOperation" ordered="false" lowerBound="1" eType="#//Operation">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Creates an operation with the specified name, parameter names, parameter types, and return type (or null) as an owned operation of this interface."/>
-      </eAnnotations>
-      <eParameters name="name" ordered="false" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//String">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The name for the new operation, or null."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="parameterNames" ordered="false" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//String">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The parameter names for the new operation, or null."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="parameterTypes" ordered="false" upperBound="-1" eType="#//Type">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The parameter types for the new operation, or null."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="returnType" ordered="false" eType="#//Type">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The return type for the new operation, or null."/>
-        </eAnnotations>
-      </eParameters>
-    </eOperations>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="nestedClassifier" upperBound="-1"
-        eType="#//Classifier" containment="true">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="References all the Classifiers that are defined (nested) within the Class."/>
-      </eAnnotations>
-      <eAnnotations source="subsets" references="#//Namespace/ownedMember"/>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedAttribute" upperBound="-1"
-        eType="#//Property" containment="true" eOpposite="#//Property/interface">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The attributes (i.e. the properties) owned by the class."/>
-      </eAnnotations>
-      <eAnnotations source="subsets" references="#//Classifier/attribute #//Namespace/ownedMember"/>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedReception" ordered="false"
-        upperBound="-1" eType="#//Reception" containment="true">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Receptions that objects providing this interface are willing to accept."/>
-      </eAnnotations>
-      <eAnnotations source="subsets" references="#//Classifier/feature #//Namespace/ownedMember"/>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="protocol" ordered="false"
-        eType="#//ProtocolStateMachine" containment="true">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="References a protocol state machine specifying the legal sequences of the invocation of the behavioral features described in the interface."/>
-      </eAnnotations>
-      <eAnnotations source="subsets" references="#//Namespace/ownedMember"/>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="redefinedInterface" ordered="false"
-        upperBound="-1" eType="#//Interface">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="References all the Interfaces redefined by this Interface."/>
-      </eAnnotations>
-      <eAnnotations source="subsets" references="#//Classifier/redefinedClassifier"/>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedOperation" upperBound="-1"
-        eType="#//Operation" containment="true" eOpposite="#//Operation/interface">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The operations owned by the class."/>
-      </eAnnotations>
-      <eAnnotations source="subsets" references="#//Classifier/feature #//Namespace/ownedMember"/>
-    </eStructuralFeatures>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="Reception" eSuperTypes="#//BehavioralFeature">
-    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="A reception is a declaration stating that a classifier is prepared to react to the receipt of a signal. A reception designates a signal and specifies the expected behavioral response. The details of handling a signal are specified by the behavior associated with the reception or the classifier itself."/>
-    </eAnnotations>
-    <eOperations name="not_query" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="A Reception can not be a query.&#xA;not self.isQuery"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="signal" ordered="false"
-        lowerBound="1" eType="#//Signal">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The signal that this reception handles."/>
-      </eAnnotations>
-    </eStructuralFeatures>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="Signal" eSuperTypes="#//Classifier">
-    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="A signal is a specification of send request instances communicated between objects. The receiving object handles the received request instances as specified by its receptions. The data carried by a send request (which was passed to it by the send invocation occurrence that caused that request) are represented as attributes of the signal. A signal is defined independently of the classifiers handling the signal occurrence."/>
-    </eAnnotations>
-    <eOperations name="createOwnedAttribute" ordered="false" lowerBound="1" eType="#//Property">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Creates a property with the specified name, type, lower bound, and upper bound as an owned attribute of this signal."/>
-      </eAnnotations>
-      <eParameters name="name" ordered="false" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//String">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The name for the new attribute, or null."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="type" ordered="false" eType="#//Type">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The type for the new attribute, or null."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="lower" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Integer">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The lower bound for the new attribute."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="upper" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//UnlimitedNatural">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The upper bound for the new attribute."/>
-        </eAnnotations>
-      </eParameters>
-    </eOperations>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedAttribute" upperBound="-1"
-        eType="#//Property" containment="true">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The attributes owned by the signal."/>
-      </eAnnotations>
-      <eAnnotations source="subsets" references="#//Classifier/attribute #//Namespace/ownedMember"/>
-    </eStructuralFeatures>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="ProtocolStateMachine" eSuperTypes="#//StateMachine">
-    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="A protocol state machine is always defined in the context of a classifier. It specifies which operations of the classifier can be called in which state and under which condition, thus specifying the allowed call sequences on the classifier's operations. A protocol state machine presents the possible and permitted transitions on the instances of its context classifier, together with the operations which carry the transitions. In this manner, an instance lifecycle can be created for a classifier, by specifying the order in which the operations can be activated and the states through which an instance progresses during its existence."/>
-    </eAnnotations>
-    <eAnnotations source="duplicates">
-      <contents xsi:type="ecore:EOperation" name="classifier_context" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="A protocol state machine must only have a classifier context, not a behavioral feature context.&#xA;(not context->isEmpty( )) and specification->isEmpty()"/>
-        </eAnnotations>
-        <eAnnotations source="redefines" references="#//StateMachine/classifier_context"/>
-        <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-            <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-          </eAnnotations>
-        </eParameters>
-        <eParameters name="context">
-          <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-            <details key="documentation" value="The cache of context-specific information."/>
-          </eAnnotations>
-          <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          </eGenericType>
-        </eParameters>
-      </contents>
-    </eAnnotations>
-    <eOperations name="deep_or_shallow_history" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Protocol state machines cannot have deep or shallow history pseudostates.&#xA;region->forAll (r | r.subvertex->forAll (v | v.oclIsKindOf(Psuedostate) implies&#xA;((v.kind &lt;> #deepHistory) and (v.kind &lt;> #shallowHistory)))))&#xA;"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="entry_exit_do" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The states of a protocol state machine cannot have entry, exit, or do activity actions.&#xA;region->forAll(r | r.subvertex->forAll(v | v.oclIsKindOf(State) implies&#xA;(v.entry->isEmpty() and v.exit->isEmpty() and v.doActivity->isEmpty())))&#xA;"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="ports_connected" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="If two ports are connected, then the protocol state machine of the required interface (if defined) must be conformant to the protocol state machine of the provided interface (if defined).&#xA;true"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="protocol_transitions" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="All transitions of a protocol state machine must be protocol transitions. (transitions as extended by the ProtocolStateMachines package)&#xA;region->forAll(r | r.transition->forAll(t | t.oclIsTypeOf(ProtocolTransition)))"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="conformance" ordered="false"
-        upperBound="-1" eType="#//ProtocolConformance" containment="true" eOpposite="#//ProtocolConformance/specificMachine">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Conformance between protocol state machines."/>
-      </eAnnotations>
-      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
-    </eStructuralFeatures>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="StateMachine" eSuperTypes="#//Behavior">
-    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="State machines can be used to express the behavior of part of a system. Behavior is modeled as a traversal of a graph of state nodes interconnected by one or more joined transition arcs that are triggered by the dispatching of series of (event) occurrences. During this traversal, the state machine executes a series of activities associated with various elements of the state machine."/>
-    </eAnnotations>
-    <eAnnotations source="duplicates">
-      <contents xsi:type="ecore:EOperation" name="isConsistentWith" ordered="false"
-          lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The query isConsistentWith() specifies that a redefining state machine is consistent with a redefined state machine provided that the redefining state machine is an extension of the redefined state machine: Regions are inherited and regions can be added, inherited regions can be redefined. In case of multiple redefining state machines, extension implies that the redefining state machine gets orthogonal regions for each of the redefined state machines.&#xA;result = true"/>
-        </eAnnotations>
-        <eAnnotations source="redefines" references="#//RedefinableElement/isConsistentWith"/>
-        <eParameters name="redefinee" ordered="false" lowerBound="1" eType="#//RedefinableElement"/>
-      </contents>
-    </eAnnotations>
-    <eOperations name="connection_points" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The connection points of a state machine are pseudostates of kind entry point or exit point.&#xA;conectionPoint->forAll (c | c.kind = #entryPoint or c.kind = #exitPoint)"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="classifier_context" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The classifier context of a state machine cannot be an interface.&#xA;context->notEmpty() implies not context.oclIsKindOf(Interface)"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="method" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="A state machine as the method for a behavioral feature cannot have entry/exit connection points.&#xA;specification->notEmpty() implies connectionPoint->isEmpty()"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="context_classifier" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The context classifier of the method state machine of a behavioral feature must be the classifier that owns the behavioral feature.&#xA;specification->notEmpty() implies (context->notEmpty() and specification->featuringClassifier->exists (c | c = context))"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="LCA" ordered="false" lowerBound="1" eType="#//Namespace">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The operation LCA(s1,s2) returns an orthogonal state or region which is the least common ancestor of states s1 and s2, based on the statemachine containment hierarchy.&#xA;true"/>
-      </eAnnotations>
-      <eParameters name="s1" ordered="false" lowerBound="1" eType="#//State"/>
-      <eParameters name="s2" ordered="false" lowerBound="1" eType="#//State"/>
-    </eOperations>
-    <eOperations name="ancestor" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The query ancestor(s1, s2) checks whether s1 is an ancestor state of state s2.&#xA;result = &#xA;if (s2 = s1) then &#xA;&#x9;true &#xA;else &#xA;&#x9;if (s2.container->isEmpty() or not s2.container.owner.oclIsKindOf(State)) then &#xA;&#x9;&#x9;false &#xA;&#x9;else &#xA;&#x9;&#x9;ancestor(s1, s2.container.owner.oclAsType(State))&#xA;&#x9;endif&#xA;endif &#xA;"/>
-      </eAnnotations>
-      <eParameters name="s1" ordered="false" lowerBound="1" eType="#//State"/>
-      <eParameters name="s2" ordered="false" lowerBound="1" eType="#//State"/>
-    </eOperations>
-    <eOperations name="isRedefinitionContextValid" ordered="false" lowerBound="1"
-        eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The query isRedefinitionContextValid() specifies whether the redefinition contexts of a statemachine are properly related to the redefinition contexts of the specified statemachine to allow this element to redefine the other. The containing classifier of a redefining statemachine must redefine the containing classifier of the redefined statemachine.&#xA;result = true"/>
-      </eAnnotations>
-      <eAnnotations source="redefines" references="#//RedefinableElement/isRedefinitionContextValid"/>
-      <eParameters name="redefined" ordered="false" lowerBound="1" eType="#//StateMachine"/>
-    </eOperations>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="connectionPoint" ordered="false"
-        upperBound="-1" eType="#//Pseudostate" containment="true" eOpposite="#//Pseudostate/stateMachine">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The connection points defined for this state machine. They represent the interface of the state machine when used as part of submachine state."/>
-      </eAnnotations>
-      <eAnnotations source="subsets" references="#//Namespace/ownedMember"/>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="submachineState" ordered="false"
-        upperBound="-1" eType="#//State" eOpposite="#//State/submachine">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="References the submachine(s) in case of a submachine state. Multiple machines are referenced in case of a concurrent state."/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="region" ordered="false"
-        lowerBound="1" upperBound="-1" eType="#//Region" containment="true" eOpposite="#//Region/stateMachine">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The regions owned directly by the state machine."/>
-      </eAnnotations>
-      <eAnnotations source="subsets" references="#//Namespace/ownedMember"/>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="extendedStateMachine" ordered="false"
-        upperBound="-1" eType="#//StateMachine">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The state machines of which this is an extension."/>
-      </eAnnotations>
-      <eAnnotations source="redefines" references="#//Behavior/redefinedBehavior"/>
-    </eStructuralFeatures>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="Pseudostate" eSuperTypes="#//Vertex">
-    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="A pseudostate is an abstraction that encompasses different types of transient vertices in the state machine graph."/>
-    </eAnnotations>
-    <eOperations name="transitions_outgoing" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="All transitions outgoing a fork vertex must target states in different regions of an orthogonal state.&#xA;(self.kind = #fork) implies&#xA;  self.outgoing->forAll (t1, t2 | t1&lt;>t2 implies&#xA;    (self.stateMachine.LCA(t1.target, t2.target).container.isOrthogonal))"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="choice_vertex" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="In a complete statemachine, a choice vertex must have at least one incoming and one outgoing transition.&#xA;(self.kind = #choice) implies&#xA;((self.incoming->size >= 1) and (self.outgoing->size >= 1))&#xA;"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="outgoing_from_initial" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The outgoing transition from and initial vertex may have a behavior, but not a trigger or a guard.&#xA;(self.kind = #initial) implies (self.outgoing.guard->isEmpty()&#xA;  and self.outgoing.trigger->isEmpty())"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="join_vertex" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="In a complete statemachine, a join vertex must have at least two incoming transitions and exactly one outgoing transition.&#xA;(self.kind = #join) implies&#xA;((self.outgoing->size = 1) and (self.incoming->size >= 2))&#xA;"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="junction_vertex" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="In a complete statemachine, a junction vertex must have at least one incoming and one outgoing transition.&#xA;(self.kind = #junction) implies&#xA;((self.incoming->size >= 1) and (self.outgoing->size >= 1))&#xA;"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="history_vertices" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="History vertices can have at most one outgoing transition.&#xA;((self.kind = #deepHistory) or (self.kind = #shallowHistory)) implies&#xA;(self.outgoing->size &lt;= 1)&#xA;"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="initial_vertex" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="An initial vertex can have at most one outgoing transition.&#xA;(self.kind = #initial) implies (self.outgoing->size &lt;= 1)"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="fork_vertex" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="In a complete statemachine, a fork vertex must have at least two outgoing transitions and exactly one incoming transition.&#xA;(self.kind = #fork) implies&#xA;((self.incoming->size = 1) and (self.outgoing->size >= 2))&#xA;"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="transitions_incoming" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="All transitions incoming a join vertex must originate in different regions of an orthogonal state.&#xA;(self.kind = #join) implies&#xA;  self.incoming->forAll (t1, t2 | t1&lt;>t2 implies&#xA;    (self.stateMachine.LCA(t1.source, t2.source).container.isOrthogonal))"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="state" ordered="false"
-        eType="#//State" eOpposite="#//State/connectionPoint">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The State that owns this pseudostate and in which it appears."/>
-      </eAnnotations>
-      <eAnnotations source="subsets" references="#//NamedElement/namespace"/>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" ordered="false" lowerBound="1"
-        eType="#//PseudostateKind" defaultValueLiteral="initial">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Determines the precise type of the Pseudostate and can be one of: entryPoint, exitPoint, initial, deepHistory, shallowHistory, join, fork, junction, terminate or choice."/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="stateMachine" ordered="false"
-        eType="#//StateMachine" eOpposite="#//StateMachine/connectionPoint">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The StateMachine in which this Pseudostate is defined. This only applies to Pseudostates of the kind entryPoint or exitPoint."/>
-      </eAnnotations>
-      <eAnnotations source="subsets" references="#//NamedElement/namespace"/>
-    </eStructuralFeatures>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="Vertex" abstract="true" eSuperTypes="#//NamedElement">
-    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="A vertex is an abstraction of a node in a state machine graph. In general, it can be the source or destination of any number of transitions."/>
-    </eAnnotations>
-    <eOperations name="containingStateMachine" ordered="false" lowerBound="1" eType="#//StateMachine">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The operation containingStateMachine() returns the state machine in which this Vertex is defined&#xA;result = if not container->isEmpty()&#xA;then&#xA;-- the container is a region&#xA;container.containingStateMachine()&#xA;else if (oclIsKindOf(Pseudostate)) then&#xA;-- entry or exit point?&#xA;if (kind = #entryPoint) or (kind = #exitPoint) then&#xA;stateMachine&#xA;else if (oclIsKindOf(ConnectionPointReference)) then&#xA;state.containingStateMachine() -- no other valid cases possible&#xA;endif&#xA;"/>
-      </eAnnotations>
-    </eOperations>
-    <eOperations name="getIncomings" ordered="false" upperBound="-1" eType="#//Transition">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Missing derivation for Vertex::/incoming : Transition&#xA;result = Transition.allInstances()->select(t | t.target=self)"/>
-        <details key="suppressedVisibility" value="true"/>
-      </eAnnotations>
-    </eOperations>
-    <eOperations name="getOutgoings" ordered="false" upperBound="-1" eType="#//Transition">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Missing derivation for Vertex::/outgoing : Transition&#xA;result = Transition.allInstances()->select(t | t.source=self)"/>
-        <details key="suppressedVisibility" value="true"/>
-      </eAnnotations>
-    </eOperations>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="container" ordered="false"
-        eType="#//Region" eOpposite="#//Region/subvertex">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The region that contains this vertex."/>
-      </eAnnotations>
-      <eAnnotations source="subsets" references="#//NamedElement/namespace"/>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="incoming" ordered="false"
-        upperBound="-1" eType="#//Transition" changeable="false" volatile="true" transient="true"
-        derived="true">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Specifies the transitions entering this vertex."/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="outgoing" ordered="false"
-        upperBound="-1" eType="#//Transition" changeable="false" volatile="true" transient="true"
-        derived="true">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Specifies the transitions departing from this vertex."/>
-      </eAnnotations>
-    </eStructuralFeatures>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="Region" eSuperTypes="#//Namespace #//RedefinableElement">
-    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="A region is an orthogonal part of either a composite state or a state machine. It contains states and transitions."/>
-    </eAnnotations>
-    <eAnnotations source="duplicates">
-      <contents xsi:type="ecore:EOperation" name="isConsistentWith" ordered="false"
-          lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The query isConsistentWith() specifies that a redefining region is consistent with a redefined region provided that the redefining region is an extension of the redefined region, i.e. it adds vertices and transitions and it redefines states and transitions of the redefined region.&#xA;result = true"/>
-        </eAnnotations>
-        <eAnnotations source="redefines" references="#//RedefinableElement/isConsistentWith"/>
-        <eParameters name="redefinee" ordered="false" lowerBound="1" eType="#//RedefinableElement"/>
-      </contents>
-      <contents xsi:type="ecore:EReference" name="redefinitionContext" ordered="false"
-          upperBound="-1" eType="#//Classifier" changeable="false" volatile="true"
-          transient="true" derived="true">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="References the classifier in which context this element may be redefined."/>
-        </eAnnotations>
-        <eAnnotations source="redefines" references="#//RedefinableElement/redefinitionContext"/>
-      </contents>
-    </eAnnotations>
-    <eOperations name="deep_history_vertex" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="A region can have at most one deep history vertex&#xA;self.subvertex->select (v | v.oclIsKindOf(Pseudostate))->&#xA;select(p : Pseudostate | p.kind = #deepHistory)->size() &lt;= 1&#xA;"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="shallow_history_vertex" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="A region can have at most one shallow history vertex&#xA;self.subvertex->select(v | v.oclIsKindOf(Pseudostate))->&#xA;select(p : Pseudostate | p.kind = #shallowHistory)->size() &lt;= 1&#xA;"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="owned" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="If a Region is owned by a StateMachine, then it cannot also be owned by a State and vice versa.&#xA;(stateMachine->notEmpty() implies state->isEmpty()) and (state->notEmpty() implies stateMachine->isEmpty())"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="initial_vertex" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="A region can have at most one initial vertex&#xA;self.subvertex->select (v | v.oclIsKindOf(Pseudostate))->&#xA;select(p : Pseudostate | p.kind = #initial)->size() &lt;= 1&#xA;"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="belongsToPSM" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The operation belongsToPSM () checks if the region belongs to a protocol state machine&#xA;result = if not stateMachine->isEmpty() then&#xA;oclIsTypeOf(ProtocolStateMachine)&#xA;else if not state->isEmpty() then&#xA;state.container.belongsToPSM ()&#xA;else false"/>
-      </eAnnotations>
-    </eOperations>
-    <eOperations name="containingStateMachine" ordered="false" lowerBound="1" eType="#//StateMachine">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The operation containingStateMachine() returns the sate machine in which this Region is defined&#xA;result = if stateMachine->isEmpty() &#xA;then&#xA;state.containingStateMachine()&#xA;else&#xA;stateMachine&#xA;endif"/>
-      </eAnnotations>
-    </eOperations>
-    <eOperations name="isRedefinitionContextValid" ordered="false" lowerBound="1"
-        eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The query isRedefinitionContextValid() specifies whether the redefinition contexts of a region are properly related to the redefinition contexts of the specified region to allow this element to redefine the other. The containing statemachine/state of a redefining region must redefine the containing statemachine/state of the redefined region.&#xA;result = true"/>
-      </eAnnotations>
-      <eAnnotations source="redefines" references="#//RedefinableElement/isRedefinitionContextValid"/>
-      <eParameters name="redefined" ordered="false" lowerBound="1" eType="#//Region"/>
-    </eOperations>
-    <eOperations name="redefinitionContext" ordered="false" lowerBound="1" eType="#//Classifier">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The redefinition context of a region is the nearest containing statemachine&#xA;result = let sm = containingStateMachine() in&#xA;if sm.context->isEmpty() or sm.general->notEmpty() then&#xA;sm&#xA;else&#xA;sm.context&#xA;endif"/>
-      </eAnnotations>
-    </eOperations>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="extendedRegion" ordered="false"
-        eType="#//Region">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The region of which this region is an extension."/>
-      </eAnnotations>
-      <eAnnotations source="subsets" references="#//RedefinableElement/redefinedElement"/>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="state" ordered="false"
-        eType="#//State" eOpposite="#//State/region">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The State that owns the Region. If a Region is owned by a State, then it cannot also be owned by a StateMachine."/>
-      </eAnnotations>
-      <eAnnotations source="subsets" references="#//NamedElement/namespace"/>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="stateMachine" ordered="false"
-        eType="#//StateMachine" eOpposite="#//StateMachine/region">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The StateMachine that owns the Region. If a Region is owned by a StateMachine, then it cannot also be owned by a State."/>
-      </eAnnotations>
-      <eAnnotations source="subsets" references="#//NamedElement/namespace"/>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="transition" ordered="false"
-        upperBound="-1" eType="#//Transition" containment="true" eOpposite="#//Transition/container">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The set of transitions owned by the region."/>
-      </eAnnotations>
-      <eAnnotations source="subsets" references="#//Namespace/ownedMember"/>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="subvertex" ordered="false"
-        upperBound="-1" eType="#//Vertex" containment="true" eOpposite="#//Vertex/container">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The set of vertices that are owned by this region."/>
-      </eAnnotations>
-      <eAnnotations source="subsets" references="#//Namespace/ownedMember"/>
-    </eStructuralFeatures>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="State" eSuperTypes="#//Namespace #//RedefinableElement #//Vertex">
-    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="A state models a situation during which some (usually implicit) invariant condition holds.&#xA;The states of protocol state machines are exposed to the users of their context classifiers. A protocol state represents an exposed stable situation of its context classifier: when an instance of the classifier is not processing any operation, users of this instance can always know its state configuration."/>
-    </eAnnotations>
-    <eAnnotations source="duplicates">
-      <contents xsi:type="ecore:EOperation" name="containingStateMachine" ordered="false"
-          lowerBound="1" eType="#//StateMachine">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The query containingStateMachine() returns the state machine that contains the state either directly or transitively.&#xA;result = container.containingStateMachine()"/>
-        </eAnnotations>
-        <eAnnotations source="redefines" references="#//Vertex/containingStateMachine"/>
-      </contents>
-      <contents xsi:type="ecore:EOperation" name="isConsistentWith" ordered="false"
-          lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The query isConsistentWith() specifies that a redefining state is consistent with a redefined state provided that the redefining state is an extension of the redefined state: A simple state can be redefined (extended) to become a composite state (by adding a region) and a composite state can be redefined (extended) by adding regions and by adding vertices, states, and transitions to inherited regions. All states may add or replace entry, exit, and 'doActivity' actions.&#xA;result = true"/>
-        </eAnnotations>
-        <eAnnotations source="redefines" references="#//RedefinableElement/isConsistentWith"/>
-        <eParameters name="redefinee" ordered="false" lowerBound="1" eType="#//RedefinableElement"/>
-      </contents>
-      <contents xsi:type="ecore:EReference" name="redefinitionContext" ordered="false"
-          upperBound="-1" eType="#//Classifier" changeable="false" volatile="true"
-          transient="true" derived="true">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="References the classifier in which context this element may be redefined."/>
-        </eAnnotations>
-        <eAnnotations source="redefines" references="#//RedefinableElement/redefinitionContext"/>
-      </contents>
-    </eAnnotations>
-    <eOperations name="entry_or_exit" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Only entry or exit pseudostates can serve as connection points.&#xA;connectionPoint->forAll(cp|cp.kind = #entry or cp.kind = #exit)"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="submachine_states" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Only submachine states can have connection point references.&#xA;isSubmachineState implies connection->notEmpty ( )"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="composite_states" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Only composite states can have entry or exit pseudostates defined.&#xA;connectionPoint->notEmpty() implies isComoposite"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="destinations_or_sources_of_transitions" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The connection point references used as destinations/sources of transitions associated with a submachine state must be defined as entry/exit points in the submachine state machine.&#xA;self.isSubmachineState implies (self.connection->forAll (cp |&#xA;cp.entry->forAll (p | p.statemachine = self.submachine) and&#xA;cp.exit->forAll (p | p.statemachine = self.submachine)))"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="submachine_or_regions" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="A state is not allowed to have both a submachine and regions.&#xA;isComposite implies not isSubmachineState"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="isComposite" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="A composite state is a state with at least one region.&#xA;result = region.notEmpty()"/>
-      </eAnnotations>
-    </eOperations>
-    <eOperations name="isOrthogonal" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="An orthogonal state is a composite state with at least 2 regions&#xA;result = (region->size () > 1)"/>
-      </eAnnotations>
-    </eOperations>
-    <eOperations name="isRedefinitionContextValid" ordered="false" lowerBound="1"
-        eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The query isRedefinitionContextValid() specifies whether the redefinition contexts of a state are properly related to the redefinition contexts of the specified state to allow this element to redefine the other. The containing region of a redefining state must redefine the containing region of the redefined state.&#xA;result = true"/>
-      </eAnnotations>
-      <eAnnotations source="redefines" references="#//RedefinableElement/isRedefinitionContextValid"/>
-      <eParameters name="redefined" ordered="false" lowerBound="1" eType="#//State"/>
-    </eOperations>
-    <eOperations name="isSimple" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="A simple state is a state without any regions.&#xA;result = region.isEmpty()"/>
-      </eAnnotations>
-    </eOperations>
-    <eOperations name="isSubmachineState" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Only submachine states can have a reference statemachine.&#xA;result = submachine.notEmpty()"/>
-      </eAnnotations>
-    </eOperations>
-    <eOperations name="redefinitionContext" ordered="false" lowerBound="1" eType="#//Classifier">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The redefinition context of a state is the nearest containing statemachine.&#xA;result = let sm = containingStateMachine() in&#xA;if sm.context->isEmpty() or sm.general->notEmpty() then&#xA;sm&#xA;else&#xA;sm.context&#xA;endif"/>
-      </eAnnotations>
-    </eOperations>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="connection" ordered="false"
-        upperBound="-1" eType="#//ConnectionPointReference" containment="true" eOpposite="#//ConnectionPointReference/state">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The entry and exit connection points used in conjunction with this (submachine) state, i.e. as targets and sources, respectively, in the region with the submachine state. A connection point reference references the corresponding definition of a connection point pseudostate in the statemachine referenced by the submachinestate."/>
-      </eAnnotations>
-      <eAnnotations source="subsets" references="#//Namespace/ownedMember"/>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="connectionPoint" ordered="false"
-        upperBound="-1" eType="#//Pseudostate" containment="true" eOpposite="#//Pseudostate/state">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The entry and exit pseudostates of a composite state. These can only be entry or exit Pseudostates, and they must have different names. They can only be defined for composite states."/>
-      </eAnnotations>
-      <eAnnotations source="subsets" references="#//Namespace/ownedMember"/>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="deferrableTrigger" ordered="false"
-        upperBound="-1" eType="#//Trigger" containment="true">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="A list of triggers that are candidates to be retained by the state machine if they trigger no transitions out of the state (not consumed). A deferred trigger is retained until the state machine reaches a state configuration where it is no longer deferred."/>
-      </eAnnotations>
-      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="doActivity" ordered="false"
-        eType="#//Behavior" containment="true">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="An optional behavior that is executed while being in the state. The execution starts when this state is entered, and stops either by itself, or when the state is exited, whichever comes first."/>
-      </eAnnotations>
-      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="entry" ordered="false"
-        eType="#//Behavior" containment="true">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="An optional behavior that is executed whenever this state is entered regardless of the transition taken to reach the state. If defined, entry actions are always executed to completion prior to any internal behavior or transitions performed within the state."/>
-      </eAnnotations>
-      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="exit" ordered="false" eType="#//Behavior"
-        containment="true">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="An optional behavior that is executed whenever this state is exited regardless of which transition was taken out of the state. If defined, exit actions are always executed to completion only after all internal activities and transition actions have completed execution."/>
-      </eAnnotations>
-      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isComposite" ordered="false"
-        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean"
-        changeable="false" volatile="true" transient="true" defaultValueLiteral="false"
-        derived="true">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="A state with isComposite=true is said to be a composite state. A composite state is a state that contains at least one region."/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isOrthogonal" ordered="false"
-        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean"
-        changeable="false" volatile="true" transient="true" defaultValueLiteral="false"
-        derived="true">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="A state with isOrthogonal=true is said to be an orthogonal composite state. An orthogonal composite state contains two or more regions."/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isSimple" ordered="false"
-        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean"
-        changeable="false" volatile="true" transient="true" defaultValueLiteral="true"
-        derived="true">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="A state with isSimple=true is said to be a simple state. A simple state does not have any regions and it does not refer to any submachine state machine."/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isSubmachineState" ordered="false"
-        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean"
-        changeable="false" volatile="true" transient="true" defaultValueLiteral="false"
-        derived="true">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="A state with isSubmachineState=true is said to be a submachine state. Such a state refers to a state machine (submachine)."/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="redefinedState" ordered="false"
-        eType="#//State">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The state of which this state is a redefinition."/>
-      </eAnnotations>
-      <eAnnotations source="subsets" references="#//RedefinableElement/redefinedElement"/>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="stateInvariant" ordered="false"
-        eType="#//Constraint">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Specifies conditions that are always true when this state is the current state. In protocol state machines, state invariants are additional conditions to the preconditions of the outgoing transitions, and to the postcondition of the incoming transitions."/>
-      </eAnnotations>
-      <eAnnotations source="subsets" references="#//Namespace/ownedRule"/>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="submachine" ordered="false"
-        eType="#//StateMachine" eOpposite="#//StateMachine/submachineState">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The state machine that is to be inserted in place of the (submachine) state."/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="region" ordered="false"
-        upperBound="-1" eType="#//Region" containment="true" eOpposite="#//Region/state">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The regions owned directly by the state."/>
-      </eAnnotations>
-      <eAnnotations source="subsets" references="#//Namespace/ownedMember"/>
-    </eStructuralFeatures>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="ConnectionPointReference" eSuperTypes="#//Vertex">
-    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="A connection point reference represents a usage (as part of a submachine state) of an entry/exit point defined in the statemachine reference by the submachine state."/>
-    </eAnnotations>
-    <eOperations name="exit_pseudostates" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The exit Pseudostates must be Pseudostates with kind exitPoint.&#xA;exit->notEmpty() implies exit->forAll(e | e.kind = #exitPoint)"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="entry_pseudostates" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The entry Pseudostates must be Pseudostates with kind entryPoint.&#xA;entry->notEmpty() implies entry->forAll(e | e.kind = #entryPoint)"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="entry" ordered="false"
-        upperBound="-1" eType="#//Pseudostate">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The entryPoint kind pseudo states corresponding to this connection point."/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="exit" ordered="false" upperBound="-1"
-        eType="#//Pseudostate">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The exitPoints kind pseudo states corresponding to this connection point."/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="state" ordered="false"
-        eType="#//State" eOpposite="#//State/connection">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The State in which the connection point refreshens are defined."/>
-      </eAnnotations>
-      <eAnnotations source="subsets" references="#//NamedElement/namespace"/>
-    </eStructuralFeatures>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="Trigger" eSuperTypes="#//NamedElement">
-    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="A trigger relates an event to a behavior that may affect an instance of the classifier.&#xA;A trigger specification may be qualified by the port on which the event occurred."/>
-    </eAnnotations>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="event" ordered="false"
-        lowerBound="1" eType="#//Event">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The event that causes the trigger."/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="port" ordered="false" upperBound="-1"
-        eType="#//Port">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="A optional port of the receiver object on which the behavioral feature is invoked."/>
-      </eAnnotations>
-    </eStructuralFeatures>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="Event" abstract="true" eSuperTypes="#//PackageableElement">
-    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="An event is the specification of some occurrence that may potentially trigger effects by an object."/>
-    </eAnnotations>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="Port" eSuperTypes="#//Property">
-    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="A port is a property of a classifier that specifies a distinct interaction point between that classifier and its environment or between the (behavior of the) classifier and its internal parts. Ports are connected to properties of the classifier by connectors through which requests can be made to invoke the behavioral features of a classifier. A Port may specify the services a classifier provides (offers) to its environment as well as the services that a classifier expects (requires) of its environment.&#xA;A port has an associated protocol state machine."/>
-    </eAnnotations>
-    <eOperations name="port_destroyed" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="When a port is destroyed, all connectors attached to this port will be destroyed also.&#xA;true"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="port_aggregation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Port.aggregation must be composite.&#xA;true"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="default_value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="A defaultValue for port cannot be specified when the type of the Port is an Interface&#xA;true"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="getProvideds" ordered="false" upperBound="-1" eType="#//Interface">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Missing derivation for Port::/provided : Interface&#xA;true"/>
-        <details key="suppressedVisibility" value="true"/>
-      </eAnnotations>
-    </eOperations>
-    <eOperations name="getRequireds" ordered="false" upperBound="-1" eType="#//Interface">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Missing derivation for Port::/required : Interface&#xA;true"/>
-        <details key="suppressedVisibility" value="true"/>
-      </eAnnotations>
-    </eOperations>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isBehavior" ordered="false"
-        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean"
-        defaultValueLiteral="false">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Specifies whether requests arriving at this port are sent to the classifier behavior of this classifier. Such ports are referred to as behavior port. Any invocation of a behavioral feature targeted at a behavior port will be handled by the instance of the owning classifier itself, rather than by any instances that this classifier may contain."/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isConjugated" ordered="false"
-        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean"
-        defaultValueLiteral="false">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Specifies the way that the provided and required interfaces are derived from the Port’s Type. The default value is false."/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isService" ordered="false"
-        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean"
-        defaultValueLiteral="true">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="If true indicates that this port is used to provide the published functionality of a classifier; if false, this port is used to implement the classifier but is not part of the essential externally-visible functionality of the classifier and can, therefore, be altered or deleted along with the internal implementation of the classifier and other properties that are considered part of its implementation."/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="protocol" ordered="false"
-        eType="#//ProtocolStateMachine">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="References an optional protocol state machine which describes valid interactions at this interaction point."/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="provided" ordered="false"
-        upperBound="-1" eType="#//Interface" changeable="false" volatile="true" transient="true"
-        derived="true">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="References the interfaces specifying the set of operations and receptions that the classifier offers to its environment via this port, and which it will handle either directly or by forwarding it to a part of its internal structure. This association is derived according to the value of isConjugated. If isConjugated is false, provided is derived as the union of the sets of interfaces realized by the type of the port and its supertypes, or directly from the type of the port if the port is typed by an interface. If isConjugated is true, it is derived as the union of the sets of interfaces used by the type of the port and its supertypes."/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="redefinedPort" ordered="false"
-        upperBound="-1" eType="#//Port">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="A port may be redefined when its containing classifier is specialized. The redefining port may have additional interfaces to those that are associated with the redefined port or it may replace an interface by one of its subtypes."/>
-      </eAnnotations>
-      <eAnnotations source="subsets" references="#//Property/redefinedProperty"/>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="required" ordered="false"
-        upperBound="-1" eType="#//Interface" changeable="false" volatile="true" transient="true"
-        derived="true">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="References the interfaces specifying the set of operations and receptions that the classifier expects its environment to handle via this port. This association is derived according to the value of isConjugated. If isConjugated is false, required is derived as the union of the sets of interfaces used by the type of the port and its supertypes. If isConjugated is true, it is derived as the union of the sets of interfaces realized by the type of the port and its supertypes, or directly from the type of the port if the port is typed by an interface."/>
-      </eAnnotations>
-    </eStructuralFeatures>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="Transition" eSuperTypes="#//Namespace #//RedefinableElement">
-    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="A transition is a directed relationship between a source vertex and a target vertex. It may be part of a compound transition, which takes the state machine from one state configuration to another, representing the complete response of the state machine to an occurrence of an event of a particular type."/>
-    </eAnnotations>
-    <eAnnotations source="duplicates">
-      <contents xsi:type="ecore:EOperation" name="isConsistentWith" ordered="false"
-          lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The query isConsistentWith() specifies that a redefining transition is consistent with a redefined transition provided that the redefining transition has the following relation to the redefined transition: A redefining transition redefines all properties of the corresponding redefined transition, except the source state and the trigger.&#xA;result = (redefinee.oclIsKindOf(Transition) and&#xA;  let trans: Transition = redefinee.oclAsType(Transition) in&#xA;    (source() = trans.source() and trigger() = tran.trigger())&#xA;redefinee.isRedefinitionContextValid(self)"/>
-        </eAnnotations>
-        <eAnnotations source="redefines" references="#//RedefinableElement/isConsistentWith"/>
-        <eParameters name="redefinee" ordered="false" lowerBound="1" eType="#//RedefinableElement"/>
-      </contents>
-      <contents xsi:type="ecore:EReference" name="redefinitionContext" ordered="false"
-          upperBound="-1" eType="#//Classifier" changeable="false" volatile="true"
-          transient="true" derived="true">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="References the classifier in which context this element may be redefined."/>
-        </eAnnotations>
-        <eAnnotations source="redefines" references="#//RedefinableElement/redefinitionContext"/>
-      </contents>
-    </eAnnotations>
-    <eOperations name="state_is_external" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="A transition with kind external can source any vertex except entry points.&#xA;(kind = TransitionKind::external) implies&#xA;&#x9;not (source.oclIsKindOf(Pseudostate) and source.oclAsType(Pseudostate).kind = PseudostateKind::entryPoint)"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="join_segment_guards" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="A join segment must not have guards or triggers.&#xA;(target.oclIsKindOf(Pseudostate) and target.kind = #join) implies (guard->isEmpty() and trigger->isEmpty())"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="state_is_internal" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="A transition with kind internal must have a state as its source, and its source and target must be equal.&#xA;(kind = TransitionKind::internal) implies&#xA;&#x9;&#x9;(source.oclIsKindOf (State) and source = target)"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="outgoing_pseudostates" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Transitions outgoing pseudostates may not have a trigger.&#xA;source.oclIsKindOf(Pseudostate) and (source.kind &lt;> #initial)) implies trigger->isEmpty()"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="join_segment_state" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="A join segment must always originate from a state.&#xA;(target.oclIsKindOf(Pseudostate) and target.kind = #join) implies (source.oclIsKindOf(State))"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="fork_segment_state" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="A fork segment must always target a state.&#xA;(source.oclIsKindOf(Pseudostate) and source.kind = #fork) implies (target.oclIsKindOf(State))"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="signatures_compatible" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="In case of more than one trigger, the signatures of these must be compatible in case the parameters of the signal are assigned to local variables/attributes.&#xA;true"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="state_is_local" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="A transition with kind local must have a composite state or an entry point as its source.&#xA;(kind = TransitionKind::local) implies&#xA;&#x9;&#x9;((source.oclIsKindOf (State) and source.oclAsType(State).isComposite) or&#xA;&#x9;&#x9;(source.oclIsKindOf (Pseudostate) and source.oclAsType(Pseudostate).kind = PseudostateKind::entryPoint))"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="initial_transition" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="An initial transition at the topmost level (region of a statemachine) either has no trigger or it has a trigger with the stereotype >.&#xA;self.source.oclIsKindOf(Pseudostate) implies&#xA;(self.source.oclAsType(Pseudostate).kind = #initial) implies&#xA;(self.source.container = self.stateMachine.top) implies&#xA;((self.trigger->isEmpty) or&#xA;(self.trigger.stereotype.name = 'create'))&#xA;"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="fork_segment_guards" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="A fork segment must not have guards or triggers.&#xA;(source.oclIsKindOf(Pseudostate) and source.kind = #fork) implies (guard->isEmpty() and trigger->isEmpty())"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="containingStateMachine" ordered="false" lowerBound="1" eType="#//StateMachine">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The query containingStateMachine() returns the state machine that contains the transition either directly or transitively.&#xA;result = container.containingStateMachine()"/>
-      </eAnnotations>
-    </eOperations>
-    <eOperations name="redefinitionContext" ordered="false" lowerBound="1" eType="#//Classifier">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The redefinition context of a transition is the nearest containing statemachine.&#xA;result = let sm = containingStateMachine() in&#xA;if sm.context->isEmpty() or sm.general->notEmpty() then&#xA;sm&#xA;else&#xA;sm.context&#xA;endif"/>
-      </eAnnotations>
-    </eOperations>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="effect" ordered="false"
-        eType="#//Behavior" containment="true">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Specifies an optional behavior to be performed when the transition fires."/>
-      </eAnnotations>
-      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="guard" ordered="false"
-        eType="#//Constraint">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="A guard is a constraint that provides a fine-grained control over the firing of the transition. The guard is evaluated when an event occurrence is dispatched by the state machine. If the guard is true at that time, the transition may be enabled, otherwise, it is disabled. Guards should be pure expressions without side effects. Guard expressions with side effects are ill formed."/>
-      </eAnnotations>
-      <eAnnotations source="subsets" references="#//Namespace/ownedRule"/>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" ordered="false" lowerBound="1"
-        eType="#//TransitionKind" defaultValueLiteral="external">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Indicates the precise type of the transition."/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="redefinedTransition" ordered="false"
-        eType="#//Transition">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The transition that is redefined by this transition."/>
-      </eAnnotations>
-      <eAnnotations source="subsets" references="#//RedefinableElement/redefinedElement"/>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="source" ordered="false"
-        lowerBound="1" eType="#//Vertex">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Designates the originating vertex (state or pseudostate) of the transition."/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="target" ordered="false"
-        lowerBound="1" eType="#//Vertex">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Designates the target vertex that is reached when the transition is taken."/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="trigger" ordered="false"
-        upperBound="-1" eType="#//Trigger" containment="true">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Specifies the triggers that may fire the transition."/>
-      </eAnnotations>
-      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="container" ordered="false"
-        lowerBound="1" eType="#//Region" eOpposite="#//Region/transition">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Designates the region that owns this transition."/>
-      </eAnnotations>
-      <eAnnotations source="subsets" references="#//NamedElement/namespace"/>
-    </eStructuralFeatures>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EEnum" name="TransitionKind">
-    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="TransitionKind is an enumeration type."/>
-    </eAnnotations>
-    <eLiterals name="internal">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Implies that the transition, if triggered, occurs without exiting or entering the source state. Thus, it does not cause a state change. This means that the entry or exit condition of the source state will not be invoked. An internal transition can be taken even if the state machine is in one or more regions nested within this state."/>
-      </eAnnotations>
-    </eLiterals>
-    <eLiterals name="local" value="1">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Implies that the transition, if triggered, will not exit the composite (source) state, but it will apply to any state within the composite state, and these will be exited and entered."/>
-      </eAnnotations>
-    </eLiterals>
-    <eLiterals name="external" value="2">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Implies that the transition, if triggered, will exit the composite (source) state."/>
-      </eAnnotations>
-    </eLiterals>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EEnum" name="PseudostateKind">
-    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="PseudostateKind is an enumeration type."/>
-    </eAnnotations>
-    <eLiterals name="initial">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="An initial pseudostate represents a default vertex that is the source for a single transition to the default state of a composite state. There can be at most one initial vertex in a region. The outgoing transition from the initial vertex may have a behavior, but not a trigger or guard."/>
-      </eAnnotations>
-    </eLiterals>
-    <eLiterals name="deepHistory" value="1">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="DeepHistory represents the most recent active configuration of the composite state that directly contains this pseudostate; e.g. the state configuration that was active when the composite state was last exited. A composite state can have at most one deep history vertex. At most one transition may originate from the history connector to the default deep history state. This transition is taken in case the composite state had never been active before. Entry actions of states entered on the path to the state represented by a deep history are performed."/>
-      </eAnnotations>
-    </eLiterals>
-    <eLiterals name="shallowHistory" value="2">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="ShallowHistory represents the most recent active substate of its containing state (but not the substates of that substate). A composite state can have at most one shallow history vertex. A transition coming into the shallow history vertex is equivalent to a transition coming into the most recent active substate of a state. At most one transition may originate from the history connector to the default shallow history state. This transition is taken in case the composite state had never been active before. Entry actions of states entered on the path to the state represented by a shallow history are performed."/>
-      </eAnnotations>
-    </eLiterals>
-    <eLiterals name="join" value="3">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Join vertices serve to merge several transitions emanating from source vertices in different orthogonal regions. The transitions entering a join vertex cannot have guards or triggers."/>
-      </eAnnotations>
-    </eLiterals>
-    <eLiterals name="fork" value="4">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Fork vertices serve to split an incoming transition into two or more transitions terminating on orthogonal target vertices (i.e. vertices in different regions of a composite state). The segments outgoing from a fork vertex must not have guards or triggers."/>
-      </eAnnotations>
-    </eLiterals>
-    <eLiterals name="junction" value="5">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Junction vertices are semantic-free vertices that are used to chain together multiple transitions. They are used to construct compound transition paths between states. For example, a junction can be used to converge multiple incoming transitions into a single outgoing transition representing a shared transition path (this is known as an merge). Conversely, they can be used to split an incoming transition into multiple outgoing transition segments with different guard conditions. This realizes a static conditional branch. (In the latter case, outgoing transitions whose guard conditions evaluate to false are disabled. A predefined guard denoted 'else' may be defined for at most one outgoing transition. This transition is enabled if all the guards labeling the other transitions are false.) Static conditional branches are distinct from dynamic conditional branches that are realized by choice vertices (described below)."/>
-      </eAnnotations>
-    </eLiterals>
-    <eLiterals name="choice" value="6">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Choice vertices which, when reached, result in the dynamic evaluation of the guards of the triggers of its outgoing transitions. This realizes a dynamic conditional branch. It allows splitting of transitions into multiple outgoing paths such that the decision on which path to take may be a function of the results of prior actions performed in the same run-tocompletion step. If more than one of the guards evaluates to true, an arbitrary one is selected. If none of the guards evaluates to true, then the model is considered ill-formed. (To avoid this, it is recommended to define one outgoing transition with the predefined else guard for every choice vertex.) Choice vertices should be distinguished from static branch points that are based on junction points (described above)."/>
-      </eAnnotations>
-    </eLiterals>
-    <eLiterals name="entryPoint" value="7">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="An entry point pseudostate is an entry point of a state machine or composite state. In each region of the state machine or composite state it has a single transition to a vertex within the same region."/>
-      </eAnnotations>
-    </eLiterals>
-    <eLiterals name="exitPoint" value="8">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="An exit point pseudostate is an exit point of a state machine or composite state. Entering an exit point within any region of the composite state or state machine referenced by a submachine state implies the exit of this composite state or submachine state and the triggering of the transition that has this exit point as source in the state machine enclosing the submachine or composite state."/>
-      </eAnnotations>
-    </eLiterals>
-    <eLiterals name="terminate" value="9">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Entering a terminate pseudostate implies that the execution of this state machine by means of its context object is terminated. The state machine does not exit any states nor does it perform any exit actions other than those associated with the transition leading to the terminate pseudostate. Entering a terminate pseudostate is equivalent to invoking a DestroyObjectAction."/>
-      </eAnnotations>
-    </eLiterals>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="ProtocolConformance" eSuperTypes="#//DirectedRelationship">
-    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="Protocol state machines can be redefined into more specific protocol state machines, or into behavioral state machines. Protocol conformance declares that the specific protocol state machine specifies a protocol that conforms to the general state machine one, or that the specific behavioral state machine abide by the protocol of the general protocol state machine."/>
-    </eAnnotations>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="generalMachine" ordered="false"
-        lowerBound="1" eType="#//ProtocolStateMachine">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Specifies the protocol state machine to which the specific state machine conforms."/>
-      </eAnnotations>
-      <eAnnotations source="subsets" references="#//DirectedRelationship/target"/>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="specificMachine" ordered="false"
-        lowerBound="1" eType="#//ProtocolStateMachine" eOpposite="#//ProtocolStateMachine/conformance">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Specifies the state machine which conforms to the general state machine."/>
-      </eAnnotations>
-      <eAnnotations source="subsets" references="#//DirectedRelationship/source #//Element/owner"/>
-    </eStructuralFeatures>
-  </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="OperationTemplateParameter" eSuperTypes="#//TemplateParameter">
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       <details key="documentation" value="An operation template parameter exposes an operation as a formal parameter for a template."/>
@@ -6639,18 +6778,6 @@
       </contents>
     </eAnnotations>
   </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="StructuralFeature" abstract="true" eSuperTypes="#//Feature #//TypedElement #//MultiplicityElement">
-    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="By specializing multiplicity element, it supports a multiplicity that specifies valid cardinalities for the collection of values associated with an instantiation of the structural feature.&#xA;A structural feature is a typed feature of a classifier that specifies the structure of instances of the classifier."/>
-    </eAnnotations>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isReadOnly" ordered="false"
-        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean"
-        defaultValueLiteral="false">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="States whether the feature's value may be modified by a client."/>
-      </eAnnotations>
-    </eStructuralFeatures>
-  </eClassifiers>
   <eClassifiers xsi:type="ecore:EEnum" name="AggregationKind">
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       <details key="documentation" value="AggregationKind is an enumeration type that specifies the literals for defining the kind of aggregation of a property."/>
@@ -6827,27 +6954,8 @@
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="InstanceSpecification" eSuperTypes="#//DeploymentTarget #//PackageableElement #//DeployedArtifact">
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="An instance specification is a model element that represents an instance in a modeled system.&#xA;An instance specification has the capability of being a deployment target in a deployment relationship, in the case that it is an instance of a node. It is also has the capability of being a deployed artifact, if it is an instance of an artifact."/>
+      <details key="documentation" value="An instance specification has the capability of being a deployment target in a deployment relationship, in the case that it is an instance of a node. It is also has the capability of being a deployed artifact, if it is an instance of an artifact.&#xA;An instance specification is a model element that represents an instance in a modeled system."/>
     </eAnnotations>
-    <eOperations name="deployment_artifact" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="An InstanceSpecification can be a DeployedArtifact if it is the instance specification of an Artifact.&#xA;true"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
     <eOperations name="structural_feature" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
         <details key="documentation" value="One structural feature (including the same feature inherited from multiple classifiers) is the defining feature of at most one slot in an instance specification.&#xA;classifier->forAll(c | (c.allFeatures()->forAll(f | slot->select(s | s.definingFeature = f)->size() &lt;= 1)))"/>
@@ -6905,6 +7013,25 @@
         </eGenericType>
       </eParameters>
     </eOperations>
+    <eOperations name="deployment_artifact" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="An InstanceSpecification can be a DeployedArtifact if it is the instance specification of an Artifact.&#xA;true"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
     <eStructuralFeatures xsi:type="ecore:EReference" name="classifier" ordered="false"
         upperBound="-1" eType="#//Classifier">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -6965,9 +7092,9 @@
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       <details key="documentation" value="A collaboration use represents one particular use of a collaboration to explain the relationships between the properties of a classifier. A collaboration use shows how the pattern described by a collaboration is applied in a given context, by binding specific entities from that context to the roles of the collaboration. Depending on the context, these entities could be structural features of a classifier, instance specifications, or even roles in some containing collaboration. There may be multiple occurrences of a given collaboration within a classifier, each involving a different set of roles and connectors. A given role or connector may be involved in multiple occurrences of the same or different collaborations. Associated dependencies map features of the collaboration type to features in the classifier. These dependencies indicate which role in the classifier plays which role in the collaboration."/>
     </eAnnotations>
-    <eOperations name="client_elements" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="connectors" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="All the client elements of a roleBinding are in one classifier and all supplier elements of a roleBinding are in one collaboration and they are compatible.&#xA;true"/>
+        <details key="documentation" value="The connectors in the classifier connect according to the connectors in the collaboration&#xA;true"/>
       </eAnnotations>
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
         <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -7003,9 +7130,9 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="connectors" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="client_elements" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The connectors in the classifier connect according to the connectors in the collaboration&#xA;true"/>
+        <details key="documentation" value="All the client elements of a roleBinding are in one classifier and all supplier elements of a roleBinding are in one collaboration and they are compatible.&#xA;true"/>
       </eAnnotations>
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
         <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -7048,225 +7175,6 @@
       <eAnnotations source="subsets" references="#//StructuredClassifier/role"/>
     </eStructuralFeatures>
   </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="StructuredClassifier" abstract="true"
-      eSuperTypes="#//Classifier">
-    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="A structured classifier is an abstract metaclass that represents any classifier whose behavior can be fully or partly described by the collaboration of owned or referenced instances."/>
-    </eAnnotations>
-    <eOperations name="multiplicities" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The multiplicities on connected elements must be consistent.&#xA;true"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="createOwnedAttribute" ordered="false" lowerBound="1" eType="#//Property">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Creates a property with the specified name, type, lower bound, and upper bound as an owned attribute of this structured classifier."/>
-      </eAnnotations>
-      <eParameters name="name" ordered="false" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//String">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The name for the new attribute, or null."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="type" ordered="false" eType="#//Type">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The type for the new attribute, or null."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="lower" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Integer">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The lower bound for the new attribute."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="upper" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//UnlimitedNatural">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The upper bound for the new attribute."/>
-        </eAnnotations>
-      </eParameters>
-    </eOperations>
-    <eOperations name="getParts" ordered="false" upperBound="-1" eType="#//Property">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Missing derivation for StructuredClassifier::/part : Property&#xA;true"/>
-        <details key="suppressedVisibility" value="true"/>
-      </eAnnotations>
-    </eOperations>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedAttribute" upperBound="-1"
-        eType="#//Property" containment="true">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="References the properties owned by the classifier."/>
-      </eAnnotations>
-      <eAnnotations source="subsets" references="#//Classifier/attribute #//StructuredClassifier/role #//Namespace/ownedMember"/>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedConnector" ordered="false"
-        upperBound="-1" eType="#//Connector" containment="true">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="References the connectors owned by the classifier."/>
-      </eAnnotations>
-      <eAnnotations source="subsets" references="#//Classifier/feature #//Namespace/ownedMember"/>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="part" ordered="false" upperBound="-1"
-        eType="#//Property" changeable="false" volatile="true" transient="true" derived="true">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="References the properties specifying instances that the classifier owns by composition. This association is derived, selecting those owned properties where isComposite is true."/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="role" ordered="false" upperBound="-1"
-        eType="#//ConnectableElement" changeable="false" volatile="true" transient="true"
-        derived="true">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="References the roles that instances may play in this classifier."/>
-      </eAnnotations>
-      <eAnnotations source="union"/>
-      <eAnnotations source="subsets" references="#//Namespace/member"/>
-    </eStructuralFeatures>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="Connector" eSuperTypes="#//Feature">
-    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="A delegation connector is a connector that links the external contract of a component (as specified by its ports) to the realization of that behavior. It represents the forwarding of events (operation requests and events): a signal that arrives at a port that has a delegation connector to one or more parts or ports on parts will be passed on to those targets for handling. An assembly connector is a connector between two or more parts or ports on parts that defines that one or more parts provide the services that other parts use.&#xA;Specifies a link that enables communication between two or more instances. This link may be an instance of an association, or it may represent the possibility of the instances being able to communicate because their identities are known by virtue of being passed in as parameters, held in variables or slots, or because the communicating instances are the same instance. The link may be realized by something as simple as a pointer or by something as complex as a network connection. In contrast to associations, which specify links between any instance of the associated classifiers, connectors specify links between instances playing the connected parts only."/>
-    </eAnnotations>
-    <eOperations name="types" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The types of the connectable elements that the ends of a connector are attached to must conform to the types of the association ends of the association that types the connector, if any.&#xA;true"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="roles" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The ConnectableElements attached as roles to each ConnectorEnd owned by a Connector must be roles of the Classifier that owned the Connector, or they must be ports of such roles.&#xA;true"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="between_interfaces_ports" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Each feature of each of the required interfaces of each Port or Part at the end of a connector must have at least one compatible feature among the features of the provided interfaces of Ports or Parts at the other ends, where the required set of (interface) features of a delegating port from the context of the delegating connector is the set of features that exist in the port's provided interfaces, and the provided set of (interface) features of a delegating port from the context of the delegating connector is the set of features that exist in the port's required interfaces.&#xA;true"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="compatible" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The connectable elements attached to the ends of a connector must be compatible.&#xA;true"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="getKind" ordered="false" lowerBound="1" eType="#//ConnectorKind">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Missing derivation for Connector::/kind : ConnectorKind&#xA;result =&#xA;if end->exists(&#xA;&#x9;&#x9;role.oclIsKindOf(Port) &#xA;&#x9;&#x9;and partWithPort->isEmpty()&#xA;&#x9;&#x9;and not role.oclAsType(Port).isBehavior)&#xA;then ConnectorKind::delegation &#xA;else ConnectorKind::assembly &#xA;endif"/>
-        <details key="suppressedVisibility" value="true"/>
-      </eAnnotations>
-    </eOperations>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="contract" ordered="false"
-        upperBound="-1" eType="#//Behavior">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The set of Behaviors that specify the valid interaction patterns across the connector."/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="end" lowerBound="2" upperBound="-1"
-        eType="#//ConnectorEnd" containment="true">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="A connector consists of at least two connector ends, each representing the participation of instances of the classifiers typing the connectable elements attached to this end. The set of connector ends is ordered."/>
-      </eAnnotations>
-      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" ordered="false" lowerBound="1"
-        eType="#//ConnectorKind" changeable="false" volatile="true" transient="true"
-        derived="true">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Indicates the kind of connector. This is derived: a connector with one or more ends connected to a Port which is not on a Part and which is not a behavior port is a delegation; otherwise it is an assembly."/>
-      </eAnnotations>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="redefinedConnector" ordered="false"
-        upperBound="-1" eType="#//Connector">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="A connector may be redefined when its containing classifier is specialized. The redefining connector may have a type that specializes the type of the redefined connector. The types of the connector ends of the redefining connector may specialize the types of the connector ends of the redefined connector. The properties of the connector ends of the redefining connector may be replaced."/>
-      </eAnnotations>
-      <eAnnotations source="subsets" references="#//RedefinableElement/redefinedElement"/>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="type" ordered="false" eType="#//Association">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="An optional association that specifies the link corresponding to this connector."/>
-      </eAnnotations>
-    </eStructuralFeatures>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EEnum" name="ConnectorKind">
-    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="ConnectorKind is an enumeration type."/>
-    </eAnnotations>
-    <eLiterals name="assembly">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Indicates that the connector is an assembly connector."/>
-      </eAnnotations>
-    </eLiterals>
-    <eLiterals name="delegation" value="1">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Indicates that the connector is a delegation connector."/>
-      </eAnnotations>
-    </eLiterals>
-  </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="Generalization" eSuperTypes="#//DirectedRelationship">
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       <details key="documentation" value="A generalization is a taxonomic relationship between a more general classifier and a more specific classifier. Each instance of the specific classifier is also an indirect instance of the general classifier. Thus, the specific classifier inherits the features of the more general classifier.&#xA;A generalization relates a specific classifier to a more general classifier, and is owned by the specific classifier."/>
@@ -7315,16 +7223,16 @@
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
         <details key="documentation" value="References the specializing classifier in the Generalization relationship."/>
       </eAnnotations>
-      <eAnnotations source="subsets" references="#//DirectedRelationship/source #//Element/owner"/>
+      <eAnnotations source="subsets" references="#//Element/owner #//DirectedRelationship/source"/>
     </eStructuralFeatures>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="GeneralizationSet" eSuperTypes="#//PackageableElement">
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       <details key="documentation" value="A generalization set is a packageable element whose instances define collections of subsets of generalization relationships."/>
     </eAnnotations>
-    <eOperations name="generalization_same_classifier" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="maps_to_generalization_set" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Every Generalization associated with a particular GeneralizationSet must have the same general Classifier.&#xA;generalization->collect(g | g.general)->asSet()->size() &lt;= 1"/>
+        <details key="documentation" value="The Classifier that maps to a GeneralizationSet may neither be a specific nor a general Classifier in any of the Generalization relationships defined for that GeneralizationSet. In other words, a power type may not be an instance of itself nor may its instances be its subclasses.&#xA;true"/>
       </eAnnotations>
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
         <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -7341,9 +7249,9 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="maps_to_generalization_set" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="generalization_same_classifier" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The Classifier that maps to a GeneralizationSet may neither be a specific nor a general Classifier in any of the Generalization relationships defined for that GeneralizationSet. In other words, a power type may not be an instance of itself nor may its instances be its subclasses.&#xA;true"/>
+        <details key="documentation" value="Every Generalization associated with a particular GeneralizationSet must have the same general Classifier.&#xA;generalization->collect(g | g.general)->asSet()->size() &lt;= 1"/>
       </eAnnotations>
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
         <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -7454,28 +7362,9 @@
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       <details key="documentation" value="A use case is the specification of a set of actions performed by a system, which yields an observable result that is, typically, of value for one or more actors or other stakeholders of the system."/>
     </eAnnotations>
-    <eOperations name="binary_associations" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="must_have_name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="UseCases can only be involved in binary Associations.&#xA;true"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="no_association_to_use_case" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="UseCases can not have Associations to UseCases specifying the same subject.&#xA;true"/>
+        <details key="documentation" value="A UseCase must have a name.&#xA;self.name -> notEmpty ()"/>
       </eAnnotations>
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
         <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -7511,9 +7400,28 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="must_have_name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="binary_associations" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="A UseCase must have a name.&#xA;self.name -> notEmpty ()"/>
+        <details key="documentation" value="UseCases can only be involved in binary Associations.&#xA;true"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="no_association_to_use_case" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="UseCases can not have Associations to UseCases specifying the same subject.&#xA;true"/>
       </eAnnotations>
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
         <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -7611,7 +7519,7 @@
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
         <details key="documentation" value="References the use case that represents the extension and owns the extend relationship."/>
       </eAnnotations>
-      <eAnnotations source="subsets" references="#//NamedElement/namespace #//DirectedRelationship/source"/>
+      <eAnnotations source="subsets" references="#//DirectedRelationship/source #//NamedElement/namespace"/>
     </eStructuralFeatures>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="ExtensionPoint" eSuperTypes="#//RedefinableElement">
@@ -7661,7 +7569,7 @@
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
         <details key="documentation" value="References the use case which will include the addition and owns the include relationship."/>
       </eAnnotations>
-      <eAnnotations source="subsets" references="#//NamedElement/namespace #//DirectedRelationship/source"/>
+      <eAnnotations source="subsets" references="#//DirectedRelationship/source #//NamedElement/namespace"/>
     </eStructuralFeatures>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="Substitution" eSuperTypes="#//Realization">
@@ -7680,14 +7588,9 @@
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
         <details key="documentation" value="Instances of the substituting classifier are runtime substitutable where instances of the contract classifier are expected."/>
       </eAnnotations>
-      <eAnnotations source="subsets" references="#//Dependency/client #//Element/owner"/>
+      <eAnnotations source="subsets" references="#//Element/owner #//Dependency/client"/>
     </eStructuralFeatures>
   </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="Realization" eSuperTypes="#//Abstraction">
-    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="Realization is a specialized abstraction relationship between two sets of model elements, one representing a specification (the supplier) and the other represents an implementation of the latter (the client). Realization can be used to model stepwise refinement, optimizations, transformations, templates, model synthesis, framework composition, etc."/>
-    </eAnnotations>
-  </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="ClassifierTemplateParameter" eSuperTypes="#//TemplateParameter">
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       <details key="documentation" value="A classifier template parameter exposes a classifier as a formal template parameter."/>
@@ -7734,44 +7637,139 @@
       </eAnnotations>
     </eStructuralFeatures>
   </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="InterfaceRealization" eSuperTypes="#//Realization">
+  <eClassifiers xsi:type="ecore:EClass" name="Connector" eSuperTypes="#//Feature">
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="An interface realization is a specialized realization relationship between a classifier and an interface. This relationship signifies that the realizing classifier conforms to the contract specified by the interface."/>
+      <details key="documentation" value="A delegation connector is a connector that links the external contract of a component (as specified by its ports) to the realization of that behavior. It represents the forwarding of events (operation requests and events): a signal that arrives at a port that has a delegation connector to one or more parts or ports on parts will be passed on to those targets for handling. An assembly connector is a connector between two or more parts or ports on parts that defines that one or more parts provide the services that other parts use.&#xA;Specifies a link that enables communication between two or more instances. This link may be an instance of an association, or it may represent the possibility of the instances being able to communicate because their identities are known by virtue of being passed in as parameters, held in variables or slots, or because the communicating instances are the same instance. The link may be realized by something as simple as a pointer or by something as complex as a network connection. In contrast to associations, which specify links between any instance of the associated classifiers, connectors specify links between instances playing the connected parts only."/>
     </eAnnotations>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="contract" ordered="false"
-        lowerBound="1" eType="#//Interface">
+    <eOperations name="compatible" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="References the Interface specifying the conformance contract."/>
+        <details key="documentation" value="The connectable elements attached to the ends of a connector must be compatible.&#xA;true"/>
       </eAnnotations>
-      <eAnnotations source="subsets" references="#//Dependency/supplier"/>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="implementingClassifier"
-        ordered="false" lowerBound="1" eType="#//BehavioredClassifier" eOpposite="#//BehavioredClassifier/interfaceRealization">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="roles" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="References the BehavioredClassifier that owns this Interfacerealization (i.e., the classifier that realizes the Interface to which it points)."/>
+        <details key="documentation" value="The ConnectableElements attached as roles to each ConnectorEnd owned by a Connector must be roles of the Classifier that owned the Connector, or they must be ports of such roles.&#xA;true"/>
       </eAnnotations>
-      <eAnnotations source="subsets" references="#//Dependency/client #//Element/owner"/>
-    </eStructuralFeatures>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="EncapsulatedClassifier" abstract="true"
-      eSuperTypes="#//StructuredClassifier">
-    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="A classifier has the ability to own ports as specific and type checked interaction points."/>
-    </eAnnotations>
-    <eOperations name="getOwnedPorts" ordered="false" upperBound="-1" eType="#//Port">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="between_interfaces_ports" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Missing derivation for EncapsulatedClassifier::/ownedPort : Port&#xA;true"/>
+        <details key="documentation" value="Each feature of each of the required interfaces of each Port or Part at the end of a connector must have at least one compatible feature among the features of the provided interfaces of Ports or Parts at the other ends, where the required set of (interface) features of a delegating port from the context of the delegating connector is the set of features that exist in the port's provided interfaces, and the provided set of (interface) features of a delegating port from the context of the delegating connector is the set of features that exist in the port's required interfaces.&#xA;true"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="types" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The types of the connectable elements that the ends of a connector are attached to must conform to the types of the association ends of the association that types the connector, if any.&#xA;true"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="getKind" ordered="false" lowerBound="1" eType="#//ConnectorKind">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Missing derivation for Connector::/kind : ConnectorKind&#xA;result =&#xA;if end->exists(&#xA;&#x9;&#x9;role.oclIsKindOf(Port) &#xA;&#x9;&#x9;and partWithPort->isEmpty()&#xA;&#x9;&#x9;and not role.oclAsType(Port).isBehavior)&#xA;then ConnectorKind::delegation &#xA;else ConnectorKind::assembly &#xA;endif"/>
         <details key="suppressedVisibility" value="true"/>
       </eAnnotations>
     </eOperations>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedPort" ordered="false"
-        upperBound="-1" eType="#//Port" changeable="false" volatile="true" transient="true"
+    <eStructuralFeatures xsi:type="ecore:EReference" name="contract" ordered="false"
+        upperBound="-1" eType="#//Behavior">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The set of Behaviors that specify the valid interaction patterns across the connector."/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="end" lowerBound="2" upperBound="-1"
+        eType="#//ConnectorEnd" containment="true">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="A connector consists of at least two connector ends, each representing the participation of instances of the classifiers typing the connectable elements attached to this end. The set of connector ends is ordered."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" ordered="false" lowerBound="1"
+        eType="#//ConnectorKind" changeable="false" volatile="true" transient="true"
         derived="true">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="References a set of ports that an encapsulated classifier owns."/>
+        <details key="documentation" value="Indicates the kind of connector. This is derived: a connector with one or more ends connected to a Port which is not on a Part and which is not a behavior port is a delegation; otherwise it is an assembly."/>
       </eAnnotations>
-      <eAnnotations source="subsets" references="#//StructuredClassifier/ownedAttribute"/>
     </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="redefinedConnector" ordered="false"
+        upperBound="-1" eType="#//Connector">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="A connector may be redefined when its containing classifier is specialized. The redefining connector may have a type that specializes the type of the redefined connector. The types of the connector ends of the redefining connector may specialize the types of the connector ends of the redefined connector. The properties of the connector ends of the redefining connector may be replaced."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//RedefinableElement/redefinedElement"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="type" ordered="false" eType="#//Association">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="An optional association that specifies the link corresponding to this connector."/>
+      </eAnnotations>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EEnum" name="ConnectorKind">
+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+      <details key="documentation" value="ConnectorKind is an enumeration type."/>
+    </eAnnotations>
+    <eLiterals name="assembly">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Indicates that the connector is an assembly connector."/>
+      </eAnnotations>
+    </eLiterals>
+    <eLiterals name="delegation" value="1">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Indicates that the connector is a delegation connector."/>
+      </eAnnotations>
+    </eLiterals>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="Image" eSuperTypes="#//Element">
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -7808,9 +7806,9 @@
         <eAnnotations source="redefines" references="#//ValueSpecification/stringValue"/>
       </contents>
     </eAnnotations>
-    <eOperations name="language_body_size" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="only_return_result_parameters" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="If the language attribute is not empty, then the size of the body and language arrays must be the same.&#xA;language->notEmpty() implies (body->size() = language->size())"/>
+        <details key="documentation" value="The behavior may only have return result parameters.&#xA;self.behavior.notEmpty() implies&#xA;  self.behavior.ownedParameters->select(p | p.direction&lt;>#return)->isEmpty()"/>
       </eAnnotations>
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
         <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -7846,9 +7844,9 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="only_return_result_parameters" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="language_body_size" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The behavior may only have return result parameters.&#xA;self.behavior.notEmpty() implies&#xA;  self.behavior.ownedParameters->select(p | p.direction&lt;>#return)->isEmpty()"/>
+        <details key="documentation" value="If the language attribute is not empty, then the size of the body and language arrays must be the same.&#xA;language->notEmpty() implies (body->size() = language->size())"/>
       </eAnnotations>
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
         <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -7872,7 +7870,7 @@
     </eOperations>
     <eOperations name="isNonNegative" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The query isNonNegative() tells whether an integer expression has a non-negative value.&#xA;self.isIntegral()&#xA;result = false"/>
+        <details key="documentation" value="The query isNonNegative() tells whether an integer expression has a non-negative value.&#xA;result = false&#xA;self.isIntegral()"/>
       </eAnnotations>
     </eOperations>
     <eOperations name="isPositive" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean">
@@ -7923,25 +7921,6 @@
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       <details key="documentation" value="An accept call action is an accept event action representing the receipt of a synchronous call request. In addition to the normal operation parameters, the action produces an output that is needed later to supply the information to the reply action necessary to return control to the caller. This action is for synchronous calls. If it is used to handle an asynchronous call, execution of the subsequent reply action will complete immediately with no effects."/>
     </eAnnotations>
-    <eOperations name="result_pins" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The result pins must match the in and inout parameters of the operation specified by the trigger event in number, type, and order.&#xA;true"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
     <eOperations name="trigger_call_event" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
         <details key="documentation" value="The trigger event must be a CallEvent.&#xA;trigger.event.oclIsKindOf(CallEvent)"/>
@@ -7980,21 +7959,9 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="returnInformation" ordered="false"
-        lowerBound="1" eType="#//OutputPin" containment="true">
+    <eOperations name="result_pins" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Pin where a value is placed containing sufficient information to perform a subsequent reply and return control to the caller. The contents of this value are opaque. It can be passed and copied but it cannot be manipulated by the model."/>
-      </eAnnotations>
-      <eAnnotations source="subsets" references="#//Action/output"/>
-    </eStructuralFeatures>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="AcceptEventAction" eSuperTypes="#//Action">
-    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="A accept event action is an action that waits for the occurrence of an event meeting specified conditions."/>
-    </eAnnotations>
-    <eOperations name="trigger_events" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="If the trigger events are all TimeEvents, there is exactly one output pin.&#xA;true"/>
+        <details key="documentation" value="The result pins must match the in and inout parameters of the operation specified by the trigger event in number, type, and order.&#xA;true"/>
       </eAnnotations>
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
         <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -8011,6 +7978,18 @@
         </eGenericType>
       </eParameters>
     </eOperations>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="returnInformation" ordered="false"
+        lowerBound="1" eType="#//OutputPin" containment="true">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Pin where a value is placed containing sufficient information to perform a subsequent reply and return control to the caller. The contents of this value are opaque. It can be passed and copied but it cannot be manipulated by the model."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//Action/output"/>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="AcceptEventAction" eSuperTypes="#//Action">
+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+      <details key="documentation" value="A accept event action is an action that waits for the occurrence of an event meeting specified conditions."/>
+    </eAnnotations>
     <eOperations name="no_input_pins" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
         <details key="documentation" value="AcceptEventActions may have no input pins.&#xA;true"/>
@@ -8030,9 +8009,9 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="no_output_pins" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="trigger_events" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="There are no output pins if the trigger events are only ChangeEvents, or if they are only CallEvents when this action is an instance of AcceptEventAction and not an instance of a descendant of AcceptEventAction (such as AcceptCallAction).&#xA;true"/>
+        <details key="documentation" value="If the trigger events are all TimeEvents, there is exactly one output pin.&#xA;true"/>
       </eAnnotations>
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
         <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -8068,6 +8047,25 @@
         </eGenericType>
       </eParameters>
     </eOperations>
+    <eOperations name="no_output_pins" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="There are no output pins if the trigger events are only ChangeEvents, or if they are only CallEvents when this action is an instance of AcceptEventAction and not an instance of a descendant of AcceptEventAction (such as AcceptCallAction).&#xA;true"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="isUnmarshall" ordered="false"
         lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean"
         defaultValueLiteral="false">
@@ -8092,7 +8090,7 @@
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="Action" abstract="true" eSuperTypes="#//ExecutableNode">
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="An action has pre- and post-conditions.&#xA;An action is a named element that is the fundamental unit of executable functionality. The execution of an action represents some transformation or processing in the modeled system, be it a computer system or otherwise.&#xA;An action represents a single step within an activity, that is, one that is not further decomposed within the activity."/>
+      <details key="documentation" value="An action has pre- and post-conditions.&#xA;An action represents a single step within an activity, that is, one that is not further decomposed within the activity.&#xA;An action is a named element that is the fundamental unit of executable functionality. The execution of an action represents some transformation or processing in the modeled system, be it a computer system or otherwise."/>
     </eAnnotations>
     <eOperations name="getContext" ordered="false" eType="#//Classifier">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -8147,7 +8145,7 @@
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="ExecutableNode" abstract="true" eSuperTypes="#//ActivityNode">
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="An executable node is an abstract class for activity nodes that may be executed. It is used as an attachment point for exception handlers."/>
+      <details key="documentation" value="An executable node is an abstract class for activity nodes that may be executed. It is used as an attachment point for exception handlers.&#xA;An executable node is an abstract class for activity nodes that may be executed. It is used as an attachment point for exception handlers."/>
     </eAnnotations>
     <eStructuralFeatures xsi:type="ecore:EReference" name="handler" ordered="false"
         upperBound="-1" eType="#//ExceptionHandler" containment="true" eOpposite="#//ExceptionHandler/protectedNode">
@@ -8200,20 +8198,12 @@
       </eParameters>
     </eOperations>
     <eStructuralFeatures xsi:type="ecore:EReference" name="activity" ordered="false"
-        eType="#//Activity" eOpposite="#//Activity/node">
+        eType="#//Activity" volatile="true" transient="true" derived="true" eOpposite="#//Activity/node">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
         <details key="documentation" value="Activity containing the node."/>
       </eAnnotations>
       <eAnnotations source="subsets" references="#//Element/owner"/>
     </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="inGroup" ordered="false"
-        upperBound="-1" eType="#//ActivityGroup" changeable="false" volatile="true"
-        transient="true" derived="true" eOpposite="#//ActivityGroup/containedNode">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Groups containing the node."/>
-      </eAnnotations>
-      <eAnnotations source="union"/>
-    </eStructuralFeatures>
     <eStructuralFeatures xsi:type="ecore:EReference" name="inPartition" ordered="false"
         upperBound="-1" eType="#//ActivityPartition" eOpposite="#//ActivityPartition/node">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -8226,7 +8216,7 @@
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
         <details key="documentation" value="Structured activity node containing the node."/>
       </eAnnotations>
-      <eAnnotations source="subsets" references="#//Element/owner #//ActivityNode/inGroup"/>
+      <eAnnotations source="subsets" references="#//ActivityNode/inGroup #//Element/owner"/>
     </eStructuralFeatures>
     <eStructuralFeatures xsi:type="ecore:EReference" name="inInterruptibleRegion"
         ordered="false" upperBound="-1" eType="#//InterruptibleActivityRegion" eOpposite="#//InterruptibleActivityRegion/node">
@@ -8247,6 +8237,14 @@
         <details key="documentation" value="Edges that have the node as target."/>
       </eAnnotations>
     </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="inGroup" ordered="false"
+        upperBound="-1" eType="#//ActivityGroup" changeable="false" volatile="true"
+        transient="true" derived="true" eOpposite="#//ActivityGroup/containedNode">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Groups containing the node."/>
+      </eAnnotations>
+      <eAnnotations source="union"/>
+    </eStructuralFeatures>
     <eStructuralFeatures xsi:type="ecore:EReference" name="redefinedNode" ordered="false"
         upperBound="-1" eType="#//ActivityNode">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -8259,6 +8257,25 @@
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       <details key="documentation" value="An activity is the specification of parameterized behavior as the coordinated sequencing of subordinate units whose individual elements are actions."/>
     </eAnnotations>
+    <eOperations name="activity_parameter_node" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The nodes of the activity must include one ActivityParameterNode for each parameter.&#xA;true"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
     <eOperations name="autonomous" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
         <details key="documentation" value="An activity cannot be autonomous and have a classifier or behavioral feature context at the same time.&#xA;true"/>
@@ -8297,31 +8314,14 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="activity_parameter_node" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The nodes of the activity must include one ActivityParameterNode for each parameter.&#xA;true"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedGroup" ordered="false"
+        upperBound="-1" eType="#//ActivityGroup" containment="true">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="name" value="group"/>
+        <details key="kind" value="element"/>
       </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="getStructuredNodes" ordered="false" upperBound="-1" eType="#//StructuredActivityNode">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Missing derivation for Activity::/structuredNode : StructuredActivityNode&#xA;true"/>
-        <details key="suppressedVisibility" value="true"/>
-      </eAnnotations>
-    </eOperations>
+      <eAnnotations source="subsets" references="#//Activity/group"/>
+    </eStructuralFeatures>
     <eStructuralFeatures xsi:type="ecore:EReference" name="edge" ordered="false" upperBound="-1"
         eType="#//ActivityEdge" containment="true" eOpposite="#//ActivityEdge/activity">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -8329,21 +8329,6 @@
       </eAnnotations>
       <eAnnotations source="subsets" references="#//Element/ownedElement"/>
     </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="group" ordered="false"
-        upperBound="-1" eType="#//ActivityGroup" containment="true" eOpposite="#//ActivityGroup/inActivity">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Top-level groups in the activity."/>
-      </eAnnotations>
-      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="structuredNode" ordered="false"
-        upperBound="-1" eType="#//StructuredActivityNode" changeable="false" volatile="true"
-        transient="true" derived="true">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Top-level structured nodes in the activity."/>
-      </eAnnotations>
-      <eAnnotations source="subsets" references="#//Activity/group #//Activity/node"/>
-    </eStructuralFeatures>
     <eStructuralFeatures xsi:type="ecore:EReference" name="variable" ordered="false"
         upperBound="-1" eType="#//Variable" containment="true" eOpposite="#//Variable/activityScope">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -8351,6 +8336,25 @@
       </eAnnotations>
       <eAnnotations source="subsets" references="#//Namespace/ownedMember"/>
     </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="group" ordered="false"
+        upperBound="-1" eType="#//ActivityGroup" volatile="true" transient="true"
+        derived="true" eOpposite="#//ActivityGroup/inActivity">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Top-level groups in the activity."/>
+      </eAnnotations>
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="attribute"/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedNode" ordered="false"
+        upperBound="-1" eType="#//ActivityNode" containment="true">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="name" value="node"/>
+        <details key="kind" value="element"/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//Activity/node"/>
+    </eStructuralFeatures>
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="isReadOnly" ordered="false"
         lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean"
         defaultValueLiteral="false">
@@ -8370,19 +8374,132 @@
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
         <details key="documentation" value="Top-level partitions in the activity."/>
       </eAnnotations>
-      <eAnnotations source="subsets" references="#//Activity/group"/>
+      <eAnnotations source="subsets" references="#//Activity/group #//Activity/ownedGroup"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="structuredNode" ordered="false"
+        upperBound="-1" eType="#//StructuredActivityNode" containment="true">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Top-level structured nodes in the activity."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//Activity/group #//Activity/node"/>
     </eStructuralFeatures>
     <eStructuralFeatures xsi:type="ecore:EReference" name="node" ordered="false" upperBound="-1"
-        eType="#//ActivityNode" containment="true" eOpposite="#//ActivityNode/activity">
+        eType="#//ActivityNode" volatile="true" transient="true" derived="true" eOpposite="#//ActivityNode/activity">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
         <details key="documentation" value="Nodes coordinated by the activity."/>
       </eAnnotations>
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="attribute"/>
+      </eAnnotations>
       <eAnnotations source="subsets" references="#//Element/ownedElement"/>
     </eStructuralFeatures>
   </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="ActivityGroup" abstract="true" eSuperTypes="#//NamedElement">
+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+      <details key="documentation" value="ActivityGroup is an abstract class for defining sets of nodes and edges in an activity."/>
+    </eAnnotations>
+    <eOperations name="group_owned" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Groups may only be owned by activities or groups.&#xA;true"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="not_contained" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="No node or edge in a group may be contained by its subgroups or its containing groups, transitively.&#xA;true"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="nodes_and_edges" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="All nodes and edges of the group must be in the same activity as the group.&#xA;true"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="containedEdge" ordered="false"
+        upperBound="-1" eType="#//ActivityEdge" changeable="false" volatile="true"
+        transient="true" derived="true" eOpposite="#//ActivityEdge/inGroup">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Edges immediately contained in the group."/>
+      </eAnnotations>
+      <eAnnotations source="union"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="containedNode" ordered="false"
+        upperBound="-1" eType="#//ActivityNode" changeable="false" volatile="true"
+        transient="true" derived="true" eOpposite="#//ActivityNode/inGroup">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Nodes immediately contained in the group."/>
+      </eAnnotations>
+      <eAnnotations source="union"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="inActivity" ordered="false"
+        eType="#//Activity" volatile="true" transient="true" derived="true" eOpposite="#//Activity/group">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Activity containing the group."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//Element/owner"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="subgroup" ordered="false"
+        upperBound="-1" eType="#//ActivityGroup" changeable="false" volatile="true"
+        transient="true" derived="true" eOpposite="#//ActivityGroup/superGroup">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Groups immediately contained in the group."/>
+      </eAnnotations>
+      <eAnnotations source="union"/>
+      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="superGroup" ordered="false"
+        eType="#//ActivityGroup" changeable="false" volatile="true" transient="true"
+        derived="true" eOpposite="#//ActivityGroup/subgroup">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Group immediately containing the group."/>
+      </eAnnotations>
+      <eAnnotations source="union"/>
+      <eAnnotations source="subsets" references="#//Element/owner"/>
+    </eStructuralFeatures>
+  </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="ActivityEdge" abstract="true" eSuperTypes="#//RedefinableElement">
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="An activity edge is an abstract class for directed connections between two activity nodes.&#xA;Activity edges can be contained in interruptible regions."/>
+      <details key="documentation" value="Activity edges can be contained in interruptible regions.&#xA;An activity edge is an abstract class for directed connections between two activity nodes."/>
     </eAnnotations>
     <eOperations name="owned" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -8441,6 +8558,13 @@
         </eGenericType>
       </eParameters>
     </eOperations>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="activity" ordered="false"
+        eType="#//Activity" eOpposite="#//Activity/edge">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Activity containing the edge."/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//Element/owner"/>
+    </eStructuralFeatures>
     <eStructuralFeatures xsi:type="ecore:EReference" name="guard" ordered="false"
         lowerBound="1" eType="#//ValueSpecification" containment="true">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -8448,14 +8572,6 @@
       </eAnnotations>
       <eAnnotations source="subsets" references="#//Element/ownedElement"/>
     </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="inGroup" ordered="false"
-        upperBound="-1" eType="#//ActivityGroup" changeable="false" volatile="true"
-        transient="true" derived="true" eOpposite="#//ActivityGroup/containedEdge">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Groups containing the edge."/>
-      </eAnnotations>
-      <eAnnotations source="union"/>
-    </eStructuralFeatures>
     <eStructuralFeatures xsi:type="ecore:EReference" name="inPartition" ordered="false"
         upperBound="-1" eType="#//ActivityPartition" eOpposite="#//ActivityPartition/edge">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -8502,113 +8618,11 @@
       </eAnnotations>
       <eAnnotations source="subsets" references="#//Element/ownedElement"/>
     </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="activity" ordered="false"
-        eType="#//Activity" eOpposite="#//Activity/edge">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Activity containing the edge."/>
-      </eAnnotations>
-      <eAnnotations source="subsets" references="#//Element/owner"/>
-    </eStructuralFeatures>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="ActivityGroup" abstract="true" eSuperTypes="#//NamedElement">
-    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="ActivityGroup is an abstract class for defining sets of nodes and edges in an activity."/>
-    </eAnnotations>
-    <eOperations name="nodes_and_edges" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="All nodes and edges of the group must be in the same activity as the group.&#xA;true"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="group_owned" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Groups may only be owned by activities or groups.&#xA;true"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="not_contained" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="No node or edge in a group may be contained by its subgroups or its containing groups, transitively.&#xA;true"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="containedNode" ordered="false"
-        upperBound="-1" eType="#//ActivityNode" changeable="false" volatile="true"
-        transient="true" derived="true" eOpposite="#//ActivityNode/inGroup">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Nodes immediately contained in the group."/>
-      </eAnnotations>
-      <eAnnotations source="union"/>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="inActivity" ordered="false"
-        eType="#//Activity" eOpposite="#//Activity/group">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Activity containing the group."/>
-      </eAnnotations>
-      <eAnnotations source="subsets" references="#//Element/owner"/>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="subgroup" ordered="false"
+    <eStructuralFeatures xsi:type="ecore:EReference" name="inGroup" ordered="false"
         upperBound="-1" eType="#//ActivityGroup" changeable="false" volatile="true"
-        transient="true" derived="true" eOpposite="#//ActivityGroup/superGroup">
+        transient="true" derived="true" eOpposite="#//ActivityGroup/containedEdge">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Groups immediately contained in the group."/>
-      </eAnnotations>
-      <eAnnotations source="union"/>
-      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="superGroup" ordered="false"
-        eType="#//ActivityGroup" changeable="false" volatile="true" transient="true"
-        derived="true" eOpposite="#//ActivityGroup/subgroup">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Group immediately containing the group."/>
-      </eAnnotations>
-      <eAnnotations source="union"/>
-      <eAnnotations source="subsets" references="#//Element/owner"/>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="containedEdge" ordered="false"
-        upperBound="-1" eType="#//ActivityEdge" changeable="false" volatile="true"
-        transient="true" derived="true" eOpposite="#//ActivityEdge/inGroup">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Edges immediately contained in the group."/>
+        <details key="documentation" value="Groups containing the edge."/>
       </eAnnotations>
       <eAnnotations source="union"/>
     </eStructuralFeatures>
@@ -8617,6 +8631,25 @@
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       <details key="documentation" value="An activity partition is a kind of activity group for identifying actions that have some characteristic in common."/>
     </eAnnotations>
+    <eOperations name="represents_part" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="If a partition represents a part, then all the non-external partitions in the same dimension and at the same level of nesting in that dimension must represent parts directly contained in the internal structure of the same classifier.&#xA;true"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
     <eOperations name="represents_classifier" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
         <details key="documentation" value="If a non-external partition represents a classifier and is contained in another partition, then the containing partition must represent a classifier, and the classifier of the subpartition must be nested in the classifier represented by the containing partition, or be at the contained end of a strong composition association with the classifier represented by the containing partition.&#xA;true"/>
@@ -8655,25 +8688,6 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="represents_part" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="If a partition represents a part, then all the non-external partitions in the same dimension and at the same level of nesting in that dimension must represent parts directly contained in the internal structure of the same classifier.&#xA;true"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
     <eOperations name="dimension_not_contained" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
         <details key="documentation" value="A partition with isDimension = true may not be contained by another partition.&#xA;true"/>
@@ -8744,20 +8758,20 @@
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="StructuredActivityNode" eSuperTypes="#//Action #//Namespace #//ActivityGroup">
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="Because of the concurrent nature of the execution of actions within and across activities, it can be difficult to guarantee the consistent access and modification of object memory. In order to avoid race conditions or other concurrency-related problems, it is sometimes necessary to isolate the effects of a group of actions from the effects of actions outside the group. This may be indicated by setting the mustIsolate attribute to true on a structured activity node. If a structured activity node is &quot;isolated,&quot; then any object used by an action within the node cannot be accessed by any action outside the node until the structured activity node as a whole completes. Any concurrent actions that would result in accessing such objects are required to have their execution deferred until the completion of the node.&#xA;A structured activity node is an executable activity node that may have an expansion into subordinate nodes as an activity group. The subordinate nodes must belong to only one structured activity node, although they may be nested."/>
+      <details key="documentation" value="A structured activity node is an executable activity node that may have an expansion into subordinate nodes as an activity group. The subordinate nodes must belong to only one structured activity node, although they may be nested.&#xA;Because of the concurrent nature of the execution of actions within and across activities, it can be difficult to guarantee the consistent access and modification of object memory. In order to avoid race conditions or other concurrency-related problems, it is sometimes necessary to isolate the effects of a group of actions from the effects of actions outside the group. This may be indicated by setting the mustIsolate attribute to true on a structured activity node. If a structured activity node is &quot;isolated,&quot; then any object used by an action within the node cannot be accessed by any action outside the node until the structured activity node as a whole completes. Any concurrent actions that would result in accessing such objects are required to have their execution deferred until the completion of the node."/>
     </eAnnotations>
     <eAnnotations source="duplicates">
       <contents xsi:type="ecore:EReference" name="activity" ordered="false" eType="#//Activity"
-          volatile="true" transient="true" derived="true" eOpposite="#//Activity/structuredNode">
+          volatile="true" transient="true" derived="true">
         <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
           <details key="documentation" value="Activity immediately containing the node."/>
         </eAnnotations>
         <eAnnotations source="redefines" references="#//ActivityGroup/inActivity #//ActivityNode/activity"/>
       </contents>
     </eAnnotations>
-    <eOperations name="output_pin_edges" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="input_pin_edges" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The outgoing edges of the output pins of a StructuredActivityNode must have targets that are not within the StructuredActivityNode.&#xA;true"/>
+        <details key="documentation" value="The incoming edges of the input pins of a StructuredActivityNode must have sources that are not within the StructuredActivityNode.&#xA;true"/>
       </eAnnotations>
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
         <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -8793,9 +8807,9 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="input_pin_edges" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="output_pin_edges" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The incoming edges of the input pins of a StructuredActivityNode must have sources that are not within the StructuredActivityNode.&#xA;true"/>
+        <details key="documentation" value="The outgoing edges of the output pins of a StructuredActivityNode must have targets that are not within the StructuredActivityNode.&#xA;true"/>
       </eAnnotations>
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
         <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -8824,7 +8838,7 @@
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
         <details key="documentation" value="Nodes immediately contained in the group."/>
       </eAnnotations>
-      <eAnnotations source="subsets" references="#//Element/ownedElement #//ActivityGroup/containedNode"/>
+      <eAnnotations source="subsets" references="#//ActivityGroup/containedNode #//Element/ownedElement"/>
     </eStructuralFeatures>
     <eStructuralFeatures xsi:type="ecore:EReference" name="structuredNodeInput" ordered="false"
         upperBound="-1" eType="#//InputPin" containment="true">
@@ -8875,7 +8889,7 @@
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="Pin" abstract="true" eSuperTypes="#//ObjectNode #//MultiplicityElement">
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="A pin is an object node for inputs and outputs to actions.&#xA;A pin is a typed element and multiplicity element that provides values to actions and accept result values from them."/>
+      <details key="documentation" value="A pin is a typed element and multiplicity element that provides values to actions and accept result values from them.&#xA;A pin is an object node for inputs and outputs to actions."/>
     </eAnnotations>
     <eOperations name="control_pins" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -8906,11 +8920,11 @@
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="ObjectNode" abstract="true" eSuperTypes="#//ActivityNode #//TypedElement">
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="Object nodes have support for token selection, limitation on the number of tokens, specifying the state required for tokens, and carrying control values.&#xA;An object node is an abstract activity node that is part of defining object flow in an activity."/>
+      <details key="documentation" value="An object node is an abstract activity node that is part of defining object flow in an activity.&#xA;Object nodes have support for token selection, limitation on the number of tokens, specifying the state required for tokens, and carrying control values."/>
     </eAnnotations>
-    <eOperations name="input_output_parameter" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="object_flow_edges" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="A selection behavior has one input parameter and one output parameter. The input parameter must be a bag of elements of the same type as the object node or a supertype of the type of object node. The output parameter must be the same or a subtype of the type of object node. The behavior cannot have side effects.&#xA;true"/>
+        <details key="documentation" value="All edges coming into or going out of object nodes must be object flow edges.&#xA;true"/>
       </eAnnotations>
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
         <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -8946,9 +8960,9 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="object_flow_edges" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="input_output_parameter" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="All edges coming into or going out of object nodes must be object flow edges.&#xA;true"/>
+        <details key="documentation" value="A selection behavior has one input parameter and one output parameter. The input parameter must be a bag of elements of the same type as the object node or a supertype of the type of object node. The output parameter must be the same or a subtype of the type of object node. The behavior cannot have side effects.&#xA;true"/>
       </eAnnotations>
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
         <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -9132,9 +9146,28 @@
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       <details key="documentation" value="An exception handler is an element that specifies a body to execute in case the specified exception occurs during the execution of the protected node."/>
     </eAnnotations>
-    <eOperations name="exception_body" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="one_input" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The exception handler and its input object node are not the source or target of any edge.&#xA;true"/>
+        <details key="documentation" value="The handler body has one input, and that input is the same as the exception input.&#xA;true"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="edge_source_target" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="An edge that has a source in an exception handler structured node must have its target in the handler also, and vice versa.&#xA;true"/>
       </eAnnotations>
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
         <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -9170,28 +9203,9 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="one_input" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="exception_body" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The handler body has one input, and that input is the same as the exception input.&#xA;true"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="edge_source_target" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="An edge that has a source in an exception handler structured node must have its target in the handler also, and vice versa.&#xA;true"/>
+        <details key="documentation" value="The exception handler and its input object node are not the source or target of any edge.&#xA;true"/>
       </eAnnotations>
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
         <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -9338,25 +9352,6 @@
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       <details key="documentation" value="A lifeline represents an individual participant in the interaction. While parts and structural features may have multiplicity greater than 1, lifelines represent only one interacting entity."/>
     </eAnnotations>
-    <eOperations name="selector_specified" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The selector for a Lifeline must only be specified if the referenced Part is multivalued.&#xA;(self.selector->isEmpty() implies not self.represents.isMultivalued()) or&#xA;(not self.selector->isEmpty() implies self.represents.isMultivalued())&#xA;"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
     <eOperations name="interaction_uses_share_lifeline" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
         <details key="documentation" value="If two (or more) InteractionUses within one Interaction, refer to Interactions with 'common Lifelines,' those Lifelines must also appear in the Interaction with the InteractionUses. By common Lifelines we mean Lifelines with the same selector and represents associations.&#xA;true"/>
@@ -9395,6 +9390,25 @@
         </eGenericType>
       </eParameters>
     </eOperations>
+    <eOperations name="selector_specified" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The selector for a Lifeline must only be specified if the referenced Part is multivalued.&#xA;(self.selector->isEmpty() implies not self.represents.isMultivalued()) or&#xA;(not self.selector->isEmpty() implies self.represents.isMultivalued())&#xA;"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
     <eStructuralFeatures xsi:type="ecore:EReference" name="decomposedAs" ordered="false"
         eType="#//PartDecomposition">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -9432,9 +9446,9 @@
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       <details key="documentation" value="A part decomposition is a description of the internal interactions of one lifeline relative to an interaction."/>
     </eAnnotations>
-    <eOperations name="commutativity_of_decomposition" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="parts_of_internal_structures" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Assume that within Interaction X, Lifeline L is of class C and decomposed to D. Assume also that there is within X an InteractionUse (say) U that covers L. According to the constraint above U will have a counterpart CU within D. Within the Interaction referenced by U, L should also be decomposed, and the decomposition should reference CU. (This rule is called commutativity of decomposition)&#xA;true"/>
+        <details key="documentation" value="PartDecompositions apply only to Parts that are Parts of Internal Structures not to Parts of Collaborations.&#xA;true"/>
       </eAnnotations>
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
         <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -9470,9 +9484,9 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="parts_of_internal_structures" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="commutativity_of_decomposition" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="PartDecompositions apply only to Parts that are Parts of Internal Structures not to Parts of Collaborations.&#xA;true"/>
+        <details key="documentation" value="Assume that within Interaction X, Lifeline L is of class C and decomposed to D. Assume also that there is within X an InteractionUse (say) U that covers L. According to the constraint above U will have a counterpart CU within D. Within the Interaction referenced by U, L should also be decomposed, and the decomposition should reference CU. (This rule is called commutativity of decomposition)&#xA;true"/>
       </eAnnotations>
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
         <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -9494,28 +9508,9 @@
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       <details key="documentation" value="An interaction use refers to an interaction. The interaction use is a shorthand for copying the contents of the referenced interaction where the interaction use is. To be accurate the copying must take into account substituting parameters with arguments and connect the formal gates with the actual ones."/>
     </eAnnotations>
-    <eOperations name="gates_match" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="all_lifelines" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Actual Gates of the InteractionUse must match Formal Gates of the referred Interaction. Gates match when their names are equal.&#xA;true"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="arguments_are_constants" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The arguments must only be constants, parameters of the enclosing Interaction or attributes of the classifier owning the enclosing Interaction.&#xA;true"/>
+        <details key="documentation" value="The InteractionUse must cover all Lifelines of the enclosing Interaction that represent the same properties as lifelines within the referred Interaction.&#xA;true"/>
       </eAnnotations>
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
         <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -9570,9 +9565,9 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="returnValue_type_recipient_correspondence" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="gates_match" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The type of the returnValue must correspond to the type of the returnValueRecipient.&#xA;true"/>
+        <details key="documentation" value="Actual Gates of the InteractionUse must match Formal Gates of the referred Interaction. Gates match when their names are equal.&#xA;true"/>
       </eAnnotations>
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
         <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -9589,9 +9584,28 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="all_lifelines" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="arguments_are_constants" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The InteractionUse must cover all Lifelines of the enclosing Interaction that represent the same properties as lifelines within the referred Interaction.&#xA;true"/>
+        <details key="documentation" value="The arguments must only be constants, parameters of the enclosing Interaction or attributes of the classifier owning the enclosing Interaction.&#xA;true"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="returnValue_type_recipient_correspondence" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The type of the returnValue must correspond to the type of the returnValueRecipient.&#xA;true"/>
       </eAnnotations>
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
         <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -9719,6 +9733,63 @@
         </eGenericType>
       </eParameters>
     </eOperations>
+    <eOperations name="occurrence_specifications" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="If the MessageEnds are both OccurrenceSpecifications then the connector must go between the Parts represented by the Lifelines of the two MessageEnds.&#xA;true"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="signature_is_signal" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="In the case when the Message signature is a Signal, the arguments of the Message must correspond to the attributes of the Signal. A Message Argument corresponds to a Signal Attribute if the Arguement is of the same Class or a specialization of that of the Attribute.&#xA;true"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="signature_is_operation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="In the case when the Message signature is an Operation, the arguments of the Message must correspond to the parameters of the Operation. A Parameter corresponds to an Argument if the Argument is of the same Class or a specialization of that of the Parameter.&#xA;true"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
     <eOperations name="arguments" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
         <details key="documentation" value="Arguments of a Message must only be: i) attributes of the sending lifeline ii) constants iii) symbolic values (which are wildcard values representing any legal value) iv) explicit parameters of the enclosing Interaction v) attributes of the class owning the Interaction&#xA;true"/>
@@ -9757,44 +9828,6 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="signature_is_signal" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="In the case when the Message signature is a Signal, the arguments of the Message must correspond to the attributes of the Signal. A Message Argument corresponds to a Signal Attribute if the Arguement is of the same Class or a specialization of that of the Attribute.&#xA;true"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="occurrence_specifications" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="If the MessageEnds are both OccurrenceSpecifications then the connector must go between the Parts represented by the Lifelines of the two MessageEnds.&#xA;true"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
     <eOperations name="signature_refer_to" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
         <details key="documentation" value="The signature must either refer an Operation (in which case messageSort is either synchCall or asynchCall) or a Signal (in which case messageSort is asynchSignal). The name of the NamedElement referenced by signature must be the same as that of the Message.&#xA;true"/>
@@ -9814,25 +9847,6 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="signature_is_operation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="In the case when the Message signature is an Operation, the arguments of the Message must correspond to the parameters of the Operation. A Parameter corresponds to an Argument if the Argument is of the same Class or a specialization of that of the Parameter.&#xA;true"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
     <eOperations name="getMessageKind" ordered="false" lowerBound="1" eType="#//MessageKind">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
         <details key="documentation" value="Missing derivation for Message::/messageKind : MessageKind&#xA;true"/>
@@ -9995,9 +10009,9 @@
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       <details key="documentation" value="An interaction operand is contained in a combined fragment. An interaction operand represents one operand of the expression given by the enclosing combined fragment."/>
     </eAnnotations>
-    <eOperations name="guard_contain_references" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="guard_directly_prior" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The guard must contain only references to values local to the Lifeline on which it resides, or values global to the whole Interaction.&#xA;true"/>
+        <details key="documentation" value="The guard must be placed directly prior to (above) the OccurrenceSpecification that will become the first OccurrenceSpecification within this InteractionOperand.&#xA;true"/>
       </eAnnotations>
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
         <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -10014,9 +10028,9 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="guard_directly_prior" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="guard_contain_references" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The guard must be placed directly prior to (above) the OccurrenceSpecification that will become the first OccurrenceSpecification within this InteractionOperand.&#xA;true"/>
+        <details key="documentation" value="The guard must contain only references to values local to the Lifeline on which it resides, or values global to the whole Interaction.&#xA;true"/>
       </eAnnotations>
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
         <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -10052,6 +10066,25 @@
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       <details key="documentation" value="An interaction constraint is a Boolean expression that guards an operand in a combined fragment."/>
     </eAnnotations>
+    <eOperations name="maxint_positive" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="If maxint is specified, then the expression must evaluate to a positive integer.&#xA;true"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
     <eOperations name="minint_maxint" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
         <details key="documentation" value="Minint/maxint can only be present if the InteractionConstraint is associated with the operand of a loop CombinedFragment.&#xA;true"/>
@@ -10090,44 +10123,6 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="maxint_positive" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="If maxint is specified, then the expression must evaluate to a positive integer.&#xA;true"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="dynamic_variables" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The dynamic variables that take part in the constraint must be owned by the ConnectableElement corresponding to the covered Lifeline.&#xA;true"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
     <eOperations name="global_data" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
         <details key="documentation" value="The constraint may contain references to global data or write-once data.&#xA;true"/>
@@ -10166,6 +10161,25 @@
         </eGenericType>
       </eParameters>
     </eOperations>
+    <eOperations name="dynamic_variables" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The dynamic variables that take part in the constraint must be owned by the ConnectableElement corresponding to the covered Lifeline.&#xA;true"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
     <eStructuralFeatures xsi:type="ecore:EReference" name="maxint" ordered="false"
         eType="#//ValueSpecification" containment="true">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -10266,9 +10280,9 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="one_output_pin" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="no_control_or_data_flow" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The fromAction of an action input pin must have exactly one output pin.&#xA;true"/>
+        <details key="documentation" value="The fromAction of an action input pin cannot have control or data flows coming into or out of it or its pins.&#xA;true"/>
       </eAnnotations>
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
         <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -10285,9 +10299,9 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="no_control_or_data_flow" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="one_output_pin" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The fromAction of an action input pin cannot have control or data flows coming into or out of it or its pins.&#xA;true"/>
+        <details key="documentation" value="The fromAction of an action input pin must have exactly one output pin.&#xA;true"/>
       </eAnnotations>
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
         <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -10350,9 +10364,9 @@
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       <details key="documentation" value="An activity parameter node is an object node for inputs and outputs to activities."/>
     </eAnnotations>
-    <eOperations name="no_outgoing_edges" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="maximum_one_parameter_node" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Activity parameter object nodes with no outgoing edges and one or more incoming edges must have a parameter with out, inout, or return direction.&#xA;true"/>
+        <details key="documentation" value="A parameter with direction other than inout must have at most one activity parameter node in an activity.&#xA;true"/>
       </eAnnotations>
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
         <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -10388,47 +10402,9 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="has_parameters" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="no_edges" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Activity parameter nodes must have parameters from the containing activity.&#xA;true"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="same_type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The type of an activity parameter node is the same as the type of its parameter.&#xA;true"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="maximum_one_parameter_node" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="A parameter with direction other than inout must have at most one activity parameter node in an activity.&#xA;true"/>
+        <details key="documentation" value="An activity parameter node may have all incoming edges or all outgoing edges, but it must not have both incoming and outgoing edges.&#xA;true"/>
       </eAnnotations>
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
         <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -10464,9 +10440,47 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="no_edges" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="no_outgoing_edges" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="An activity parameter node may have all incoming edges or all outgoing edges, but it must not have both incoming and outgoing edges.&#xA;true"/>
+        <details key="documentation" value="Activity parameter object nodes with no outgoing edges and one or more incoming edges must have a parameter with out, inout, or return direction.&#xA;true"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="same_type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The type of an activity parameter node is the same as the type of its parameter.&#xA;true"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="has_parameters" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Activity parameter nodes must have parameters from the containing activity.&#xA;true"/>
       </eAnnotations>
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
         <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -10537,9 +10551,9 @@
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       <details key="documentation" value="An add structural feature value action is a write structural feature action for adding values to a structural feature."/>
     </eAnnotations>
-    <eOperations name="required_value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="unlimited_natural_and_multiplicity" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="A value input pin is required.&#xA;self.value -> notEmpty()"/>
+        <details key="documentation" value="Actions adding a value to ordered structural features must have a single input pin for the insertion point with type UnlimitedNatural and multiplicity of 1..1, otherwise the action has no input pin for the insertion point.&#xA;let insertAtPins : Collection = self.insertAt in&#xA;if self.structuralFeature.isOrdered = #false&#xA;then insertAtPins->size() = 0&#xA;else let insertAtPin : InputPin= insertAt->asSequence()->first() in&#xA;insertAtPins->size() = 1&#xA;and insertAtPin.type = UnlimitedNatural&#xA;and insertAtPin.multiplicity.is(1,1))&#xA;endif&#xA;"/>
       </eAnnotations>
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
         <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -10556,9 +10570,9 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="unlimited_natural_and_multiplicity" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="required_value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Actions adding a value to ordered structural features must have a single input pin for the insertion point with type UnlimitedNatural and multiplicity of 1..1, otherwise the action has no input pin for the insertion point.&#xA;let insertAtPins : Collection = self.insertAt in&#xA;if self.structuralFeature.isOrdered = #false&#xA;then insertAtPins->size() = 0&#xA;else let insertAtPin : InputPin= insertAt->asSequence()->first() in&#xA;insertAtPins->size() = 1&#xA;and insertAtPin.type = UnlimitedNatural&#xA;and insertAtPin.multiplicity.is(1,1))&#xA;endif&#xA;"/>
+        <details key="documentation" value="A value input pin is required.&#xA;self.value -> notEmpty()"/>
       </eAnnotations>
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
         <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -10617,25 +10631,6 @@
         </eParameters>
       </contents>
     </eAnnotations>
-    <eOperations name="multiplicity_of_result" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The multiplicity of the result output pin must be 1..1.&#xA;result->notEmpty() implies self.result.multiplicity.is(1,1)"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
     <eOperations name="input_pin" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
         <details key="documentation" value="The type of the value input pin is the same as the type of the structural feature.&#xA;self.value->notEmpty() implies self.value.type =  self.structuralFeature.type"/>
@@ -10674,6 +10669,25 @@
         </eGenericType>
       </eParameters>
     </eOperations>
+    <eOperations name="multiplicity_of_result" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The multiplicity of the result output pin must be 1..1.&#xA;result->notEmpty() implies self.result.multiplicity.is(1,1)"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
     <eStructuralFeatures xsi:type="ecore:EReference" name="result" ordered="false"
         eType="#//OutputPin" containment="true">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -10694,44 +10708,6 @@
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       <details key="documentation" value="StructuralFeatureAction is an abstract class for all structural feature actions."/>
     </eAnnotations>
-    <eOperations name="multiplicity" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The multiplicity of the object input pin must be 1..1.&#xA;self.object.lowerBound()=1 and self.object.upperBound()=1"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="same_type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The structural feature must either be owned by the type of the object input pin, or it must be an owned end of a binary association with the type of the opposite end being the type of the object input pin.&#xA;self.structuralFeature.featuringClassifier.oclAsType(Type)->includes(self.object.type) or&#xA;&#x9;self.structuralFeature.oclAsType(Property).opposite.type = self.object.type"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
     <eOperations name="visibility" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
         <details key="documentation" value="Visibility of structural feature must allow access to the object performing the action.&#xA;let host : Classifier = self.context in&#xA;self.structuralFeature.visibility = #public&#xA;or host = self.structuralFeature.featuringClassifier.type&#xA;or (self.structuralFeature.visibility = #protected and host.allSupertypes&#xA;->includes(self.structuralFeature.featuringClassifier.type)))&#xA;"/>
@@ -10751,6 +10727,25 @@
         </eGenericType>
       </eParameters>
     </eOperations>
+    <eOperations name="multiplicity" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The multiplicity of the object input pin must be 1..1.&#xA;self.object.lowerBound()=1 and self.object.upperBound()=1"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
     <eOperations name="not_static" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
         <details key="documentation" value="The structural feature must not be static.&#xA;self.structuralFeature.isStatic = #false"/>
@@ -10789,6 +10784,25 @@
         </eGenericType>
       </eParameters>
     </eOperations>
+    <eOperations name="same_type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The structural feature must either be owned by the type of the object input pin, or it must be an owned end of a binary association with the type of the opposite end being the type of the object input pin.&#xA;self.structuralFeature.featuringClassifier.oclAsType(Type)->includes(self.object.type) or&#xA;&#x9;self.structuralFeature.oclAsType(Property).opposite.type = self.object.type"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
     <eStructuralFeatures xsi:type="ecore:EReference" name="object" ordered="false"
         lowerBound="1" eType="#//InputPin" containment="true">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -10865,9 +10879,9 @@
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       <details key="documentation" value="WriteVariableAction is an abstract class for variable actions that change variable values."/>
     </eAnnotations>
-    <eOperations name="same_type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="multiplicity" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The type input pin is the same as the type of the variable.&#xA;self.value -> notEmpty() implies self.value.type = self.variable.type"/>
+        <details key="documentation" value="The multiplicity of the input pin is 1..1.&#xA;self.value.multiplicity.is(1,1)"/>
       </eAnnotations>
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
         <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -10884,9 +10898,9 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="multiplicity" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="same_type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The multiplicity of the input pin is 1..1.&#xA;self.value.multiplicity.is(1,1)"/>
+        <details key="documentation" value="The type input pin is the same as the type of the variable.&#xA;self.value -> notEmpty() implies self.value.type = self.variable.type"/>
       </eAnnotations>
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
         <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -10955,9 +10969,9 @@
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       <details key="documentation" value="A model element that has both association and class properties. An AssociationClass can be seen as an association that also has class properties, or as a class that also has association properties. It not only connects a set of classifiers but also defines a set of features that belong to the relationship itself and not to any of the classifiers."/>
     </eAnnotations>
-    <eOperations name="cannot_be_defined" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="disjoint_attributes_ends" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="An AssociationClass cannot be defined between itself and something else.&#xA;self.endType->excludes(self) and self.endType>collect(et|et.allparents()->excludes(self))"/>
+        <details key="documentation" value="The owned attributes and owned ends of an AssociationClass are disjoint&#xA;ownedAttribute->intersection(ownedEnd)->isEmpty()"/>
       </eAnnotations>
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
         <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -10974,9 +10988,9 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="disjoint_attributes_ends" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="cannot_be_defined" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The owned attributes and owned ends of an AssociationClass are disjoint&#xA;ownedAttribute->intersection(ownedEnd)->isEmpty()"/>
+        <details key="documentation" value="An AssociationClass cannot be defined between itself and something else.&#xA;self.endType->excludes(self) and self.endType>collect(et|et.allparents()->excludes(self))"/>
       </eAnnotations>
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
         <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -11009,9 +11023,9 @@
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       <details key="documentation" value="A broadcast signal action is an action that transmits a signal instance to all the potential target objects in the system, which may cause the firing of a state machine transitions or the execution of associated activities of a target object. The argument values are available to the execution of associated behaviors. The requestor continues execution immediately after the signals are sent out. It does not wait for receipt. Any reply messages are ignored and are not transmitted to the requestor."/>
     </eAnnotations>
-    <eOperations name="number_and_order" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="type_ordering_multiplicity" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The number and order of argument pins must be the same as the number and order of attributes in the signal.&#xA;true"/>
+        <details key="documentation" value="The type, ordering, and multiplicity of an argument pin must be the same as the corresponding attribute of the signal.&#xA;true"/>
       </eAnnotations>
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
         <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -11028,9 +11042,9 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="type_ordering_multiplicity" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="number_and_order" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The type, ordering, and multiplicity of an argument pin must be the same as the corresponding attribute of the signal.&#xA;true"/>
+        <details key="documentation" value="The number and order of argument pins must be the same as the number and order of attributes in the signal.&#xA;true"/>
       </eAnnotations>
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
         <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -11056,7 +11070,7 @@
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="InvocationAction" abstract="true" eSuperTypes="#//Action">
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="In addition to targeting an object, invocation actions can also invoke behavioral features on ports from where the invocation requests are routed onwards on links deriving from attached connectors. Invocation actions may also be sent to a target via a given port, either on the sending object or on another object.&#xA;InvocationAction is an abstract class for the various actions that invoke behavior."/>
+      <details key="documentation" value="InvocationAction is an abstract class for the various actions that invoke behavior.&#xA;In addition to targeting an object, invocation actions can also invoke behavioral features on ports from where the invocation requests are routed onwards on links deriving from attached connectors. Invocation actions may also be sent to a target via a given port, either on the sending object or on another object."/>
     </eAnnotations>
     <eOperations name="on_port_receiver" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -11095,9 +11109,9 @@
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       <details key="documentation" value="CallAction is an abstract class for actions that invoke behavior and receive return values."/>
     </eAnnotations>
-    <eOperations name="type_ordering_multiplicity" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="synchronous_call" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The type, ordering, and multiplicity of an argument pin must be the same as the corresponding parameter of the behavior or behavioral feature.&#xA;true"/>
+        <details key="documentation" value="Only synchronous call actions can have result pins.&#xA;true"/>
       </eAnnotations>
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
         <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -11133,9 +11147,9 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="synchronous_call" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="type_ordering_multiplicity" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Only synchronous call actions can have result pins.&#xA;true"/>
+        <details key="documentation" value="The type, ordering, and multiplicity of an argument pin must be the same as the corresponding parameter of the behavior or behavioral feature.&#xA;true"/>
       </eAnnotations>
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
         <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -11275,25 +11289,6 @@
         </eParameters>
       </contents>
     </eAnnotations>
-    <eOperations name="type_target_pin" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The type of the target pin must be the same as the type that owns the operation.&#xA;true"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
     <eOperations name="argument_pin_equal_parameter" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
         <details key="documentation" value="The number of argument pins and the number of owned parameters of the operation of type in and in-out must be equal.&#xA;true"/>
@@ -11332,6 +11327,25 @@
         </eGenericType>
       </eParameters>
     </eOperations>
+    <eOperations name="type_target_pin" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The type of the target pin must be the same as the type that owns the operation.&#xA;true"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
     <eStructuralFeatures xsi:type="ecore:EReference" name="operation" ordered="false"
         lowerBound="1" eType="#//Operation">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -11367,6 +11381,25 @@
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       <details key="documentation" value="A clause is an element that represents a single branch of a conditional construct, including a test and a body section. The body section is executed only if (but not necessarily if) the test section evaluates true."/>
     </eAnnotations>
+    <eOperations name="test_and_body" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The test and body parts must be disjoint.&#xA;true"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
     <eOperations name="body_output_pins" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
         <details key="documentation" value="The bodyOutput pins are output pins on actions in the body of the clause.&#xA;true"/>
@@ -11405,25 +11438,6 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="test_and_body" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The test and body parts must be disjoint.&#xA;true"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
     <eStructuralFeatures xsi:type="ecore:EReference" name="body" ordered="false" upperBound="-1"
         eType="#//ExecutableNode">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -11521,9 +11535,9 @@
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       <details key="documentation" value="A clear structural feature action is a structural feature action that removes all values of a structural feature."/>
     </eAnnotations>
-    <eOperations name="type_of_result" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="multiplicity_of_result" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The type of the result output pin is the same as the type of the inherited object input pin.&#xA;result->notEmpty() implies self.result.type = self.object.type"/>
+        <details key="documentation" value="The multiplicity of the result output pin must be 1..1.&#xA;result->notEmpty() implies self.result.multiplicity.is(1,1)"/>
       </eAnnotations>
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
         <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -11540,9 +11554,9 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="multiplicity_of_result" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="type_of_result" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The multiplicity of the result output pin must be 1..1.&#xA;result->notEmpty() implies self.result.multiplicity.is(1,1)"/>
+        <details key="documentation" value="The type of the result output pin is the same as the type of the inherited object input pin.&#xA;result->notEmpty() implies self.result.type = self.object.type"/>
       </eAnnotations>
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
         <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -11576,9 +11590,9 @@
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       <details key="documentation" value="A combined fragment defines an expression of interaction fragments. A combined fragment is defined by an interaction operator and corresponding interaction operands. Through the use of combined fragments the user will be able to describe a number of traces in a compact and concise manner."/>
     </eAnnotations>
-    <eOperations name="minint_and_maxint" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="break" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The InteractionConstraint with minint and maxint only apply when attached to an InteractionOperand where the interactionOperator is loop.&#xA;true"/>
+        <details key="documentation" value="If the interactionOperator is break, the corresponding InteractionOperand must cover all Lifelines within the enclosing InteractionFragment.&#xA;true"/>
       </eAnnotations>
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
         <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -11595,9 +11609,9 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="break" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="opt_loop_break_neg" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="If the interactionOperator is break, the corresponding InteractionOperand must cover all Lifelines within the enclosing InteractionFragment.&#xA;true"/>
+        <details key="documentation" value="If the interactionOperator is opt, loop, break, assert or neg, there must be exactly one operand.&#xA;true"/>
       </eAnnotations>
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
         <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -11633,9 +11647,9 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="opt_loop_break_neg" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="minint_and_maxint" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="If the interactionOperator is opt, loop, break, assert or neg, there must be exactly one operand.&#xA;true"/>
+        <details key="documentation" value="The InteractionConstraint with minint and maxint only apply when attached to an InteractionOperand where the interactionOperator is loop.&#xA;true"/>
       </eAnnotations>
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
         <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -11767,11 +11781,11 @@
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="Component" eSuperTypes="#//Class">
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-      <details key="documentation" value="A component represents a modular part of a system that encapsulates its contents and whose manifestation is replaceable within its environment.&#xA;In the namespace of a component, all model elements that are involved in or related to its definition are either owned or imported explicitly. This may include, for example, use cases and dependencies (e.g. mappings), packages, components, and artifacts."/>
+      <details key="documentation" value="In the namespace of a component, all model elements that are involved in or related to its definition are either owned or imported explicitly. This may include, for example, use cases and dependencies (e.g. mappings), packages, components, and artifacts.&#xA;A component represents a modular part of a system that encapsulates its contents and whose manifestation is replaceable within its environment."/>
     </eAnnotations>
-    <eOperations name="no_nested_classifiers" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="no_packaged_elements" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="A component cannot nest classifiers.&#xA;self.nestedClassifier->isEmpty()"/>
+        <details key="documentation" value="component nested in a Class cannot have any packaged elements.&#xA;(not self.class->isEmpty()) implies self.packagedElement->isEmpty()"/>
       </eAnnotations>
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
         <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -11788,9 +11802,9 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="no_packaged_elements" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="no_nested_classifiers" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="component nested in a Class cannot have any packaged elements.&#xA;(not self.class->isEmpty()) implies self.packagedElement->isEmpty()"/>
+        <details key="documentation" value="A component cannot nest classifiers.&#xA;self.nestedClassifier->isEmpty()"/>
       </eAnnotations>
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
         <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -11935,9 +11949,9 @@
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       <details key="documentation" value="A conditional node is a structured activity node that represents an exclusive choice among some number of alternatives."/>
     </eAnnotations>
-    <eOperations name="result_no_incoming" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="executable_nodes" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The result output pins have no incoming edges.&#xA;true"/>
+        <details key="documentation" value="The union of the ExecutabledNodes in the test and body parts of all clauses must be the same as the subset of nodes contained in the ConditionalNode (considered as a StructuredActivityNode) that are ExecutableNodes.&#xA;true"/>
       </eAnnotations>
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
         <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -11954,28 +11968,9 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="no_input_pins" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="clause_no_predecessor" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="A conditional node has no input pins.&#xA;true"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="one_clause_with_executable_node" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="No ExecutableNode may appear in the test or body part of more than one clause of a conditional node.&#xA;true"/>
+        <details key="documentation" value="No two clauses within a ConditionalNode maybe predecessor clauses of each other, either directly or indirectly.&#xA;true"/>
       </eAnnotations>
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
         <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -12011,9 +12006,9 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="executable_nodes" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="one_clause_with_executable_node" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The union of the ExecutabledNodes in the test and body parts of all clauses must be the same as the subset of nodes contained in the ConditionalNode (considered as a StructuredActivityNode) that are ExecutableNodes.&#xA;true"/>
+        <details key="documentation" value="No ExecutableNode may appear in the test or body part of more than one clause of a conditional node.&#xA;true"/>
       </eAnnotations>
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
         <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -12030,9 +12025,28 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="clause_no_predecessor" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="result_no_incoming" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="No two clauses within a ConditionalNode maybe predecessor clauses of each other, either directly or indirectly.&#xA;true"/>
+        <details key="documentation" value="The result output pins have no incoming edges.&#xA;true"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="no_input_pins" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="A conditional node has no input pins.&#xA;true"/>
       </eAnnotations>
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
         <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -12082,9 +12096,9 @@
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       <details key="documentation" value="A consider ignore fragment is a kind of combined fragment that is used for the consider and ignore cases, which require lists of pertinent messages to be specified."/>
     </eAnnotations>
-    <eOperations name="consider_or_ignore" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The interaction operator of a ConsiderIgnoreFragment must be either 'consider' or 'ignore'.&#xA;(interactionOperator = #consider) or (interactionOperator = #ignore)"/>
+        <details key="documentation" value="The NamedElements must be of a type of element that identifies a message (e.g., an Operation, Reception, or a Signal).&#xA;message->forAll(m | m.oclIsKindOf(Operation) or m.oclIsKindOf(Reception) or m.oclIsKindOf(Signal))"/>
       </eAnnotations>
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
         <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -12101,9 +12115,9 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="consider_or_ignore" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The NamedElements must be of a type of element that identifies a message (e.g., an Operation, Reception, or a Signal).&#xA;message->forAll(m | m.oclIsKindOf(Operation) or m.oclIsKindOf(Reception) or m.oclIsKindOf(Signal))"/>
+        <details key="documentation" value="The interaction operator of a ConsiderIgnoreFragment must be either 'consider' or 'ignore'.&#xA;(interactionOperator = #consider) or (interactionOperator = #ignore)"/>
       </eAnnotations>
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
         <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -12131,9 +12145,9 @@
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       <details key="documentation" value="A continuation is a syntactic way to define continuations of different branches of an alternative combined fragment. Continuations is intuitively similar to labels representing intermediate points in a flow of control."/>
     </eAnnotations>
-    <eOperations name="first_or_last_interaction_fragment" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="same_name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Continuations always occur as the very first InteractionFragment or the very last InteractionFragment of the enclosing InteractionFragment.&#xA;true"/>
+        <details key="documentation" value="Continuations with the same name may only cover the same set of Lifelines (within one Classifier).&#xA;true"/>
       </eAnnotations>
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
         <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -12150,9 +12164,9 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="same_name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="first_or_last_interaction_fragment" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Continuations with the same name may only cover the same set of Lifelines (within one Classifier).&#xA;true"/>
+        <details key="documentation" value="Continuations always occur as the very first InteractionFragment or the very last InteractionFragment of the enclosing InteractionFragment.&#xA;true"/>
       </eAnnotations>
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
         <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -12362,28 +12376,9 @@
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       <details key="documentation" value="A link end data is not an action. It is an element that identifies links. It identifies one end of a link to be read or written by the children of a link action. A link cannot be passed as a runtime value to or from an action. Instead, a link is identified by its end objects and qualifier values, if any. This requires more than one piece of data, namely, the statically-specified end in the user model, the object on the end, and the qualifier values for that end, if any. These pieces are brought together around a link end data. Each association end is identified separately with an instance of the LinkEndData class."/>
     </eAnnotations>
-    <eOperations name="same_type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="property_is_association_end" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The type of the end object input pin is the same as the type of the association end.&#xA;self.value.type = self.end.type"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="multiplicity" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The multiplicity of the end object input pin must be 1..1.&#xA;self.value.multiplicity.is(1,1)"/>
+        <details key="documentation" value="The property must be an association end.&#xA;self.end.association->size() = 1"/>
       </eAnnotations>
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
         <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -12419,9 +12414,28 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="property_is_association_end" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="same_type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The property must be an association end.&#xA;self.end.association->size() = 1"/>
+        <details key="documentation" value="The type of the end object input pin is the same as the type of the association end.&#xA;self.value.type = self.end.type"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="multiplicity" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The multiplicity of the end object input pin must be 1..1.&#xA;self.value.multiplicity.is(1,1)"/>
       </eAnnotations>
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
         <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -12481,6 +12495,25 @@
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       <details key="documentation" value="A qualifier value is not an action. It is an element that identifies links. It gives a single qualifier within a link end data specification."/>
     </eAnnotations>
+    <eOperations name="qualifier_attribute" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The qualifier attribute must be a qualifier of the association end of the link-end data.&#xA;self.LinkEndData.end->collect(qualifier)->includes(self.qualifier)"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
     <eOperations name="multiplicity_of_qualifier" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
         <details key="documentation" value="The multiplicity of the qualifier value input pin is &quot;1..1&quot;.&#xA;self.value.multiplicity.is(1,1)"/>
@@ -12519,25 +12552,6 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="qualifier_attribute" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The qualifier attribute must be a qualifier of the association end of the link-end data.&#xA;self.LinkEndData.end->collect(qualifier)->includes(self.qualifier)"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
     <eStructuralFeatures xsi:type="ecore:EReference" name="qualifier" ordered="false"
         lowerBound="1" eType="#//Property">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -12555,9 +12569,9 @@
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       <details key="documentation" value="A link end creation data is not an action. It is an element that identifies links. It identifies one end of a link to be created by a create link action."/>
     </eAnnotations>
-    <eOperations name="single_input_pin" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="create_link_action" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Link end creation data for ordered association ends must have a single input pin for the insertion point with type UnlimitedNatural and multiplicity of 1..1, otherwise the action has no input pin for the insertion point.&#xA;let insertAtPins : Collection = self.insertAt in&#xA;if self.end.ordering = #unordered&#xA;then insertAtPins->size() = 0&#xA;else let insertAtPin : InputPin = insertAts->asSequence()->first() in&#xA;insertAtPins->size() = 1&#xA;and insertAtPin.type = UnlimitedNatural&#xA;and insertAtPin.multiplicity.is(1,1))&#xA;endif&#xA;"/>
+        <details key="documentation" value="LinkEndCreationData can only be end data for CreateLinkAction or one of its specializations.&#xA;self.LinkAction.oclIsKindOf(CreateLinkAction)"/>
       </eAnnotations>
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
         <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -12574,9 +12588,9 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="create_link_action" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="single_input_pin" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="LinkEndCreationData can only be end data for CreateLinkAction or one of its specializations.&#xA;self.LinkAction.oclIsKindOf(CreateLinkAction)"/>
+        <details key="documentation" value="Link end creation data for ordered association ends must have a single input pin for the insertion point with type UnlimitedNatural and multiplicity of 1..1, otherwise the action has no input pin for the insertion point.&#xA;let insertAtPins : Collection = self.insertAt in&#xA;if self.end.ordering = #unordered&#xA;then insertAtPins->size() = 0&#xA;else let insertAtPin : InputPin = insertAts->asSequence()->first() in&#xA;insertAtPins->size() = 1&#xA;and insertAtPin.type = UnlimitedNatural&#xA;and insertAtPin.multiplicity.is(1,1))&#xA;endif&#xA;"/>
       </eAnnotations>
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
         <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -12611,9 +12625,9 @@
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       <details key="documentation" value="A create link object action creates a link object."/>
     </eAnnotations>
-    <eOperations name="multiplicity" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="association_class" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The multiplicity of the output pin is 1..1.&#xA;self.result.multiplicity.is(1,1)"/>
+        <details key="documentation" value="The association must be an association class.&#xA;self.association().oclIsKindOf(Class)"/>
       </eAnnotations>
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
         <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -12649,9 +12663,9 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="association_class" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="multiplicity" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The association must be an association class.&#xA;self.association().oclIsKindOf(Class)"/>
+        <details key="documentation" value="The multiplicity of the output pin is 1..1.&#xA;self.result.multiplicity.is(1,1)"/>
       </eAnnotations>
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
         <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -12680,44 +12694,6 @@
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       <details key="documentation" value="A create object action is an action that creates an object that conforms to a statically specified classifier and puts it on an output pin at runtime."/>
     </eAnnotations>
-    <eOperations name="classifier_not_abstract" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The classifier cannot be abstract.&#xA;not (self.classifier.isAbstract = #true)"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="multiplicity" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The multiplicity of the output pin is 1..1.&#xA;self.result.multiplicity.is(1,1)"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
     <eOperations name="classifier_not_association_class" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
         <details key="documentation" value="The classifier cannot be an association class&#xA;not self.classifier.oclIsKindOf(AssociationClass)"/>
@@ -12737,6 +12713,25 @@
         </eGenericType>
       </eParameters>
     </eOperations>
+    <eOperations name="classifier_not_abstract" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The classifier cannot be abstract.&#xA;not (self.classifier.isAbstract = #true)"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
     <eOperations name="same_type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
         <details key="documentation" value="The type of the result pin must be the same as the classifier of the action.&#xA;self.result.type = self.classifier"/>
@@ -12756,6 +12751,25 @@
         </eGenericType>
       </eParameters>
     </eOperations>
+    <eOperations name="multiplicity" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The multiplicity of the output pin is 1..1.&#xA;self.result.multiplicity.is(1,1)"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
     <eStructuralFeatures xsi:type="ecore:EReference" name="classifier" ordered="false"
         lowerBound="1" eType="#//Classifier">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -12779,9 +12793,9 @@
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       <details key="documentation" value="A decision node is a control node that chooses between outgoing flows."/>
     </eAnnotations>
-    <eOperations name="zero_input_parameters" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="parameters" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="If the decision node has no decision input flow and an incoming control flow, then a decision input behavior has zero input parameters.&#xA;true"/>
+        <details key="documentation" value="A decision input behavior has no output parameters, no in-out parameters and one return parameter.&#xA;true"/>
       </eAnnotations>
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
         <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -12798,47 +12812,9 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="edges" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="incoming_object_one_input_parameter" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The edges coming into and out of a decision node, other than the decision input flow (if any), must be either all object flows or all control flows.&#xA;true"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="decision_input_flow_incoming" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The decisionInputFlow of a decision node must be an incoming edge of the decision node.&#xA;true"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="two_input_parameters" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="If the decision node has a decision input flow and an second incoming object flow, then a decision input behavior has two input parameters, the first of which has a type that is the same as or a supertype of the type of the type of object tokens offered on the nondecision input flow and the second of which has a type that is the same as or a supertype of the type of object tokens offered on the decision input flow.&#xA;true"/>
+        <details key="documentation" value="If the decision node has no decision input flow and an incoming object flow, then a decision input behavior has one input parameter whose type is the same as or a supertype of the type of object tokens offered on the incoming edge.&#xA;true"/>
       </eAnnotations>
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
         <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -12893,9 +12869,9 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="parameters" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="two_input_parameters" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="A decision input behavior has no output parameters, no in-out parameters and one return parameter.&#xA;true"/>
+        <details key="documentation" value="If the decision node has a decision input flow and an second incoming object flow, then a decision input behavior has two input parameters, the first of which has a type that is the same as or a supertype of the type of the type of object tokens offered on the nondecision input flow and the second of which has a type that is the same as or a supertype of the type of object tokens offered on the decision input flow.&#xA;true"/>
       </eAnnotations>
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
         <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -12912,9 +12888,47 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="incoming_object_one_input_parameter" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="decision_input_flow_incoming" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="If the decision node has no decision input flow and an incoming object flow, then a decision input behavior has one input parameter whose type is the same as or a supertype of the type of object tokens offered on the incoming edge.&#xA;true"/>
+        <details key="documentation" value="The decisionInputFlow of a decision node must be an incoming edge of the decision node.&#xA;true"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="zero_input_parameters" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="If the decision node has no decision input flow and an incoming control flow, then a decision input behavior has zero input parameters.&#xA;true"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="edges" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The edges coming into and out of a decision node, other than the decision input flow (if any), must be either all object flows or all control flows.&#xA;true"/>
       </eAnnotations>
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
         <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -12948,47 +12962,9 @@
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       <details key="documentation" value="An object flow is an activity edge that can have objects or data passing along it.&#xA;Object flows have support for multicast/receive, token selection from object nodes, and transformation of tokens."/>
     </eAnnotations>
-    <eOperations name="input_and_output_parameter" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="is_multicast_or_is_multireceive" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="A selection behavior has one input parameter and one output parameter. The input parameter must be a bag of elements of the same as or a supertype of the type of source object node. The output parameter must be the same or a subtype of the type of source object node. The behavior cannot have side effects.&#xA;true"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="no_actions" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Object flows may not have actions at either end.&#xA;true"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="transformation_behaviour" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="A transformation behavior has one input parameter and one output parameter. The input parameter must be the same as or a supertype of the type of object token coming from the source end. The output parameter must be the same or a subtype of the type of object token expected downstream. The behavior cannot have side effects.&#xA;true"/>
+        <details key="documentation" value="isMulticast and isMultireceive cannot both be true.&#xA;true"/>
       </eAnnotations>
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
         <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -13043,9 +13019,47 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="same_upper_bounds" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="no_actions" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Object nodes connected by an object flow, with optionally intervening control nodes, must have the same upper bounds.&#xA;true"/>
+        <details key="documentation" value="Object flows may not have actions at either end.&#xA;true"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="input_and_output_parameter" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="A selection behavior has one input parameter and one output parameter. The input parameter must be a bag of elements of the same as or a supertype of the type of source object node. The output parameter must be the same or a subtype of the type of source object node. The behavior cannot have side effects.&#xA;true"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="transformation_behaviour" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="A transformation behavior has one input parameter and one output parameter. The input parameter must be the same as or a supertype of the type of object token coming from the source end. The output parameter must be the same or a subtype of the type of object token expected downstream. The behavior cannot have side effects.&#xA;true"/>
       </eAnnotations>
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
         <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -13081,9 +13095,9 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="is_multicast_or_is_multireceive" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="same_upper_bounds" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="isMulticast and isMultireceive cannot both be true.&#xA;true"/>
+        <details key="documentation" value="Object nodes connected by an object flow, with optionally intervening control nodes, must have the same upper bounds.&#xA;true"/>
       </eAnnotations>
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
         <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -13145,9 +13159,9 @@
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       <details key="documentation" value="A link end destruction data is not an action. It is an element that identifies links. It identifies one end of a link to be destroyed by destroy link action."/>
     </eAnnotations>
-    <eOperations name="unlimited_natural_and_multiplicity" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="destroy_link_action" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="LinkEndDestructionData for ordered nonunique association ends must have a single destroyAt input pin if isDestroyDuplicates is false. It must be of type UnlimitedNatural and have a multiplicity of 1..1. Otherwise, the action has no input pin for the removal position.&#xA;true"/>
+        <details key="documentation" value="LinkEndDestructionData can only be end data for DestroyLinkAction or one of its specializations.&#xA;true"/>
       </eAnnotations>
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
         <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -13164,9 +13178,9 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="destroy_link_action" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="unlimited_natural_and_multiplicity" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="LinkEndDestructionData can only be end data for DestroyLinkAction or one of its specializations.&#xA;true"/>
+        <details key="documentation" value="LinkEndDestructionData for ordered nonunique association ends must have a single destroyAt input pin if isDestroyDuplicates is false. It must be of type UnlimitedNatural and have a multiplicity of 1..1. Otherwise, the action has no input pin for the removal position.&#xA;true"/>
       </eAnnotations>
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
         <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -13668,25 +13682,6 @@
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       <details key="documentation" value="A special kind of state signifying that the enclosing region is completed. If the enclosing region is directly contained in a state machine and all other regions in the state machine also are completed, then it means that the entire state machine is completed."/>
     </eAnnotations>
-    <eOperations name="no_exit_behavior" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="A final state has no exit behavior.&#xA;self.exit->isEmpty()"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
     <eOperations name="no_outgoing_transitions" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
         <details key="documentation" value="A final state cannot have any outgoing transitions.&#xA;self.outgoing->size() = 0"/>
@@ -13706,9 +13701,9 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="no_regions" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="cannot_reference_submachine" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="A final state cannot have regions.&#xA;self.region->size() = 0"/>
+        <details key="documentation" value="A final state cannot reference a submachine.&#xA;self.submachine->isEmpty()"/>
       </eAnnotations>
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
         <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -13725,9 +13720,9 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="cannot_reference_submachine" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="no_exit_behavior" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="A final state cannot reference a submachine.&#xA;self.submachine->isEmpty()"/>
+        <details key="documentation" value="A final state has no exit behavior.&#xA;self.exit->isEmpty()"/>
       </eAnnotations>
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
         <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -13782,6 +13777,25 @@
         </eGenericType>
       </eParameters>
     </eOperations>
+    <eOperations name="no_regions" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="A final state cannot have regions.&#xA;self.region->size() = 0"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="FlowFinalNode" eSuperTypes="#//FinalNode">
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -13898,9 +13912,9 @@
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       <details key="documentation" value="An information flow specifies that one or more information items circulates from its sources to its targets. Information flows require some kind of information channel for transmitting information items from the source to the destination. An information channel is represented in various ways depending on the nature of its sources and targets. It may be represented by connectors, links, associations, or even dependencies. For example, if the source and destination are parts in some composite structure such as a collaboration, then the information channel is likely to be represented by a connector between them. Or, if the source and target are objects (which are a kind of instance specification), they may be represented by a link that joins the two, and so on."/>
     </eAnnotations>
-    <eOperations name="must_conform" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="sources_and_targets_kind" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The sources and targets of the information flow must conform with the sources and targets or conversely the targets and sources of the realization relationships.&#xA;true"/>
+        <details key="documentation" value="The sources and targets of the information flow can only be one of the following kind: Actor, Node, UseCase, Artifact, Class, Component, Port, Property, Interface, Package, ActivityNode, ActivityPartition and InstanceSpecification except when its classifier is a relationship (i.e. it represents a link).&#xA;(self.informationSource->forAll(p | p->oclIsKindOf(Actor) or oclIsKindOf(Node) or&#xA;  oclIsKindOf(UseCase) or oclIsKindOf(Artifact) or oclIsKindOf(Class) or&#xA;  oclIsKindOf(Component) or oclIsKindOf(Port) or oclIsKindOf(Property) or&#xA;  oclIsKindOf(Interface) or oclIsKindOf(Package) or oclIsKindOf(ActivityNode) or&#xA;  oclIsKindOf(ActivityPartition) or oclIsKindOf(InstanceSpecification))) and&#xA;    (self.informationTarget->forAll(p | p->oclIsKindOf(Actor) or oclIsKindOf(Node) or&#xA;      oclIsKindOf(UseCase) or oclIsKindOf(Artifact) or oclIsKindOf(Class) or&#xA;      oclIsKindOf(Component) or oclIsKindOf(Port) or oclIsKindOf(Property) or&#xA;      oclIsKindOf(Interface) or oclIsKindOf(Package) or oclIsKindOf(ActivityNode) or&#xA;      oclIsKindOf(ActivityPartition) or oclIsKindOf(InstanceSpecification)))"/>
       </eAnnotations>
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
         <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -13917,9 +13931,9 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="sources_and_targets_kind" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="must_conform" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The sources and targets of the information flow can only be one of the following kind: Actor, Node, UseCase, Artifact, Class, Component, Port, Property, Interface, Package, ActivityNode, ActivityPartition and InstanceSpecification except when its classifier is a relationship (i.e. it represents a link).&#xA;(self.informationSource->forAll(p | p->oclIsKindOf(Actor) or oclIsKindOf(Node) or&#xA;  oclIsKindOf(UseCase) or oclIsKindOf(Artifact) or oclIsKindOf(Class) or&#xA;  oclIsKindOf(Component) or oclIsKindOf(Port) or oclIsKindOf(Property) or&#xA;  oclIsKindOf(Interface) or oclIsKindOf(Package) or oclIsKindOf(ActivityNode) or&#xA;  oclIsKindOf(ActivityPartition) or oclIsKindOf(InstanceSpecification))) and&#xA;    (self.informationTarget->forAll(p | p->oclIsKindOf(Actor) or oclIsKindOf(Node) or&#xA;      oclIsKindOf(UseCase) or oclIsKindOf(Artifact) or oclIsKindOf(Class) or&#xA;      oclIsKindOf(Component) or oclIsKindOf(Port) or oclIsKindOf(Property) or&#xA;      oclIsKindOf(Interface) or oclIsKindOf(Package) or oclIsKindOf(ActivityNode) or&#xA;      oclIsKindOf(ActivityPartition) or oclIsKindOf(InstanceSpecification)))"/>
+        <details key="documentation" value="The sources and targets of the information flow must conform with the sources and targets or conversely the targets and sources of the realization relationships.&#xA;true"/>
       </eAnnotations>
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
         <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -14004,25 +14018,6 @@
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       <details key="documentation" value="An information item is an abstraction of all kinds of information that can be exchanged between objects. It is a kind of classifier intended for representing information in a very abstract way, one which cannot be instantiated."/>
     </eAnnotations>
-    <eOperations name="sources_and_targets" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The sources and targets of an information item (its related information flows) must designate subsets of the sources and targets of the representation information item, if any.The Classifiers that can realize an information item can only be of the following kind: Class, Interface, InformationItem, Signal, Component.&#xA;(self.represented->select(p | p->oclIsKindOf(InformationItem))->forAll(p |&#xA;  p.informationFlow.source->forAll(q | self.informationFlow.source->include(q)) and&#xA;    p.informationFlow.target->forAll(q | self.informationFlow.target->include(q)))) and&#xA;      (self.represented->forAll(p | p->oclIsKindOf(Class) or oclIsKindOf(Interface) or&#xA;        oclIsKindOf(InformationItem) or oclIsKindOf(Signal) or oclIsKindOf(Component)))"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
     <eOperations name="has_no" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
         <details key="documentation" value="An informationItem has no feature, no generalization, and no associations.&#xA;self.generalization->isEmpty() and self.feature->isEmpty()"/>
@@ -14061,6 +14056,25 @@
         </eGenericType>
       </eParameters>
     </eOperations>
+    <eOperations name="sources_and_targets" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The sources and targets of an information item (its related information flows) must designate subsets of the sources and targets of the representation information item, if any.The Classifiers that can realize an information item can only be of the following kind: Class, Interface, InformationItem, Signal, Component.&#xA;(self.represented->select(p | p->oclIsKindOf(InformationItem))->forAll(p |&#xA;  p.informationFlow.source->forAll(q | self.informationFlow.source->include(q)) and&#xA;    p.informationFlow.target->forAll(q | self.informationFlow.target->include(q)))) and&#xA;      (self.represented->forAll(p | p->oclIsKindOf(Class) or oclIsKindOf(Interface) or&#xA;        oclIsKindOf(InformationItem) or oclIsKindOf(Signal) or oclIsKindOf(Component)))"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
     <eStructuralFeatures xsi:type="ecore:EReference" name="represented" ordered="false"
         upperBound="-1" eType="#//Classifier">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -14382,44 +14396,6 @@
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       <details key="documentation" value="A loop node is a structured activity node that represents a loop with setup, test, and body sections."/>
     </eAnnotations>
-    <eOperations name="result_no_incoming" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The result output pins have no incoming edges.&#xA;true"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="input_edges" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Loop variable inputs must not have outgoing edges.&#xA;true"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
     <eOperations name="executable_nodes" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
         <details key="documentation" value="The union of the ExecutableNodes in the setupPart, test and bodyPart of a LoopNode must be the same as the subset of nodes contained in the LoopNode (considered as a StructuredActivityNode) that are ExecutableNodes.&#xA;true"/>
@@ -14458,6 +14434,44 @@
         </eGenericType>
       </eParameters>
     </eOperations>
+    <eOperations name="result_no_incoming" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The result output pins have no incoming edges.&#xA;true"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="input_edges" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Loop variable inputs must not have outgoing edges.&#xA;true"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
     <eStructuralFeatures xsi:type="ecore:EReference" name="bodyOutput" upperBound="-1"
         eType="#//OutputPin">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -14881,44 +14895,6 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="compatible_multiplicity" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The multiplicity of the open association end must be compatible with the multiplicity of the result output pin.&#xA;let openend : Property = self.endData->select(ed | ed.value->size() = 0)->asSequence()->first().end in&#xA;openend.multiplicity.compatibleWith(self.result.multiplicity)&#xA;"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="visibility" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Visibility of the open end must allow access to the object performing the action.&#xA;let host : Classifier = self.context in&#xA;let openend : Property = self.endData->select(ed | ed.value->size() = 0)->asSequence()->first().end in&#xA;openend.visibility = #public&#xA;or self.endData->exists(oed | not oed.end = openend&#xA;and (host = oed.end.participant&#xA;or (openend.visibility = #protected&#xA;and host.allSupertypes->includes(oed.end.participant))))&#xA;"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
     <eOperations name="one_open_end" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
         <details key="documentation" value="Exactly one link-end data specification (the 'open' end) must not have an end object input pin.&#xA;self.endData->select(ed | ed.value->size() = 0)->size() = 1"/>
@@ -14938,6 +14914,25 @@
         </eGenericType>
       </eParameters>
     </eOperations>
+    <eOperations name="compatible_multiplicity" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The multiplicity of the open association end must be compatible with the multiplicity of the result output pin.&#xA;let openend : Property = self.endData->select(ed | ed.value->size() = 0)->asSequence()->first().end in&#xA;openend.multiplicity.compatibleWith(self.result.multiplicity)&#xA;"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
     <eOperations name="navigable_open_end" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
         <details key="documentation" value="The open end must be navigable.&#xA;let openend : Property = self.endData->select(ed | ed.value->size() = 0)->asSequence()->first().end in&#xA;openend.isNavigable()&#xA;"/>
@@ -14957,6 +14952,25 @@
         </eGenericType>
       </eParameters>
     </eOperations>
+    <eOperations name="visibility" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Visibility of the open end must allow access to the object performing the action.&#xA;let host : Classifier = self.context in&#xA;let openend : Property = self.endData->select(ed | ed.value->size() = 0)->asSequence()->first().end in&#xA;openend.visibility = #public&#xA;or self.endData->exists(oed | not oed.end = openend&#xA;and (host = oed.end.participant&#xA;or (openend.visibility = #protected&#xA;and host.allSupertypes->includes(oed.end.participant))))&#xA;"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
     <eStructuralFeatures xsi:type="ecore:EReference" name="result" ordered="false"
         lowerBound="1" eType="#//OutputPin" containment="true">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -14969,9 +14983,9 @@
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       <details key="documentation" value="A read link object end action is an action that retrieves an end object from a link object."/>
     </eAnnotations>
-    <eOperations name="property" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="association_of_association" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The property must be an association end.&#xA;self.end.association.notEmpty()"/>
+        <details key="documentation" value="The association of the association end must be an association class.&#xA;self.end.Association.oclIsKindOf(AssociationClass)"/>
       </eAnnotations>
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
         <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -15007,25 +15021,6 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="ends_of_association" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The ends of the association must not be static.&#xA;self.end.association.memberEnd->forall(e | not e.isStatic)"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
     <eOperations name="type_of_result" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
         <details key="documentation" value="The type of the result output pin is the same as the type of the association end.&#xA;self.result.type = self.end.type"/>
@@ -15045,25 +15040,6 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="multiplicity_of_result" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The multiplicity of the result output pin is 1..1.&#xA;self.result.multiplicity.is(1,1)"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
     <eOperations name="type_of_object" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
         <details key="documentation" value="The type of the object input pin is the association class that owns the association end.&#xA;self.object.type = self.end.association"/>
@@ -15083,9 +15059,47 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="association_of_association" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="property" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The association of the association end must be an association class.&#xA;self.end.Association.oclIsKindOf(AssociationClass)"/>
+        <details key="documentation" value="The property must be an association end.&#xA;self.end.association.notEmpty()"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="multiplicity_of_result" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The multiplicity of the result output pin is 1..1.&#xA;self.result.multiplicity.is(1,1)"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="ends_of_association" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The ends of the association must not be static.&#xA;self.end.association.memberEnd->forall(e | not e.isStatic)"/>
       </eAnnotations>
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
         <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -15127,25 +15141,6 @@
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       <details key="documentation" value="A read link object end qualifier action is an action that retrieves a qualifier end value from a link object."/>
     </eAnnotations>
-    <eOperations name="multiplicity_of_object" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The multiplicity of the object input pin is 1..1.&#xA;self.object.multiplicity.is(1,1)"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
     <eOperations name="type_of_object" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
         <details key="documentation" value="The type of the object input pin is the association class that owns the association end that has the given qualifier attribute.&#xA;self.object.type = self.qualifier.associationEnd.association"/>
@@ -15165,44 +15160,6 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="multiplicity_of_qualifier" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The multiplicity of the qualifier attribute is 1..1.&#xA;self.qualifier.multiplicity.is(1,1)"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="ends_of_association" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The ends of the association must not be static.&#xA;self.qualifier.associationEnd.association.memberEnd->forall(e | not e.isStatic)"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
     <eOperations name="multiplicity_of_result" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
         <details key="documentation" value="The multiplicity of the result output pin is 1..1.&#xA;self.result.multiplicity.is(1,1)"/>
@@ -15241,6 +15198,63 @@
         </eGenericType>
       </eParameters>
     </eOperations>
+    <eOperations name="ends_of_association" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The ends of the association must not be static.&#xA;self.qualifier.associationEnd.association.memberEnd->forall(e | not e.isStatic)"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="multiplicity_of_qualifier" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The multiplicity of the qualifier attribute is 1..1.&#xA;self.qualifier.multiplicity.is(1,1)"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="multiplicity_of_object" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The multiplicity of the object input pin is 1..1.&#xA;self.object.multiplicity.is(1,1)"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
     <eOperations name="association_of_association" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
         <details key="documentation" value="The association of the association end of the qualifier attribute must be an association class.&#xA;self.qualifier.associationEnd.association.oclIsKindOf(AssociationClass)"/>
@@ -15323,9 +15337,9 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="multiplicity" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The multiplicity of the result output pin is 1..1.&#xA;self.result.multiplicity.is(1,1)"/>
+        <details key="documentation" value="The type of the result output pin is the host classifier.&#xA;self.result.type = self.context"/>
       </eAnnotations>
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
         <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -15361,9 +15375,9 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="multiplicity" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The type of the result output pin is the host classifier.&#xA;self.result.type = self.context"/>
+        <details key="documentation" value="The multiplicity of the result output pin is 1..1.&#xA;self.result.multiplicity.is(1,1)"/>
       </eAnnotations>
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
         <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -15514,9 +15528,9 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="classifier_not_abstract" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="multiplicity" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="None of the new classifiers may be abstract.&#xA;not self.newClassifier->exists(isAbstract = true)"/>
+        <details key="documentation" value="The multiplicity of the input pin is 1..1.&#xA;self.argument.multiplicity.is(1,1)"/>
       </eAnnotations>
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
         <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -15533,9 +15547,9 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="multiplicity" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="classifier_not_abstract" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The multiplicity of the input pin is 1..1.&#xA;self.argument.multiplicity.is(1,1)"/>
+        <details key="documentation" value="None of the new classifiers may be abstract.&#xA;not self.newClassifier->exists(isAbstract = true)"/>
       </eAnnotations>
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
         <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -15583,6 +15597,25 @@
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       <details key="documentation" value="A reduce action is an action that reduces a collection to a single value by combining the elements of the collection."/>
     </eAnnotations>
+    <eOperations name="output_types_are_compatible" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The type of the output must be compatible with the type of the output of the reducer behavior.&#xA;true"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
     <eOperations name="reducer_inputs_output" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
         <details key="documentation" value="The reducer behavior must have two input parameters and one output parameter, of types compatible with the types of elements of the input collection.&#xA;true"/>
@@ -15621,25 +15654,6 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="output_types_are_compatible" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The type of the output must be compatible with the type of the output of the reducer behavior.&#xA;true"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
     <eStructuralFeatures xsi:type="ecore:EReference" name="collection" ordered="false"
         lowerBound="1" eType="#//InputPin" containment="true">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -15749,9 +15763,9 @@
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       <details key="documentation" value="A reply action is an action that accepts a set of return values and a value containing return information produced by a previous accept call action. The reply action returns the values to the caller of the previous call, completing execution of the call."/>
     </eAnnotations>
-    <eOperations name="pins_match_parameter" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="event_on_reply_to_call_trigger" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The reply value pins must match the return, out, and inout parameters of the operation on the event on the trigger in number, type, and order.&#xA;true"/>
+        <details key="documentation" value="The event on replyToCall trigger must be a CallEvent replyToCallEvent.oclIsKindOf(CallEvent)&#xA;replyToCallEvent.oclIsKindOf(CallEvent)"/>
       </eAnnotations>
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
         <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -15768,9 +15782,9 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="event_on_reply_to_call_trigger" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="pins_match_parameter" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The event on replyToCall trigger must be a CallEvent replyToCallEvent.oclIsKindOf(CallEvent)&#xA;replyToCallEvent.oclIsKindOf(CallEvent)"/>
+        <details key="documentation" value="The reply value pins must match the return, out, and inout parameters of the operation on the event on the trigger in number, type, and order.&#xA;true"/>
       </eAnnotations>
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
         <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -15910,9 +15924,9 @@
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       <details key="documentation" value="A start classifier behavior action is an action that starts the classifier behavior of the input."/>
     </eAnnotations>
-    <eOperations name="multiplicity" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="type_has_classifier" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The multiplicity of the input pin is 1..1&#xA;true"/>
+        <details key="documentation" value="If the input pin has a type, then the type must have a classifier behavior.&#xA;true"/>
       </eAnnotations>
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
         <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -15929,9 +15943,9 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="type_has_classifier" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="multiplicity" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="If the input pin has a type, then the type must have a classifier behavior.&#xA;true"/>
+        <details key="documentation" value="The multiplicity of the input pin is 1..1&#xA;true"/>
       </eAnnotations>
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
         <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -15960,28 +15974,9 @@
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       <details key="documentation" value="StartObjectBehaviorAction is an action that starts the execution either of a directly instantiated behavior or of the classifier behavior of an object. Argument values may be supplied for the input parameters of the behavior. If the behavior is invoked synchronously, then output values may be obtained for output parameters."/>
     </eAnnotations>
-    <eOperations name="number_order_results" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="number_order_arguments" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The number and order of result pins must be the same as the number and order of the in-out, out and return parameters of the invoked behavior. Pins are matched to parameters by order.&#xA;true"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="multiplicity_of_object" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The multiplicity of the object input pin must be [1..1].&#xA;true"/>
+        <details key="documentation" value="The number and order of the argument pins must be the same as the number and order of the in and in-out parameters of the invoked behavior. Pins are matched to parameters by order.&#xA;true"/>
       </eAnnotations>
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
         <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -16017,9 +16012,9 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="number_order_arguments" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="number_order_results" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The number and order of the argument pins must be the same as the number and order of the in and in-out parameters of the invoked behavior. Pins are matched to parameters by order.&#xA;true"/>
+        <details key="documentation" value="The number and order of result pins must be the same as the number and order of the in-out, out and return parameters of the invoked behavior. Pins are matched to parameters by order.&#xA;true"/>
       </eAnnotations>
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
         <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -16055,6 +16050,25 @@
         </eGenericType>
       </eParameters>
     </eOperations>
+    <eOperations name="multiplicity_of_object" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The multiplicity of the object input pin must be [1..1].&#xA;true"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
     <eStructuralFeatures xsi:type="ecore:EReference" name="object" ordered="false"
         lowerBound="1" eType="#//InputPin" containment="true">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -16239,9 +16253,9 @@
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       <details key="documentation" value="A time event can be defined relative to entering the current state of the executing state machine.&#xA;A time event specifies a point in time. At the specified time, the event occurs."/>
     </eAnnotations>
-    <eOperations name="when_non_negative" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="starting_time" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The ValueSpecification when must return a non-negative Integer.&#xA;true"/>
+        <details key="documentation" value="The starting time for a relative time event may only be omitted for a time event that is the trigger of a state machine.&#xA;true"/>
       </eAnnotations>
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
         <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -16258,9 +16272,9 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="starting_time" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="when_non_negative" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The starting time for a relative time event may only be omitted for a time event that is the trigger of a state machine.&#xA;true"/>
+        <details key="documentation" value="The ValueSpecification when must return a non-negative Integer.&#xA;true"/>
       </eAnnotations>
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
         <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -16314,6 +16328,25 @@
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       <details key="documentation" value="An unmarshall action is an action that breaks an object of a known type into outputs each of which is equal to a value from a structural feature of the object."/>
     </eAnnotations>
+    <eOperations name="same_type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The type of the object input pin must be the same as the unmarshall classifier.&#xA;true"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
     <eOperations name="structural_feature" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
         <details key="documentation" value="The unmarshall classifier must have at least one structural feature.&#xA;true"/>
@@ -16333,82 +16366,6 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="number_of_result" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The number of result output pins must be the same as the number of structural features of the unmarshall classifier.&#xA;true"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="multiplicity_of_result" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The multiplicity of each result output pin must be compatible with the multiplicity of the corresponding structural features of the unmarshall classifier.&#xA;true"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="type_and_ordering" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The type and ordering of each result output pin must be the same as the corresponding structural feature of the unmarshall classifier.&#xA;true"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="unmarshallType_is_classifier" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="unmarshallType must be a Classifier with ordered attributes&#xA;true"/>
-      </eAnnotations>
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
-        </eAnnotations>
-      </eParameters>
-      <eParameters name="context">
-        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-          <details key="documentation" value="The cache of context-specific information."/>
-        </eAnnotations>
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
     <eOperations name="multiplicity_of_object" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
         <details key="documentation" value="The multiplicity of the object input pin is 1..1&#xA;true"/>
@@ -16428,9 +16385,66 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="same_type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="type_and_ordering" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The type of the object input pin must be the same as the unmarshall classifier.&#xA;true"/>
+        <details key="documentation" value="The type and ordering of each result output pin must be the same as the corresponding structural feature of the unmarshall classifier.&#xA;true"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="number_of_result" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The number of result output pins must be the same as the number of structural features of the unmarshall classifier.&#xA;true"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="unmarshallType_is_classifier" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="unmarshallType must be a Classifier with ordered attributes&#xA;true"/>
+      </eAnnotations>
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+        </eAnnotations>
+      </eParameters>
+      <eParameters name="context">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The cache of context-specific information."/>
+        </eAnnotations>
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="multiplicity_of_result" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The multiplicity of each result output pin must be compatible with the multiplicity of the corresponding structural features of the unmarshall classifier.&#xA;true"/>
       </eAnnotations>
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
         <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -16472,9 +16486,9 @@
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
       <details key="documentation" value="A value pin is an input pin that provides a value by evaluating a value specification."/>
     </eAnnotations>
-    <eOperations name="no_incoming_edges" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="compatible_type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="Value pins have no incoming edges.&#xA;true"/>
+        <details key="documentation" value="The type of value specification must be compatible with the type of the value pin.&#xA;true"/>
       </eAnnotations>
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
         <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
@@ -16491,9 +16505,9 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="compatible_type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="no_incoming_edges" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
-        <details key="documentation" value="The type of value specification must be compatible with the type of the value pin.&#xA;true"/>
+        <details key="documentation" value="Value pins have no incoming edges.&#xA;true"/>
       </eAnnotations>
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain">
         <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
diff --git a/plugins/org.eclipse.uml2.uml/model/UML.genmodel b/plugins/org.eclipse.uml2.uml/model/UML.genmodel
index d3e8d3e..1489354 100644
--- a/plugins/org.eclipse.uml2.uml/model/UML.genmodel
+++ b/plugins/org.eclipse.uml2.uml/model/UML.genmodel
@@ -1,15 +1,14 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<genmodel:GenModel xmi:version="2.0"
-    xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:genmodel="http://www.eclipse.org/uml2/2.2.0/GenModel" modelDirectory="/org.eclipse.uml2.uml/src"
-    creationIcons="false" creationSubmenus="true" modelPluginID="org.eclipse.uml2.uml"
-    templateDirectory="/org.eclipse.uml2/templates" runtimeJar="true" dynamicTemplates="true"
-    modelName="UML" modelPluginClass="org.eclipse.uml2.uml.UMLPlugin" editPluginClass="org.eclipse.uml2.uml.edit.UMLEditPlugin"
-    editorPluginClass="org.eclipse.uml2.uml.editor.UMLEditorPlugin" nonNLSMarkers="true"
-    rootExtendsInterface="" codeFormatting="true" booleanFlagsField="eFlags" booleanFlagsReservedBits="8"
-    importerID="org.eclipse.uml2.uml.ecore.importer" containmentProxies="true" minimalReflectiveMethods="false"
-    complianceLevel="5.0" colorProviders="true" fontProviders="true" packedEnums="true"
-    usedGenPackages="platform:/plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore"
+<genmodel:GenModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:genmodel="http://www.eclipse.org/uml2/2.2.0/GenModel"
+    modelDirectory="/org.eclipse.uml2.uml/src" creationIcons="false"
+    creationSubmenus="true" modelPluginID="org.eclipse.uml2.uml" templateDirectory="/org.eclipse.uml2/templates"
+    runtimeJar="true" dynamicTemplates="true" modelName="UML" modelPluginClass="org.eclipse.uml2.uml.UMLPlugin"
+    editPluginClass="org.eclipse.uml2.uml.edit.UMLEditPlugin" editorPluginClass="org.eclipse.uml2.uml.editor.UMLEditorPlugin"
+    nonNLSMarkers="true" rootExtendsInterface="" codeFormatting="true" booleanFlagsField="eFlags"
+    booleanFlagsReservedBits="8" importerID="org.eclipse.uml2.uml.ecore.importer"
+    containmentProxies="true" minimalReflectiveMethods="false" complianceLevel="5.0"
+    colorProviders="true" fontProviders="true" packedEnums="true" usedGenPackages="platform:/plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore"
     operationReflection="true" factoryMethods="true" pluralizedGetters="true" cacheAdapterSupport="true"
     invariantPrefix="validate">
   <genAnnotations source="http://www.eclipse.org/emf/2002/GenModel/importer/org.eclipse.uml2.uml.ecore.importer">
@@ -48,18 +47,6 @@
       <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="UML.ecore#//CallConcurrencyKind/guarded"/>
       <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="UML.ecore#//CallConcurrencyKind/concurrent"/>
     </genEnums>
-    <genEnums xsi:type="genmodel:GenEnum" ecoreEnum="UML.ecore#//ParameterDirectionKind">
-      <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="UML.ecore#//ParameterDirectionKind/in"/>
-      <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="UML.ecore#//ParameterDirectionKind/inout"/>
-      <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="UML.ecore#//ParameterDirectionKind/out"/>
-      <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="UML.ecore#//ParameterDirectionKind/return"/>
-    </genEnums>
-    <genEnums xsi:type="genmodel:GenEnum" ecoreEnum="UML.ecore#//ParameterEffectKind">
-      <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="UML.ecore#//ParameterEffectKind/create"/>
-      <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="UML.ecore#//ParameterEffectKind/read"/>
-      <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="UML.ecore#//ParameterEffectKind/update"/>
-      <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="UML.ecore#//ParameterEffectKind/delete"/>
-    </genEnums>
     <genEnums xsi:type="genmodel:GenEnum" ecoreEnum="UML.ecore#//TransitionKind">
       <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="UML.ecore#//TransitionKind/internal"/>
       <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="UML.ecore#//TransitionKind/local"/>
@@ -77,6 +64,18 @@
       <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="UML.ecore#//PseudostateKind/exitPoint"/>
       <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="UML.ecore#//PseudostateKind/terminate"/>
     </genEnums>
+    <genEnums xsi:type="genmodel:GenEnum" ecoreEnum="UML.ecore#//ParameterDirectionKind">
+      <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="UML.ecore#//ParameterDirectionKind/in"/>
+      <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="UML.ecore#//ParameterDirectionKind/inout"/>
+      <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="UML.ecore#//ParameterDirectionKind/out"/>
+      <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="UML.ecore#//ParameterDirectionKind/return"/>
+    </genEnums>
+    <genEnums xsi:type="genmodel:GenEnum" ecoreEnum="UML.ecore#//ParameterEffectKind">
+      <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="UML.ecore#//ParameterEffectKind/create"/>
+      <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="UML.ecore#//ParameterEffectKind/read"/>
+      <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="UML.ecore#//ParameterEffectKind/update"/>
+      <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="UML.ecore#//ParameterEffectKind/delete"/>
+    </genEnums>
     <genEnums xsi:type="genmodel:GenEnum" ecoreEnum="UML.ecore#//AggregationKind">
       <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="UML.ecore#//AggregationKind/none"/>
       <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="UML.ecore#//AggregationKind/shared"/>
@@ -137,21 +136,18 @@
       <genFeatures xsi:type="genmodel:GenFeature" createChild="false" propertySortChoices="true"
           ecoreFeature="ecore:EReference UML.ecore#//Dependency/supplier"/>
     </genClasses>
-    <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="UML.ecore#//DirectedRelationship">
-      <genFeatures xsi:type="genmodel:GenFeature" property="Readonly" notify="false"
-          createChild="false" ecoreFeature="ecore:EReference UML.ecore#//DirectedRelationship/source">
+    <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="UML.ecore#//PackageableElement"/>
+    <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="UML.ecore#//ParameterableElement">
+      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+          propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//ParameterableElement/owningTemplateParameter">
         <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
       </genFeatures>
-      <genFeatures xsi:type="genmodel:GenFeature" property="Readonly" notify="false"
-          createChild="false" ecoreFeature="ecore:EReference UML.ecore#//DirectedRelationship/target">
-        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
-      </genFeatures>
-    </genClasses>
-    <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="UML.ecore#//Relationship">
-      <genFeatures xsi:type="genmodel:GenFeature" property="Readonly" notify="false"
-          createChild="false" ecoreFeature="ecore:EReference UML.ecore#//Relationship/relatedElement">
-        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
-      </genFeatures>
+      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+          propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//ParameterableElement/templateParameter"/>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ParameterableElement/isCompatibleWith">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ParameterableElement/isCompatibleWith/p"/>
+      </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ParameterableElement/isTemplateParameter"/>
     </genClasses>
     <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="UML.ecore#//Element">
       <genFeatures xsi:type="genmodel:GenFeature" children="true" createChild="true"
@@ -280,6 +276,14 @@
           createChild="false" ecoreFeature="ecore:EReference UML.ecore#//Stereotype/profile">
         <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
       </genFeatures>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Stereotype/associationEndOwnership">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Stereotype/associationEndOwnership/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Stereotype/associationEndOwnership/context"/>
+      </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Stereotype/name_not_clash">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Stereotype/name_not_clash/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Stereotype/name_not_clash/context"/>
+      </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Stereotype/binaryAssociationsOnly">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Stereotype/binaryAssociationsOnly/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Stereotype/binaryAssociationsOnly/context"/>
@@ -288,14 +292,6 @@
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Stereotype/generalize/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Stereotype/generalize/context"/>
       </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Stereotype/name_not_clash">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Stereotype/name_not_clash/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Stereotype/name_not_clash/context"/>
-      </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Stereotype/associationEndOwnership">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Stereotype/associationEndOwnership/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Stereotype/associationEndOwnership/context"/>
-      </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Stereotype/createExtension">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Stereotype/createExtension/metaclass"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Stereotype/createExtension/isRequired"/>
@@ -354,25 +350,41 @@
           cacheAdapterScope="Global"/>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Class/getSuperClasses"/>
     </genClasses>
-    <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="UML.ecore#//BehavioredClassifier">
+    <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="UML.ecore#//EncapsulatedClassifier">
       <genFeatures xsi:type="genmodel:GenFeature" createChild="true" propertySortChoices="true"
-          ecoreFeature="ecore:EReference UML.ecore#//BehavioredClassifier/classifierBehavior"/>
+          ecoreFeature="ecore:EReference UML.ecore#//EncapsulatedClassifier/ownedPort">
+        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
+      </genFeatures>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//EncapsulatedClassifier/getOwnedPorts"/>
+    </genClasses>
+    <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="UML.ecore#//StructuredClassifier">
       <genFeatures xsi:type="genmodel:GenFeature" children="true" createChild="true"
-          propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//BehavioredClassifier/interfaceRealization">
+          propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//StructuredClassifier/ownedAttribute">
         <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
       </genFeatures>
       <genFeatures xsi:type="genmodel:GenFeature" children="true" createChild="true"
-          propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//BehavioredClassifier/ownedBehavior">
+          propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//StructuredClassifier/ownedConnector">
         <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
       </genFeatures>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//BehavioredClassifier/class_behavior">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//BehavioredClassifier/class_behavior/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//BehavioredClassifier/class_behavior/context"/>
+      <genFeatures xsi:type="genmodel:GenFeature" property="Readonly" notify="false"
+          createChild="false" ecoreFeature="ecore:EReference UML.ecore#//StructuredClassifier/part">
+        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
+      </genFeatures>
+      <genFeatures xsi:type="genmodel:GenFeature" property="Readonly" notify="false"
+          createChild="false" ecoreFeature="ecore:EReference UML.ecore#//StructuredClassifier/role">
+        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
+      </genFeatures>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//StructuredClassifier/multiplicities">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//StructuredClassifier/multiplicities/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//StructuredClassifier/multiplicities/context"/>
       </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//BehavioredClassifier/getAllImplementedInterfaces"
-          cacheAdapterScope="Global"/>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//BehavioredClassifier/getImplementedInterfaces"
-          cacheAdapterScope="Global"/>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//StructuredClassifier/createOwnedAttribute">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//StructuredClassifier/createOwnedAttribute/name"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//StructuredClassifier/createOwnedAttribute/type"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//StructuredClassifier/createOwnedAttribute/lower"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//StructuredClassifier/createOwnedAttribute/upper"/>
+      </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//StructuredClassifier/getParts"/>
     </genClasses>
     <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="UML.ecore#//Classifier">
       <genFeatures xsi:type="genmodel:GenFeature" property="Readonly" notify="false"
@@ -417,14 +429,6 @@
           propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//Classifier/substitution">
         <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
       </genFeatures>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Classifier/specialize_type">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Classifier/specialize_type/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Classifier/specialize_type/context"/>
-      </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Classifier/maps_to_generalization_set">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Classifier/maps_to_generalization_set/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Classifier/maps_to_generalization_set/context"/>
-      </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Classifier/non_final_parents">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Classifier/non_final_parents/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Classifier/non_final_parents/context"/>
@@ -433,6 +437,14 @@
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Classifier/no_cycles_in_generalization/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Classifier/no_cycles_in_generalization/context"/>
       </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Classifier/specialize_type">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Classifier/specialize_type/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Classifier/specialize_type/context"/>
+      </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Classifier/maps_to_generalization_set">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Classifier/maps_to_generalization_set/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Classifier/maps_to_generalization_set/context"/>
+      </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Classifier/getAllAttributes"
           cacheAdapterScope="Global"/>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Classifier/getAllOperations"
@@ -554,10 +566,6 @@
         <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
       </genFeatures>
       <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute UML.ecore#//NamedElement/visibility"/>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//NamedElement/visibility_needs_ownership">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//NamedElement/visibility_needs_ownership/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//NamedElement/visibility_needs_ownership/context"/>
-      </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//NamedElement/has_qualified_name">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//NamedElement/has_qualified_name/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//NamedElement/has_qualified_name/context"/>
@@ -566,6 +574,10 @@
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//NamedElement/has_no_qualified_name/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//NamedElement/has_no_qualified_name/context"/>
       </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//NamedElement/visibility_needs_ownership">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//NamedElement/visibility_needs_ownership/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//NamedElement/visibility_needs_ownership/context"/>
+      </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//NamedElement/createDependency">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//NamedElement/createDependency/supplier"/>
       </genOperations>
@@ -597,114 +609,13 @@
           propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//StringExpression/subExpression">
         <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
       </genFeatures>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//StringExpression/operands">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//StringExpression/operands/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//StringExpression/operands/context"/>
-      </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//StringExpression/subexpressions">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//StringExpression/subexpressions/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//StringExpression/subexpressions/context"/>
       </genOperations>
-    </genClasses>
-    <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="UML.ecore#//TemplateableElement">
-      <genFeatures xsi:type="genmodel:GenFeature" children="true" createChild="true"
-          propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//TemplateableElement/ownedTemplateSignature">
-        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
-      </genFeatures>
-      <genFeatures xsi:type="genmodel:GenFeature" children="true" createChild="true"
-          propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//TemplateableElement/templateBinding">
-        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
-      </genFeatures>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//TemplateableElement/isTemplate"/>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//TemplateableElement/parameterableElements"
-          cacheAdapterScope="Global"/>
-    </genClasses>
-    <genClasses xsi:type="genmodel:GenClass" ecoreClass="UML.ecore#//TemplateSignature">
-      <genFeatures xsi:type="genmodel:GenFeature" children="true" createChild="true"
-          propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//TemplateSignature/ownedParameter">
-        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
-      </genFeatures>
-      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
-          propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//TemplateSignature/parameter"/>
-      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
-          propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//TemplateSignature/template">
-        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
-      </genFeatures>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//TemplateSignature/own_elements">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//TemplateSignature/own_elements/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//TemplateSignature/own_elements/context"/>
-      </genOperations>
-    </genClasses>
-    <genClasses xsi:type="genmodel:GenClass" ecoreClass="UML.ecore#//TemplateParameter">
-      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
-          propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//TemplateParameter/default"/>
-      <genFeatures xsi:type="genmodel:GenFeature" children="true" createChild="true"
-          propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//TemplateParameter/ownedParameteredElement">
-        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
-      </genFeatures>
-      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" propertySortChoices="true"
-          ecoreFeature="ecore:EReference UML.ecore#//TemplateParameter/parameteredElement"/>
-      <genFeatures xsi:type="genmodel:GenFeature" children="true" createChild="true"
-          propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//TemplateParameter/ownedDefault">
-        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
-      </genFeatures>
-      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
-          propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//TemplateParameter/signature">
-        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
-      </genFeatures>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//TemplateParameter/must_be_compatible">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//TemplateParameter/must_be_compatible/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//TemplateParameter/must_be_compatible/context"/>
-      </genOperations>
-    </genClasses>
-    <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="UML.ecore#//ParameterableElement">
-      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
-          propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//ParameterableElement/owningTemplateParameter">
-        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
-      </genFeatures>
-      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
-          propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//ParameterableElement/templateParameter"/>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ParameterableElement/isCompatibleWith">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ParameterableElement/isCompatibleWith/p"/>
-      </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ParameterableElement/isTemplateParameter"/>
-    </genClasses>
-    <genClasses xsi:type="genmodel:GenClass" ecoreClass="UML.ecore#//TemplateBinding">
-      <genFeatures xsi:type="genmodel:GenFeature" children="true" createChild="true"
-          propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//TemplateBinding/parameterSubstitution">
-        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
-      </genFeatures>
-      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" propertySortChoices="true"
-          ecoreFeature="ecore:EReference UML.ecore#//TemplateBinding/signature" key="true"/>
-      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
-          propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//TemplateBinding/boundElement">
-        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
-      </genFeatures>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//TemplateBinding/parameter_substitution_formal">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//TemplateBinding/parameter_substitution_formal/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//TemplateBinding/parameter_substitution_formal/context"/>
-      </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//TemplateBinding/one_parameter_substitution">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//TemplateBinding/one_parameter_substitution/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//TemplateBinding/one_parameter_substitution/context"/>
-      </genOperations>
-    </genClasses>
-    <genClasses xsi:type="genmodel:GenClass" ecoreClass="UML.ecore#//TemplateParameterSubstitution">
-      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
-          propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//TemplateParameterSubstitution/actual"/>
-      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
-          propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//TemplateParameterSubstitution/formal"/>
-      <genFeatures xsi:type="genmodel:GenFeature" children="true" createChild="true"
-          propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//TemplateParameterSubstitution/ownedActual">
-        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
-      </genFeatures>
-      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
-          propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//TemplateParameterSubstitution/templateBinding">
-        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
-      </genFeatures>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//TemplateParameterSubstitution/must_be_compatible">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//TemplateParameterSubstitution/must_be_compatible/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//TemplateParameterSubstitution/must_be_compatible/context"/>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//StringExpression/operands">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//StringExpression/operands/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//StringExpression/operands/context"/>
       </genOperations>
     </genClasses>
     <genClasses xsi:type="genmodel:GenClass" ecoreClass="UML.ecore#//Expression">
@@ -751,7 +662,6 @@
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Type/conformsTo/other"/>
       </genOperations>
     </genClasses>
-    <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="UML.ecore#//PackageableElement"/>
     <genClasses xsi:type="genmodel:GenClass" ecoreClass="UML.ecore#//Package">
       <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute UML.ecore#//Package/URI"/>
       <genFeatures xsi:type="genmodel:GenFeature" createChild="true" propertySortChoices="true"
@@ -845,6 +755,111 @@
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Package/visibleMembers"
           cacheAdapterScope="Global"/>
     </genClasses>
+    <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="UML.ecore#//TemplateableElement">
+      <genFeatures xsi:type="genmodel:GenFeature" children="true" createChild="true"
+          propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//TemplateableElement/ownedTemplateSignature">
+        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
+      </genFeatures>
+      <genFeatures xsi:type="genmodel:GenFeature" children="true" createChild="true"
+          propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//TemplateableElement/templateBinding">
+        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
+      </genFeatures>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//TemplateableElement/isTemplate"/>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//TemplateableElement/parameterableElements"
+          cacheAdapterScope="Global"/>
+    </genClasses>
+    <genClasses xsi:type="genmodel:GenClass" ecoreClass="UML.ecore#//TemplateSignature">
+      <genFeatures xsi:type="genmodel:GenFeature" children="true" createChild="true"
+          propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//TemplateSignature/ownedParameter">
+        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
+      </genFeatures>
+      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+          propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//TemplateSignature/parameter"/>
+      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+          propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//TemplateSignature/template">
+        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
+      </genFeatures>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//TemplateSignature/own_elements">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//TemplateSignature/own_elements/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//TemplateSignature/own_elements/context"/>
+      </genOperations>
+    </genClasses>
+    <genClasses xsi:type="genmodel:GenClass" ecoreClass="UML.ecore#//TemplateParameter">
+      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+          propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//TemplateParameter/default"/>
+      <genFeatures xsi:type="genmodel:GenFeature" children="true" createChild="true"
+          propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//TemplateParameter/ownedDefault">
+        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
+      </genFeatures>
+      <genFeatures xsi:type="genmodel:GenFeature" children="true" createChild="true"
+          propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//TemplateParameter/ownedParameteredElement">
+        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
+      </genFeatures>
+      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" propertySortChoices="true"
+          ecoreFeature="ecore:EReference UML.ecore#//TemplateParameter/parameteredElement"/>
+      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+          propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//TemplateParameter/signature">
+        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
+      </genFeatures>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//TemplateParameter/must_be_compatible">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//TemplateParameter/must_be_compatible/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//TemplateParameter/must_be_compatible/context"/>
+      </genOperations>
+    </genClasses>
+    <genClasses xsi:type="genmodel:GenClass" ecoreClass="UML.ecore#//TemplateBinding">
+      <genFeatures xsi:type="genmodel:GenFeature" children="true" createChild="true"
+          propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//TemplateBinding/parameterSubstitution">
+        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
+      </genFeatures>
+      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" propertySortChoices="true"
+          ecoreFeature="ecore:EReference UML.ecore#//TemplateBinding/signature" key="true"/>
+      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+          propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//TemplateBinding/boundElement">
+        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
+      </genFeatures>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//TemplateBinding/parameter_substitution_formal">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//TemplateBinding/parameter_substitution_formal/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//TemplateBinding/parameter_substitution_formal/context"/>
+      </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//TemplateBinding/one_parameter_substitution">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//TemplateBinding/one_parameter_substitution/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//TemplateBinding/one_parameter_substitution/context"/>
+      </genOperations>
+    </genClasses>
+    <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="UML.ecore#//DirectedRelationship">
+      <genFeatures xsi:type="genmodel:GenFeature" property="Readonly" notify="false"
+          createChild="false" ecoreFeature="ecore:EReference UML.ecore#//DirectedRelationship/source">
+        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
+      </genFeatures>
+      <genFeatures xsi:type="genmodel:GenFeature" property="Readonly" notify="false"
+          createChild="false" ecoreFeature="ecore:EReference UML.ecore#//DirectedRelationship/target">
+        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
+      </genFeatures>
+    </genClasses>
+    <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="UML.ecore#//Relationship">
+      <genFeatures xsi:type="genmodel:GenFeature" property="Readonly" notify="false"
+          createChild="false" ecoreFeature="ecore:EReference UML.ecore#//Relationship/relatedElement">
+        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
+      </genFeatures>
+    </genClasses>
+    <genClasses xsi:type="genmodel:GenClass" ecoreClass="UML.ecore#//TemplateParameterSubstitution">
+      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+          propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//TemplateParameterSubstitution/actual"/>
+      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+          propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//TemplateParameterSubstitution/formal"/>
+      <genFeatures xsi:type="genmodel:GenFeature" children="true" createChild="true"
+          propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//TemplateParameterSubstitution/ownedActual">
+        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
+      </genFeatures>
+      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+          propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//TemplateParameterSubstitution/templateBinding">
+        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
+      </genFeatures>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//TemplateParameterSubstitution/must_be_compatible">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//TemplateParameterSubstitution/must_be_compatible/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//TemplateParameterSubstitution/must_be_compatible/context"/>
+      </genOperations>
+    </genClasses>
     <genClasses xsi:type="genmodel:GenClass" ecoreClass="UML.ecore#//PackageMerge">
       <genFeatures xsi:type="genmodel:GenFeature" createChild="false" propertySortChoices="true"
           ecoreFeature="ecore:EReference UML.ecore#//PackageMerge/mergedPackage" key="true"/>
@@ -911,14 +926,14 @@
         <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
       </genFeatures>
       <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute UML.ecore#//ElementImport/visibility"/>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ElementImport/imported_element_is_public">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ElementImport/imported_element_is_public/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ElementImport/imported_element_is_public/context"/>
-      </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ElementImport/visibility_public_or_private">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ElementImport/visibility_public_or_private/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ElementImport/visibility_public_or_private/context"/>
       </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ElementImport/imported_element_is_public">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ElementImport/imported_element_is_public/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ElementImport/imported_element_is_public/context"/>
+      </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ElementImport/getName"/>
     </genClasses>
     <genClasses xsi:type="genmodel:GenClass" ecoreClass="UML.ecore#//PackageImport">
@@ -976,17 +991,17 @@
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Association/specialized_end_number/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Association/specialized_end_number/context"/>
       </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Association/specialized_end_types">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Association/specialized_end_types/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Association/specialized_end_types/context"/>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Association/association_ends">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Association/association_ends/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Association/association_ends/context"/>
       </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Association/binary_associations">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Association/binary_associations/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Association/binary_associations/context"/>
       </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Association/association_ends">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Association/association_ends/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Association/association_ends/context"/>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Association/specialized_end_types">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Association/specialized_end_types/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Association/specialized_end_types/context"/>
       </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Association/isBinary"/>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Association/getEndTypes"
@@ -994,11 +1009,11 @@
     </genClasses>
     <genClasses xsi:type="genmodel:GenClass" ecoreClass="UML.ecore#//Property">
       <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
-          propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//Property/datatype">
+          propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//Property/interface">
         <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
       </genFeatures>
       <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
-          propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//Property/interface">
+          propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//Property/datatype">
         <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
       </genFeatures>
       <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute UML.ecore#//Property/aggregation"/>
@@ -1039,41 +1054,41 @@
           propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//Property/subsettedProperty"/>
       <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
           propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//Property/association"/>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Property/subsetting_context_conforms">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Property/subsetting_context_conforms/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Property/subsetting_context_conforms/context"/>
-      </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Property/derived_union_is_read_only">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Property/derived_union_is_read_only/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Property/derived_union_is_read_only/context"/>
-      </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Property/multiplicity_of_composite">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Property/multiplicity_of_composite/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Property/multiplicity_of_composite/context"/>
-      </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Property/redefined_property_inherited">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Property/redefined_property_inherited/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Property/redefined_property_inherited/context"/>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Property/subsetted_property_names">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Property/subsetted_property_names/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Property/subsetted_property_names/context"/>
       </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Property/subsetting_rules">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Property/subsetting_rules/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Property/subsetting_rules/context"/>
       </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Property/multiplicity_of_composite">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Property/multiplicity_of_composite/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Property/multiplicity_of_composite/context"/>
+      </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Property/binding_to_attribute">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Property/binding_to_attribute/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Property/binding_to_attribute/context"/>
       </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Property/derived_union_is_derived">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Property/derived_union_is_derived/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Property/derived_union_is_derived/context"/>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Property/redefined_property_inherited">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Property/redefined_property_inherited/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Property/redefined_property_inherited/context"/>
+      </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Property/subsetting_context_conforms">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Property/subsetting_context_conforms/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Property/subsetting_context_conforms/context"/>
       </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Property/deployment_target">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Property/deployment_target/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Property/deployment_target/context"/>
       </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Property/subsetted_property_names">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Property/subsetted_property_names/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Property/subsetted_property_names/context"/>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Property/derived_union_is_derived">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Property/derived_union_is_derived/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Property/derived_union_is_derived/context"/>
+      </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Property/derived_union_is_read_only">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Property/derived_union_is_read_only/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Property/derived_union_is_read_only/context"/>
       </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Property/getOtherEnd"/>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Property/isSetDefault"/>
@@ -1116,39 +1131,8 @@
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Property/subsettingContext"
           cacheAdapterScope="Global"/>
     </genClasses>
-    <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="UML.ecore#//ConnectableElement">
-      <genFeatures xsi:type="genmodel:GenFeature" property="Readonly" notify="false"
-          createChild="false" ecoreFeature="ecore:EReference UML.ecore#//ConnectableElement/end">
-        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
-      </genFeatures>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ConnectableElement/getEnds"/>
-    </genClasses>
-    <genClasses xsi:type="genmodel:GenClass" ecoreClass="UML.ecore#//ConnectorEnd">
-      <genFeatures xsi:type="genmodel:GenFeature" property="Readonly" notify="false"
-          createChild="false" ecoreFeature="ecore:EReference UML.ecore#//ConnectorEnd/definingEnd">
-        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
-      </genFeatures>
-      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
-          propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//ConnectorEnd/partWithPort"/>
-      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
-          propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//ConnectorEnd/role"/>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ConnectorEnd/role_and_part_with_port">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ConnectorEnd/role_and_part_with_port/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ConnectorEnd/role_and_part_with_port/context"/>
-      </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ConnectorEnd/part_with_port_empty">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ConnectorEnd/part_with_port_empty/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ConnectorEnd/part_with_port_empty/context"/>
-      </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ConnectorEnd/multiplicity">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ConnectorEnd/multiplicity/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ConnectorEnd/multiplicity/context"/>
-      </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ConnectorEnd/self_part_with_port">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ConnectorEnd/self_part_with_port/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ConnectorEnd/self_part_with_port/context"/>
-      </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ConnectorEnd/getDefiningEnd"/>
+    <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="UML.ecore#//StructuralFeature">
+      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute UML.ecore#//StructuralFeature/isReadOnly"/>
     </genClasses>
     <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="UML.ecore#//MultiplicityElement">
       <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute UML.ecore#//MultiplicityElement/isOrdered"/>
@@ -1163,22 +1147,22 @@
           propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//MultiplicityElement/upperValue">
         <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
       </genFeatures>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//MultiplicityElement/upper_ge_lower">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//MultiplicityElement/upper_ge_lower/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//MultiplicityElement/upper_ge_lower/context"/>
-      </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//MultiplicityElement/lower_ge_0">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//MultiplicityElement/lower_ge_0/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//MultiplicityElement/lower_ge_0/context"/>
       </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//MultiplicityElement/value_specification_no_side_effects">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//MultiplicityElement/value_specification_no_side_effects/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//MultiplicityElement/value_specification_no_side_effects/context"/>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//MultiplicityElement/upper_ge_lower">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//MultiplicityElement/upper_ge_lower/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//MultiplicityElement/upper_ge_lower/context"/>
       </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//MultiplicityElement/value_specification_constant">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//MultiplicityElement/value_specification_constant/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//MultiplicityElement/value_specification_constant/context"/>
       </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//MultiplicityElement/value_specification_no_side_effects">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//MultiplicityElement/value_specification_no_side_effects/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//MultiplicityElement/value_specification_no_side_effects/context"/>
+      </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//MultiplicityElement/setLower">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//MultiplicityElement/setLower/newLower"/>
       </genOperations>
@@ -1204,6 +1188,76 @@
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//MultiplicityElement/getUpper"/>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//MultiplicityElement/upperBound"/>
     </genClasses>
+    <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="UML.ecore#//Feature">
+      <genFeatures xsi:type="genmodel:GenFeature" property="Readonly" notify="false"
+          createChild="false" ecoreFeature="ecore:EReference UML.ecore#//Feature/featuringClassifier">
+        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
+      </genFeatures>
+      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute UML.ecore#//Feature/isStatic"/>
+    </genClasses>
+    <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="UML.ecore#//RedefinableElement">
+      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute UML.ecore#//RedefinableElement/isLeaf"/>
+      <genFeatures xsi:type="genmodel:GenFeature" property="Readonly" notify="false"
+          createChild="false" ecoreFeature="ecore:EReference UML.ecore#//RedefinableElement/redefinedElement">
+        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
+      </genFeatures>
+      <genFeatures xsi:type="genmodel:GenFeature" property="Readonly" notify="false"
+          createChild="false" ecoreFeature="ecore:EReference UML.ecore#//RedefinableElement/redefinitionContext">
+        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
+      </genFeatures>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//RedefinableElement/redefinition_consistent">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//RedefinableElement/redefinition_consistent/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//RedefinableElement/redefinition_consistent/context"/>
+      </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//RedefinableElement/non_leaf_redefinition">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//RedefinableElement/non_leaf_redefinition/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//RedefinableElement/non_leaf_redefinition/context"/>
+      </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//RedefinableElement/redefinition_context_valid">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//RedefinableElement/redefinition_context_valid/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//RedefinableElement/redefinition_context_valid/context"/>
+      </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//RedefinableElement/isConsistentWith">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//RedefinableElement/isConsistentWith/redefinee"/>
+      </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//RedefinableElement/isRedefinitionContextValid">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//RedefinableElement/isRedefinitionContextValid/redefined"/>
+      </genOperations>
+    </genClasses>
+    <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="UML.ecore#//ConnectableElement">
+      <genFeatures xsi:type="genmodel:GenFeature" property="Readonly" notify="false"
+          createChild="false" ecoreFeature="ecore:EReference UML.ecore#//ConnectableElement/end">
+        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
+      </genFeatures>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ConnectableElement/getEnds"/>
+    </genClasses>
+    <genClasses xsi:type="genmodel:GenClass" ecoreClass="UML.ecore#//ConnectorEnd">
+      <genFeatures xsi:type="genmodel:GenFeature" property="Readonly" notify="false"
+          createChild="false" ecoreFeature="ecore:EReference UML.ecore#//ConnectorEnd/definingEnd">
+        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
+      </genFeatures>
+      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+          propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//ConnectorEnd/partWithPort"/>
+      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+          propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//ConnectorEnd/role"/>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ConnectorEnd/role_and_part_with_port">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ConnectorEnd/role_and_part_with_port/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ConnectorEnd/role_and_part_with_port/context"/>
+      </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ConnectorEnd/self_part_with_port">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ConnectorEnd/self_part_with_port/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ConnectorEnd/self_part_with_port/context"/>
+      </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ConnectorEnd/multiplicity">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ConnectorEnd/multiplicity/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ConnectorEnd/multiplicity/context"/>
+      </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ConnectorEnd/part_with_port_empty">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ConnectorEnd/part_with_port_empty/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ConnectorEnd/part_with_port_empty/context"/>
+      </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ConnectorEnd/getDefiningEnd"/>
+    </genClasses>
     <genClasses xsi:type="genmodel:GenClass" ecoreClass="UML.ecore#//ConnectableElementTemplateParameter"/>
     <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="UML.ecore#//DeploymentTarget">
       <genFeatures xsi:type="genmodel:GenFeature" property="Readonly" notify="false"
@@ -1236,14 +1290,14 @@
           propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//DeploymentSpecification/deployment">
         <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
       </genFeatures>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//DeploymentSpecification/deployment_target">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//DeploymentSpecification/deployment_target/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//DeploymentSpecification/deployment_target/context"/>
-      </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//DeploymentSpecification/deployed_elements">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//DeploymentSpecification/deployed_elements/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//DeploymentSpecification/deployed_elements/context"/>
       </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//DeploymentSpecification/deployment_target">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//DeploymentSpecification/deployment_target/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//DeploymentSpecification/deployment_target/context"/>
+      </genOperations>
     </genClasses>
     <genClasses xsi:type="genmodel:GenClass" ecoreClass="UML.ecore#//Artifact">
       <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute UML.ecore#//Artifact/fileName"/>
@@ -1283,6 +1337,10 @@
           key="true"/>
     </genClasses>
     <genClasses xsi:type="genmodel:GenClass" ecoreClass="UML.ecore#//Operation">
+      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+          propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//Operation/interface">
+        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
+      </genFeatures>
       <genFeatures xsi:type="genmodel:GenFeature" createChild="true" propertySortChoices="true"
           ecoreFeature="ecore:EReference UML.ecore#//Operation/bodyCondition"/>
       <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
@@ -1293,10 +1351,6 @@
           propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//Operation/datatype">
         <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
       </genFeatures>
-      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
-          propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//Operation/interface">
-        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
-      </genFeatures>
       <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute UML.ecore#//Operation/isOrdered.1"/>
       <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute UML.ecore#//Operation/isQuery"/>
       <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute UML.ecore#//Operation/isUnique.1"/>
@@ -1363,42 +1417,6 @@
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//BehavioralFeature/createReturnResult/type"/>
       </genOperations>
     </genClasses>
-    <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="UML.ecore#//Feature">
-      <genFeatures xsi:type="genmodel:GenFeature" property="Readonly" notify="false"
-          createChild="false" ecoreFeature="ecore:EReference UML.ecore#//Feature/featuringClassifier">
-        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
-      </genFeatures>
-      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute UML.ecore#//Feature/isStatic"/>
-    </genClasses>
-    <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="UML.ecore#//RedefinableElement">
-      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute UML.ecore#//RedefinableElement/isLeaf"/>
-      <genFeatures xsi:type="genmodel:GenFeature" property="Readonly" notify="false"
-          createChild="false" ecoreFeature="ecore:EReference UML.ecore#//RedefinableElement/redefinedElement">
-        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
-      </genFeatures>
-      <genFeatures xsi:type="genmodel:GenFeature" property="Readonly" notify="false"
-          createChild="false" ecoreFeature="ecore:EReference UML.ecore#//RedefinableElement/redefinitionContext">
-        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
-      </genFeatures>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//RedefinableElement/redefinition_consistent">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//RedefinableElement/redefinition_consistent/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//RedefinableElement/redefinition_consistent/context"/>
-      </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//RedefinableElement/non_leaf_redefinition">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//RedefinableElement/non_leaf_redefinition/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//RedefinableElement/non_leaf_redefinition/context"/>
-      </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//RedefinableElement/redefinition_context_valid">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//RedefinableElement/redefinition_context_valid/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//RedefinableElement/redefinition_context_valid/context"/>
-      </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//RedefinableElement/isConsistentWith">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//RedefinableElement/isConsistentWith/redefinee"/>
-      </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//RedefinableElement/isRedefinitionContextValid">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//RedefinableElement/isRedefinitionContextValid/redefined"/>
-      </genOperations>
-    </genClasses>
     <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="UML.ecore#//Behavior">
       <genFeatures xsi:type="genmodel:GenFeature" property="Readonly" notify="false"
           createChild="false" ecoreFeature="ecore:EReference UML.ecore#//Behavior/context">
@@ -1425,14 +1443,6 @@
           propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//Behavior/redefinedBehavior"/>
       <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
           propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//Behavior/specification"/>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Behavior/most_one_behaviour">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Behavior/most_one_behaviour/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Behavior/most_one_behaviour/context"/>
-      </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Behavior/must_realize">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Behavior/must_realize/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Behavior/must_realize/context"/>
-      </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Behavior/parameters_match">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Behavior/parameters_match/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Behavior/parameters_match/context"/>
@@ -1441,135 +1451,46 @@
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Behavior/feature_of_context_classifier/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Behavior/feature_of_context_classifier/context"/>
       </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Behavior/must_realize">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Behavior/must_realize/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Behavior/must_realize/context"/>
+      </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Behavior/most_one_behaviour">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Behavior/most_one_behaviour/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Behavior/most_one_behaviour/context"/>
+      </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Behavior/getContext"/>
     </genClasses>
-    <genClasses xsi:type="genmodel:GenClass" ecoreClass="UML.ecore#//Parameter">
-      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute UML.ecore#//Parameter/default"/>
+    <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="UML.ecore#//BehavioredClassifier">
+      <genFeatures xsi:type="genmodel:GenFeature" createChild="true" propertySortChoices="true"
+          ecoreFeature="ecore:EReference UML.ecore#//BehavioredClassifier/classifierBehavior"/>
       <genFeatures xsi:type="genmodel:GenFeature" children="true" createChild="true"
-          propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//Parameter/defaultValue">
+          propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//BehavioredClassifier/interfaceRealization">
         <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
       </genFeatures>
-      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute UML.ecore#//Parameter/direction"/>
-      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute UML.ecore#//Parameter/effect"/>
-      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute UML.ecore#//Parameter/isException"/>
-      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute UML.ecore#//Parameter/isStream"/>
-      <genFeatures xsi:type="genmodel:GenFeature" property="Readonly" notify="false"
-          createChild="false" ecoreFeature="ecore:EReference UML.ecore#//Parameter/operation"/>
-      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
-          propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//Parameter/parameterSet"/>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Parameter/in_and_out">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Parameter/in_and_out/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Parameter/in_and_out/context"/>
+      <genFeatures xsi:type="genmodel:GenFeature" children="true" createChild="true"
+          propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//BehavioredClassifier/ownedBehavior">
+        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
+      </genFeatures>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//BehavioredClassifier/class_behavior">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//BehavioredClassifier/class_behavior/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//BehavioredClassifier/class_behavior/context"/>
       </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Parameter/not_exception">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Parameter/not_exception/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Parameter/not_exception/context"/>
-      </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Parameter/connector_end">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Parameter/connector_end/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Parameter/connector_end/context"/>
-      </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Parameter/reentrant_behaviors">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Parameter/reentrant_behaviors/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Parameter/reentrant_behaviors/context"/>
-      </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Parameter/stream_and_exception">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Parameter/stream_and_exception/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Parameter/stream_and_exception/context"/>
-      </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Parameter/isSetDefault"/>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Parameter/setBooleanDefaultValue">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Parameter/setBooleanDefaultValue/value"/>
-      </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Parameter/setDefault">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Parameter/setDefault/newDefault"/>
-      </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Parameter/setIntegerDefaultValue">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Parameter/setIntegerDefaultValue/value"/>
-      </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Parameter/setNullDefaultValue"/>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Parameter/setRealDefaultValue">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Parameter/setRealDefaultValue/value"/>
-      </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Parameter/setStringDefaultValue">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Parameter/setStringDefaultValue/value"/>
-      </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Parameter/setUnlimitedNaturalDefaultValue">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Parameter/setUnlimitedNaturalDefaultValue/value"/>
-      </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Parameter/unsetDefault"/>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Parameter/getDefault"/>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//BehavioredClassifier/getAllImplementedInterfaces"
+          cacheAdapterScope="Global"/>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//BehavioredClassifier/getImplementedInterfaces"
+          cacheAdapterScope="Global"/>
     </genClasses>
-    <genClasses xsi:type="genmodel:GenClass" ecoreClass="UML.ecore#//ParameterSet">
-      <genFeatures xsi:type="genmodel:GenFeature" children="true" createChild="true"
-          propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//ParameterSet/condition">
-        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
-      </genFeatures>
+    <genClasses xsi:type="genmodel:GenClass" ecoreClass="UML.ecore#//InterfaceRealization">
       <genFeatures xsi:type="genmodel:GenFeature" createChild="false" propertySortChoices="true"
-          ecoreFeature="ecore:EReference UML.ecore#//ParameterSet/parameter"/>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ParameterSet/same_parameterized_entity">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ParameterSet/same_parameterized_entity/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ParameterSet/same_parameterized_entity/context"/>
-      </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ParameterSet/input">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ParameterSet/input/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ParameterSet/input/context"/>
-      </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ParameterSet/two_parameter_sets">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ParameterSet/two_parameter_sets/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ParameterSet/two_parameter_sets/context"/>
-      </genOperations>
-    </genClasses>
-    <genClasses xsi:type="genmodel:GenClass" ecoreClass="UML.ecore#//Constraint">
+          ecoreFeature="ecore:EReference UML.ecore#//InterfaceRealization/contract"
+          key="true"/>
       <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
-          propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//Constraint/constrainedElement"/>
-      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
-          propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//Constraint/context">
+          propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//InterfaceRealization/implementingClassifier">
         <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
       </genFeatures>
-      <genFeatures xsi:type="genmodel:GenFeature" children="true" createChild="true"
-          propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//Constraint/specification">
-        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
-      </genFeatures>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Constraint/boolean_value">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Constraint/boolean_value/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Constraint/boolean_value/context"/>
-      </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Constraint/no_side_effects">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Constraint/no_side_effects/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Constraint/no_side_effects/context"/>
-      </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Constraint/not_apply_to_self">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Constraint/not_apply_to_self/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Constraint/not_apply_to_self/context"/>
-      </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Constraint/value_specification_boolean">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Constraint/value_specification_boolean/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Constraint/value_specification_boolean/context"/>
-      </genOperations>
     </genClasses>
-    <genClasses xsi:type="genmodel:GenClass" ecoreClass="UML.ecore#//DataType">
-      <genFeatures xsi:type="genmodel:GenFeature" children="true" createChild="true"
-          propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//DataType/ownedAttribute">
-        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
-      </genFeatures>
-      <genFeatures xsi:type="genmodel:GenFeature" children="true" createChild="true"
-          propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//DataType/ownedOperation">
-        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
-      </genFeatures>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//DataType/createOwnedAttribute">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//DataType/createOwnedAttribute/name"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//DataType/createOwnedAttribute/type"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//DataType/createOwnedAttribute/lower"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//DataType/createOwnedAttribute/upper"/>
-      </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//DataType/createOwnedOperation">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//DataType/createOwnedOperation/name"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//DataType/createOwnedOperation/parameterNames"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//DataType/createOwnedOperation/parameterTypes"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//DataType/createOwnedOperation/returnType"/>
-      </genOperations>
-    </genClasses>
+    <genClasses xsi:type="genmodel:GenClass" ecoreClass="UML.ecore#//Realization"/>
     <genClasses xsi:type="genmodel:GenClass" ecoreClass="UML.ecore#//Interface">
       <genFeatures xsi:type="genmodel:GenFeature" children="true" createChild="true"
           propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//Interface/nestedClassifier">
@@ -1580,6 +1501,10 @@
         <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
       </genFeatures>
       <genFeatures xsi:type="genmodel:GenFeature" children="true" createChild="true"
+          propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//Interface/ownedOperation">
+        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
+      </genFeatures>
+      <genFeatures xsi:type="genmodel:GenFeature" children="true" createChild="true"
           propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//Interface/ownedReception">
         <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
       </genFeatures>
@@ -1589,10 +1514,6 @@
       </genFeatures>
       <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
           propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//Interface/redefinedInterface"/>
-      <genFeatures xsi:type="genmodel:GenFeature" children="true" createChild="true"
-          propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//Interface/ownedOperation">
-        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
-      </genFeatures>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Interface/visibility">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Interface/visibility/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Interface/visibility/context"/>
@@ -1635,22 +1556,22 @@
           propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//ProtocolStateMachine/conformance">
         <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
       </genFeatures>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ProtocolStateMachine/deep_or_shallow_history">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ProtocolStateMachine/deep_or_shallow_history/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ProtocolStateMachine/deep_or_shallow_history/context"/>
-      </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ProtocolStateMachine/entry_exit_do">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ProtocolStateMachine/entry_exit_do/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ProtocolStateMachine/entry_exit_do/context"/>
       </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ProtocolStateMachine/ports_connected">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ProtocolStateMachine/ports_connected/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ProtocolStateMachine/ports_connected/context"/>
-      </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ProtocolStateMachine/protocol_transitions">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ProtocolStateMachine/protocol_transitions/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ProtocolStateMachine/protocol_transitions/context"/>
       </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ProtocolStateMachine/deep_or_shallow_history">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ProtocolStateMachine/deep_or_shallow_history/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ProtocolStateMachine/deep_or_shallow_history/context"/>
+      </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ProtocolStateMachine/ports_connected">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ProtocolStateMachine/ports_connected/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ProtocolStateMachine/ports_connected/context"/>
+      </genOperations>
     </genClasses>
     <genClasses xsi:type="genmodel:GenClass" ecoreClass="UML.ecore#//StateMachine">
       <genFeatures xsi:type="genmodel:GenFeature" children="true" createChild="true"
@@ -1665,22 +1586,22 @@
       </genFeatures>
       <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
           propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//StateMachine/extendedStateMachine"/>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//StateMachine/connection_points">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//StateMachine/connection_points/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//StateMachine/connection_points/context"/>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//StateMachine/method">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//StateMachine/method/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//StateMachine/method/context"/>
       </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//StateMachine/classifier_context">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//StateMachine/classifier_context/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//StateMachine/classifier_context/context"/>
       </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//StateMachine/method">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//StateMachine/method/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//StateMachine/method/context"/>
-      </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//StateMachine/context_classifier">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//StateMachine/context_classifier/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//StateMachine/context_classifier/context"/>
       </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//StateMachine/connection_points">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//StateMachine/connection_points/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//StateMachine/connection_points/context"/>
+      </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//StateMachine/LCA">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//StateMachine/LCA/s1"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//StateMachine/LCA/s2"/>
@@ -1703,22 +1624,6 @@
           propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//Pseudostate/stateMachine">
         <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
       </genFeatures>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Pseudostate/transitions_outgoing">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Pseudostate/transitions_outgoing/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Pseudostate/transitions_outgoing/context"/>
-      </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Pseudostate/choice_vertex">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Pseudostate/choice_vertex/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Pseudostate/choice_vertex/context"/>
-      </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Pseudostate/outgoing_from_initial">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Pseudostate/outgoing_from_initial/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Pseudostate/outgoing_from_initial/context"/>
-      </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Pseudostate/join_vertex">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Pseudostate/join_vertex/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Pseudostate/join_vertex/context"/>
-      </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Pseudostate/junction_vertex">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Pseudostate/junction_vertex/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Pseudostate/junction_vertex/context"/>
@@ -1727,14 +1632,30 @@
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Pseudostate/history_vertices/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Pseudostate/history_vertices/context"/>
       </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Pseudostate/initial_vertex">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Pseudostate/initial_vertex/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Pseudostate/initial_vertex/context"/>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Pseudostate/transitions_outgoing">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Pseudostate/transitions_outgoing/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Pseudostate/transitions_outgoing/context"/>
+      </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Pseudostate/outgoing_from_initial">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Pseudostate/outgoing_from_initial/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Pseudostate/outgoing_from_initial/context"/>
       </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Pseudostate/fork_vertex">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Pseudostate/fork_vertex/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Pseudostate/fork_vertex/context"/>
       </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Pseudostate/join_vertex">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Pseudostate/join_vertex/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Pseudostate/join_vertex/context"/>
+      </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Pseudostate/choice_vertex">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Pseudostate/choice_vertex/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Pseudostate/choice_vertex/context"/>
+      </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Pseudostate/initial_vertex">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Pseudostate/initial_vertex/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Pseudostate/initial_vertex/context"/>
+      </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Pseudostate/transitions_incoming">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Pseudostate/transitions_incoming/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Pseudostate/transitions_incoming/context"/>
@@ -1776,22 +1697,22 @@
           propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//Region/subvertex">
         <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
       </genFeatures>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Region/deep_history_vertex">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Region/deep_history_vertex/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Region/deep_history_vertex/context"/>
-      </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Region/shallow_history_vertex">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Region/shallow_history_vertex/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Region/shallow_history_vertex/context"/>
       </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Region/owned">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Region/owned/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Region/owned/context"/>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Region/deep_history_vertex">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Region/deep_history_vertex/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Region/deep_history_vertex/context"/>
       </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Region/initial_vertex">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Region/initial_vertex/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Region/initial_vertex/context"/>
       </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Region/owned">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Region/owned/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Region/owned/context"/>
+      </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Region/belongsToPSM"/>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Region/containingStateMachine"/>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Region/isRedefinitionContextValid">
@@ -1856,10 +1777,6 @@
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//State/entry_or_exit/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//State/entry_or_exit/context"/>
       </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//State/submachine_states">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//State/submachine_states/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//State/submachine_states/context"/>
-      </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//State/composite_states">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//State/composite_states/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//State/composite_states/context"/>
@@ -1872,6 +1789,10 @@
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//State/submachine_or_regions/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//State/submachine_or_regions/context"/>
       </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//State/submachine_states">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//State/submachine_states/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//State/submachine_states/context"/>
+      </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//State/isComposite"/>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//State/isOrthogonal"/>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//State/isRedefinitionContextValid">
@@ -1890,14 +1811,14 @@
           propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//ConnectionPointReference/state">
         <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
       </genFeatures>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ConnectionPointReference/exit_pseudostates">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ConnectionPointReference/exit_pseudostates/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ConnectionPointReference/exit_pseudostates/context"/>
-      </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ConnectionPointReference/entry_pseudostates">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ConnectionPointReference/entry_pseudostates/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ConnectionPointReference/entry_pseudostates/context"/>
       </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ConnectionPointReference/exit_pseudostates">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ConnectionPointReference/exit_pseudostates/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ConnectionPointReference/exit_pseudostates/context"/>
+      </genOperations>
     </genClasses>
     <genClasses xsi:type="genmodel:GenClass" ecoreClass="UML.ecore#//Trigger">
       <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
@@ -1922,23 +1843,51 @@
           createChild="false" ecoreFeature="ecore:EReference UML.ecore#//Port/required">
         <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
       </genFeatures>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Port/port_destroyed">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Port/port_destroyed/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Port/port_destroyed/context"/>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Port/default_value">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Port/default_value/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Port/default_value/context"/>
       </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Port/port_aggregation">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Port/port_aggregation/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Port/port_aggregation/context"/>
       </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Port/default_value">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Port/default_value/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Port/default_value/context"/>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Port/port_destroyed">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Port/port_destroyed/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Port/port_destroyed/context"/>
       </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Port/getProvideds"
           cacheAdapterScope="Global"/>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Port/getRequireds"
           cacheAdapterScope="Global"/>
     </genClasses>
+    <genClasses xsi:type="genmodel:GenClass" ecoreClass="UML.ecore#//Constraint">
+      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+          propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//Constraint/constrainedElement"/>
+      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+          propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//Constraint/context">
+        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
+      </genFeatures>
+      <genFeatures xsi:type="genmodel:GenFeature" children="true" createChild="true"
+          propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//Constraint/specification">
+        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
+      </genFeatures>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Constraint/not_apply_to_self">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Constraint/not_apply_to_self/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Constraint/not_apply_to_self/context"/>
+      </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Constraint/no_side_effects">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Constraint/no_side_effects/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Constraint/no_side_effects/context"/>
+      </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Constraint/boolean_value">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Constraint/boolean_value/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Constraint/boolean_value/context"/>
+      </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Constraint/value_specification_boolean">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Constraint/value_specification_boolean/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Constraint/value_specification_boolean/context"/>
+      </genOperations>
+    </genClasses>
     <genClasses xsi:type="genmodel:GenClass" ecoreClass="UML.ecore#//Transition">
       <genFeatures xsi:type="genmodel:GenFeature" children="true" createChild="true"
           propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//Transition/effect">
@@ -1963,45 +1912,45 @@
           propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//Transition/container">
         <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
       </genFeatures>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Transition/state_is_external">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Transition/state_is_external/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Transition/state_is_external/context"/>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Transition/state_is_local">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Transition/state_is_local/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Transition/state_is_local/context"/>
       </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Transition/join_segment_guards">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Transition/join_segment_guards/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Transition/join_segment_guards/context"/>
-      </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Transition/state_is_internal">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Transition/state_is_internal/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Transition/state_is_internal/context"/>
-      </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Transition/outgoing_pseudostates">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Transition/outgoing_pseudostates/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Transition/outgoing_pseudostates/context"/>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Transition/fork_segment_guards">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Transition/fork_segment_guards/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Transition/fork_segment_guards/context"/>
       </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Transition/join_segment_state">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Transition/join_segment_state/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Transition/join_segment_state/context"/>
       </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Transition/fork_segment_state">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Transition/fork_segment_state/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Transition/fork_segment_state/context"/>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Transition/initial_transition">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Transition/initial_transition/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Transition/initial_transition/context"/>
+      </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Transition/outgoing_pseudostates">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Transition/outgoing_pseudostates/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Transition/outgoing_pseudostates/context"/>
       </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Transition/signatures_compatible">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Transition/signatures_compatible/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Transition/signatures_compatible/context"/>
       </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Transition/state_is_local">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Transition/state_is_local/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Transition/state_is_local/context"/>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Transition/state_is_internal">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Transition/state_is_internal/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Transition/state_is_internal/context"/>
       </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Transition/initial_transition">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Transition/initial_transition/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Transition/initial_transition/context"/>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Transition/join_segment_guards">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Transition/join_segment_guards/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Transition/join_segment_guards/context"/>
       </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Transition/fork_segment_guards">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Transition/fork_segment_guards/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Transition/fork_segment_guards/context"/>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Transition/fork_segment_state">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Transition/fork_segment_state/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Transition/fork_segment_state/context"/>
+      </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Transition/state_is_external">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Transition/state_is_external/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Transition/state_is_external/context"/>
       </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Transition/containingStateMachine"/>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Transition/redefinitionContext"/>
@@ -2015,10 +1964,106 @@
         <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
       </genFeatures>
     </genClasses>
-    <genClasses xsi:type="genmodel:GenClass" ecoreClass="UML.ecore#//OperationTemplateParameter"/>
-    <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="UML.ecore#//StructuralFeature">
-      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute UML.ecore#//StructuralFeature/isReadOnly"/>
+    <genClasses xsi:type="genmodel:GenClass" ecoreClass="UML.ecore#//Parameter">
+      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute UML.ecore#//Parameter/default"/>
+      <genFeatures xsi:type="genmodel:GenFeature" children="true" createChild="true"
+          propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//Parameter/defaultValue">
+        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
+      </genFeatures>
+      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute UML.ecore#//Parameter/direction"/>
+      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute UML.ecore#//Parameter/effect"/>
+      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute UML.ecore#//Parameter/isException"/>
+      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute UML.ecore#//Parameter/isStream"/>
+      <genFeatures xsi:type="genmodel:GenFeature" property="Readonly" notify="false"
+          createChild="false" ecoreFeature="ecore:EReference UML.ecore#//Parameter/operation"/>
+      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+          propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//Parameter/parameterSet"/>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Parameter/reentrant_behaviors">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Parameter/reentrant_behaviors/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Parameter/reentrant_behaviors/context"/>
+      </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Parameter/connector_end">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Parameter/connector_end/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Parameter/connector_end/context"/>
+      </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Parameter/not_exception">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Parameter/not_exception/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Parameter/not_exception/context"/>
+      </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Parameter/in_and_out">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Parameter/in_and_out/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Parameter/in_and_out/context"/>
+      </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Parameter/stream_and_exception">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Parameter/stream_and_exception/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Parameter/stream_and_exception/context"/>
+      </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Parameter/isSetDefault"/>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Parameter/setBooleanDefaultValue">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Parameter/setBooleanDefaultValue/value"/>
+      </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Parameter/setDefault">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Parameter/setDefault/newDefault"/>
+      </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Parameter/setIntegerDefaultValue">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Parameter/setIntegerDefaultValue/value"/>
+      </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Parameter/setNullDefaultValue"/>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Parameter/setRealDefaultValue">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Parameter/setRealDefaultValue/value"/>
+      </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Parameter/setStringDefaultValue">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Parameter/setStringDefaultValue/value"/>
+      </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Parameter/setUnlimitedNaturalDefaultValue">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Parameter/setUnlimitedNaturalDefaultValue/value"/>
+      </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Parameter/unsetDefault"/>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Parameter/getDefault"/>
     </genClasses>
+    <genClasses xsi:type="genmodel:GenClass" ecoreClass="UML.ecore#//ParameterSet">
+      <genFeatures xsi:type="genmodel:GenFeature" children="true" createChild="true"
+          propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//ParameterSet/condition">
+        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
+      </genFeatures>
+      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" propertySortChoices="true"
+          ecoreFeature="ecore:EReference UML.ecore#//ParameterSet/parameter"/>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ParameterSet/two_parameter_sets">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ParameterSet/two_parameter_sets/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ParameterSet/two_parameter_sets/context"/>
+      </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ParameterSet/input">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ParameterSet/input/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ParameterSet/input/context"/>
+      </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ParameterSet/same_parameterized_entity">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ParameterSet/same_parameterized_entity/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ParameterSet/same_parameterized_entity/context"/>
+      </genOperations>
+    </genClasses>
+    <genClasses xsi:type="genmodel:GenClass" ecoreClass="UML.ecore#//DataType">
+      <genFeatures xsi:type="genmodel:GenFeature" children="true" createChild="true"
+          propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//DataType/ownedAttribute">
+        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
+      </genFeatures>
+      <genFeatures xsi:type="genmodel:GenFeature" children="true" createChild="true"
+          propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//DataType/ownedOperation">
+        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
+      </genFeatures>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//DataType/createOwnedAttribute">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//DataType/createOwnedAttribute/name"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//DataType/createOwnedAttribute/type"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//DataType/createOwnedAttribute/lower"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//DataType/createOwnedAttribute/upper"/>
+      </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//DataType/createOwnedOperation">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//DataType/createOwnedOperation/name"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//DataType/createOwnedOperation/parameterNames"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//DataType/createOwnedOperation/parameterTypes"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//DataType/createOwnedOperation/returnType"/>
+      </genOperations>
+    </genClasses>
+    <genClasses xsi:type="genmodel:GenClass" ecoreClass="UML.ecore#//OperationTemplateParameter"/>
     <genClasses xsi:type="genmodel:GenClass" ecoreClass="UML.ecore#//ExtensionEnd">
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ExtensionEnd/multiplicity">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ExtensionEnd/multiplicity/diagnostics"/>
@@ -2063,10 +2108,6 @@
           propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//InstanceSpecification/specification">
         <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
       </genFeatures>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//InstanceSpecification/deployment_artifact">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//InstanceSpecification/deployment_artifact/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//InstanceSpecification/deployment_artifact/context"/>
-      </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//InstanceSpecification/structural_feature">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//InstanceSpecification/structural_feature/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//InstanceSpecification/structural_feature/context"/>
@@ -2079,6 +2120,10 @@
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//InstanceSpecification/deployment_target/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//InstanceSpecification/deployment_target/context"/>
       </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//InstanceSpecification/deployment_artifact">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//InstanceSpecification/deployment_artifact/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//InstanceSpecification/deployment_artifact/context"/>
+      </genOperations>
     </genClasses>
     <genClasses xsi:type="genmodel:GenClass" ecoreClass="UML.ecore#//Slot">
       <genFeatures xsi:type="genmodel:GenFeature" createChild="false" propertySortChoices="true"
@@ -2101,85 +2146,23 @@
       </genFeatures>
       <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
           propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//CollaborationUse/type"/>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//CollaborationUse/client_elements">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//CollaborationUse/client_elements/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//CollaborationUse/client_elements/context"/>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//CollaborationUse/connectors">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//CollaborationUse/connectors/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//CollaborationUse/connectors/context"/>
       </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//CollaborationUse/every_role">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//CollaborationUse/every_role/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//CollaborationUse/every_role/context"/>
       </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//CollaborationUse/connectors">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//CollaborationUse/connectors/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//CollaborationUse/connectors/context"/>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//CollaborationUse/client_elements">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//CollaborationUse/client_elements/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//CollaborationUse/client_elements/context"/>
       </genOperations>
     </genClasses>
     <genClasses xsi:type="genmodel:GenClass" ecoreClass="UML.ecore#//Collaboration">
       <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
           propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//Collaboration/collaborationRole"/>
     </genClasses>
-    <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="UML.ecore#//StructuredClassifier">
-      <genFeatures xsi:type="genmodel:GenFeature" children="true" createChild="true"
-          propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//StructuredClassifier/ownedAttribute">
-        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
-      </genFeatures>
-      <genFeatures xsi:type="genmodel:GenFeature" children="true" createChild="true"
-          propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//StructuredClassifier/ownedConnector">
-        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
-      </genFeatures>
-      <genFeatures xsi:type="genmodel:GenFeature" property="Readonly" notify="false"
-          createChild="false" ecoreFeature="ecore:EReference UML.ecore#//StructuredClassifier/part">
-        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
-      </genFeatures>
-      <genFeatures xsi:type="genmodel:GenFeature" property="Readonly" notify="false"
-          createChild="false" ecoreFeature="ecore:EReference UML.ecore#//StructuredClassifier/role">
-        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
-      </genFeatures>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//StructuredClassifier/multiplicities">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//StructuredClassifier/multiplicities/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//StructuredClassifier/multiplicities/context"/>
-      </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//StructuredClassifier/createOwnedAttribute">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//StructuredClassifier/createOwnedAttribute/name"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//StructuredClassifier/createOwnedAttribute/type"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//StructuredClassifier/createOwnedAttribute/lower"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//StructuredClassifier/createOwnedAttribute/upper"/>
-      </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//StructuredClassifier/getParts"/>
-    </genClasses>
-    <genClasses xsi:type="genmodel:GenClass" ecoreClass="UML.ecore#//Connector">
-      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
-          propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//Connector/contract"/>
-      <genFeatures xsi:type="genmodel:GenFeature" children="true" createChild="true"
-          propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//Connector/end">
-        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
-      </genFeatures>
-      <genFeatures xsi:type="genmodel:GenFeature" property="Readonly" createChild="false"
-          ecoreFeature="ecore:EAttribute UML.ecore#//Connector/kind">
-        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
-      </genFeatures>
-      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
-          propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//Connector/redefinedConnector"/>
-      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
-          propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//Connector/type"/>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Connector/types">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Connector/types/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Connector/types/context"/>
-      </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Connector/roles">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Connector/roles/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Connector/roles/context"/>
-      </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Connector/between_interfaces_ports">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Connector/between_interfaces_ports/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Connector/between_interfaces_ports/context"/>
-      </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Connector/compatible">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Connector/compatible/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Connector/compatible/context"/>
-      </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Connector/getKind"/>
-    </genClasses>
     <genClasses xsi:type="genmodel:GenClass" ecoreClass="UML.ecore#//Generalization">
       <genFeatures xsi:type="genmodel:GenFeature" createChild="false" propertySortChoices="true"
           ecoreFeature="ecore:EReference UML.ecore#//Generalization/general" key="true"/>
@@ -2202,14 +2185,14 @@
           propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//GeneralizationSet/powertype"/>
       <genFeatures xsi:type="genmodel:GenFeature" createChild="false" propertySortChoices="true"
           ecoreFeature="ecore:EReference UML.ecore#//GeneralizationSet/generalization"/>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//GeneralizationSet/generalization_same_classifier">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//GeneralizationSet/generalization_same_classifier/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//GeneralizationSet/generalization_same_classifier/context"/>
-      </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//GeneralizationSet/maps_to_generalization_set">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//GeneralizationSet/maps_to_generalization_set/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//GeneralizationSet/maps_to_generalization_set/context"/>
       </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//GeneralizationSet/generalization_same_classifier">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//GeneralizationSet/generalization_same_classifier/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//GeneralizationSet/generalization_same_classifier/context"/>
+      </genOperations>
     </genClasses>
     <genClasses xsi:type="genmodel:GenClass" ecoreClass="UML.ecore#//RedefinableTemplateSignature">
       <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
@@ -2244,6 +2227,14 @@
       </genFeatures>
       <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
           propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//UseCase/subject"/>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//UseCase/must_have_name">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//UseCase/must_have_name/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//UseCase/must_have_name/context"/>
+      </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//UseCase/cannot_include_self">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//UseCase/cannot_include_self/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//UseCase/cannot_include_self/context"/>
+      </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//UseCase/binary_associations">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//UseCase/binary_associations/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//UseCase/binary_associations/context"/>
@@ -2252,14 +2243,6 @@
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//UseCase/no_association_to_use_case/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//UseCase/no_association_to_use_case/context"/>
       </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//UseCase/cannot_include_self">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//UseCase/cannot_include_self/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//UseCase/cannot_include_self/context"/>
-      </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//UseCase/must_have_name">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//UseCase/must_have_name/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//UseCase/must_have_name/context"/>
-      </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//UseCase/allIncludedUseCases"
           cacheAdapterScope="Global"/>
     </genClasses>
@@ -2307,7 +2290,6 @@
         <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
       </genFeatures>
     </genClasses>
-    <genClasses xsi:type="genmodel:GenClass" ecoreClass="UML.ecore#//Realization"/>
     <genClasses xsi:type="genmodel:GenClass" ecoreClass="UML.ecore#//ClassifierTemplateParameter">
       <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute UML.ecore#//ClassifierTemplateParameter/allowSubstitutable"/>
       <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
@@ -2317,21 +2299,38 @@
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ClassifierTemplateParameter/has_constraining_classifier/context"/>
       </genOperations>
     </genClasses>
-    <genClasses xsi:type="genmodel:GenClass" ecoreClass="UML.ecore#//InterfaceRealization">
-      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" propertySortChoices="true"
-          ecoreFeature="ecore:EReference UML.ecore#//InterfaceRealization/contract"
-          key="true"/>
+    <genClasses xsi:type="genmodel:GenClass" ecoreClass="UML.ecore#//Connector">
       <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
-          propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//InterfaceRealization/implementingClassifier">
+          propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//Connector/contract"/>
+      <genFeatures xsi:type="genmodel:GenFeature" children="true" createChild="true"
+          propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//Connector/end">
         <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
       </genFeatures>
-    </genClasses>
-    <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="UML.ecore#//EncapsulatedClassifier">
-      <genFeatures xsi:type="genmodel:GenFeature" createChild="true" propertySortChoices="true"
-          ecoreFeature="ecore:EReference UML.ecore#//EncapsulatedClassifier/ownedPort">
+      <genFeatures xsi:type="genmodel:GenFeature" property="Readonly" createChild="false"
+          ecoreFeature="ecore:EAttribute UML.ecore#//Connector/kind">
         <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
       </genFeatures>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//EncapsulatedClassifier/getOwnedPorts"/>
+      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+          propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//Connector/redefinedConnector"/>
+      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+          propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//Connector/type"/>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Connector/compatible">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Connector/compatible/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Connector/compatible/context"/>
+      </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Connector/roles">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Connector/roles/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Connector/roles/context"/>
+      </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Connector/between_interfaces_ports">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Connector/between_interfaces_ports/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Connector/between_interfaces_ports/context"/>
+      </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Connector/types">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Connector/types/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Connector/types/context"/>
+      </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Connector/getKind"/>
     </genClasses>
     <genClasses xsi:type="genmodel:GenClass" ecoreClass="UML.ecore#//Image" labelFeature="#//uml/Image/format">
       <genFeatures xsi:type="genmodel:GenFeature" createChild="false" propertyMultiLine="true"
@@ -2349,17 +2348,17 @@
           createChild="false" ecoreFeature="ecore:EReference UML.ecore#//OpaqueExpression/result">
         <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
       </genFeatures>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//OpaqueExpression/language_body_size">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//OpaqueExpression/language_body_size/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//OpaqueExpression/language_body_size/context"/>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//OpaqueExpression/only_return_result_parameters">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//OpaqueExpression/only_return_result_parameters/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//OpaqueExpression/only_return_result_parameters/context"/>
       </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//OpaqueExpression/one_return_result_parameter">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//OpaqueExpression/one_return_result_parameter/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//OpaqueExpression/one_return_result_parameter/context"/>
       </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//OpaqueExpression/only_return_result_parameters">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//OpaqueExpression/only_return_result_parameters/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//OpaqueExpression/only_return_result_parameters/context"/>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//OpaqueExpression/language_body_size">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//OpaqueExpression/language_body_size/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//OpaqueExpression/language_body_size/context"/>
       </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//OpaqueExpression/isIntegral"/>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//OpaqueExpression/isNonNegative"/>
@@ -2372,10 +2371,6 @@
           propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//AcceptCallAction/returnInformation">
         <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
       </genFeatures>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//AcceptCallAction/result_pins">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//AcceptCallAction/result_pins/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//AcceptCallAction/result_pins/context"/>
-      </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//AcceptCallAction/trigger_call_event">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//AcceptCallAction/trigger_call_event/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//AcceptCallAction/trigger_call_event/context"/>
@@ -2384,6 +2379,10 @@
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//AcceptCallAction/unmarshall/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//AcceptCallAction/unmarshall/context"/>
       </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//AcceptCallAction/result_pins">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//AcceptCallAction/result_pins/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//AcceptCallAction/result_pins/context"/>
+      </genOperations>
     </genClasses>
     <genClasses xsi:type="genmodel:GenClass" ecoreClass="UML.ecore#//AcceptEventAction">
       <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute UML.ecore#//AcceptEventAction/isUnmarshall"/>
@@ -2395,22 +2394,22 @@
           propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//AcceptEventAction/trigger">
         <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
       </genFeatures>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//AcceptEventAction/trigger_events">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//AcceptEventAction/trigger_events/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//AcceptEventAction/trigger_events/context"/>
-      </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//AcceptEventAction/no_input_pins">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//AcceptEventAction/no_input_pins/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//AcceptEventAction/no_input_pins/context"/>
       </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//AcceptEventAction/no_output_pins">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//AcceptEventAction/no_output_pins/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//AcceptEventAction/no_output_pins/context"/>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//AcceptEventAction/trigger_events">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//AcceptEventAction/trigger_events/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//AcceptEventAction/trigger_events/context"/>
       </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//AcceptEventAction/unmarshall_signal_events">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//AcceptEventAction/unmarshall_signal_events/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//AcceptEventAction/unmarshall_signal_events/context"/>
       </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//AcceptEventAction/no_output_pins">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//AcceptEventAction/no_output_pins/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//AcceptEventAction/no_output_pins/context"/>
+      </genOperations>
     </genClasses>
     <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="UML.ecore#//Action">
       <genFeatures xsi:type="genmodel:GenFeature" property="Readonly" notify="false"
@@ -2447,10 +2446,6 @@
           propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//ActivityNode/activity">
         <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
       </genFeatures>
-      <genFeatures xsi:type="genmodel:GenFeature" property="Readonly" notify="false"
-          createChild="false" ecoreFeature="ecore:EReference UML.ecore#//ActivityNode/inGroup">
-        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
-      </genFeatures>
       <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
           propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//ActivityNode/inPartition"/>
       <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
@@ -2463,6 +2458,10 @@
           propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//ActivityNode/outgoing"/>
       <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
           propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//ActivityNode/incoming"/>
+      <genFeatures xsi:type="genmodel:GenFeature" property="Readonly" notify="false"
+          createChild="false" ecoreFeature="ecore:EReference UML.ecore#//ActivityNode/inGroup">
+        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
+      </genFeatures>
       <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
           propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//ActivityNode/redefinedNode"/>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ActivityNode/owned">
@@ -2475,22 +2474,20 @@
       </genOperations>
     </genClasses>
     <genClasses xsi:type="genmodel:GenClass" ecoreClass="UML.ecore#//Activity">
-      <genFeatures xsi:type="genmodel:GenFeature" children="true" createChild="true"
-          propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//Activity/edge">
-        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
-      </genFeatures>
-      <genFeatures xsi:type="genmodel:GenFeature" children="true" createChild="true"
-          propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//Activity/group">
-        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
-      </genFeatures>
-      <genFeatures xsi:type="genmodel:GenFeature" property="Readonly" createChild="true"
-          ecoreFeature="ecore:EReference UML.ecore#//Activity/structuredNode">
+      <genFeatures xsi:type="genmodel:GenFeature" property="None" children="true"
+          createChild="true" propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//Activity/ownedGroup"/>
+      <genFeatures xsi:type="genmodel:GenFeature" createChild="true" propertySortChoices="true"
+          ecoreFeature="ecore:EReference UML.ecore#//Activity/edge">
         <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
       </genFeatures>
       <genFeatures xsi:type="genmodel:GenFeature" children="true" createChild="true"
           propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//Activity/variable">
         <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
       </genFeatures>
+      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" propertySortChoices="true"
+          ecoreFeature="ecore:EReference UML.ecore#//Activity/group"/>
+      <genFeatures xsi:type="genmodel:GenFeature" property="None" children="true"
+          createChild="true" propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//Activity/ownedNode"/>
       <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute UML.ecore#//Activity/isReadOnly"/>
       <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute UML.ecore#//Activity/isSingleExecution"/>
       <genFeatures xsi:type="genmodel:GenFeature" createChild="true" propertySortChoices="true"
@@ -2498,9 +2495,15 @@
         <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
       </genFeatures>
       <genFeatures xsi:type="genmodel:GenFeature" children="true" createChild="true"
-          propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//Activity/node">
+          propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//Activity/structuredNode">
         <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
       </genFeatures>
+      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" propertySortChoices="true"
+          ecoreFeature="ecore:EReference UML.ecore#//Activity/node"/>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Activity/activity_parameter_node">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Activity/activity_parameter_node/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Activity/activity_parameter_node/context"/>
+      </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Activity/autonomous">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Activity/autonomous/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Activity/autonomous/context"/>
@@ -2509,19 +2512,48 @@
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Activity/no_supergroups/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Activity/no_supergroups/context"/>
       </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Activity/activity_parameter_node">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Activity/activity_parameter_node/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Activity/activity_parameter_node/context"/>
-      </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Activity/getStructuredNodes"/>
     </genClasses>
-    <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="UML.ecore#//ActivityEdge">
-      <genFeatures xsi:type="genmodel:GenFeature" children="true" createChild="true"
-          propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//ActivityEdge/guard">
+    <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="UML.ecore#//ActivityGroup">
+      <genFeatures xsi:type="genmodel:GenFeature" property="Readonly" notify="false"
+          createChild="false" ecoreFeature="ecore:EReference UML.ecore#//ActivityGroup/containedEdge">
         <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
       </genFeatures>
       <genFeatures xsi:type="genmodel:GenFeature" property="Readonly" notify="false"
-          createChild="false" ecoreFeature="ecore:EReference UML.ecore#//ActivityEdge/inGroup">
+          createChild="false" ecoreFeature="ecore:EReference UML.ecore#//ActivityGroup/containedNode">
+        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
+      </genFeatures>
+      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+          propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//ActivityGroup/inActivity">
+        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
+      </genFeatures>
+      <genFeatures xsi:type="genmodel:GenFeature" property="Readonly" notify="false"
+          createChild="false" ecoreFeature="ecore:EReference UML.ecore#//ActivityGroup/subgroup">
+        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
+      </genFeatures>
+      <genFeatures xsi:type="genmodel:GenFeature" property="Readonly" notify="false"
+          createChild="false" ecoreFeature="ecore:EReference UML.ecore#//ActivityGroup/superGroup">
+        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
+      </genFeatures>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ActivityGroup/group_owned">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ActivityGroup/group_owned/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ActivityGroup/group_owned/context"/>
+      </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ActivityGroup/not_contained">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ActivityGroup/not_contained/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ActivityGroup/not_contained/context"/>
+      </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ActivityGroup/nodes_and_edges">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ActivityGroup/nodes_and_edges/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ActivityGroup/nodes_and_edges/context"/>
+      </genOperations>
+    </genClasses>
+    <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="UML.ecore#//ActivityEdge">
+      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+          propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//ActivityEdge/activity">
+        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
+      </genFeatures>
+      <genFeatures xsi:type="genmodel:GenFeature" children="true" createChild="true"
+          propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//ActivityEdge/guard">
         <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
       </genFeatures>
       <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
@@ -2542,8 +2574,8 @@
           propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//ActivityEdge/weight">
         <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
       </genFeatures>
-      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
-          propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//ActivityEdge/activity">
+      <genFeatures xsi:type="genmodel:GenFeature" property="Readonly" notify="false"
+          createChild="false" ecoreFeature="ecore:EReference UML.ecore#//ActivityEdge/inGroup">
         <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
       </genFeatures>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ActivityEdge/owned">
@@ -2559,40 +2591,6 @@
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ActivityEdge/structured_node/context"/>
       </genOperations>
     </genClasses>
-    <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="UML.ecore#//ActivityGroup">
-      <genFeatures xsi:type="genmodel:GenFeature" property="Readonly" notify="false"
-          createChild="false" ecoreFeature="ecore:EReference UML.ecore#//ActivityGroup/containedNode">
-        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
-      </genFeatures>
-      <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
-          propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//ActivityGroup/inActivity">
-        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
-      </genFeatures>
-      <genFeatures xsi:type="genmodel:GenFeature" property="Readonly" notify="false"
-          createChild="false" ecoreFeature="ecore:EReference UML.ecore#//ActivityGroup/subgroup">
-        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
-      </genFeatures>
-      <genFeatures xsi:type="genmodel:GenFeature" property="Readonly" notify="false"
-          createChild="false" ecoreFeature="ecore:EReference UML.ecore#//ActivityGroup/superGroup">
-        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
-      </genFeatures>
-      <genFeatures xsi:type="genmodel:GenFeature" property="Readonly" notify="false"
-          createChild="false" ecoreFeature="ecore:EReference UML.ecore#//ActivityGroup/containedEdge">
-        <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
-      </genFeatures>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ActivityGroup/nodes_and_edges">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ActivityGroup/nodes_and_edges/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ActivityGroup/nodes_and_edges/context"/>
-      </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ActivityGroup/group_owned">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ActivityGroup/group_owned/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ActivityGroup/group_owned/context"/>
-      </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ActivityGroup/not_contained">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ActivityGroup/not_contained/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ActivityGroup/not_contained/context"/>
-      </genOperations>
-    </genClasses>
     <genClasses xsi:type="genmodel:GenClass" ecoreClass="UML.ecore#//ActivityPartition">
       <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute UML.ecore#//ActivityPartition/isDimension"/>
       <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute UML.ecore#//ActivityPartition/isExternal"/>
@@ -2610,6 +2608,10 @@
       </genFeatures>
       <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
           propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//ActivityPartition/edge"/>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ActivityPartition/represents_part">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ActivityPartition/represents_part/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ActivityPartition/represents_part/context"/>
+      </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ActivityPartition/represents_classifier">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ActivityPartition/represents_classifier/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ActivityPartition/represents_classifier/context"/>
@@ -2618,10 +2620,6 @@
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ActivityPartition/represents_part_and_is_contained/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ActivityPartition/represents_part_and_is_contained/context"/>
       </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ActivityPartition/represents_part">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ActivityPartition/represents_part/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ActivityPartition/represents_part/context"/>
-      </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ActivityPartition/dimension_not_contained">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ActivityPartition/dimension_not_contained/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ActivityPartition/dimension_not_contained/context"/>
@@ -2649,17 +2647,17 @@
           propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//StructuredActivityNode/edge">
         <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
       </genFeatures>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//StructuredActivityNode/output_pin_edges">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//StructuredActivityNode/output_pin_edges/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//StructuredActivityNode/output_pin_edges/context"/>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//StructuredActivityNode/input_pin_edges">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//StructuredActivityNode/input_pin_edges/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//StructuredActivityNode/input_pin_edges/context"/>
       </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//StructuredActivityNode/edges">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//StructuredActivityNode/edges/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//StructuredActivityNode/edges/context"/>
       </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//StructuredActivityNode/input_pin_edges">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//StructuredActivityNode/input_pin_edges/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//StructuredActivityNode/input_pin_edges/context"/>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//StructuredActivityNode/output_pin_edges">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//StructuredActivityNode/output_pin_edges/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//StructuredActivityNode/output_pin_edges/context"/>
       </genOperations>
     </genClasses>
     <genClasses xsi:type="genmodel:GenClass" ecoreClass="UML.ecore#//InputPin">
@@ -2686,17 +2684,17 @@
           propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//ObjectNode/upperBound">
         <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
       </genFeatures>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ObjectNode/input_output_parameter">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ObjectNode/input_output_parameter/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ObjectNode/input_output_parameter/context"/>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ObjectNode/object_flow_edges">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ObjectNode/object_flow_edges/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ObjectNode/object_flow_edges/context"/>
       </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ObjectNode/selection_behavior">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ObjectNode/selection_behavior/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ObjectNode/selection_behavior/context"/>
       </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ObjectNode/object_flow_edges">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ObjectNode/object_flow_edges/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ObjectNode/object_flow_edges/context"/>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ObjectNode/input_output_parameter">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ObjectNode/input_output_parameter/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ObjectNode/input_output_parameter/context"/>
       </genOperations>
     </genClasses>
     <genClasses xsi:type="genmodel:GenClass" ecoreClass="UML.ecore#//OutputPin">
@@ -2743,14 +2741,6 @@
           propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//ExceptionHandler/protectedNode">
         <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
       </genFeatures>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ExceptionHandler/exception_body">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ExceptionHandler/exception_body/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ExceptionHandler/exception_body/context"/>
-      </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ExceptionHandler/result_pins">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ExceptionHandler/result_pins/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ExceptionHandler/result_pins/context"/>
-      </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ExceptionHandler/one_input">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ExceptionHandler/one_input/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ExceptionHandler/one_input/context"/>
@@ -2759,6 +2749,14 @@
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ExceptionHandler/edge_source_target/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ExceptionHandler/edge_source_target/context"/>
       </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ExceptionHandler/result_pins">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ExceptionHandler/result_pins/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ExceptionHandler/result_pins/context"/>
+      </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ExceptionHandler/exception_body">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ExceptionHandler/exception_body/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ExceptionHandler/exception_body/context"/>
+      </genOperations>
     </genClasses>
     <genClasses xsi:type="genmodel:GenClass" ecoreClass="UML.ecore#//ActionExecutionSpecification">
       <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
@@ -2809,10 +2807,6 @@
       </genFeatures>
       <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
           propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//Lifeline/coveredBy"/>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Lifeline/selector_specified">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Lifeline/selector_specified/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Lifeline/selector_specified/context"/>
-      </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Lifeline/interaction_uses_share_lifeline">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Lifeline/interaction_uses_share_lifeline/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Lifeline/interaction_uses_share_lifeline/context"/>
@@ -2821,19 +2815,23 @@
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Lifeline/same_classifier/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Lifeline/same_classifier/context"/>
       </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Lifeline/selector_specified">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Lifeline/selector_specified/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Lifeline/selector_specified/context"/>
+      </genOperations>
     </genClasses>
     <genClasses xsi:type="genmodel:GenClass" ecoreClass="UML.ecore#//PartDecomposition">
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//PartDecomposition/commutativity_of_decomposition">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//PartDecomposition/commutativity_of_decomposition/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//PartDecomposition/commutativity_of_decomposition/context"/>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//PartDecomposition/parts_of_internal_structures">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//PartDecomposition/parts_of_internal_structures/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//PartDecomposition/parts_of_internal_structures/context"/>
       </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//PartDecomposition/assume">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//PartDecomposition/assume/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//PartDecomposition/assume/context"/>
       </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//PartDecomposition/parts_of_internal_structures">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//PartDecomposition/parts_of_internal_structures/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//PartDecomposition/parts_of_internal_structures/context"/>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//PartDecomposition/commutativity_of_decomposition">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//PartDecomposition/commutativity_of_decomposition/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//PartDecomposition/commutativity_of_decomposition/context"/>
       </genOperations>
     </genClasses>
     <genClasses xsi:type="genmodel:GenClass" ecoreClass="UML.ecore#//InteractionUse">
@@ -2853,13 +2851,9 @@
       </genFeatures>
       <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
           propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//InteractionUse/returnValueRecipient"/>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//InteractionUse/gates_match">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//InteractionUse/gates_match/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//InteractionUse/gates_match/context"/>
-      </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//InteractionUse/arguments_are_constants">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//InteractionUse/arguments_are_constants/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//InteractionUse/arguments_are_constants/context"/>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//InteractionUse/all_lifelines">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//InteractionUse/all_lifelines/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//InteractionUse/all_lifelines/context"/>
       </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//InteractionUse/returnValueRecipient_coverage">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//InteractionUse/returnValueRecipient_coverage/diagnostics"/>
@@ -2869,14 +2863,18 @@
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//InteractionUse/arguments_correspond_to_parameters/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//InteractionUse/arguments_correspond_to_parameters/context"/>
       </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//InteractionUse/gates_match">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//InteractionUse/gates_match/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//InteractionUse/gates_match/context"/>
+      </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//InteractionUse/arguments_are_constants">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//InteractionUse/arguments_are_constants/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//InteractionUse/arguments_are_constants/context"/>
+      </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//InteractionUse/returnValue_type_recipient_correspondence">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//InteractionUse/returnValue_type_recipient_correspondence/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//InteractionUse/returnValue_type_recipient_correspondence/context"/>
       </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//InteractionUse/all_lifelines">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//InteractionUse/all_lifelines/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//InteractionUse/all_lifelines/context"/>
-      </genOperations>
     </genClasses>
     <genClasses xsi:type="genmodel:GenClass" ecoreClass="UML.ecore#//Gate">
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Gate/messages_combined_fragment">
@@ -2918,6 +2916,18 @@
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Message/sending_receiving_message_event/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Message/sending_receiving_message_event/context"/>
       </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Message/occurrence_specifications">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Message/occurrence_specifications/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Message/occurrence_specifications/context"/>
+      </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Message/signature_is_signal">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Message/signature_is_signal/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Message/signature_is_signal/context"/>
+      </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Message/signature_is_operation">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Message/signature_is_operation/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Message/signature_is_operation/context"/>
+      </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Message/arguments">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Message/arguments/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Message/arguments/context"/>
@@ -2926,22 +2936,10 @@
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Message/cannot_cross_boundaries/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Message/cannot_cross_boundaries/context"/>
       </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Message/signature_is_signal">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Message/signature_is_signal/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Message/signature_is_signal/context"/>
-      </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Message/occurrence_specifications">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Message/occurrence_specifications/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Message/occurrence_specifications/context"/>
-      </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Message/signature_refer_to">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Message/signature_refer_to/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Message/signature_refer_to/context"/>
       </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Message/signature_is_operation">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Message/signature_is_operation/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Message/signature_is_operation/context"/>
-      </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Message/getMessageKind"/>
     </genClasses>
     <genClasses xsi:type="genmodel:GenClass" ecoreClass="UML.ecore#//Interaction">
@@ -2975,14 +2973,14 @@
           propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//InteractionOperand/fragment">
         <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
       </genFeatures>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//InteractionOperand/guard_contain_references">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//InteractionOperand/guard_contain_references/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//InteractionOperand/guard_contain_references/context"/>
-      </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//InteractionOperand/guard_directly_prior">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//InteractionOperand/guard_directly_prior/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//InteractionOperand/guard_directly_prior/context"/>
       </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//InteractionOperand/guard_contain_references">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//InteractionOperand/guard_contain_references/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//InteractionOperand/guard_contain_references/context"/>
+      </genOperations>
     </genClasses>
     <genClasses xsi:type="genmodel:GenClass" ecoreClass="UML.ecore#//InteractionConstraint">
       <genFeatures xsi:type="genmodel:GenFeature" children="true" createChild="true"
@@ -2993,6 +2991,10 @@
           propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//InteractionConstraint/minint">
         <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
       </genFeatures>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//InteractionConstraint/maxint_positive">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//InteractionConstraint/maxint_positive/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//InteractionConstraint/maxint_positive/context"/>
+      </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//InteractionConstraint/minint_maxint">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//InteractionConstraint/minint_maxint/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//InteractionConstraint/minint_maxint/context"/>
@@ -3001,14 +3003,6 @@
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//InteractionConstraint/minint_non_negative/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//InteractionConstraint/minint_non_negative/context"/>
       </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//InteractionConstraint/maxint_positive">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//InteractionConstraint/maxint_positive/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//InteractionConstraint/maxint_positive/context"/>
-      </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//InteractionConstraint/dynamic_variables">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//InteractionConstraint/dynamic_variables/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//InteractionConstraint/dynamic_variables/context"/>
-      </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//InteractionConstraint/global_data">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//InteractionConstraint/global_data/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//InteractionConstraint/global_data/context"/>
@@ -3017,6 +3011,10 @@
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//InteractionConstraint/maxint_greater_equal_minint/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//InteractionConstraint/maxint_greater_equal_minint/context"/>
       </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//InteractionConstraint/dynamic_variables">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//InteractionConstraint/dynamic_variables/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//InteractionConstraint/dynamic_variables/context"/>
+      </genOperations>
     </genClasses>
     <genClasses xsi:type="genmodel:GenClass" ecoreClass="UML.ecore#//GeneralOrdering">
       <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
@@ -3043,14 +3041,14 @@
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ActionInputPin/input_pin/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ActionInputPin/input_pin/context"/>
       </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ActionInputPin/one_output_pin">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ActionInputPin/one_output_pin/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ActionInputPin/one_output_pin/context"/>
-      </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ActionInputPin/no_control_or_data_flow">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ActionInputPin/no_control_or_data_flow/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ActionInputPin/no_control_or_data_flow/context"/>
       </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ActionInputPin/one_output_pin">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ActionInputPin/one_output_pin/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ActionInputPin/one_output_pin/context"/>
+      </genOperations>
     </genClasses>
     <genClasses xsi:type="genmodel:GenClass" ecoreClass="UML.ecore#//ActivityFinalNode"/>
     <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="UML.ecore#//FinalNode">
@@ -3063,33 +3061,33 @@
     <genClasses xsi:type="genmodel:GenClass" ecoreClass="UML.ecore#//ActivityParameterNode">
       <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
           propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//ActivityParameterNode/parameter"/>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ActivityParameterNode/no_outgoing_edges">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ActivityParameterNode/no_outgoing_edges/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ActivityParameterNode/no_outgoing_edges/context"/>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ActivityParameterNode/maximum_one_parameter_node">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ActivityParameterNode/maximum_one_parameter_node/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ActivityParameterNode/maximum_one_parameter_node/context"/>
       </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ActivityParameterNode/maximum_two_parameter_nodes">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ActivityParameterNode/maximum_two_parameter_nodes/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ActivityParameterNode/maximum_two_parameter_nodes/context"/>
       </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ActivityParameterNode/has_parameters">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ActivityParameterNode/has_parameters/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ActivityParameterNode/has_parameters/context"/>
-      </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ActivityParameterNode/same_type">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ActivityParameterNode/same_type/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ActivityParameterNode/same_type/context"/>
-      </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ActivityParameterNode/maximum_one_parameter_node">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ActivityParameterNode/maximum_one_parameter_node/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ActivityParameterNode/maximum_one_parameter_node/context"/>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ActivityParameterNode/no_edges">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ActivityParameterNode/no_edges/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ActivityParameterNode/no_edges/context"/>
       </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ActivityParameterNode/no_incoming_edges">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ActivityParameterNode/no_incoming_edges/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ActivityParameterNode/no_incoming_edges/context"/>
       </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ActivityParameterNode/no_edges">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ActivityParameterNode/no_edges/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ActivityParameterNode/no_edges/context"/>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ActivityParameterNode/no_outgoing_edges">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ActivityParameterNode/no_outgoing_edges/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ActivityParameterNode/no_outgoing_edges/context"/>
+      </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ActivityParameterNode/same_type">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ActivityParameterNode/same_type/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ActivityParameterNode/same_type/context"/>
+      </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ActivityParameterNode/has_parameters">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ActivityParameterNode/has_parameters/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ActivityParameterNode/has_parameters/context"/>
       </genOperations>
     </genClasses>
     <genClasses xsi:type="genmodel:GenClass" ecoreClass="UML.ecore#//Actor">
@@ -3108,14 +3106,14 @@
         <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
       </genFeatures>
       <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute UML.ecore#//AddStructuralFeatureValueAction/isReplaceAll"/>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//AddStructuralFeatureValueAction/required_value">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//AddStructuralFeatureValueAction/required_value/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//AddStructuralFeatureValueAction/required_value/context"/>
-      </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//AddStructuralFeatureValueAction/unlimited_natural_and_multiplicity">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//AddStructuralFeatureValueAction/unlimited_natural_and_multiplicity/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//AddStructuralFeatureValueAction/unlimited_natural_and_multiplicity/context"/>
       </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//AddStructuralFeatureValueAction/required_value">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//AddStructuralFeatureValueAction/required_value/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//AddStructuralFeatureValueAction/required_value/context"/>
+      </genOperations>
     </genClasses>
     <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="UML.ecore#//WriteStructuralFeatureAction">
       <genFeatures xsi:type="genmodel:GenFeature" children="true" createChild="true"
@@ -3126,10 +3124,6 @@
           propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//WriteStructuralFeatureAction/value">
         <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
       </genFeatures>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//WriteStructuralFeatureAction/multiplicity_of_result">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//WriteStructuralFeatureAction/multiplicity_of_result/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//WriteStructuralFeatureAction/multiplicity_of_result/context"/>
-      </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//WriteStructuralFeatureAction/input_pin">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//WriteStructuralFeatureAction/input_pin/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//WriteStructuralFeatureAction/input_pin/context"/>
@@ -3138,6 +3132,10 @@
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//WriteStructuralFeatureAction/type_of_result/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//WriteStructuralFeatureAction/type_of_result/context"/>
       </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//WriteStructuralFeatureAction/multiplicity_of_result">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//WriteStructuralFeatureAction/multiplicity_of_result/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//WriteStructuralFeatureAction/multiplicity_of_result/context"/>
+      </genOperations>
     </genClasses>
     <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="UML.ecore#//StructuralFeatureAction">
       <genFeatures xsi:type="genmodel:GenFeature" children="true" createChild="true"
@@ -3146,18 +3144,14 @@
       </genFeatures>
       <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
           propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//StructuralFeatureAction/structuralFeature"/>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//StructuralFeatureAction/multiplicity">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//StructuralFeatureAction/multiplicity/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//StructuralFeatureAction/multiplicity/context"/>
-      </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//StructuralFeatureAction/same_type">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//StructuralFeatureAction/same_type/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//StructuralFeatureAction/same_type/context"/>
-      </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//StructuralFeatureAction/visibility">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//StructuralFeatureAction/visibility/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//StructuralFeatureAction/visibility/context"/>
       </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//StructuralFeatureAction/multiplicity">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//StructuralFeatureAction/multiplicity/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//StructuralFeatureAction/multiplicity/context"/>
+      </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//StructuralFeatureAction/not_static">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//StructuralFeatureAction/not_static/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//StructuralFeatureAction/not_static/context"/>
@@ -3166,6 +3160,10 @@
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//StructuralFeatureAction/one_featuring_classifier/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//StructuralFeatureAction/one_featuring_classifier/context"/>
       </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//StructuralFeatureAction/same_type">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//StructuralFeatureAction/same_type/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//StructuralFeatureAction/same_type/context"/>
+      </genOperations>
     </genClasses>
     <genClasses xsi:type="genmodel:GenClass" ecoreClass="UML.ecore#//AddVariableValueAction">
       <genFeatures xsi:type="genmodel:GenFeature" children="true" createChild="true"
@@ -3187,14 +3185,14 @@
           propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//WriteVariableAction/value">
         <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
       </genFeatures>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//WriteVariableAction/same_type">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//WriteVariableAction/same_type/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//WriteVariableAction/same_type/context"/>
-      </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//WriteVariableAction/multiplicity">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//WriteVariableAction/multiplicity/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//WriteVariableAction/multiplicity/context"/>
       </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//WriteVariableAction/same_type">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//WriteVariableAction/same_type/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//WriteVariableAction/same_type/context"/>
+      </genOperations>
     </genClasses>
     <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="UML.ecore#//VariableAction">
       <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
@@ -3207,14 +3205,14 @@
     <genClasses xsi:type="genmodel:GenClass" ecoreClass="UML.ecore#//AnyReceiveEvent"/>
     <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="UML.ecore#//MessageEvent"/>
     <genClasses xsi:type="genmodel:GenClass" ecoreClass="UML.ecore#//AssociationClass">
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//AssociationClass/cannot_be_defined">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//AssociationClass/cannot_be_defined/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//AssociationClass/cannot_be_defined/context"/>
-      </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//AssociationClass/disjoint_attributes_ends">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//AssociationClass/disjoint_attributes_ends/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//AssociationClass/disjoint_attributes_ends/context"/>
       </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//AssociationClass/cannot_be_defined">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//AssociationClass/cannot_be_defined/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//AssociationClass/cannot_be_defined/context"/>
+      </genOperations>
     </genClasses>
     <genClasses xsi:type="genmodel:GenClass" ecoreClass="UML.ecore#//BehaviorExecutionSpecification">
       <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
@@ -3223,14 +3221,14 @@
     <genClasses xsi:type="genmodel:GenClass" ecoreClass="UML.ecore#//BroadcastSignalAction">
       <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
           propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//BroadcastSignalAction/signal"/>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//BroadcastSignalAction/number_and_order">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//BroadcastSignalAction/number_and_order/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//BroadcastSignalAction/number_and_order/context"/>
-      </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//BroadcastSignalAction/type_ordering_multiplicity">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//BroadcastSignalAction/type_ordering_multiplicity/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//BroadcastSignalAction/type_ordering_multiplicity/context"/>
       </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//BroadcastSignalAction/number_and_order">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//BroadcastSignalAction/number_and_order/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//BroadcastSignalAction/number_and_order/context"/>
+      </genOperations>
     </genClasses>
     <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="UML.ecore#//InvocationAction">
       <genFeatures xsi:type="genmodel:GenFeature" children="true" createChild="true"
@@ -3250,17 +3248,17 @@
           propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//CallAction/result">
         <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
       </genFeatures>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//CallAction/type_ordering_multiplicity">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//CallAction/type_ordering_multiplicity/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//CallAction/type_ordering_multiplicity/context"/>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//CallAction/synchronous_call">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//CallAction/synchronous_call/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//CallAction/synchronous_call/context"/>
       </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//CallAction/number_and_order">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//CallAction/number_and_order/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//CallAction/number_and_order/context"/>
       </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//CallAction/synchronous_call">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//CallAction/synchronous_call/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//CallAction/synchronous_call/context"/>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//CallAction/type_ordering_multiplicity">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//CallAction/type_ordering_multiplicity/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//CallAction/type_ordering_multiplicity/context"/>
       </genOperations>
     </genClasses>
     <genClasses xsi:type="genmodel:GenClass" ecoreClass="UML.ecore#//CallBehaviorAction">
@@ -3286,10 +3284,6 @@
           propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//CallOperationAction/target">
         <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
       </genFeatures>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//CallOperationAction/type_target_pin">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//CallOperationAction/type_target_pin/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//CallOperationAction/type_target_pin/context"/>
-      </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//CallOperationAction/argument_pin_equal_parameter">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//CallOperationAction/argument_pin_equal_parameter/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//CallOperationAction/argument_pin_equal_parameter/context"/>
@@ -3298,6 +3292,10 @@
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//CallOperationAction/result_pin_equal_parameter/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//CallOperationAction/result_pin_equal_parameter/context"/>
       </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//CallOperationAction/type_target_pin">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//CallOperationAction/type_target_pin/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//CallOperationAction/type_target_pin/context"/>
+      </genOperations>
     </genClasses>
     <genClasses xsi:type="genmodel:GenClass" ecoreClass="UML.ecore#//CentralBufferNode"/>
     <genClasses xsi:type="genmodel:GenClass" ecoreClass="UML.ecore#//ChangeEvent">
@@ -3319,6 +3317,10 @@
           propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//Clause/successorClause"/>
       <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
           propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//Clause/test"/>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Clause/test_and_body">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Clause/test_and_body/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Clause/test_and_body/context"/>
+      </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Clause/body_output_pins">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Clause/body_output_pins/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Clause/body_output_pins/context"/>
@@ -3327,10 +3329,6 @@
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Clause/decider_output/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Clause/decider_output/context"/>
       </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Clause/test_and_body">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Clause/test_and_body/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Clause/test_and_body/context"/>
-      </genOperations>
     </genClasses>
     <genClasses xsi:type="genmodel:GenClass" ecoreClass="UML.ecore#//ClearAssociationAction">
       <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
@@ -3353,14 +3351,14 @@
           propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//ClearStructuralFeatureAction/result">
         <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
       </genFeatures>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ClearStructuralFeatureAction/type_of_result">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ClearStructuralFeatureAction/type_of_result/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ClearStructuralFeatureAction/type_of_result/context"/>
-      </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ClearStructuralFeatureAction/multiplicity_of_result">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ClearStructuralFeatureAction/multiplicity_of_result/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ClearStructuralFeatureAction/multiplicity_of_result/context"/>
       </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ClearStructuralFeatureAction/type_of_result">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ClearStructuralFeatureAction/type_of_result/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ClearStructuralFeatureAction/type_of_result/context"/>
+      </genOperations>
     </genClasses>
     <genClasses xsi:type="genmodel:GenClass" ecoreClass="UML.ecore#//ClearVariableAction"/>
     <genClasses xsi:type="genmodel:GenClass" ecoreClass="UML.ecore#//CombinedFragment">
@@ -3373,21 +3371,21 @@
           propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//CombinedFragment/operand">
         <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
       </genFeatures>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//CombinedFragment/minint_and_maxint">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//CombinedFragment/minint_and_maxint/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//CombinedFragment/minint_and_maxint/context"/>
-      </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//CombinedFragment/break">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//CombinedFragment/break/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//CombinedFragment/break/context"/>
       </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//CombinedFragment/opt_loop_break_neg">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//CombinedFragment/opt_loop_break_neg/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//CombinedFragment/opt_loop_break_neg/context"/>
+      </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//CombinedFragment/consider_and_ignore">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//CombinedFragment/consider_and_ignore/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//CombinedFragment/consider_and_ignore/context"/>
       </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//CombinedFragment/opt_loop_break_neg">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//CombinedFragment/opt_loop_break_neg/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//CombinedFragment/opt_loop_break_neg/context"/>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//CombinedFragment/minint_and_maxint">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//CombinedFragment/minint_and_maxint/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//CombinedFragment/minint_and_maxint/context"/>
       </genOperations>
     </genClasses>
     <genClasses xsi:type="genmodel:GenClass" ecoreClass="UML.ecore#//CommunicationPath"/>
@@ -3409,14 +3407,14 @@
           createChild="false" ecoreFeature="ecore:EReference UML.ecore#//Component/required">
         <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
       </genFeatures>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Component/no_nested_classifiers">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Component/no_nested_classifiers/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Component/no_nested_classifiers/context"/>
-      </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Component/no_packaged_elements">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Component/no_packaged_elements/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Component/no_packaged_elements/context"/>
       </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Component/no_nested_classifiers">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Component/no_nested_classifiers/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Component/no_nested_classifiers/context"/>
+      </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Component/createOwnedClass">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Component/createOwnedClass/name"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Component/createOwnedClass/isAbstract"/>
@@ -3460,22 +3458,6 @@
           propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//ConditionalNode/result">
         <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
       </genFeatures>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ConditionalNode/result_no_incoming">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ConditionalNode/result_no_incoming/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ConditionalNode/result_no_incoming/context"/>
-      </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ConditionalNode/no_input_pins">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ConditionalNode/no_input_pins/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ConditionalNode/no_input_pins/context"/>
-      </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ConditionalNode/one_clause_with_executable_node">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ConditionalNode/one_clause_with_executable_node/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ConditionalNode/one_clause_with_executable_node/context"/>
-      </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ConditionalNode/matching_output_pins">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ConditionalNode/matching_output_pins/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ConditionalNode/matching_output_pins/context"/>
-      </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ConditionalNode/executable_nodes">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ConditionalNode/executable_nodes/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ConditionalNode/executable_nodes/context"/>
@@ -3484,29 +3466,45 @@
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ConditionalNode/clause_no_predecessor/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ConditionalNode/clause_no_predecessor/context"/>
       </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ConditionalNode/matching_output_pins">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ConditionalNode/matching_output_pins/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ConditionalNode/matching_output_pins/context"/>
+      </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ConditionalNode/one_clause_with_executable_node">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ConditionalNode/one_clause_with_executable_node/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ConditionalNode/one_clause_with_executable_node/context"/>
+      </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ConditionalNode/result_no_incoming">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ConditionalNode/result_no_incoming/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ConditionalNode/result_no_incoming/context"/>
+      </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ConditionalNode/no_input_pins">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ConditionalNode/no_input_pins/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ConditionalNode/no_input_pins/context"/>
+      </genOperations>
     </genClasses>
     <genClasses xsi:type="genmodel:GenClass" ecoreClass="UML.ecore#//ConsiderIgnoreFragment">
       <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
           propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//ConsiderIgnoreFragment/message"/>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ConsiderIgnoreFragment/consider_or_ignore">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ConsiderIgnoreFragment/consider_or_ignore/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ConsiderIgnoreFragment/consider_or_ignore/context"/>
-      </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ConsiderIgnoreFragment/type">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ConsiderIgnoreFragment/type/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ConsiderIgnoreFragment/type/context"/>
       </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ConsiderIgnoreFragment/consider_or_ignore">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ConsiderIgnoreFragment/consider_or_ignore/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ConsiderIgnoreFragment/consider_or_ignore/context"/>
+      </genOperations>
     </genClasses>
     <genClasses xsi:type="genmodel:GenClass" ecoreClass="UML.ecore#//Continuation">
       <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute UML.ecore#//Continuation/setting"/>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Continuation/first_or_last_interaction_fragment">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Continuation/first_or_last_interaction_fragment/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Continuation/first_or_last_interaction_fragment/context"/>
-      </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Continuation/same_name">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Continuation/same_name/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Continuation/same_name/context"/>
       </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Continuation/first_or_last_interaction_fragment">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Continuation/first_or_last_interaction_fragment/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Continuation/first_or_last_interaction_fragment/context"/>
+      </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//Continuation/global">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Continuation/global/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//Continuation/global/context"/>
@@ -3562,6 +3560,14 @@
       </genFeatures>
       <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
           propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//LinkEndData/value"/>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//LinkEndData/property_is_association_end">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//LinkEndData/property_is_association_end/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//LinkEndData/property_is_association_end/context"/>
+      </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//LinkEndData/end_object_input_pin">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//LinkEndData/end_object_input_pin/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//LinkEndData/end_object_input_pin/context"/>
+      </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//LinkEndData/same_type">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//LinkEndData/same_type/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//LinkEndData/same_type/context"/>
@@ -3570,14 +3576,6 @@
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//LinkEndData/multiplicity/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//LinkEndData/multiplicity/context"/>
       </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//LinkEndData/end_object_input_pin">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//LinkEndData/end_object_input_pin/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//LinkEndData/end_object_input_pin/context"/>
-      </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//LinkEndData/property_is_association_end">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//LinkEndData/property_is_association_end/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//LinkEndData/property_is_association_end/context"/>
-      </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//LinkEndData/qualifiers">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//LinkEndData/qualifiers/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//LinkEndData/qualifiers/context"/>
@@ -3588,6 +3586,10 @@
           propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//QualifierValue/qualifier"/>
       <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
           propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//QualifierValue/value"/>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//QualifierValue/qualifier_attribute">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//QualifierValue/qualifier_attribute/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//QualifierValue/qualifier_attribute/context"/>
+      </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//QualifierValue/multiplicity_of_qualifier">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//QualifierValue/multiplicity_of_qualifier/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//QualifierValue/multiplicity_of_qualifier/context"/>
@@ -3596,40 +3598,36 @@
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//QualifierValue/type_of_qualifier/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//QualifierValue/type_of_qualifier/context"/>
       </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//QualifierValue/qualifier_attribute">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//QualifierValue/qualifier_attribute/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//QualifierValue/qualifier_attribute/context"/>
-      </genOperations>
     </genClasses>
     <genClasses xsi:type="genmodel:GenClass" ecoreClass="UML.ecore#//LinkEndCreationData">
       <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
           propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//LinkEndCreationData/insertAt"/>
       <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute UML.ecore#//LinkEndCreationData/isReplaceAll"/>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//LinkEndCreationData/single_input_pin">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//LinkEndCreationData/single_input_pin/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//LinkEndCreationData/single_input_pin/context"/>
-      </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//LinkEndCreationData/create_link_action">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//LinkEndCreationData/create_link_action/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//LinkEndCreationData/create_link_action/context"/>
       </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//LinkEndCreationData/single_input_pin">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//LinkEndCreationData/single_input_pin/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//LinkEndCreationData/single_input_pin/context"/>
+      </genOperations>
     </genClasses>
     <genClasses xsi:type="genmodel:GenClass" ecoreClass="UML.ecore#//CreateLinkObjectAction">
       <genFeatures xsi:type="genmodel:GenFeature" children="true" createChild="true"
           propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//CreateLinkObjectAction/result">
         <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
       </genFeatures>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//CreateLinkObjectAction/multiplicity">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//CreateLinkObjectAction/multiplicity/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//CreateLinkObjectAction/multiplicity/context"/>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//CreateLinkObjectAction/association_class">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//CreateLinkObjectAction/association_class/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//CreateLinkObjectAction/association_class/context"/>
       </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//CreateLinkObjectAction/type_of_result">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//CreateLinkObjectAction/type_of_result/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//CreateLinkObjectAction/type_of_result/context"/>
       </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//CreateLinkObjectAction/association_class">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//CreateLinkObjectAction/association_class/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//CreateLinkObjectAction/association_class/context"/>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//CreateLinkObjectAction/multiplicity">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//CreateLinkObjectAction/multiplicity/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//CreateLinkObjectAction/multiplicity/context"/>
       </genOperations>
     </genClasses>
     <genClasses xsi:type="genmodel:GenClass" ecoreClass="UML.ecore#//CreateObjectAction">
@@ -3639,22 +3637,22 @@
           propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//CreateObjectAction/result">
         <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
       </genFeatures>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//CreateObjectAction/classifier_not_abstract">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//CreateObjectAction/classifier_not_abstract/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//CreateObjectAction/classifier_not_abstract/context"/>
-      </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//CreateObjectAction/multiplicity">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//CreateObjectAction/multiplicity/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//CreateObjectAction/multiplicity/context"/>
-      </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//CreateObjectAction/classifier_not_association_class">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//CreateObjectAction/classifier_not_association_class/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//CreateObjectAction/classifier_not_association_class/context"/>
       </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//CreateObjectAction/classifier_not_abstract">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//CreateObjectAction/classifier_not_abstract/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//CreateObjectAction/classifier_not_abstract/context"/>
+      </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//CreateObjectAction/same_type">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//CreateObjectAction/same_type/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//CreateObjectAction/same_type/context"/>
       </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//CreateObjectAction/multiplicity">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//CreateObjectAction/multiplicity/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//CreateObjectAction/multiplicity/context"/>
+      </genOperations>
     </genClasses>
     <genClasses xsi:type="genmodel:GenClass" ecoreClass="UML.ecore#//DataStoreNode"/>
     <genClasses xsi:type="genmodel:GenClass" ecoreClass="UML.ecore#//DecisionNode">
@@ -3662,21 +3660,13 @@
           propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//DecisionNode/decisionInput"/>
       <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
           propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//DecisionNode/decisionInputFlow"/>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//DecisionNode/zero_input_parameters">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//DecisionNode/zero_input_parameters/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//DecisionNode/zero_input_parameters/context"/>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//DecisionNode/parameters">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//DecisionNode/parameters/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//DecisionNode/parameters/context"/>
       </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//DecisionNode/edges">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//DecisionNode/edges/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//DecisionNode/edges/context"/>
-      </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//DecisionNode/decision_input_flow_incoming">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//DecisionNode/decision_input_flow_incoming/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//DecisionNode/decision_input_flow_incoming/context"/>
-      </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//DecisionNode/two_input_parameters">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//DecisionNode/two_input_parameters/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//DecisionNode/two_input_parameters/context"/>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//DecisionNode/incoming_object_one_input_parameter">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//DecisionNode/incoming_object_one_input_parameter/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//DecisionNode/incoming_object_one_input_parameter/context"/>
       </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//DecisionNode/incoming_outgoing_edges">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//DecisionNode/incoming_outgoing_edges/diagnostics"/>
@@ -3686,13 +3676,21 @@
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//DecisionNode/incoming_control_one_input_parameter/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//DecisionNode/incoming_control_one_input_parameter/context"/>
       </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//DecisionNode/parameters">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//DecisionNode/parameters/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//DecisionNode/parameters/context"/>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//DecisionNode/two_input_parameters">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//DecisionNode/two_input_parameters/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//DecisionNode/two_input_parameters/context"/>
       </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//DecisionNode/incoming_object_one_input_parameter">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//DecisionNode/incoming_object_one_input_parameter/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//DecisionNode/incoming_object_one_input_parameter/context"/>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//DecisionNode/decision_input_flow_incoming">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//DecisionNode/decision_input_flow_incoming/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//DecisionNode/decision_input_flow_incoming/context"/>
+      </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//DecisionNode/zero_input_parameters">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//DecisionNode/zero_input_parameters/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//DecisionNode/zero_input_parameters/context"/>
+      </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//DecisionNode/edges">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//DecisionNode/edges/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//DecisionNode/edges/context"/>
       </genOperations>
     </genClasses>
     <genClasses xsi:type="genmodel:GenClass" ecoreClass="UML.ecore#//ObjectFlow">
@@ -3702,17 +3700,9 @@
           propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//ObjectFlow/selection"/>
       <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
           propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//ObjectFlow/transformation"/>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ObjectFlow/input_and_output_parameter">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ObjectFlow/input_and_output_parameter/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ObjectFlow/input_and_output_parameter/context"/>
-      </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ObjectFlow/no_actions">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ObjectFlow/no_actions/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ObjectFlow/no_actions/context"/>
-      </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ObjectFlow/transformation_behaviour">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ObjectFlow/transformation_behaviour/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ObjectFlow/transformation_behaviour/context"/>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ObjectFlow/is_multicast_or_is_multireceive">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ObjectFlow/is_multicast_or_is_multireceive/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ObjectFlow/is_multicast_or_is_multireceive/context"/>
       </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ObjectFlow/selection_behaviour">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ObjectFlow/selection_behaviour/diagnostics"/>
@@ -3722,17 +3712,25 @@
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ObjectFlow/compatible_types/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ObjectFlow/compatible_types/context"/>
       </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ObjectFlow/same_upper_bounds">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ObjectFlow/same_upper_bounds/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ObjectFlow/same_upper_bounds/context"/>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ObjectFlow/no_actions">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ObjectFlow/no_actions/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ObjectFlow/no_actions/context"/>
+      </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ObjectFlow/input_and_output_parameter">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ObjectFlow/input_and_output_parameter/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ObjectFlow/input_and_output_parameter/context"/>
+      </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ObjectFlow/transformation_behaviour">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ObjectFlow/transformation_behaviour/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ObjectFlow/transformation_behaviour/context"/>
       </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ObjectFlow/target">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ObjectFlow/target/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ObjectFlow/target/context"/>
       </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ObjectFlow/is_multicast_or_is_multireceive">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ObjectFlow/is_multicast_or_is_multireceive/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ObjectFlow/is_multicast_or_is_multireceive/context"/>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ObjectFlow/same_upper_bounds">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ObjectFlow/same_upper_bounds/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ObjectFlow/same_upper_bounds/context"/>
       </genOperations>
     </genClasses>
     <genClasses xsi:type="genmodel:GenClass" ecoreClass="UML.ecore#//DestroyLinkAction"/>
@@ -3740,14 +3738,14 @@
       <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
           propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//LinkEndDestructionData/destroyAt"/>
       <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute UML.ecore#//LinkEndDestructionData/isDestroyDuplicates"/>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//LinkEndDestructionData/unlimited_natural_and_multiplicity">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//LinkEndDestructionData/unlimited_natural_and_multiplicity/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//LinkEndDestructionData/unlimited_natural_and_multiplicity/context"/>
-      </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//LinkEndDestructionData/destroy_link_action">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//LinkEndDestructionData/destroy_link_action/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//LinkEndDestructionData/destroy_link_action/context"/>
       </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//LinkEndDestructionData/unlimited_natural_and_multiplicity">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//LinkEndDestructionData/unlimited_natural_and_multiplicity/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//LinkEndDestructionData/unlimited_natural_and_multiplicity/context"/>
+      </genOperations>
     </genClasses>
     <genClasses xsi:type="genmodel:GenClass" ecoreClass="UML.ecore#//DestroyObjectAction">
       <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute UML.ecore#//DestroyObjectAction/isDestroyLinks"/>
@@ -3858,22 +3856,18 @@
       </genOperations>
     </genClasses>
     <genClasses xsi:type="genmodel:GenClass" ecoreClass="UML.ecore#//FinalState">
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//FinalState/no_exit_behavior">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//FinalState/no_exit_behavior/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//FinalState/no_exit_behavior/context"/>
-      </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//FinalState/no_outgoing_transitions">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//FinalState/no_outgoing_transitions/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//FinalState/no_outgoing_transitions/context"/>
       </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//FinalState/no_regions">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//FinalState/no_regions/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//FinalState/no_regions/context"/>
-      </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//FinalState/cannot_reference_submachine">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//FinalState/cannot_reference_submachine/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//FinalState/cannot_reference_submachine/context"/>
       </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//FinalState/no_exit_behavior">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//FinalState/no_exit_behavior/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//FinalState/no_exit_behavior/context"/>
+      </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//FinalState/no_entry_behavior">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//FinalState/no_entry_behavior/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//FinalState/no_entry_behavior/context"/>
@@ -3882,6 +3876,10 @@
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//FinalState/no_state_behavior/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//FinalState/no_state_behavior/context"/>
       </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//FinalState/no_regions">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//FinalState/no_regions/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//FinalState/no_regions/context"/>
+      </genOperations>
     </genClasses>
     <genClasses xsi:type="genmodel:GenClass" ecoreClass="UML.ecore#//FlowFinalNode"/>
     <genClasses xsi:type="genmodel:GenClass" ecoreClass="UML.ecore#//ForkNode">
@@ -3924,14 +3922,14 @@
           propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//InformationFlow/realizingConnector"/>
       <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
           propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//InformationFlow/realizingMessage"/>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//InformationFlow/must_conform">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//InformationFlow/must_conform/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//InformationFlow/must_conform/context"/>
-      </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//InformationFlow/sources_and_targets_kind">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//InformationFlow/sources_and_targets_kind/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//InformationFlow/sources_and_targets_kind/context"/>
       </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//InformationFlow/must_conform">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//InformationFlow/must_conform/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//InformationFlow/must_conform/context"/>
+      </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//InformationFlow/convey_classifiers">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//InformationFlow/convey_classifiers/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//InformationFlow/convey_classifiers/context"/>
@@ -3940,10 +3938,6 @@
     <genClasses xsi:type="genmodel:GenClass" ecoreClass="UML.ecore#//InformationItem">
       <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
           propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//InformationItem/represented"/>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//InformationItem/sources_and_targets">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//InformationItem/sources_and_targets/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//InformationItem/sources_and_targets/context"/>
-      </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//InformationItem/has_no">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//InformationItem/has_no/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//InformationItem/has_no/context"/>
@@ -3952,6 +3946,10 @@
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//InformationItem/not_instantiable/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//InformationItem/not_instantiable/context"/>
       </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//InformationItem/sources_and_targets">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//InformationItem/sources_and_targets/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//InformationItem/sources_and_targets/context"/>
+      </genOperations>
     </genClasses>
     <genClasses xsi:type="genmodel:GenClass" ecoreClass="UML.ecore#//InitialNode">
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//InitialNode/no_incoming_edges">
@@ -4021,14 +4019,6 @@
           propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//LoopNode/setupPart"/>
       <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
           propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//LoopNode/test"/>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//LoopNode/result_no_incoming">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//LoopNode/result_no_incoming/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//LoopNode/result_no_incoming/context"/>
-      </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//LoopNode/input_edges">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//LoopNode/input_edges/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//LoopNode/input_edges/context"/>
-      </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//LoopNode/executable_nodes">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//LoopNode/executable_nodes/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//LoopNode/executable_nodes/context"/>
@@ -4037,6 +4027,14 @@
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//LoopNode/body_output_pins/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//LoopNode/body_output_pins/context"/>
       </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//LoopNode/result_no_incoming">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//LoopNode/result_no_incoming/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//LoopNode/result_no_incoming/context"/>
+      </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//LoopNode/input_edges">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//LoopNode/input_edges/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//LoopNode/input_edges/context"/>
+      </genOperations>
     </genClasses>
     <genClasses xsi:type="genmodel:GenClass" ecoreClass="UML.ecore#//MergeNode">
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//MergeNode/one_outgoing_edge">
@@ -4144,22 +4142,22 @@
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ReadLinkAction/type_and_ordering/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ReadLinkAction/type_and_ordering/context"/>
       </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ReadLinkAction/compatible_multiplicity">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ReadLinkAction/compatible_multiplicity/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ReadLinkAction/compatible_multiplicity/context"/>
-      </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ReadLinkAction/visibility">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ReadLinkAction/visibility/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ReadLinkAction/visibility/context"/>
-      </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ReadLinkAction/one_open_end">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ReadLinkAction/one_open_end/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ReadLinkAction/one_open_end/context"/>
       </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ReadLinkAction/compatible_multiplicity">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ReadLinkAction/compatible_multiplicity/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ReadLinkAction/compatible_multiplicity/context"/>
+      </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ReadLinkAction/navigable_open_end">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ReadLinkAction/navigable_open_end/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ReadLinkAction/navigable_open_end/context"/>
       </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ReadLinkAction/visibility">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ReadLinkAction/visibility/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ReadLinkAction/visibility/context"/>
+      </genOperations>
     </genClasses>
     <genClasses xsi:type="genmodel:GenClass" ecoreClass="UML.ecore#//ReadLinkObjectEndAction">
       <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
@@ -4172,33 +4170,33 @@
           propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//ReadLinkObjectEndAction/result">
         <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
       </genFeatures>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ReadLinkObjectEndAction/property">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ReadLinkObjectEndAction/property/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ReadLinkObjectEndAction/property/context"/>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ReadLinkObjectEndAction/association_of_association">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ReadLinkObjectEndAction/association_of_association/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ReadLinkObjectEndAction/association_of_association/context"/>
       </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ReadLinkObjectEndAction/multiplicity_of_object">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ReadLinkObjectEndAction/multiplicity_of_object/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ReadLinkObjectEndAction/multiplicity_of_object/context"/>
       </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ReadLinkObjectEndAction/ends_of_association">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ReadLinkObjectEndAction/ends_of_association/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ReadLinkObjectEndAction/ends_of_association/context"/>
-      </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ReadLinkObjectEndAction/type_of_result">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ReadLinkObjectEndAction/type_of_result/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ReadLinkObjectEndAction/type_of_result/context"/>
       </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ReadLinkObjectEndAction/multiplicity_of_result">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ReadLinkObjectEndAction/multiplicity_of_result/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ReadLinkObjectEndAction/multiplicity_of_result/context"/>
-      </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ReadLinkObjectEndAction/type_of_object">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ReadLinkObjectEndAction/type_of_object/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ReadLinkObjectEndAction/type_of_object/context"/>
       </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ReadLinkObjectEndAction/association_of_association">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ReadLinkObjectEndAction/association_of_association/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ReadLinkObjectEndAction/association_of_association/context"/>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ReadLinkObjectEndAction/property">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ReadLinkObjectEndAction/property/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ReadLinkObjectEndAction/property/context"/>
+      </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ReadLinkObjectEndAction/multiplicity_of_result">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ReadLinkObjectEndAction/multiplicity_of_result/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ReadLinkObjectEndAction/multiplicity_of_result/context"/>
+      </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ReadLinkObjectEndAction/ends_of_association">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ReadLinkObjectEndAction/ends_of_association/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ReadLinkObjectEndAction/ends_of_association/context"/>
       </genOperations>
     </genClasses>
     <genClasses xsi:type="genmodel:GenClass" ecoreClass="UML.ecore#//ReadLinkObjectEndQualifierAction">
@@ -4212,22 +4210,10 @@
           propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//ReadLinkObjectEndQualifierAction/result">
         <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
       </genFeatures>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ReadLinkObjectEndQualifierAction/multiplicity_of_object">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ReadLinkObjectEndQualifierAction/multiplicity_of_object/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ReadLinkObjectEndQualifierAction/multiplicity_of_object/context"/>
-      </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ReadLinkObjectEndQualifierAction/type_of_object">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ReadLinkObjectEndQualifierAction/type_of_object/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ReadLinkObjectEndQualifierAction/type_of_object/context"/>
       </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ReadLinkObjectEndQualifierAction/multiplicity_of_qualifier">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ReadLinkObjectEndQualifierAction/multiplicity_of_qualifier/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ReadLinkObjectEndQualifierAction/multiplicity_of_qualifier/context"/>
-      </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ReadLinkObjectEndQualifierAction/ends_of_association">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ReadLinkObjectEndQualifierAction/ends_of_association/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ReadLinkObjectEndQualifierAction/ends_of_association/context"/>
-      </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ReadLinkObjectEndQualifierAction/multiplicity_of_result">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ReadLinkObjectEndQualifierAction/multiplicity_of_result/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ReadLinkObjectEndQualifierAction/multiplicity_of_result/context"/>
@@ -4236,6 +4222,18 @@
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ReadLinkObjectEndQualifierAction/same_type/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ReadLinkObjectEndQualifierAction/same_type/context"/>
       </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ReadLinkObjectEndQualifierAction/ends_of_association">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ReadLinkObjectEndQualifierAction/ends_of_association/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ReadLinkObjectEndQualifierAction/ends_of_association/context"/>
+      </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ReadLinkObjectEndQualifierAction/multiplicity_of_qualifier">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ReadLinkObjectEndQualifierAction/multiplicity_of_qualifier/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ReadLinkObjectEndQualifierAction/multiplicity_of_qualifier/context"/>
+      </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ReadLinkObjectEndQualifierAction/multiplicity_of_object">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ReadLinkObjectEndQualifierAction/multiplicity_of_object/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ReadLinkObjectEndQualifierAction/multiplicity_of_object/context"/>
+      </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ReadLinkObjectEndQualifierAction/association_of_association">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ReadLinkObjectEndQualifierAction/association_of_association/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ReadLinkObjectEndQualifierAction/association_of_association/context"/>
@@ -4254,17 +4252,17 @@
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ReadSelfAction/contained/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ReadSelfAction/contained/context"/>
       </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ReadSelfAction/multiplicity">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ReadSelfAction/multiplicity/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ReadSelfAction/multiplicity/context"/>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ReadSelfAction/type">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ReadSelfAction/type/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ReadSelfAction/type/context"/>
       </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ReadSelfAction/not_static">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ReadSelfAction/not_static/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ReadSelfAction/not_static/context"/>
       </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ReadSelfAction/type">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ReadSelfAction/type/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ReadSelfAction/type/context"/>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ReadSelfAction/multiplicity">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ReadSelfAction/multiplicity/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ReadSelfAction/multiplicity/context"/>
       </genOperations>
     </genClasses>
     <genClasses xsi:type="genmodel:GenClass" ecoreClass="UML.ecore#//ReadStructuralFeatureAction">
@@ -4305,14 +4303,14 @@
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ReclassifyObjectAction/input_pin/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ReclassifyObjectAction/input_pin/context"/>
       </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ReclassifyObjectAction/classifier_not_abstract">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ReclassifyObjectAction/classifier_not_abstract/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ReclassifyObjectAction/classifier_not_abstract/context"/>
-      </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ReclassifyObjectAction/multiplicity">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ReclassifyObjectAction/multiplicity/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ReclassifyObjectAction/multiplicity/context"/>
       </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ReclassifyObjectAction/classifier_not_abstract">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ReclassifyObjectAction/classifier_not_abstract/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ReclassifyObjectAction/classifier_not_abstract/context"/>
+      </genOperations>
     </genClasses>
     <genClasses xsi:type="genmodel:GenClass" ecoreClass="UML.ecore#//ReduceAction">
       <genFeatures xsi:type="genmodel:GenFeature" children="true" createChild="true"
@@ -4326,6 +4324,10 @@
           propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//ReduceAction/result">
         <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
       </genFeatures>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ReduceAction/output_types_are_compatible">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ReduceAction/output_types_are_compatible/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ReduceAction/output_types_are_compatible/context"/>
+      </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ReduceAction/reducer_inputs_output">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ReduceAction/reducer_inputs_output/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ReduceAction/reducer_inputs_output/context"/>
@@ -4334,10 +4336,6 @@
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ReduceAction/input_type_is_collection/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ReduceAction/input_type_is_collection/context"/>
       </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ReduceAction/output_types_are_compatible">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ReduceAction/output_types_are_compatible/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ReduceAction/output_types_are_compatible/context"/>
-      </genOperations>
     </genClasses>
     <genClasses xsi:type="genmodel:GenClass" ecoreClass="UML.ecore#//RemoveStructuralFeatureValueAction">
       <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute UML.ecore#//RemoveStructuralFeatureValueAction/isRemoveDuplicates"/>
@@ -4372,14 +4370,14 @@
           propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//ReplyAction/returnInformation">
         <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
       </genFeatures>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ReplyAction/pins_match_parameter">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ReplyAction/pins_match_parameter/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ReplyAction/pins_match_parameter/context"/>
-      </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ReplyAction/event_on_reply_to_call_trigger">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ReplyAction/event_on_reply_to_call_trigger/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ReplyAction/event_on_reply_to_call_trigger/context"/>
       </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ReplyAction/pins_match_parameter">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ReplyAction/pins_match_parameter/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ReplyAction/pins_match_parameter/context"/>
+      </genOperations>
     </genClasses>
     <genClasses xsi:type="genmodel:GenClass" ecoreClass="UML.ecore#//SendObjectAction">
       <genFeatures xsi:type="genmodel:GenFeature" children="true" createChild="true"
@@ -4422,40 +4420,40 @@
           propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//StartClassifierBehaviorAction/object">
         <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
       </genFeatures>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//StartClassifierBehaviorAction/multiplicity">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//StartClassifierBehaviorAction/multiplicity/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//StartClassifierBehaviorAction/multiplicity/context"/>
-      </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//StartClassifierBehaviorAction/type_has_classifier">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//StartClassifierBehaviorAction/type_has_classifier/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//StartClassifierBehaviorAction/type_has_classifier/context"/>
       </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//StartClassifierBehaviorAction/multiplicity">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//StartClassifierBehaviorAction/multiplicity/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//StartClassifierBehaviorAction/multiplicity/context"/>
+      </genOperations>
     </genClasses>
     <genClasses xsi:type="genmodel:GenClass" ecoreClass="UML.ecore#//StartObjectBehaviorAction">
       <genFeatures xsi:type="genmodel:GenFeature" children="true" createChild="true"
           propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//StartObjectBehaviorAction/object">
         <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
       </genFeatures>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//StartObjectBehaviorAction/number_order_results">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//StartObjectBehaviorAction/number_order_results/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//StartObjectBehaviorAction/number_order_results/context"/>
-      </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//StartObjectBehaviorAction/multiplicity_of_object">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//StartObjectBehaviorAction/multiplicity_of_object/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//StartObjectBehaviorAction/multiplicity_of_object/context"/>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//StartObjectBehaviorAction/number_order_arguments">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//StartObjectBehaviorAction/number_order_arguments/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//StartObjectBehaviorAction/number_order_arguments/context"/>
       </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//StartObjectBehaviorAction/type_ordering_multiplicity_match">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//StartObjectBehaviorAction/type_ordering_multiplicity_match/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//StartObjectBehaviorAction/type_ordering_multiplicity_match/context"/>
       </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//StartObjectBehaviorAction/number_order_arguments">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//StartObjectBehaviorAction/number_order_arguments/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//StartObjectBehaviorAction/number_order_arguments/context"/>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//StartObjectBehaviorAction/number_order_results">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//StartObjectBehaviorAction/number_order_results/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//StartObjectBehaviorAction/number_order_results/context"/>
       </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//StartObjectBehaviorAction/type_of_object">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//StartObjectBehaviorAction/type_of_object/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//StartObjectBehaviorAction/type_of_object/context"/>
       </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//StartObjectBehaviorAction/multiplicity_of_object">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//StartObjectBehaviorAction/multiplicity_of_object/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//StartObjectBehaviorAction/multiplicity_of_object/context"/>
+      </genOperations>
     </genClasses>
     <genClasses xsi:type="genmodel:GenClass" ecoreClass="UML.ecore#//StateInvariant">
       <genFeatures xsi:type="genmodel:GenFeature" children="true" createChild="true"
@@ -4507,14 +4505,14 @@
           propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//TimeEvent/when">
         <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
       </genFeatures>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//TimeEvent/when_non_negative">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//TimeEvent/when_non_negative/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//TimeEvent/when_non_negative/context"/>
-      </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//TimeEvent/starting_time">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//TimeEvent/starting_time/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//TimeEvent/starting_time/context"/>
       </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//TimeEvent/when_non_negative">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//TimeEvent/when_non_negative/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//TimeEvent/when_non_negative/context"/>
+      </genOperations>
     </genClasses>
     <genClasses xsi:type="genmodel:GenClass" ecoreClass="UML.ecore#//TimeObservation">
       <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
@@ -4532,33 +4530,33 @@
       </genFeatures>
       <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
           propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//UnmarshallAction/unmarshallType"/>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//UnmarshallAction/same_type">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//UnmarshallAction/same_type/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//UnmarshallAction/same_type/context"/>
+      </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//UnmarshallAction/structural_feature">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//UnmarshallAction/structural_feature/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//UnmarshallAction/structural_feature/context"/>
       </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//UnmarshallAction/number_of_result">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//UnmarshallAction/number_of_result/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//UnmarshallAction/number_of_result/context"/>
-      </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//UnmarshallAction/multiplicity_of_result">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//UnmarshallAction/multiplicity_of_result/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//UnmarshallAction/multiplicity_of_result/context"/>
-      </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//UnmarshallAction/type_and_ordering">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//UnmarshallAction/type_and_ordering/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//UnmarshallAction/type_and_ordering/context"/>
-      </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//UnmarshallAction/unmarshallType_is_classifier">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//UnmarshallAction/unmarshallType_is_classifier/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//UnmarshallAction/unmarshallType_is_classifier/context"/>
-      </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//UnmarshallAction/multiplicity_of_object">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//UnmarshallAction/multiplicity_of_object/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//UnmarshallAction/multiplicity_of_object/context"/>
       </genOperations>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//UnmarshallAction/same_type">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//UnmarshallAction/same_type/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//UnmarshallAction/same_type/context"/>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//UnmarshallAction/type_and_ordering">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//UnmarshallAction/type_and_ordering/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//UnmarshallAction/type_and_ordering/context"/>
+      </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//UnmarshallAction/number_of_result">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//UnmarshallAction/number_of_result/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//UnmarshallAction/number_of_result/context"/>
+      </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//UnmarshallAction/unmarshallType_is_classifier">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//UnmarshallAction/unmarshallType_is_classifier/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//UnmarshallAction/unmarshallType_is_classifier/context"/>
+      </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//UnmarshallAction/multiplicity_of_result">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//UnmarshallAction/multiplicity_of_result/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//UnmarshallAction/multiplicity_of_result/context"/>
       </genOperations>
     </genClasses>
     <genClasses xsi:type="genmodel:GenClass" ecoreClass="UML.ecore#//ValuePin">
@@ -4566,14 +4564,14 @@
           propertySortChoices="true" ecoreFeature="ecore:EReference UML.ecore#//ValuePin/value">
         <propertyFilterFlags>org.eclipse.ui.views.properties.expert</propertyFilterFlags>
       </genFeatures>
-      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ValuePin/no_incoming_edges">
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ValuePin/no_incoming_edges/diagnostics"/>
-        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ValuePin/no_incoming_edges/context"/>
-      </genOperations>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ValuePin/compatible_type">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ValuePin/compatible_type/diagnostics"/>
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ValuePin/compatible_type/context"/>
       </genOperations>
+      <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="UML.ecore#//ValuePin/no_incoming_edges">
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ValuePin/no_incoming_edges/diagnostics"/>
+        <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="UML.ecore#//ValuePin/no_incoming_edges/context"/>
+      </genOperations>
     </genClasses>
     <genClasses xsi:type="genmodel:GenClass" ecoreClass="UML.ecore#//ValueSpecificationAction">
       <genFeatures xsi:type="genmodel:GenFeature" children="true" createChild="true"
diff --git a/plugins/org.eclipse.uml2.uml/model/UML.merged.uml b/plugins/org.eclipse.uml2.uml/model/UML.merged.uml
index ccd4e02..8124faa 100644
--- a/plugins/org.eclipse.uml2.uml/model/UML.merged.uml
+++ b/plugins/org.eclipse.uml2.uml/model/UML.merged.uml
@@ -1,2672 +1,2669 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<xmi:XMI xmi:version="20100901" xmlns:xmi="http://www.omg.org/spec/XMI/20100901" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Ecore="http://www.eclipse.org/uml2/schemas/Ecore/5" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/4.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/uml2/schemas/Ecore/5 pathmap://UML_PROFILES/Ecore.profile.uml#_z1OFcHjqEdy8S4Cr8Rc_NA">
+<xmi:XMI xmi:version="20110701" xmlns:xmi="http://www.omg.org/spec/XMI/20110701" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Ecore="http://www.eclipse.org/uml2/schemas/Ecore/5" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/4.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/uml2/schemas/Ecore/5 pathmap://UML_PROFILES/Ecore.profile.uml#_z1OFcHjqEdy8S4Cr8Rc_NA">
   <uml:Model xmi:id="_o8I_sGvaEdq4DLWZOhbdEA" name="UML">
     <packageImport xmi:id="__as3cGvaEdq4DLWZOhbdEA">
       <importedPackage xmi:type="uml:Model" href="Ecore.uml#_SeWiQMX_EduPJbEsMYXjUQ"/>
     </packageImport>
-    <packageImport xmi:id="_gyRZINwbEeCT5O2F6sGn5g">
+    <packageImport xmi:id="_VSmQEBE9EeGOffqMW1YiZA">
       <importedPackage xmi:type="uml:Model" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#_0"/>
     </packageImport>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyRZIdwbEeCT5O2F6sGn5g" name="A_action_actionExecutionSpecification" memberEnd="_gzWXNtwbEeCT5O2F6sGn5g _gyRZItwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyRZItwbEeCT5O2F6sGn5g" name="actionExecutionSpecification" visibility="public" type="_gzWXMNwbEeCT5O2F6sGn5g" association="_gyRZIdwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyRZI9wbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gyRZJNwbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VS7nQBE9EeGOffqMW1YiZA" name="A_action_actionExecutionSpecification" memberEnd="_VU8ZdhE9EeGOffqMW1YiZA _VS7nQRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VS7nQRE9EeGOffqMW1YiZA" name="actionExecutionSpecification" visibility="public" type="_VU8ZcBE9EeGOffqMW1YiZA" association="_VS7nQBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VS7nQhE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VS7nQxE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gySAMNwbEeCT5O2F6sGn5g" name="A_action_interaction" memberEnd="_g0bVRNwbEeCT5O2F6sGn5g _gySAMdwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gySAMdwbEeCT5O2F6sGn5g" name="interaction" visibility="public" type="_g0bVQNwbEeCT5O2F6sGn5g" subsettedProperty="_g0JodNwbEeCT5O2F6sGn5g" association="_gySAMNwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gySAMtwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VS8OUBE9EeGOffqMW1YiZA" name="A_action_interaction" memberEnd="_VZsWlBE9EeGOffqMW1YiZA _VS8OURE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VS8OURE9EeGOffqMW1YiZA" name="interaction" visibility="public" type="_VZsWkBE9EeGOffqMW1YiZA" subsettedProperty="_N3hRMAtAEeGcpbeCPJfCmw" association="_VS8OUBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VS8OUhE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gySAM9wbEeCT5O2F6sGn5g" name="A_actualGate_interactionUse" memberEnd="_g0dxldwbEeCT5O2F6sGn5g _gySANNwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gySANNwbEeCT5O2F6sGn5g" name="interactionUse" visibility="public" type="_g0dxgNwbEeCT5O2F6sGn5g" subsettedProperty="_g0JodNwbEeCT5O2F6sGn5g" association="_gySAM9wbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gySANdwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VS8OUxE9EeGOffqMW1YiZA" name="A_actualGate_interactionUse" memberEnd="_VZvZ9RE9EeGOffqMW1YiZA _VS8OVBE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VS8OVBE9EeGOffqMW1YiZA" name="interactionUse" visibility="public" type="_VZvZ4BE9EeGOffqMW1YiZA" subsettedProperty="_N3hRMAtAEeGcpbeCPJfCmw" association="_VS8OUxE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VS8OVRE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gySANtwbEeCT5O2F6sGn5g" name="A_actual_templateParameterSubstitution" memberEnd="_g2Nd9twbEeCT5O2F6sGn5g _gySAN9wbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gySAN9wbEeCT5O2F6sGn5g" name="templateParameterSubstitution" visibility="public" type="_g2Nd8NwbEeCT5O2F6sGn5g" association="_gySANtwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gySAONwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gySAOdwbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VS81YBE9EeGOffqMW1YiZA" name="A_actual_templateParameterSubstitution" memberEnd="_VesLVhE9EeGOffqMW1YiZA _VS81YRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VS81YRE9EeGOffqMW1YiZA" name="templateParameterSubstitution" visibility="public" type="_VesLUBE9EeGOffqMW1YiZA" association="_VS81YBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VS81YhE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VS81YxE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gySAOtwbEeCT5O2F6sGn5g" name="A_addition_include" memberEnd="_g0YR9NwbEeCT5O2F6sGn5g _gySAO9wbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gySAO9wbEeCT5O2F6sGn5g" name="include" visibility="public" type="_g0YR8NwbEeCT5O2F6sGn5g" subsettedProperty="_gy8ukdwbEeCT5O2F6sGn5g" association="_gySAOtwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gySAPNwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gySAPdwbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VS81ZBE9EeGOffqMW1YiZA" name="A_addition_include" memberEnd="_VZneFBE9EeGOffqMW1YiZA _VS81ZRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VS81ZRE9EeGOffqMW1YiZA" name="include" visibility="public" type="_VZneEBE9EeGOffqMW1YiZA" subsettedProperty="_VUpegRE9EeGOffqMW1YiZA" association="_VS81ZBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VS81ZhE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VS81ZxE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gySAPtwbEeCT5O2F6sGn5g" name="A_annotatedElement_comment" memberEnd="_gz3Uq9wbEeCT5O2F6sGn5g _gySAP9wbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gySAP9wbEeCT5O2F6sGn5g" name="comment" visibility="public" type="_Q8DcULGzEeCDe8CO90iVKQ" association="_gySAPtwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gySAQNwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gySAQdwbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VS9ccBE9EeGOffqMW1YiZA" name="A_annotatedElement_comment" memberEnd="_VX94QBE9EeGOffqMW1YiZA _VS9ccRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VS9ccRE9EeGOffqMW1YiZA" name="comment" visibility="public" type="_Q8DcULGzEeCDe8CO90iVKQ" association="_VS9ccBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VS9cchE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VS9ccxE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gySAQtwbEeCT5O2F6sGn5g" name="A_appliedProfile_profileApplication" memberEnd="_g1rSctwbEeCT5O2F6sGn5g _gySnQNwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gySnQNwbEeCT5O2F6sGn5g" name="profileApplication" visibility="public" type="_uY5yQGv5Edq7X4sGURiZYA" subsettedProperty="_gy8ukdwbEeCT5O2F6sGn5g" association="_gySAQtwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gySnQdwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gySnQtwbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VS9cdBE9EeGOffqMW1YiZA" name="A_appliedProfile_profileApplication" memberEnd="_VdDzoBE9EeGOffqMW1YiZA _VS9cdRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VS9cdRE9EeGOffqMW1YiZA" name="profileApplication" visibility="public" type="_uY5yQGv5Edq7X4sGURiZYA" subsettedProperty="_VUpegRE9EeGOffqMW1YiZA" association="_VS9cdBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VS9cdhE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VS9cdxE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gySnQ9wbEeCT5O2F6sGn5g" name="A_argument_interactionUse" memberEnd="_g0dxmdwbEeCT5O2F6sGn5g _gySnRNwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gySnRNwbEeCT5O2F6sGn5g" name="interactionUse" visibility="public" type="_g0dxgNwbEeCT5O2F6sGn5g" subsettedProperty="_g0JodNwbEeCT5O2F6sGn5g" association="_gySnQ9wbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gySnRdwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VS-DgBE9EeGOffqMW1YiZA" name="A_argument_interactionUse" memberEnd="_VZvZ-RE9EeGOffqMW1YiZA _VS-DgRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VS-DgRE9EeGOffqMW1YiZA" name="interactionUse" visibility="public" type="_VZvZ4BE9EeGOffqMW1YiZA" subsettedProperty="_N3hRMAtAEeGcpbeCPJfCmw" association="_VS-DgBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VS-DghE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gySnRtwbEeCT5O2F6sGn5g" name="A_argument_invocationAction" memberEnd="_g0gNzNwbEeCT5O2F6sGn5g _gySnR9wbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gySnR9wbEeCT5O2F6sGn5g" name="invocationAction" visibility="public" type="_g0gNxdwbEeCT5O2F6sGn5g" subsettedProperty="_gygpt9wbEeCT5O2F6sGn5g" association="_gySnRtwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gySnSNwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VS-DgxE9EeGOffqMW1YiZA" name="A_argument_invocationAction" memberEnd="_VZzERxE9EeGOffqMW1YiZA _VS-DhBE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VS-DhBE9EeGOffqMW1YiZA" name="invocationAction" visibility="public" type="_VZzEQBE9EeGOffqMW1YiZA" subsettedProperty="_VTqnERE9EeGOffqMW1YiZA" association="_VS-DgxE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VS-DhRE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gySnSdwbEeCT5O2F6sGn5g" name="A_argument_message" memberEnd="_g1K8KtwbEeCT5O2F6sGn5g _gySnStwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gySnStwbEeCT5O2F6sGn5g" name="message" visibility="public" type="_gfgNwGveEdq4DLWZOhbdEA" subsettedProperty="_g0JodNwbEeCT5O2F6sGn5g" association="_gySnSdwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gySnS9wbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VS-DhhE9EeGOffqMW1YiZA" name="A_argument_message" memberEnd="_VaBGsRE9EeGOffqMW1YiZA _VS-DhxE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VS-DhxE9EeGOffqMW1YiZA" name="message" visibility="public" type="_gfgNwGveEdq4DLWZOhbdEA" subsettedProperty="_N3hRMAtAEeGcpbeCPJfCmw" association="_VS-DhhE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VS-DiBE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gySnTNwbEeCT5O2F6sGn5g" name="A_association_clearAssociationAction" memberEnd="_gz04a9wbEeCT5O2F6sGn5g _gySnTdwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gySnTdwbEeCT5O2F6sGn5g" name="clearAssociationAction" visibility="public" type="_gz04YtwbEeCT5O2F6sGn5g" association="_gySnTNwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gySnTtwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VS-qkBE9EeGOffqMW1YiZA" name="A_association_clearAssociationAction" memberEnd="_VX4_yRE9EeGOffqMW1YiZA _VS-qkRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VS-qkRE9EeGOffqMW1YiZA" name="clearAssociationAction" visibility="public" type="_VX4_wBE9EeGOffqMW1YiZA" association="_VS-qkBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VS-qkhE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gySnT9wbEeCT5O2F6sGn5g" name="A_attribute_classifier" isDerived="true" memberEnd="_gzuKp9wbEeCT5O2F6sGn5g _gySnUNwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gySnUNwbEeCT5O2F6sGn5g" name="classifier" visibility="public" type="_6UV2QGwJEdq7X4sGURiZYA" subsettedProperty="_YUdlwLbAEeCRxrN1JUGuxA _zYrE4La-EeCRxrN1JUGuxA" association="_gySnT9wbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gySnUdwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VS-qkxE9EeGOffqMW1YiZA" name="A_attribute_classifier" isDerived="true" memberEnd="_VXldxBE9EeGOffqMW1YiZA _VS-qlBE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VS-qlBE9EeGOffqMW1YiZA" name="classifier" visibility="public" type="_6UV2QGwJEdq7X4sGURiZYA" subsettedProperty="_YUdlwLbAEeCRxrN1JUGuxA _zYrE4La-EeCRxrN1JUGuxA" association="_VS-qkxE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VS-qlRE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gySnUtwbEeCT5O2F6sGn5g" name="A_before_toAfter" memberEnd="_g0V1wdwbEeCT5O2F6sGn5g _g1XwddwbEeCT5O2F6sGn5g"/>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyTOUNwbEeCT5O2F6sGn5g" name="A_behavior_behaviorExecutionSpecification" memberEnd="_gzjyk9wbEeCT5O2F6sGn5g _gyTOUdwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyTOUdwbEeCT5O2F6sGn5g" name="behaviorExecutionSpecification" visibility="public" type="_gzjykNwbEeCT5O2F6sGn5g" association="_gyTOUNwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyTOUtwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gyTOU9wbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VS_RoBE9EeGOffqMW1YiZA" name="A_before_toAfter" memberEnd="_VZe7OBE9EeGOffqMW1YiZA _VbdRJRE9EeGOffqMW1YiZA"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VS_RoRE9EeGOffqMW1YiZA" name="A_behavior_behaviorExecutionSpecification" memberEnd="_VWIFMxE9EeGOffqMW1YiZA _VS_RohE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VS_RohE9EeGOffqMW1YiZA" name="behaviorExecutionSpecification" visibility="public" type="_VWIFMBE9EeGOffqMW1YiZA" association="_VS_RoRE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VS_RoxE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VS_RpBE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyTOVNwbEeCT5O2F6sGn5g" name="A_behavior_callBehaviorAction" memberEnd="_gzm17NwbEeCT5O2F6sGn5g _gyTOVdwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyTOVdwbEeCT5O2F6sGn5g" name="callBehaviorAction" visibility="public" type="_gzm14NwbEeCT5O2F6sGn5g" association="_gyTOVNwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyTOVtwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gyTOV9wbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VS_RpRE9EeGOffqMW1YiZA" name="A_behavior_callBehaviorAction" memberEnd="_VWUSfBE9EeGOffqMW1YiZA _VS_RphE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VS_RphE9EeGOffqMW1YiZA" name="callBehaviorAction" visibility="public" type="_VWUScBE9EeGOffqMW1YiZA" association="_VS_RpRE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VS_RpxE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VS_RqBE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyTOWNwbEeCT5O2F6sGn5g" name="A_behavior_opaqueExpression" memberEnd="_g1aMsNwbEeCT5O2F6sGn5g _gyTOWdwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyTOWdwbEeCT5O2F6sGn5g" name="opaqueExpression" visibility="public" type="_ChRfcGveEdq4DLWZOhbdEA" association="_gyTOWNwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyTOWtwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gyTOW9wbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VS_4sBE9EeGOffqMW1YiZA" name="A_behavior_opaqueExpression" memberEnd="_VbmbGhE9EeGOffqMW1YiZA _VS_4sRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VS_4sRE9EeGOffqMW1YiZA" name="opaqueExpression" visibility="public" type="_ChRfcGveEdq4DLWZOhbdEA" association="_VS_4sBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VS_4shE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VS_4sxE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyTOXNwbEeCT5O2F6sGn5g" name="A_bodyCondition_bodyContext" memberEnd="_g1co8NwbEeCT5O2F6sGn5g _gyTOXdwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyTOXdwbEeCT5O2F6sGn5g" name="bodyContext" visibility="public" type="_M4X2IGveEdq4DLWZOhbdEA" subsettedProperty="_g0Aek9wbEeCT5O2F6sGn5g" association="_gyTOXNwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyTOXtwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VS_4tBE9EeGOffqMW1YiZA" name="A_bodyCondition_bodyContext" memberEnd="_Vb-1mRE9EeGOffqMW1YiZA _VS_4tRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VS_4tRE9EeGOffqMW1YiZA" name="bodyContext" visibility="public" type="_M4X2IGveEdq4DLWZOhbdEA" subsettedProperty="_VYbLUxE9EeGOffqMW1YiZA" association="_VS_4tBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VS_4thE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyTOX9wbEeCT5O2F6sGn5g" name="A_bodyOutput_clause" memberEnd="_gz04UdwbEeCT5O2F6sGn5g _gyTOYNwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyTOYNwbEeCT5O2F6sGn5g" name="clause" visibility="public" type="_gz0RQNwbEeCT5O2F6sGn5g" association="_gyTOX9wbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyTOYdwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gyTOYtwbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTAfwBE9EeGOffqMW1YiZA" name="A_bodyOutput_clause" memberEnd="_VX3xsBE9EeGOffqMW1YiZA _VTAfwRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VTAfwRE9EeGOffqMW1YiZA" name="clause" visibility="public" type="_VX3xoBE9EeGOffqMW1YiZA" association="_VTAfwBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VTAfwhE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VTAfwxE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyT1YNwbEeCT5O2F6sGn5g" name="A_bodyOutput_loopNode" memberEnd="_g1JuD9wbEeCT5O2F6sGn5g _gyT1YdwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyT1YdwbEeCT5O2F6sGn5g" name="loopNode" visibility="public" type="_g1JuANwbEeCT5O2F6sGn5g" association="_gyT1YNwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyT1YtwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gyT1Y9wbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTAfxBE9EeGOffqMW1YiZA" name="A_bodyOutput_loopNode" memberEnd="_VZ_RjxE9EeGOffqMW1YiZA _VTAfxRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VTAfxRE9EeGOffqMW1YiZA" name="loopNode" visibility="public" type="_VZ_RgBE9EeGOffqMW1YiZA" association="_VTAfxBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VTAfxhE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VTAfxxE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyT1ZNwbEeCT5O2F6sGn5g" name="A_bodyPart_loopNode" memberEnd="_g1JuE9wbEeCT5O2F6sGn5g _gyT1ZdwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyT1ZdwbEeCT5O2F6sGn5g" name="loopNode" visibility="public" type="_g1JuANwbEeCT5O2F6sGn5g" association="_gyT1ZNwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyT1ZtwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTBG0BE9EeGOffqMW1YiZA" name="A_bodyPart_loopNode" memberEnd="_VZ_RkxE9EeGOffqMW1YiZA _VTBG0RE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VTBG0RE9EeGOffqMW1YiZA" name="loopNode" visibility="public" type="_VZ_RgBE9EeGOffqMW1YiZA" association="_VTBG0BE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VTBG0hE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyT1Z9wbEeCT5O2F6sGn5g" name="A_body_clause" memberEnd="_gz0RTNwbEeCT5O2F6sGn5g _gyT1aNwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyT1aNwbEeCT5O2F6sGn5g" name="clause" visibility="public" type="_gz0RQNwbEeCT5O2F6sGn5g" association="_gyT1Z9wbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyT1adwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTBG0xE9EeGOffqMW1YiZA" name="A_body_clause" memberEnd="_VX3xrBE9EeGOffqMW1YiZA _VTBG1BE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VTBG1BE9EeGOffqMW1YiZA" name="clause" visibility="public" type="_VX3xoBE9EeGOffqMW1YiZA" association="_VTBG0xE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VTBG1RE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyT1atwbEeCT5O2F6sGn5g" name="A_cfragmentGate_combinedFragment" memberEnd="_gz3Un9wbEeCT5O2F6sGn5g _gyT1a9wbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyT1a9wbEeCT5O2F6sGn5g" name="combinedFragment" visibility="public" type="_gz3UkNwbEeCT5O2F6sGn5g" subsettedProperty="_g0JodNwbEeCT5O2F6sGn5g" association="_gyT1atwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyT1bNwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTBG1hE9EeGOffqMW1YiZA" name="A_cfragmentGate_combinedFragment" memberEnd="_VX8qLxE9EeGOffqMW1YiZA _VTBG1xE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VTBG1xE9EeGOffqMW1YiZA" name="combinedFragment" visibility="public" type="_VX8qIBE9EeGOffqMW1YiZA" subsettedProperty="_N3hRMAtAEeGcpbeCPJfCmw" association="_VTBG1hE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VTBG2BE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyT1bdwbEeCT5O2F6sGn5g" name="A_changeExpression_changeEvent" memberEnd="_gzoEA9wbEeCT5O2F6sGn5g _gyT1btwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyT1btwbEeCT5O2F6sGn5g" name="changeEvent" visibility="public" type="_gzoEANwbEeCT5O2F6sGn5g" subsettedProperty="_g0JodNwbEeCT5O2F6sGn5g" association="_gyT1bdwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyT1b9wbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTBt4BE9EeGOffqMW1YiZA" name="A_changeExpression_changeEvent" memberEnd="_VWWusxE9EeGOffqMW1YiZA _VTBt4RE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VTBt4RE9EeGOffqMW1YiZA" name="changeEvent" visibility="public" type="_VWWusBE9EeGOffqMW1YiZA" subsettedProperty="_N3hRMAtAEeGcpbeCPJfCmw" association="_VTBt4BE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VTBt4hE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyUccNwbEeCT5O2F6sGn5g" name="A_classifierBehavior_behavioredClassifier" memberEnd="_gzlAttwbEeCT5O2F6sGn5g _gyUcctwbEeCT5O2F6sGn5g">
-      <generalization xmi:id="_gyUccdwbEeCT5O2F6sGn5g" general="_gyolh9wbEeCT5O2F6sGn5g"/>
-      <ownedEnd xmi:id="_gyUcctwbEeCT5O2F6sGn5g" name="behavioredClassifier" visibility="public" type="_iY7sMGvsEdqG6fBIPwe-mw" redefinedProperty="_gyoliNwbEeCT5O2F6sGn5g" association="_gyUccNwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyUcc9wbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTBt4xE9EeGOffqMW1YiZA" name="A_classifierBehavior_behavioredClassifier" memberEnd="_VWLvkRE9EeGOffqMW1YiZA _VTBt5RE9EeGOffqMW1YiZA">
+      <generalization xmi:id="_VTBt5BE9EeGOffqMW1YiZA" general="_VT_XNxE9EeGOffqMW1YiZA"/>
+      <ownedEnd xmi:id="_VTBt5RE9EeGOffqMW1YiZA" name="behavioredClassifier" visibility="public" type="_iY7sMGvsEdqG6fBIPwe-mw" redefinedProperty="_VT_XOBE9EeGOffqMW1YiZA" association="_VTBt4xE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VTBt5hE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyUcdNwbEeCT5O2F6sGn5g" name="A_classifier_createObjectAction" memberEnd="_g0CTv9wbEeCT5O2F6sGn5g _gyUcddwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyUcddwbEeCT5O2F6sGn5g" name="createObjectAction" visibility="public" type="_g0CTsNwbEeCT5O2F6sGn5g" association="_gyUcdNwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyUcdtwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gyUcd9wbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTCU8BE9EeGOffqMW1YiZA" name="A_classifier_createObjectAction" memberEnd="_VYgq3xE9EeGOffqMW1YiZA _VTCU8RE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VTCU8RE9EeGOffqMW1YiZA" name="createObjectAction" visibility="public" type="_VYgq0BE9EeGOffqMW1YiZA" association="_VTCU8BE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VTCU8hE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VTCU8xE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyUceNwbEeCT5O2F6sGn5g" name="A_classifier_enumerationLiteral" isDerived="true" memberEnd="_g0NS1NwbEeCT5O2F6sGn5g _gyUcetwbEeCT5O2F6sGn5g">
-      <generalization xmi:id="_gyUcedwbEeCT5O2F6sGn5g" general="_gyUcfdwbEeCT5O2F6sGn5g"/>
-      <ownedEnd xmi:id="_gyUcetwbEeCT5O2F6sGn5g" name="enumerationLiteral" visibility="public" type="_OQcbgGwOEdq7X4sGURiZYA" redefinedProperty="_gyUcftwbEeCT5O2F6sGn5g" association="_gyUceNwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyUce9wbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gyUcfNwbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTCU9BE9EeGOffqMW1YiZA" name="A_classifier_enumerationLiteral" isDerived="true" memberEnd="_VZNOZBE9EeGOffqMW1YiZA _VTCU9hE9EeGOffqMW1YiZA">
+      <generalization xmi:id="_VTCU9RE9EeGOffqMW1YiZA" general="_VTC8ABE9EeGOffqMW1YiZA"/>
+      <ownedEnd xmi:id="_VTCU9hE9EeGOffqMW1YiZA" name="enumerationLiteral" visibility="public" type="_OQcbgGwOEdq7X4sGURiZYA" redefinedProperty="_VTC8ARE9EeGOffqMW1YiZA" association="_VTCU9BE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VTCU9xE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VTCU-BE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyUcfdwbEeCT5O2F6sGn5g" name="A_classifier_instanceSpecification" memberEnd="_g0auQtwbEeCT5O2F6sGn5g _gyUcftwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyUcftwbEeCT5O2F6sGn5g" name="instanceSpecification" visibility="public" type="_g0auMNwbEeCT5O2F6sGn5g" association="_gyUcfdwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyUcf9wbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gyUcgNwbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTC8ABE9EeGOffqMW1YiZA" name="A_classifier_instanceSpecification" memberEnd="_VZrIghE9EeGOffqMW1YiZA _VTC8ARE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VTC8ARE9EeGOffqMW1YiZA" name="instanceSpecification" visibility="public" type="_VZrIcBE9EeGOffqMW1YiZA" association="_VTC8ABE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VTC8AhE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VTC8AxE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyUcgdwbEeCT5O2F6sGn5g" name="A_classifier_readExtentAction" memberEnd="_g1z1XtwbEeCT5O2F6sGn5g _gyUcgtwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyUcgtwbEeCT5O2F6sGn5g" name="readExtentAction" visibility="public" type="_g1z1VdwbEeCT5O2F6sGn5g" association="_gyUcgdwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyUcg9wbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTC8BBE9EeGOffqMW1YiZA" name="A_classifier_readExtentAction" memberEnd="_VdcOKRE9EeGOffqMW1YiZA _VTC8BRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VTC8BRE9EeGOffqMW1YiZA" name="readExtentAction" visibility="public" type="_VdcOIBE9EeGOffqMW1YiZA" association="_VTC8BBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VTC8BhE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyVDgNwbEeCT5O2F6sGn5g" name="A_classifier_readIsClassifiedObjectAction" memberEnd="_g10cb9wbEeCT5O2F6sGn5g _gyVDgdwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyVDgdwbEeCT5O2F6sGn5g" name="readIsClassifiedObjectAction" visibility="public" type="_g10cYNwbEeCT5O2F6sGn5g" association="_gyVDgNwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyVDgtwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gyVDg9wbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTEKIBE9EeGOffqMW1YiZA" name="A_classifier_readIsClassifiedObjectAction" memberEnd="_Vdc1PxE9EeGOffqMW1YiZA _VTEKIRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VTEKIRE9EeGOffqMW1YiZA" name="readIsClassifiedObjectAction" visibility="public" type="_Vdc1MBE9EeGOffqMW1YiZA" association="_VTEKIBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VTEKIhE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VTEKIxE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyVDhNwbEeCT5O2F6sGn5g" name="A_classifier_templateParameter_parameteredElement" memberEnd="_gzvY09wbEeCT5O2F6sGn5g _gzzqPdwbEeCT5O2F6sGn5g"/>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyVDhdwbEeCT5O2F6sGn5g" name="A_clause_conditionalNode" memberEnd="_gz7mFdwbEeCT5O2F6sGn5g _gyVDhtwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyVDhtwbEeCT5O2F6sGn5g" name="conditionalNode" visibility="public" type="_gz7mANwbEeCT5O2F6sGn5g" subsettedProperty="_g0JodNwbEeCT5O2F6sGn5g" association="_gyVDhdwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTEKJBE9EeGOffqMW1YiZA" name="A_classifier_templateParameter_parameteredElement" memberEnd="_VXuAqxE9EeGOffqMW1YiZA _VX2jjRE9EeGOffqMW1YiZA"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTEKJRE9EeGOffqMW1YiZA" name="A_clause_conditionalNode" memberEnd="_VYGbNRE9EeGOffqMW1YiZA _VTEKJhE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VTEKJhE9EeGOffqMW1YiZA" name="conditionalNode" visibility="public" type="_VYGbIBE9EeGOffqMW1YiZA" subsettedProperty="_N3hRMAtAEeGcpbeCPJfCmw" association="_VTEKJRE9EeGOffqMW1YiZA"/>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyVDh9wbEeCT5O2F6sGn5g" name="A_clientDependency_client" memberEnd="_g1QbsNwbEeCT5O2F6sGn5g _g0EI49wbEeCT5O2F6sGn5g"/>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyVDiNwbEeCT5O2F6sGn5g" name="A_collaborationRole_collaboration" memberEnd="_gz2GgtwbEeCT5O2F6sGn5g _gyVDidwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyVDidwbEeCT5O2F6sGn5g" name="collaboration" visibility="public" type="_gz2GftwbEeCT5O2F6sGn5g" subsettedProperty="_gy32F9wbEeCT5O2F6sGn5g" association="_gyVDiNwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyVDitwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gyVDi9wbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTExMBE9EeGOffqMW1YiZA" name="A_clientDependency_client" memberEnd="_VaN7ABE9EeGOffqMW1YiZA _VYyXoBE9EeGOffqMW1YiZA"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTExMRE9EeGOffqMW1YiZA" name="A_collaborationRole_collaboration" memberEnd="_VX609BE9EeGOffqMW1YiZA _VTExMhE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VTExMhE9EeGOffqMW1YiZA" name="collaboration" visibility="public" type="_VX608BE9EeGOffqMW1YiZA" subsettedProperty="_VUhitBE9EeGOffqMW1YiZA" association="_VTExMRE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VTExMxE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VTExNBE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyVDjNwbEeCT5O2F6sGn5g" name="A_collaborationUse_classifier" memberEnd="_gzuKq9wbEeCT5O2F6sGn5g _gyVDjdwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyVDjdwbEeCT5O2F6sGn5g" name="classifier" visibility="public" type="_6UV2QGwJEdq7X4sGURiZYA" subsettedProperty="_g0JodNwbEeCT5O2F6sGn5g" association="_gyVDjNwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyVDjtwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTExNRE9EeGOffqMW1YiZA" name="A_collaborationUse_classifier" memberEnd="_VXmE0BE9EeGOffqMW1YiZA _VTExNhE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VTExNhE9EeGOffqMW1YiZA" name="classifier" visibility="public" type="_6UV2QGwJEdq7X4sGURiZYA" subsettedProperty="_N3hRMAtAEeGcpbeCPJfCmw" association="_VTExNRE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VTExNxE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyVDj9wbEeCT5O2F6sGn5g" name="A_collection_reduceAction" memberEnd="_g17xLNwbEeCT5O2F6sGn5g _gyVDkNwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyVDkNwbEeCT5O2F6sGn5g" name="reduceAction" visibility="public" type="_g17xINwbEeCT5O2F6sGn5g" subsettedProperty="_gygpt9wbEeCT5O2F6sGn5g" association="_gyVDj9wbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyVDkdwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTFYQBE9EeGOffqMW1YiZA" name="A_collection_reduceAction" memberEnd="_Vd46HBE9EeGOffqMW1YiZA _VTFYQRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VTFYQRE9EeGOffqMW1YiZA" name="reduceAction" visibility="public" type="_Vd46EBE9EeGOffqMW1YiZA" subsettedProperty="_VTqnERE9EeGOffqMW1YiZA" association="_VTFYQBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VTFYQhE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyVqkNwbEeCT5O2F6sGn5g" name="A_condition_extend" memberEnd="_g0Q9N9wbEeCT5O2F6sGn5g _gyVqkdwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyVqkdwbEeCT5O2F6sGn5g" name="extend" visibility="public" type="_g0Q9MNwbEeCT5O2F6sGn5g" subsettedProperty="_g0JodNwbEeCT5O2F6sGn5g" association="_gyVqkNwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyVqktwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTFYQxE9EeGOffqMW1YiZA" name="A_condition_extend" memberEnd="_VZTVBxE9EeGOffqMW1YiZA _VTFYRBE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VTFYRBE9EeGOffqMW1YiZA" name="extend" visibility="public" type="_VZTVABE9EeGOffqMW1YiZA" subsettedProperty="_N3hRMAtAEeGcpbeCPJfCmw" association="_VTFYQxE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VTFYRRE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyVqk9wbEeCT5O2F6sGn5g" name="A_condition_parameterSet" memberEnd="_g1nBC9wbEeCT5O2F6sGn5g _gyVqlNwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyVqlNwbEeCT5O2F6sGn5g" name="parameterSet" visibility="public" type="_g1mZ8NwbEeCT5O2F6sGn5g" subsettedProperty="_g0JodNwbEeCT5O2F6sGn5g" association="_gyVqk9wbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyVqldwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTF_UBE9EeGOffqMW1YiZA" name="A_condition_parameterSet" memberEnd="_Vc7QzBE9EeGOffqMW1YiZA _VTF_URE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VTF_URE9EeGOffqMW1YiZA" name="parameterSet" visibility="public" type="_Vc7QwBE9EeGOffqMW1YiZA" subsettedProperty="_N3hRMAtAEeGcpbeCPJfCmw" association="_VTF_UBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VTF_UhE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyVqltwbEeCT5O2F6sGn5g" name="A_configuration_deployment" memberEnd="_g0Ev9NwbEeCT5O2F6sGn5g _g0EwBtwbEeCT5O2F6sGn5g"/>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyVql9wbEeCT5O2F6sGn5g" name="A_conformance_specificMachine" memberEnd="_g1xZItwbEeCT5O2F6sGn5g _g1wyBdwbEeCT5O2F6sGn5g"/>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyVqmNwbEeCT5O2F6sGn5g" name="A_connectableElement_templateParameter_parameteredElement" memberEnd="_gz7mKtwbEeCT5O2F6sGn5g _gz80I9wbEeCT5O2F6sGn5g"/>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyVqmdwbEeCT5O2F6sGn5g" name="A_connectionPoint_state" memberEnd="_g2Ce6dwbEeCT5O2F6sGn5g _g1zOYdwbEeCT5O2F6sGn5g"/>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyVqmtwbEeCT5O2F6sGn5g" name="A_connectionPoint_stateMachine" memberEnd="_g2EUD9wbEeCT5O2F6sGn5g _g1zOZNwbEeCT5O2F6sGn5g"/>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyVqm9wbEeCT5O2F6sGn5g" name="A_connection_state" memberEnd="_g2Ce5dwbEeCT5O2F6sGn5g _gz80NtwbEeCT5O2F6sGn5g"/>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyVqnNwbEeCT5O2F6sGn5g" name="A_connector_message" memberEnd="_g1K8LtwbEeCT5O2F6sGn5g _gyVqndwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyVqndwbEeCT5O2F6sGn5g" name="message" visibility="public" type="_gfgNwGveEdq4DLWZOhbdEA" association="_gyVqnNwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyVqntwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gyVqn9wbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTF_UxE9EeGOffqMW1YiZA" name="A_configuration_deployment" memberEnd="_VYy-tBE9EeGOffqMW1YiZA _VYzlxxE9EeGOffqMW1YiZA"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTF_VBE9EeGOffqMW1YiZA" name="A_conformance_specificMachine" memberEnd="_VdXVshE9EeGOffqMW1YiZA _VdWHhRE9EeGOffqMW1YiZA"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTF_VRE9EeGOffqMW1YiZA" name="A_connectableElement_templateParameter_parameteredElement" memberEnd="_VYIQVBE9EeGOffqMW1YiZA _VYJecxE9EeGOffqMW1YiZA"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTGmYBE9EeGOffqMW1YiZA" name="A_connectionPoint_state" memberEnd="_VeR7tRE9EeGOffqMW1YiZA _VdaZERE9EeGOffqMW1YiZA"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTGmYRE9EeGOffqMW1YiZA" name="A_connectionPoint_stateMachine" memberEnd="_VeWNHxE9EeGOffqMW1YiZA _VdaZFBE9EeGOffqMW1YiZA"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTGmYhE9EeGOffqMW1YiZA" name="A_connection_state" memberEnd="_VeR7sRE9EeGOffqMW1YiZA _VYKsoRE9EeGOffqMW1YiZA"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTHNcBE9EeGOffqMW1YiZA" name="A_connector_message" memberEnd="_VaBGtRE9EeGOffqMW1YiZA _VTHNcRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VTHNcRE9EeGOffqMW1YiZA" name="message" visibility="public" type="_gfgNwGveEdq4DLWZOhbdEA" association="_VTHNcBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VTHNchE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VTHNcxE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyWRoNwbEeCT5O2F6sGn5g" name="A_constrainedElement_constraint" memberEnd="_g0Aej9wbEeCT5O2F6sGn5g _gyWRodwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyWRodwbEeCT5O2F6sGn5g" name="constraint" visibility="public" type="_g0AegNwbEeCT5O2F6sGn5g" association="_gyWRoNwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyWRotwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gyWRo9wbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTHNdBE9EeGOffqMW1YiZA" name="A_constrainedElement_constraint" memberEnd="_VYbLTxE9EeGOffqMW1YiZA _VTHNdRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VTHNdRE9EeGOffqMW1YiZA" name="constraint" visibility="public" type="_VYbLQBE9EeGOffqMW1YiZA" association="_VTHNdBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VTHNdhE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VTHNdxE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyWRpNwbEeCT5O2F6sGn5g" name="A_constrainingClassifier_classifierTemplateParameter" memberEnd="_gzzqOdwbEeCT5O2F6sGn5g _gyWRpdwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyWRpdwbEeCT5O2F6sGn5g" name="classifierTemplateParameter" visibility="public" type="_gzzqMNwbEeCT5O2F6sGn5g" association="_gyWRpNwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyWRptwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gyWRp9wbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTHNeBE9EeGOffqMW1YiZA" name="A_constrainingClassifier_classifierTemplateParameter" memberEnd="_VX2jiRE9EeGOffqMW1YiZA _VTHNeRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VTHNeRE9EeGOffqMW1YiZA" name="classifierTemplateParameter" visibility="public" type="_VX2jgBE9EeGOffqMW1YiZA" association="_VTHNeBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VTHNehE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VTHNexE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyWRqNwbEeCT5O2F6sGn5g" name="A_containedEdge_inGroup" isDerived="true" memberEnd="_gzaBnNwbEeCT5O2F6sGn5g _gzZaktwbEeCT5O2F6sGn5g"/>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyWRqdwbEeCT5O2F6sGn5g" name="A_containedNode_inGroup" isDerived="true" memberEnd="_gzaBoNwbEeCT5O2F6sGn5g _gzbPvNwbEeCT5O2F6sGn5g"/>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyWRqtwbEeCT5O2F6sGn5g" name="A_context_action" isDerived="true" memberEnd="_gzBnLdwbEeCT5O2F6sGn5g _gyWRq9wbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyWRq9wbEeCT5O2F6sGn5g" name="action" visibility="public" type="_6WKakLLQEeCsYvaJqFFivQ" association="_gyWRqtwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyWRrNwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gyWRrdwbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTH0gBE9EeGOffqMW1YiZA" name="A_containedEdge_inGroup" isDerived="true" memberEnd="_VVd95BE9EeGOffqMW1YiZA _VVcIwhE9EeGOffqMW1YiZA"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTH0gRE9EeGOffqMW1YiZA" name="A_containedNode_inGroup" isDerived="true" memberEnd="_VVd96BE9EeGOffqMW1YiZA _VVfzFhE9EeGOffqMW1YiZA"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTIbkBE9EeGOffqMW1YiZA" name="A_context_action" isDerived="true" memberEnd="_VU3g9BE9EeGOffqMW1YiZA _VTIbkRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VTIbkRE9EeGOffqMW1YiZA" name="action" visibility="public" type="_6WKakLLQEeCsYvaJqFFivQ" association="_VTIbkBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VTIbkhE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VTIbkxE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyWRrtwbEeCT5O2F6sGn5g" name="A_context_behavior" isDerived="true" memberEnd="_gzh9ZNwbEeCT5O2F6sGn5g _gyWRr9wbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyWRr9wbEeCT5O2F6sGn5g" name="behavior" visibility="public" type="_TUPtYGveEdq4DLWZOhbdEA" subsettedProperty="_gyxIb9wbEeCT5O2F6sGn5g" association="_gyWRrtwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyWRsNwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gyWRsdwbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTIblBE9EeGOffqMW1YiZA" name="A_context_behavior" isDerived="true" memberEnd="_VWAwcBE9EeGOffqMW1YiZA _VTIblRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VTIblRE9EeGOffqMW1YiZA" name="behavior" visibility="public" type="_TUPtYGveEdq4DLWZOhbdEA" subsettedProperty="_VUWjlxE9EeGOffqMW1YiZA" association="_VTIblBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VTIblhE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VTIblxE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyW4sNwbEeCT5O2F6sGn5g" name="A_contract_connector" memberEnd="_gz9bP9wbEeCT5O2F6sGn5g _gyW4sdwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyW4sdwbEeCT5O2F6sGn5g" name="connector" visibility="public" type="_YxC2YLLWEeCsYvaJqFFivQ" association="_gyW4sNwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyW4stwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gyW4s9wbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTJCoBE9EeGOffqMW1YiZA" name="A_contract_connector" memberEnd="_VYL6tBE9EeGOffqMW1YiZA _VTJCoRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VTJCoRE9EeGOffqMW1YiZA" name="connector" visibility="public" type="_YxC2YLLWEeCsYvaJqFFivQ" association="_VTJCoBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VTJCohE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VTJCoxE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyW4tNwbEeCT5O2F6sGn5g" name="A_contract_interfaceRealization" memberEnd="_g0e_ptwbEeCT5O2F6sGn5g _gyW4tdwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyW4tdwbEeCT5O2F6sGn5g" name="interfaceRealization" visibility="public" type="_l2mXcHLzEdqziYxiZo0YtA" subsettedProperty="_gy8HhdwbEeCT5O2F6sGn5g" association="_gyW4tNwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyW4ttwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gyW4t9wbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTJCpBE9EeGOffqMW1YiZA" name="A_contract_interfaceRealization" memberEnd="_VZxPEhE9EeGOffqMW1YiZA _VTJCpRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VTJCpRE9EeGOffqMW1YiZA" name="interfaceRealization" visibility="public" type="_l2mXcHLzEdqziYxiZo0YtA" subsettedProperty="_VUo3cRE9EeGOffqMW1YiZA" association="_VTJCpBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VTJCphE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VTJCpxE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyW4uNwbEeCT5O2F6sGn5g" name="A_contract_substitution" memberEnd="_g2Kao9wbEeCT5O2F6sGn5g _gyW4udwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyW4udwbEeCT5O2F6sGn5g" name="substitution" visibility="public" type="_g2KaoNwbEeCT5O2F6sGn5g" subsettedProperty="_gy8HhdwbEeCT5O2F6sGn5g" association="_gyW4uNwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyW4utwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gyW4u9wbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTJpsBE9EeGOffqMW1YiZA" name="A_contract_substitution" memberEnd="_VeldoxE9EeGOffqMW1YiZA _VTJpsRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VTJpsRE9EeGOffqMW1YiZA" name="substitution" visibility="public" type="_VeldoBE9EeGOffqMW1YiZA" subsettedProperty="_VUo3cRE9EeGOffqMW1YiZA" association="_VTJpsBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VTJpshE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VTJpsxE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyW4vNwbEeCT5O2F6sGn5g" name="A_conveyed_informationFlow" memberEnd="_g0Y5DdwbEeCT5O2F6sGn5g _gyW4vdwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyW4vdwbEeCT5O2F6sGn5g" name="informationFlow" visibility="public" type="_g0Y5ANwbEeCT5O2F6sGn5g" association="_gyW4vNwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyW4vtwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gyW4v9wbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTJptBE9EeGOffqMW1YiZA" name="A_conveyed_informationFlow" memberEnd="_VZosPRE9EeGOffqMW1YiZA _VTJptRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VTJptRE9EeGOffqMW1YiZA" name="informationFlow" visibility="public" type="_VZosMBE9EeGOffqMW1YiZA" association="_VTJptBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VTJpthE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VTJptxE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyW4wNwbEeCT5O2F6sGn5g" name="A_covered_coveredBy" memberEnd="_g0cjY9wbEeCT5O2F6sGn5g _g0hb7NwbEeCT5O2F6sGn5g">
-      <ownedComment xmi:id="_gyW4wdwbEeCT5O2F6sGn5g" annotatedElement="_gyW4wNwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTKQwBE9EeGOffqMW1YiZA" name="A_covered_coveredBy" memberEnd="_VZuLwxE9EeGOffqMW1YiZA _VZ0SbBE9EeGOffqMW1YiZA">
+      <ownedComment xmi:id="_VTKQwRE9EeGOffqMW1YiZA" annotatedElement="_VTKQwBE9EeGOffqMW1YiZA">
         <body>This association shows the lifelines that make up an interaction. A lifeline may be part of more than one interaction use.</body>
       </ownedComment>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyXfwNwbEeCT5O2F6sGn5g" name="A_covered_events" memberEnd="_g1Xwc9wbEeCT5O2F6sGn5g _gyXfwdwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyXfwdwbEeCT5O2F6sGn5g" name="events" visibility="public" type="_g1XwcNwbEeCT5O2F6sGn5g" isOrdered="true" subsettedProperty="_g0hb7NwbEeCT5O2F6sGn5g" association="_gyXfwNwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyXfwtwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gyXfw9wbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTK30BE9EeGOffqMW1YiZA" name="A_covered_events" memberEnd="_VbdRIxE9EeGOffqMW1YiZA _VTK30RE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VTK30RE9EeGOffqMW1YiZA" name="events" visibility="public" type="_VbdRIBE9EeGOffqMW1YiZA" isOrdered="true" subsettedProperty="_VZ0SbBE9EeGOffqMW1YiZA" association="_VTK30BE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VTK30hE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VTK30xE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyXfxNwbEeCT5O2F6sGn5g" name="A_covered_stateInvariant" memberEnd="_g2DF69wbEeCT5O2F6sGn5g _gyXfxdwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyXfxdwbEeCT5O2F6sGn5g" name="stateInvariant" visibility="public" type="_g2DF6NwbEeCT5O2F6sGn5g" subsettedProperty="_g0hb7NwbEeCT5O2F6sGn5g" association="_gyXfxNwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyXfxtwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gyXfx9wbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTLe4BE9EeGOffqMW1YiZA" name="A_covered_stateInvariant" memberEnd="_VeSisxE9EeGOffqMW1YiZA _VTLe4RE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VTLe4RE9EeGOffqMW1YiZA" name="stateInvariant" visibility="public" type="_VeSisBE9EeGOffqMW1YiZA" subsettedProperty="_VZ0SbBE9EeGOffqMW1YiZA" association="_VTLe4BE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VTLe4hE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VTLe4xE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyXfyNwbEeCT5O2F6sGn5g" name="A_decider_clause" memberEnd="_gz04VdwbEeCT5O2F6sGn5g _gyXfydwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyXfydwbEeCT5O2F6sGn5g" name="clause" visibility="public" type="_gz0RQNwbEeCT5O2F6sGn5g" association="_gyXfyNwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyXfytwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTLe5BE9EeGOffqMW1YiZA" name="A_decider_clause" memberEnd="_VX3xtBE9EeGOffqMW1YiZA _VTLe5RE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VTLe5RE9EeGOffqMW1YiZA" name="clause" visibility="public" type="_VX3xoBE9EeGOffqMW1YiZA" association="_VTLe5BE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VTLe5hE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyXfy9wbEeCT5O2F6sGn5g" name="A_decider_loopNode" memberEnd="_g1JuF9wbEeCT5O2F6sGn5g _gyXfzNwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyXfzNwbEeCT5O2F6sGn5g" name="loopNode" visibility="public" type="_g1JuANwbEeCT5O2F6sGn5g" association="_gyXfy9wbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyXfzdwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTLe5xE9EeGOffqMW1YiZA" name="A_decider_loopNode" memberEnd="_VZ_RlxE9EeGOffqMW1YiZA _VTLe6BE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VTLe6BE9EeGOffqMW1YiZA" name="loopNode" visibility="public" type="_VZ_RgBE9EeGOffqMW1YiZA" association="_VTLe5xE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VTLe6RE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyXfztwbEeCT5O2F6sGn5g" name="A_decisionInputFlow_decisionNode" memberEnd="_g0Dh7twbEeCT5O2F6sGn5g _gyXfz9wbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyXfz9wbEeCT5O2F6sGn5g" name="decisionNode" visibility="public" type="_g0Dh0NwbEeCT5O2F6sGn5g" association="_gyXfztwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyXf0NwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTMF8BE9EeGOffqMW1YiZA" name="A_decisionInputFlow_decisionNode" memberEnd="_VYxwrhE9EeGOffqMW1YiZA _VTMF8RE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VTMF8RE9EeGOffqMW1YiZA" name="decisionNode" visibility="public" type="_VYxwkBE9EeGOffqMW1YiZA" association="_VTMF8BE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VTMF8hE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyXf0dwbEeCT5O2F6sGn5g" name="A_decisionInput_decisionNode" memberEnd="_g0Dh69wbEeCT5O2F6sGn5g _gyXf0twbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyXf0twbEeCT5O2F6sGn5g" name="decisionNode" visibility="public" type="_g0Dh0NwbEeCT5O2F6sGn5g" association="_gyXf0dwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyYG0NwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gyYG0dwbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTMF8xE9EeGOffqMW1YiZA" name="A_decisionInput_decisionNode" memberEnd="_VYxwqxE9EeGOffqMW1YiZA _VTMF9BE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VTMF9BE9EeGOffqMW1YiZA" name="decisionNode" visibility="public" type="_VYxwkBE9EeGOffqMW1YiZA" association="_VTMF8xE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VTMF9RE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VTMF9hE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyYG0twbEeCT5O2F6sGn5g" name="A_decomposedAs_lifeline" memberEnd="_g0hb8NwbEeCT5O2F6sGn5g _gyYG09wbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyYG09wbEeCT5O2F6sGn5g" name="lifeline" visibility="public" type="_g0hb4NwbEeCT5O2F6sGn5g" association="_gyYG0twbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTMtABE9EeGOffqMW1YiZA" name="A_decomposedAs_lifeline" memberEnd="_VZ0ScBE9EeGOffqMW1YiZA _VTMtARE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VTMtARE9EeGOffqMW1YiZA" name="lifeline" visibility="public" type="_VZ0SYBE9EeGOffqMW1YiZA" association="_VTMtABE9EeGOffqMW1YiZA"/>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyYG1NwbEeCT5O2F6sGn5g" name="A_defaultValue_owningParameter" memberEnd="_g1kkzdwbEeCT5O2F6sGn5g _gyYG1dwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyYG1dwbEeCT5O2F6sGn5g" name="owningParameter" visibility="public" type="_KyaPMGveEdq4DLWZOhbdEA" subsettedProperty="_g0JodNwbEeCT5O2F6sGn5g" association="_gyYG1NwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyYG1twbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTMtAhE9EeGOffqMW1YiZA" name="A_defaultValue_owningParameter" memberEnd="_Vcyt4BE9EeGOffqMW1YiZA _VTMtAxE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VTMtAxE9EeGOffqMW1YiZA" name="owningParameter" visibility="public" type="_KyaPMGveEdq4DLWZOhbdEA" subsettedProperty="_N3hRMAtAEeGcpbeCPJfCmw" association="_VTMtAhE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VTMtBBE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyYG19wbEeCT5O2F6sGn5g" name="A_defaultValue_owningProperty" memberEnd="_g1tHpdwbEeCT5O2F6sGn5g _gyYG2NwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyYG2NwbEeCT5O2F6sGn5g" name="owningProperty" visibility="public" type="_Jp_1oGveEdq4DLWZOhbdEA" subsettedProperty="_g0JodNwbEeCT5O2F6sGn5g" association="_gyYG19wbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyYG2dwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTNUEBE9EeGOffqMW1YiZA" name="A_defaultValue_owningProperty" memberEnd="_VdG28BE9EeGOffqMW1YiZA _VTNUERE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VTNUERE9EeGOffqMW1YiZA" name="owningProperty" visibility="public" type="_Jp_1oGveEdq4DLWZOhbdEA" subsettedProperty="_N3hRMAtAEeGcpbeCPJfCmw" association="_VTNUEBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VTNUEhE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyYG2twbEeCT5O2F6sGn5g" name="A_default_templateParameter" memberEnd="_g2LBxtwbEeCT5O2F6sGn5g _gyYG29wbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyYG29wbEeCT5O2F6sGn5g" name="templateParameter" visibility="public" type="_KxRzgGvuEdqG6fBIPwe-mw" association="_gyYG2twbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyYG3NwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gyYG3dwbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTNUExE9EeGOffqMW1YiZA" name="A_default_templateParameter" memberEnd="_VeqWJBE9EeGOffqMW1YiZA _VTNUFBE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VTNUFBE9EeGOffqMW1YiZA" name="templateParameter" visibility="public" type="_KxRzgGvuEdqG6fBIPwe-mw" association="_VTNUExE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VTNUFRE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VTNUFhE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyYG3twbEeCT5O2F6sGn5g" name="A_deferrableTrigger_state" memberEnd="_g2Ce7dwbEeCT5O2F6sGn5g _gyYG39wbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyYG39wbEeCT5O2F6sGn5g" name="state" visibility="public" type="_g2Ce0NwbEeCT5O2F6sGn5g" subsettedProperty="_g0JodNwbEeCT5O2F6sGn5g" association="_gyYG3twbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyYG4NwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTN7IBE9EeGOffqMW1YiZA" name="A_deferrableTrigger_state" memberEnd="_VeR7uRE9EeGOffqMW1YiZA _VTN7IRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VTN7IRE9EeGOffqMW1YiZA" name="state" visibility="public" type="_VeRUkBE9EeGOffqMW1YiZA" subsettedProperty="_N3hRMAtAEeGcpbeCPJfCmw" association="_VTN7IBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VTN7IhE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyYt4NwbEeCT5O2F6sGn5g" name="A_definingEnd_connectorEnd" isDerived="true" memberEnd="_gz-pXtwbEeCT5O2F6sGn5g _gyYt4dwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyYt4dwbEeCT5O2F6sGn5g" name="connectorEnd" visibility="public" type="_aOgw0GveEdq4DLWZOhbdEA" association="_gyYt4NwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyYt4twbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gyYt49wbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTN7IxE9EeGOffqMW1YiZA" name="A_definingEnd_connectorEnd" isDerived="true" memberEnd="_VYSBUBE9EeGOffqMW1YiZA _VTN7JBE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VTN7JBE9EeGOffqMW1YiZA" name="connectorEnd" visibility="public" type="_aOgw0GveEdq4DLWZOhbdEA" association="_VTN7IxE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VTN7JRE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VTN7JhE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyYt5NwbEeCT5O2F6sGn5g" name="A_definingFeature_slot" memberEnd="_g2ACk9wbEeCT5O2F6sGn5g _gyYt5dwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyYt5dwbEeCT5O2F6sGn5g" name="slot" visibility="public" type="_g2ACkNwbEeCT5O2F6sGn5g" association="_gyYt5NwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyYt5twbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gyYt59wbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTOiMBE9EeGOffqMW1YiZA" name="A_definingFeature_slot" memberEnd="_VeMcExE9EeGOffqMW1YiZA _VTOiMRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VTOiMRE9EeGOffqMW1YiZA" name="slot" visibility="public" type="_VeMcEBE9EeGOffqMW1YiZA" association="_VTOiMBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VTOiMhE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VTOiMxE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyYt6NwbEeCT5O2F6sGn5g" name="A_deployedArtifact_deployment" memberEnd="_g0Ev-NwbEeCT5O2F6sGn5g _gyYt6dwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyYt6dwbEeCT5O2F6sGn5g" name="deployment" visibility="public" type="_g0Ev8NwbEeCT5O2F6sGn5g" subsettedProperty="_gy8HhdwbEeCT5O2F6sGn5g" association="_gyYt6NwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyYt6twbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gyYt69wbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTOiNBE9EeGOffqMW1YiZA" name="A_deployedArtifact_deployment" memberEnd="_VYy-uBE9EeGOffqMW1YiZA _VTOiNRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VTOiNRE9EeGOffqMW1YiZA" name="deployment" visibility="public" type="_VYy-sBE9EeGOffqMW1YiZA" subsettedProperty="_VUo3cRE9EeGOffqMW1YiZA" association="_VTOiNBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VTOiNhE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VTOiNxE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyYt7NwbEeCT5O2F6sGn5g" name="A_deployedElement_deploymentTarget" isDerived="true" memberEnd="_g0F-EtwbEeCT5O2F6sGn5g _gyYt7dwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyYt7dwbEeCT5O2F6sGn5g" name="deploymentTarget" visibility="public" type="_PkmfgLLXEeCsYvaJqFFivQ" association="_gyYt7NwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyYt7twbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gyYt79wbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTPJQBE9EeGOffqMW1YiZA" name="A_deployedElement_deploymentTarget" isDerived="true" memberEnd="_VY2pERE9EeGOffqMW1YiZA _VTPJQRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VTPJQRE9EeGOffqMW1YiZA" name="deploymentTarget" visibility="public" type="_PkmfgLLXEeCsYvaJqFFivQ" association="_VTPJQBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VTPJQhE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VTPJQxE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyYt8NwbEeCT5O2F6sGn5g" name="A_deployment_location" memberEnd="_g0F-FtwbEeCT5O2F6sGn5g _g0Ev_NwbEeCT5O2F6sGn5g"/>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyYt8dwbEeCT5O2F6sGn5g" name="A_destroyAt_linkEndDestructionData" memberEnd="_g0j4KdwbEeCT5O2F6sGn5g _gyYt8twbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyYt8twbEeCT5O2F6sGn5g" name="linkEndDestructionData" visibility="public" type="_g0j4INwbEeCT5O2F6sGn5g" association="_gyYt8dwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyYt89wbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTPJRBE9EeGOffqMW1YiZA" name="A_deployment_location" memberEnd="_VY2pFRE9EeGOffqMW1YiZA _VYy-vBE9EeGOffqMW1YiZA"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTPwUBE9EeGOffqMW1YiZA" name="A_destroyAt_linkEndDestructionData" memberEnd="_VZ38yRE9EeGOffqMW1YiZA _VTPwURE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VTPwURE9EeGOffqMW1YiZA" name="linkEndDestructionData" visibility="public" type="_VZ38wBE9EeGOffqMW1YiZA" association="_VTPwUBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VTPwUhE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyZU8NwbEeCT5O2F6sGn5g" name="A_doActivity_state" memberEnd="_g2Ce8dwbEeCT5O2F6sGn5g _gyZU8dwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyZU8dwbEeCT5O2F6sGn5g" name="state" visibility="public" type="_g2Ce0NwbEeCT5O2F6sGn5g" subsettedProperty="_g0JodNwbEeCT5O2F6sGn5g" association="_gyZU8NwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyZU8twbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTPwUxE9EeGOffqMW1YiZA" name="A_doActivity_state" memberEnd="_VeR7vRE9EeGOffqMW1YiZA _VTPwVBE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VTPwVBE9EeGOffqMW1YiZA" name="state" visibility="public" type="_VeRUkBE9EeGOffqMW1YiZA" subsettedProperty="_N3hRMAtAEeGcpbeCPJfCmw" association="_VTPwUxE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VTPwVRE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyZU89wbEeCT5O2F6sGn5g" name="A_edge_activity" memberEnd="_gzW-SdwbEeCT5O2F6sGn5g _gzZajdwbEeCT5O2F6sGn5g"/>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyZU9NwbEeCT5O2F6sGn5g" name="A_edge_inPartition" memberEnd="_gzcd39wbEeCT5O2F6sGn5g _gzZaltwbEeCT5O2F6sGn5g"/>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyZU9dwbEeCT5O2F6sGn5g" name="A_edge_inStructuredNode" memberEnd="_g2Ilc9wbEeCT5O2F6sGn5g _gzZamtwbEeCT5O2F6sGn5g"/>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyZU9twbEeCT5O2F6sGn5g" name="A_effect_transition" memberEnd="_g2SWetwbEeCT5O2F6sGn5g _gyZU99wbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyZU99wbEeCT5O2F6sGn5g" name="transition" visibility="public" type="_ykKV8PnlEdunWsS3se92JQ" subsettedProperty="_g0JodNwbEeCT5O2F6sGn5g" association="_gyZU9twbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyZU-NwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTQXYBE9EeGOffqMW1YiZA" name="A_edge_activity" memberEnd="_VU-OoBE9EeGOffqMW1YiZA _VVcIvRE9EeGOffqMW1YiZA"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTQXYRE9EeGOffqMW1YiZA" name="A_edge_inPartition" memberEnd="_VVjddxE9EeGOffqMW1YiZA _VVcIxhE9EeGOffqMW1YiZA"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTQXYhE9EeGOffqMW1YiZA" name="A_edge_inStructuredNode" memberEnd="_VehzSBE9EeGOffqMW1YiZA _VVcIyhE9EeGOffqMW1YiZA"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTQXYxE9EeGOffqMW1YiZA" name="A_effect_transition" memberEnd="_Ve9REBE9EeGOffqMW1YiZA _VTQXZBE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VTQXZBE9EeGOffqMW1YiZA" name="transition" visibility="public" type="_ykKV8PnlEdunWsS3se92JQ" subsettedProperty="_N3hRMAtAEeGcpbeCPJfCmw" association="_VTQXYxE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VTQXZRE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyZU-dwbEeCT5O2F6sGn5g" name="A_elementImport_importingNamespace" memberEnd="_g1S39dwbEeCT5O2F6sGn5g _g0LdotwbEeCT5O2F6sGn5g"/>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyZU-twbEeCT5O2F6sGn5g" name="A_endData_createLinkAction" memberEnd="_g0BsoNwbEeCT5O2F6sGn5g _gyZU_NwbEeCT5O2F6sGn5g">
-      <generalization xmi:id="_gyZU-9wbEeCT5O2F6sGn5g" general="_gyZ8A9wbEeCT5O2F6sGn5g"/>
-      <ownedEnd xmi:id="_gyZU_NwbEeCT5O2F6sGn5g" name="createLinkAction" visibility="public" type="_g0BFoNwbEeCT5O2F6sGn5g" redefinedProperty="_gyZ8BNwbEeCT5O2F6sGn5g" association="_gyZU-twbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTQ-cBE9EeGOffqMW1YiZA" name="A_elementImport_importingNamespace" memberEnd="_VarOABE9EeGOffqMW1YiZA _VZKLEhE9EeGOffqMW1YiZA"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTRlgBE9EeGOffqMW1YiZA" name="A_endData_createLinkAction" memberEnd="_VYdAeRE9EeGOffqMW1YiZA _VTRlghE9EeGOffqMW1YiZA">
+      <generalization xmi:id="_VTRlgRE9EeGOffqMW1YiZA" general="_VTRlhhE9EeGOffqMW1YiZA"/>
+      <ownedEnd xmi:id="_VTRlghE9EeGOffqMW1YiZA" name="createLinkAction" visibility="public" type="_VYdAcxE9EeGOffqMW1YiZA" redefinedProperty="_VTRlhxE9EeGOffqMW1YiZA" association="_VTRlgBE9EeGOffqMW1YiZA"/>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyZ8ANwbEeCT5O2F6sGn5g" name="A_endData_destroyLinkAction" memberEnd="_g0GlI9wbEeCT5O2F6sGn5g _gyZ8AtwbEeCT5O2F6sGn5g">
-      <generalization xmi:id="_gyZ8AdwbEeCT5O2F6sGn5g" general="_gyZ8A9wbEeCT5O2F6sGn5g"/>
-      <ownedEnd xmi:id="_gyZ8AtwbEeCT5O2F6sGn5g" name="destroyLinkAction" visibility="public" type="_g0GlINwbEeCT5O2F6sGn5g" redefinedProperty="_gyZ8BNwbEeCT5O2F6sGn5g" association="_gyZ8ANwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTRlgxE9EeGOffqMW1YiZA" name="A_endData_destroyLinkAction" memberEnd="_VY4eQxE9EeGOffqMW1YiZA _VTRlhRE9EeGOffqMW1YiZA">
+      <generalization xmi:id="_VTRlhBE9EeGOffqMW1YiZA" general="_VTRlhhE9EeGOffqMW1YiZA"/>
+      <ownedEnd xmi:id="_VTRlhRE9EeGOffqMW1YiZA" name="destroyLinkAction" visibility="public" type="_VY4eQBE9EeGOffqMW1YiZA" redefinedProperty="_VTRlhxE9EeGOffqMW1YiZA" association="_VTRlgxE9EeGOffqMW1YiZA"/>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyZ8A9wbEeCT5O2F6sGn5g" name="A_endData_linkAction" memberEnd="_g0iC_NwbEeCT5O2F6sGn5g _gyZ8BNwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyZ8BNwbEeCT5O2F6sGn5g" name="linkAction" visibility="public" type="_g0iC8NwbEeCT5O2F6sGn5g" subsettedProperty="_g0JodNwbEeCT5O2F6sGn5g" association="_gyZ8A9wbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTRlhhE9EeGOffqMW1YiZA" name="A_endData_linkAction" memberEnd="_VZ1gjBE9EeGOffqMW1YiZA _VTRlhxE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VTRlhxE9EeGOffqMW1YiZA" name="linkAction" visibility="public" type="_VZ1ggBE9EeGOffqMW1YiZA" subsettedProperty="_N3hRMAtAEeGcpbeCPJfCmw" association="_VTRlhhE9EeGOffqMW1YiZA"/>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyZ8BdwbEeCT5O2F6sGn5g" name="A_endType_association" isDerived="true" memberEnd="_gzgIMtwbEeCT5O2F6sGn5g _gyZ8BtwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyZ8BtwbEeCT5O2F6sGn5g" name="association" visibility="public" type="_AwvxoGwNEdq7X4sGURiZYA" subsettedProperty="_gyyWi9wbEeCT5O2F6sGn5g" association="_gyZ8BdwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyZ8B9wbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gyZ8CNwbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTSMkBE9EeGOffqMW1YiZA" name="A_endType_association" isDerived="true" memberEnd="_VV3mgBE9EeGOffqMW1YiZA _VTSMkRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VTSMkRE9EeGOffqMW1YiZA" name="association" visibility="public" type="_AwvxoGwNEdq7X4sGURiZYA" subsettedProperty="_VUZm4RE9EeGOffqMW1YiZA" association="_VTSMkBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VTSMkhE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VTSMkxE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyZ8CdwbEeCT5O2F6sGn5g" name="A_end_connector" memberEnd="_gz9bQ9wbEeCT5O2F6sGn5g _gyZ8CtwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyZ8CtwbEeCT5O2F6sGn5g" name="connector" visibility="public" type="_YxC2YLLWEeCsYvaJqFFivQ" subsettedProperty="_g0JodNwbEeCT5O2F6sGn5g" association="_gyZ8CdwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTSMlBE9EeGOffqMW1YiZA" name="A_end_connector" memberEnd="_VYL6uBE9EeGOffqMW1YiZA _VTSMlRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VTSMlRE9EeGOffqMW1YiZA" name="connector" visibility="public" type="_YxC2YLLWEeCsYvaJqFFivQ" subsettedProperty="_N3hRMAtAEeGcpbeCPJfCmw" association="_VTSMlBE9EeGOffqMW1YiZA"/>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyZ8C9wbEeCT5O2F6sGn5g" name="A_end_linkEndData" memberEnd="_g0jRItwbEeCT5O2F6sGn5g _gyZ8DNwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyZ8DNwbEeCT5O2F6sGn5g" name="linkEndData" visibility="public" type="_g0jRENwbEeCT5O2F6sGn5g" association="_gyZ8C9wbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyZ8DdwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gyZ8DtwbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTSzoBE9EeGOffqMW1YiZA" name="A_end_linkEndData" memberEnd="_VZ3VwhE9EeGOffqMW1YiZA _VTSzoRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VTSzoRE9EeGOffqMW1YiZA" name="linkEndData" visibility="public" type="_VZ3VsBE9EeGOffqMW1YiZA" association="_VTSzoBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VTSzohE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VTSzoxE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyajENwbEeCT5O2F6sGn5g" name="A_end_readLinkObjectEndAction" memberEnd="_g11qmNwbEeCT5O2F6sGn5g _gyajEdwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyajEdwbEeCT5O2F6sGn5g" name="readLinkObjectEndAction" visibility="public" type="_g11qgNwbEeCT5O2F6sGn5g" association="_gyajENwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyajEtwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTSzpBE9EeGOffqMW1YiZA" name="A_end_readLinkObjectEndAction" memberEnd="_VdfRiBE9EeGOffqMW1YiZA _VTSzpRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VTSzpRE9EeGOffqMW1YiZA" name="readLinkObjectEndAction" visibility="public" type="_VdfRcBE9EeGOffqMW1YiZA" association="_VTSzpBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VTSzphE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_81UZgPnhEdunWsS3se92JQ" name="A_end_role" memberEnd="_gz7mJtwbEeCT5O2F6sGn5g _81UZgfnhEdunWsS3se92JQ _81UZhPnhEdunWsS3se92JQ">
+    <packagedElement xmi:type="uml:Association" xmi:id="_81UZgPnhEdunWsS3se92JQ" name="A_end_role" memberEnd="_VYIQUBE9EeGOffqMW1YiZA _81UZgfnhEdunWsS3se92JQ _81UZhPnhEdunWsS3se92JQ">
       <ownedEnd xmi:id="_81UZhPnhEdunWsS3se92JQ" name="end" visibility="private" type="_aOgw0GveEdq4DLWZOhbdEA" association="_81UZgPnhEdunWsS3se92JQ">
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_81UZhfnhEdunWsS3se92JQ"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_81UZhvnhEdunWsS3se92JQ" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyajE9wbEeCT5O2F6sGn5g" name="A_entry_connectionPointReference" memberEnd="_gz80LtwbEeCT5O2F6sGn5g _gyajFNwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyajFNwbEeCT5O2F6sGn5g" name="connectionPointReference" visibility="public" type="_gz80JdwbEeCT5O2F6sGn5g" association="_gyajE9wbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyajFdwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTUBwBE9EeGOffqMW1YiZA" name="A_entry_connectionPointReference" memberEnd="_VYKsmRE9EeGOffqMW1YiZA _VTUBwRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VTUBwRE9EeGOffqMW1YiZA" name="connectionPointReference" visibility="public" type="_VYKskBE9EeGOffqMW1YiZA" association="_VTUBwBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VTUBwhE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyajFtwbEeCT5O2F6sGn5g" name="A_entry_state" memberEnd="_g2Ce9NwbEeCT5O2F6sGn5g _gyajF9wbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyajF9wbEeCT5O2F6sGn5g" name="state" visibility="public" type="_g2Ce0NwbEeCT5O2F6sGn5g" subsettedProperty="_g0JodNwbEeCT5O2F6sGn5g" association="_gyajFtwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyajGNwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTUBwxE9EeGOffqMW1YiZA" name="A_entry_state" memberEnd="_VeR7wBE9EeGOffqMW1YiZA _VTUBxBE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VTUBxBE9EeGOffqMW1YiZA" name="state" visibility="public" type="_VeRUkBE9EeGOffqMW1YiZA" subsettedProperty="_N3hRMAtAEeGcpbeCPJfCmw" association="_VTUBwxE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VTUBxRE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyajGdwbEeCT5O2F6sGn5g" name="A_event_durationObservation" memberEnd="_g0JBZtwbEeCT5O2F6sGn5g _gyajGtwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyajGtwbEeCT5O2F6sGn5g" name="durationObservation" visibility="public" type="_g0JBYNwbEeCT5O2F6sGn5g" association="_gyajGdwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyajG9wbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gyajHNwbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTUo0BE9EeGOffqMW1YiZA" name="A_event_durationObservation" memberEnd="_VY_L9hE9EeGOffqMW1YiZA _VTUo0RE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VTUo0RE9EeGOffqMW1YiZA" name="durationObservation" visibility="public" type="_VY_L8BE9EeGOffqMW1YiZA" association="_VTUo0BE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VTUo0hE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VTUo0xE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gybKINwbEeCT5O2F6sGn5g" name="A_event_timeObservation" memberEnd="_g2RIWtwbEeCT5O2F6sGn5g _gybKIdwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gybKIdwbEeCT5O2F6sGn5g" name="timeObservation" visibility="public" type="_g2RIV9wbEeCT5O2F6sGn5g" association="_gybKINwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gybKItwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gybKI9wbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTUo1BE9EeGOffqMW1YiZA" name="A_event_timeObservation" memberEnd="_Vexq4xE9EeGOffqMW1YiZA _VTUo1RE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VTUo1RE9EeGOffqMW1YiZA" name="timeObservation" visibility="public" type="_Vexq4BE9EeGOffqMW1YiZA" association="_VTUo1BE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VTUo1hE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VTUo1xE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gybKJNwbEeCT5O2F6sGn5g" name="A_event_trigger" memberEnd="_g2TkmdwbEeCT5O2F6sGn5g _gybKJdwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gybKJdwbEeCT5O2F6sGn5g" name="trigger" visibility="public" type="_g2TkldwbEeCT5O2F6sGn5g" association="_gybKJNwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gybKJtwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gybKJ9wbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTVP4BE9EeGOffqMW1YiZA" name="A_event_trigger" memberEnd="_VfCJlBE9EeGOffqMW1YiZA _VTVP4RE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VTVP4RE9EeGOffqMW1YiZA" name="trigger" visibility="public" type="_VfCJkBE9EeGOffqMW1YiZA" association="_VTVP4BE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VTVP4hE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VTVP4xE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gybKKNwbEeCT5O2F6sGn5g" name="A_exceptionInput_exceptionHandler" memberEnd="_g0Og_9wbEeCT5O2F6sGn5g _gybKKdwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gybKKdwbEeCT5O2F6sGn5g" name="exceptionHandler" visibility="public" type="_g0Og8NwbEeCT5O2F6sGn5g" association="_gybKKNwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gybKKtwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gybKK9wbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTVP5BE9EeGOffqMW1YiZA" name="A_exceptionInput_exceptionHandler" memberEnd="_VZPDnxE9EeGOffqMW1YiZA _VTVP5RE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VTVP5RE9EeGOffqMW1YiZA" name="exceptionHandler" visibility="public" type="_VZPDkBE9EeGOffqMW1YiZA" association="_VTVP5BE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VTVP5hE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VTVP5xE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gybKLNwbEeCT5O2F6sGn5g" name="A_exceptionType_exceptionHandler" memberEnd="_g0OhAdwbEeCT5O2F6sGn5g _gybKLdwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gybKLdwbEeCT5O2F6sGn5g" name="exceptionHandler" visibility="public" type="_g0Og8NwbEeCT5O2F6sGn5g" association="_gybKLNwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gybKLtwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gybKL9wbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTV28BE9EeGOffqMW1YiZA" name="A_exceptionType_exceptionHandler" memberEnd="_VZPDoRE9EeGOffqMW1YiZA _VTV28RE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VTV28RE9EeGOffqMW1YiZA" name="exceptionHandler" visibility="public" type="_VZPDkBE9EeGOffqMW1YiZA" association="_VTV28BE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VTV28hE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VTV28xE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gybKMNwbEeCT5O2F6sGn5g" name="A_exception_raiseExceptionAction" memberEnd="_g1z1U9wbEeCT5O2F6sGn5g _gybKMdwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gybKMdwbEeCT5O2F6sGn5g" name="raiseExceptionAction" visibility="public" type="_g1z1UNwbEeCT5O2F6sGn5g" subsettedProperty="_gygpt9wbEeCT5O2F6sGn5g" association="_gybKMNwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gybKMtwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTWeABE9EeGOffqMW1YiZA" name="A_exception_raiseExceptionAction" memberEnd="_VdbnIxE9EeGOffqMW1YiZA _VTWeARE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VTWeARE9EeGOffqMW1YiZA" name="raiseExceptionAction" visibility="public" type="_VdbnIBE9EeGOffqMW1YiZA" subsettedProperty="_VTqnERE9EeGOffqMW1YiZA" association="_VTWeABE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VTWeAhE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gybxMNwbEeCT5O2F6sGn5g" name="A_executableNode_sequenceNode" memberEnd="_g1_bg9wbEeCT5O2F6sGn5g _gybxMdwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gybxMdwbEeCT5O2F6sGn5g" name="sequenceNode" visibility="public" type="_g1_bgNwbEeCT5O2F6sGn5g" subsettedProperty="_gzbPyNwbEeCT5O2F6sGn5g" association="_gybxMNwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gybxMtwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTWeAxE9EeGOffqMW1YiZA" name="A_executableNode_sequenceNode" memberEnd="_VeLN8xE9EeGOffqMW1YiZA _VTWeBBE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VTWeBBE9EeGOffqMW1YiZA" name="sequenceNode" visibility="public" type="_VeLN8BE9EeGOffqMW1YiZA" subsettedProperty="_VVgaKxE9EeGOffqMW1YiZA" association="_VTWeAxE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VTWeBRE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gybxM9wbEeCT5O2F6sGn5g" name="A_execution_executionOccurrenceSpecification" memberEnd="_g0PIA9wbEeCT5O2F6sGn5g _gybxNNwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gybxNNwbEeCT5O2F6sGn5g" name="executionOccurrenceSpecification" visibility="public" type="_g0PIANwbEeCT5O2F6sGn5g" association="_gybxM9wbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gybxNdwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gybxNtwbEeCT5O2F6sGn5g" value="2"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTXFEBE9EeGOffqMW1YiZA" name="A_execution_executionOccurrenceSpecification" memberEnd="_VZQRsxE9EeGOffqMW1YiZA _VTXFERE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VTXFERE9EeGOffqMW1YiZA" name="executionOccurrenceSpecification" visibility="public" type="_VZQRsBE9EeGOffqMW1YiZA" association="_VTXFEBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VTXFEhE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VTXFExE9EeGOffqMW1YiZA" value="2"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gybxN9wbEeCT5O2F6sGn5g" name="A_exit_connectionPointReference" memberEnd="_gz80MtwbEeCT5O2F6sGn5g _gybxONwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gybxONwbEeCT5O2F6sGn5g" name="connectionPointReference" visibility="public" type="_gz80JdwbEeCT5O2F6sGn5g" association="_gybxN9wbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gybxOdwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTXFFBE9EeGOffqMW1YiZA" name="A_exit_connectionPointReference" memberEnd="_VYKsnRE9EeGOffqMW1YiZA _VTXFFRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VTXFFRE9EeGOffqMW1YiZA" name="connectionPointReference" visibility="public" type="_VYKskBE9EeGOffqMW1YiZA" association="_VTXFFBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VTXFFhE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gybxOtwbEeCT5O2F6sGn5g" name="A_exit_state" memberEnd="_g2Ce99wbEeCT5O2F6sGn5g _gybxO9wbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gybxO9wbEeCT5O2F6sGn5g" name="state" visibility="public" type="_g2Ce0NwbEeCT5O2F6sGn5g" subsettedProperty="_g0JodNwbEeCT5O2F6sGn5g" association="_gybxOtwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gybxPNwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTXsIBE9EeGOffqMW1YiZA" name="A_exit_state" memberEnd="_VeR7wxE9EeGOffqMW1YiZA _VTXsIRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VTXsIRE9EeGOffqMW1YiZA" name="state" visibility="public" type="_VeRUkBE9EeGOffqMW1YiZA" subsettedProperty="_N3hRMAtAEeGcpbeCPJfCmw" association="_VTXsIBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VTXsIhE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gybxPdwbEeCT5O2F6sGn5g" name="A_expr_duration" memberEnd="_g0HzSdwbEeCT5O2F6sGn5g _gybxPtwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gybxPtwbEeCT5O2F6sGn5g" name="duration" visibility="public" type="_-Ixo8H4XEdq7cMP_l1l5Gg" subsettedProperty="_g0JodNwbEeCT5O2F6sGn5g" association="_gybxPdwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gybxP9wbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTXsIxE9EeGOffqMW1YiZA" name="A_expr_duration" memberEnd="_VY7hkhE9EeGOffqMW1YiZA _VTXsJBE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VTXsJBE9EeGOffqMW1YiZA" name="duration" visibility="public" type="_-Ixo8H4XEdq7cMP_l1l5Gg" subsettedProperty="_N3hRMAtAEeGcpbeCPJfCmw" association="_VTXsIxE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VTXsJRE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gybxQNwbEeCT5O2F6sGn5g" name="A_expr_timeExpression" memberEnd="_g2QhUdwbEeCT5O2F6sGn5g _gybxQdwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gybxQdwbEeCT5O2F6sGn5g" name="timeExpression" visibility="public" type="_DylKEH4YEdq7cMP_l1l5Gg" subsettedProperty="_g0JodNwbEeCT5O2F6sGn5g" association="_gybxQNwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gycYQNwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTXsJhE9EeGOffqMW1YiZA" name="A_expr_timeExpression" memberEnd="_Vev1shE9EeGOffqMW1YiZA _VTXsJxE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VTXsJxE9EeGOffqMW1YiZA" name="timeExpression" visibility="public" type="_DylKEH4YEdq7cMP_l1l5Gg" subsettedProperty="_N3hRMAtAEeGcpbeCPJfCmw" association="_VTXsJhE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VTXsKBE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gycYQdwbEeCT5O2F6sGn5g" name="A_extend_extension" memberEnd="_g2WA39wbEeCT5O2F6sGn5g _g0Q9PNwbEeCT5O2F6sGn5g"/>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gycYQtwbEeCT5O2F6sGn5g" name="A_extendedCase_extend" memberEnd="_g0Q9OtwbEeCT5O2F6sGn5g _gycYQ9wbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gycYQ9wbEeCT5O2F6sGn5g" name="extend" visibility="public" type="_g0Q9MNwbEeCT5O2F6sGn5g" subsettedProperty="_gy8ukdwbEeCT5O2F6sGn5g" association="_gycYQtwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gycYRNwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gycYRdwbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTYTMBE9EeGOffqMW1YiZA" name="A_extend_extension" memberEnd="_VfFM7xE9EeGOffqMW1YiZA _VZTVDBE9EeGOffqMW1YiZA"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTY6QBE9EeGOffqMW1YiZA" name="A_extendedCase_extend" memberEnd="_VZTVChE9EeGOffqMW1YiZA _VTY6QRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VTY6QRE9EeGOffqMW1YiZA" name="extend" visibility="public" type="_VZTVABE9EeGOffqMW1YiZA" subsettedProperty="_VUpegRE9EeGOffqMW1YiZA" association="_VTY6QBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VTY6QhE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VTY6QxE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gycYRtwbEeCT5O2F6sGn5g" name="A_extendedRegion_region" memberEnd="_g18_UNwbEeCT5O2F6sGn5g _gycYR9wbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gycYR9wbEeCT5O2F6sGn5g" name="region" visibility="public" type="_g18_QNwbEeCT5O2F6sGn5g" subsettedProperty="_gywhUdwbEeCT5O2F6sGn5g" association="_gycYRtwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gycYSNwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTZhUBE9EeGOffqMW1YiZA" name="A_extendedRegion_region" memberEnd="_VeA18BE9EeGOffqMW1YiZA _VTZhURE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VTZhURE9EeGOffqMW1YiZA" name="region" visibility="public" type="_VeA14BE9EeGOffqMW1YiZA" subsettedProperty="_VURrERE9EeGOffqMW1YiZA" association="_VTZhUBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VTZhUhE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gycYSdwbEeCT5O2F6sGn5g" name="A_extendedSignature_redefinableTemplateSignature" memberEnd="_g16jA9wbEeCT5O2F6sGn5g _gycYStwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gycYStwbEeCT5O2F6sGn5g" name="redefinableTemplateSignature" visibility="public" type="_9keOQGvdEdq4DLWZOhbdEA" subsettedProperty="_gywhUdwbEeCT5O2F6sGn5g" association="_gycYSdwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gycYS9wbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gycYTNwbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTZhUxE9EeGOffqMW1YiZA" name="A_extendedSignature_redefinableTemplateSignature" memberEnd="_Vd3E4BE9EeGOffqMW1YiZA _VTZhVBE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VTZhVBE9EeGOffqMW1YiZA" name="redefinableTemplateSignature" visibility="public" type="_9keOQGvdEdq4DLWZOhbdEA" subsettedProperty="_VURrERE9EeGOffqMW1YiZA" association="_VTZhUxE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VTZhVRE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VTZhVhE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gycYTdwbEeCT5O2F6sGn5g" name="A_extendedStateMachine_stateMachine" memberEnd="_g2EUE9wbEeCT5O2F6sGn5g _gycYTtwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gycYTtwbEeCT5O2F6sGn5g" name="stateMachine" visibility="public" type="_g2EUANwbEeCT5O2F6sGn5g" subsettedProperty="_gyv6RNwbEeCT5O2F6sGn5g" association="_gycYTdwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gycYT9wbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTaIYBE9EeGOffqMW1YiZA" name="A_extendedStateMachine_stateMachine" memberEnd="_VeWNIxE9EeGOffqMW1YiZA _VTaIYRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VTaIYRE9EeGOffqMW1YiZA" name="stateMachine" visibility="public" type="_VeWNEBE9EeGOffqMW1YiZA" subsettedProperty="_VUP16BE9EeGOffqMW1YiZA" association="_VTaIYBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VTaIYhE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyc_UNwbEeCT5O2F6sGn5g" name="A_extensionLocation_extension" memberEnd="_g0Q9PtwbEeCT5O2F6sGn5g _gyc_UdwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyc_UdwbEeCT5O2F6sGn5g" name="extension" visibility="public" type="_g0Q9MNwbEeCT5O2F6sGn5g" association="_gyc_UNwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyc_UtwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gyc_U9wbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTaIYxE9EeGOffqMW1YiZA" name="A_extensionLocation_extension" memberEnd="_VZTVDhE9EeGOffqMW1YiZA _VTaIZBE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VTaIZBE9EeGOffqMW1YiZA" name="extension" visibility="public" type="_VZTVABE9EeGOffqMW1YiZA" association="_VTaIYxE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VTaIZRE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VTaIZhE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyc_VNwbEeCT5O2F6sGn5g" name="A_extensionPoint_useCase" memberEnd="_g2WA49wbEeCT5O2F6sGn5g _g0TZdtwbEeCT5O2F6sGn5g"/>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyc_VdwbEeCT5O2F6sGn5g" name="A_extension_metaclass" isDerived="true" memberEnd="_gzoEDtwbEeCT5O2F6sGn5g _g0RkStwbEeCT5O2F6sGn5g"/>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyc_VtwbEeCT5O2F6sGn5g" name="A_feature_featuringClassifier" isDerived="true" memberEnd="_gzuKr9wbEeCT5O2F6sGn5g _YUdlwLbAEeCRxrN1JUGuxA"/>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyc_V9wbEeCT5O2F6sGn5g" name="A_finish_executionSpecification" memberEnd="_g0PIC9wbEeCT5O2F6sGn5g _gyc_WdwbEeCT5O2F6sGn5g">
-      <ownedComment xmi:id="_gyc_WNwbEeCT5O2F6sGn5g" annotatedElement="_gyc_V9wbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTavcBE9EeGOffqMW1YiZA" name="A_extensionPoint_useCase" memberEnd="_VfFM8xE9EeGOffqMW1YiZA _VZXmdhE9EeGOffqMW1YiZA"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTavcRE9EeGOffqMW1YiZA" name="A_extension_metaclass" isDerived="true" memberEnd="_VWXVwhE9EeGOffqMW1YiZA _VZT8FxE9EeGOffqMW1YiZA"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTavchE9EeGOffqMW1YiZA" name="A_feature_featuringClassifier" isDerived="true" memberEnd="_VXmE1BE9EeGOffqMW1YiZA _YUdlwLbAEeCRxrN1JUGuxA"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTbWgBE9EeGOffqMW1YiZA" name="A_finish_executionSpecification" memberEnd="_VZQRuxE9EeGOffqMW1YiZA _VTbWghE9EeGOffqMW1YiZA">
+      <ownedComment xmi:id="_VTbWgRE9EeGOffqMW1YiZA" annotatedElement="_VTbWgBE9EeGOffqMW1YiZA">
         <body>The event shows the time point at which the action completes execution.</body>
       </ownedComment>
-      <ownedEnd xmi:id="_gyc_WdwbEeCT5O2F6sGn5g" name="executionSpecification" visibility="public" type="_g0PIBdwbEeCT5O2F6sGn5g" association="_gyc_V9wbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyc_WtwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gyc_W9wbEeCT5O2F6sGn5g" value="*"/>
+      <ownedEnd xmi:id="_VTbWghE9EeGOffqMW1YiZA" name="executionSpecification" visibility="public" type="_VZQRtRE9EeGOffqMW1YiZA" association="_VTbWgBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VTbWgxE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VTbWhBE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyc_XNwbEeCT5O2F6sGn5g" name="A_first_testIdentityAction" memberEnd="_g2P6PNwbEeCT5O2F6sGn5g _gyc_XdwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyc_XdwbEeCT5O2F6sGn5g" name="testIdentityAction" visibility="public" type="_g2P6MNwbEeCT5O2F6sGn5g" subsettedProperty="_gygpt9wbEeCT5O2F6sGn5g" association="_gyc_XNwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyc_XtwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTbWhRE9EeGOffqMW1YiZA" name="A_first_testIdentityAction" memberEnd="_VeunnBE9EeGOffqMW1YiZA _VTbWhhE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VTbWhhE9EeGOffqMW1YiZA" name="testIdentityAction" visibility="public" type="_VeunkBE9EeGOffqMW1YiZA" subsettedProperty="_VTqnERE9EeGOffqMW1YiZA" association="_VTbWhRE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VTbWhxE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyc_X9wbEeCT5O2F6sGn5g" name="A_formalGate_interaction" memberEnd="_g0bVSNwbEeCT5O2F6sGn5g _gyc_YNwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyc_YNwbEeCT5O2F6sGn5g" name="interaction" visibility="public" type="_g0bVQNwbEeCT5O2F6sGn5g" subsettedProperty="_1vzv0LbIEeCRxrN1JUGuxA" association="_gyc_X9wbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyc_YdwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTb9kBE9EeGOffqMW1YiZA" name="A_formalGate_interaction" memberEnd="_VZsWmBE9EeGOffqMW1YiZA _VTb9kRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VTb9kRE9EeGOffqMW1YiZA" name="interaction" visibility="public" type="_VZsWkBE9EeGOffqMW1YiZA" subsettedProperty="_1vzv0LbIEeCRxrN1JUGuxA" association="_VTb9kBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VTb9khE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gydmYNwbEeCT5O2F6sGn5g" name="A_formal_templateParameterSubstitution" memberEnd="_g2Nd-NwbEeCT5O2F6sGn5g _gydmYdwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gydmYdwbEeCT5O2F6sGn5g" name="templateParameterSubstitution" visibility="public" type="_g2Nd8NwbEeCT5O2F6sGn5g" association="_gydmYNwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gydmYtwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gydmY9wbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTb9kxE9EeGOffqMW1YiZA" name="A_formal_templateParameterSubstitution" memberEnd="_VesLWBE9EeGOffqMW1YiZA _VTb9lBE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VTb9lBE9EeGOffqMW1YiZA" name="templateParameterSubstitution" visibility="public" type="_VesLUBE9EeGOffqMW1YiZA" association="_VTb9kxE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VTb9lRE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VTb9lhE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gydmZNwbEeCT5O2F6sGn5g" name="A_fragment_enclosingInteraction" memberEnd="_g0bVTNwbEeCT5O2F6sGn5g _g0cjZ9wbEeCT5O2F6sGn5g"/>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gydmZdwbEeCT5O2F6sGn5g" name="A_fragment_enclosingOperand" memberEnd="_g0dKetwbEeCT5O2F6sGn5g _g0cjatwbEeCT5O2F6sGn5g"/>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gydmZtwbEeCT5O2F6sGn5g" name="A_fromAction_actionInputPin" memberEnd="_gzWXRNwbEeCT5O2F6sGn5g _gydmZ9wbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gydmZ9wbEeCT5O2F6sGn5g" name="actionInputPin" visibility="public" type="_gzWXONwbEeCT5O2F6sGn5g" subsettedProperty="_g0JodNwbEeCT5O2F6sGn5g" association="_gydmZtwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gydmaNwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTb9lxE9EeGOffqMW1YiZA" name="A_fragment_enclosingInteraction" memberEnd="_VZsWnBE9EeGOffqMW1YiZA _VZuLxxE9EeGOffqMW1YiZA"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTckoBE9EeGOffqMW1YiZA" name="A_fragment_enclosingOperand" memberEnd="_VZuy2hE9EeGOffqMW1YiZA _VZuLyhE9EeGOffqMW1YiZA"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTckoRE9EeGOffqMW1YiZA" name="A_fromAction_actionInputPin" memberEnd="_VU9AjBE9EeGOffqMW1YiZA _VTckohE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VTckohE9EeGOffqMW1YiZA" name="actionInputPin" visibility="public" type="_VU9AgBE9EeGOffqMW1YiZA" subsettedProperty="_N3hRMAtAEeGcpbeCPJfCmw" association="_VTckoRE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VTckoxE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gydmadwbEeCT5O2F6sGn5g" name="A_generalMachine_protocolConformance" memberEnd="_g1wyA9wbEeCT5O2F6sGn5g _gydmatwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gydmatwbEeCT5O2F6sGn5g" name="protocolConformance" visibility="public" type="_g1wyANwbEeCT5O2F6sGn5g" subsettedProperty="_gy8ukdwbEeCT5O2F6sGn5g" association="_gydmadwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gydma9wbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gydmbNwbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTj5YBE9EeGOffqMW1YiZA" name="A_generalMachine_protocolConformance" memberEnd="_VdWHgxE9EeGOffqMW1YiZA _VTj5YRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VTj5YRE9EeGOffqMW1YiZA" name="protocolConformance" visibility="public" type="_VdWHgBE9EeGOffqMW1YiZA" subsettedProperty="_VUpegRE9EeGOffqMW1YiZA" association="_VTj5YBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VTj5YhE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VTj5YxE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gydmbdwbEeCT5O2F6sGn5g" name="A_generalOrdering_interactionFragment" memberEnd="_g0cjbdwbEeCT5O2F6sGn5g _gydmbtwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gydmbtwbEeCT5O2F6sGn5g" name="interactionFragment" visibility="public" type="_g0cjYNwbEeCT5O2F6sGn5g" subsettedProperty="_g0JodNwbEeCT5O2F6sGn5g" association="_gydmbdwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gydmb9wbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTkgcBE9EeGOffqMW1YiZA" name="A_generalOrdering_interactionFragment" memberEnd="_VZuLzRE9EeGOffqMW1YiZA _VTkgcRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VTkgcRE9EeGOffqMW1YiZA" name="interactionFragment" visibility="public" type="_VZuLwBE9EeGOffqMW1YiZA" subsettedProperty="_N3hRMAtAEeGcpbeCPJfCmw" association="_VTkgcBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VTkgchE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyeNcNwbEeCT5O2F6sGn5g" name="A_general_classifier" isDerived="true" memberEnd="_gzuxs9wbEeCT5O2F6sGn5g _gyeNcdwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyeNcdwbEeCT5O2F6sGn5g" name="classifier" visibility="public" type="_6UV2QGwJEdq7X4sGURiZYA" association="_gyeNcNwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyeNctwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gyeNc9wbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTkgcxE9EeGOffqMW1YiZA" name="A_general_classifier" isDerived="true" memberEnd="_VXsygBE9EeGOffqMW1YiZA _VTkgdBE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VTkgdBE9EeGOffqMW1YiZA" name="classifier" visibility="public" type="_6UV2QGwJEdq7X4sGURiZYA" association="_VTkgcxE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VTkgdRE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VTkgdhE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyeNdNwbEeCT5O2F6sGn5g" name="A_general_generalization" memberEnd="_g0WcwdwbEeCT5O2F6sGn5g _gyeNddwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyeNddwbEeCT5O2F6sGn5g" name="generalization" visibility="public" type="_C7AF4GwREdq14q0ETb1t3g" subsettedProperty="_gy8ukdwbEeCT5O2F6sGn5g" association="_gyeNdNwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyeNdtwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gyeNd9wbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTlHgBE9EeGOffqMW1YiZA" name="A_general_generalization" memberEnd="_VZfiRBE9EeGOffqMW1YiZA _VTlHgRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VTlHgRE9EeGOffqMW1YiZA" name="generalization" visibility="public" type="_C7AF4GwREdq14q0ETb1t3g" subsettedProperty="_VUpegRE9EeGOffqMW1YiZA" association="_VTlHgBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VTlHghE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VTlHgxE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyeNeNwbEeCT5O2F6sGn5g" name="A_generalizationSet_generalization" memberEnd="_g0Wcw9wbEeCT5O2F6sGn5g _g0XD2dwbEeCT5O2F6sGn5g"/>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyeNedwbEeCT5O2F6sGn5g" name="A_generalization_specific" memberEnd="_gzuxuNwbEeCT5O2F6sGn5g _g0Wcy9wbEeCT5O2F6sGn5g"/>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyeNetwbEeCT5O2F6sGn5g" name="A_group_inActivity" memberEnd="_gzW-TdwbEeCT5O2F6sGn5g _gzaBpNwbEeCT5O2F6sGn5g"/>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyeNe9wbEeCT5O2F6sGn5g" name="A_guard_activityEdge" memberEnd="_gzZakNwbEeCT5O2F6sGn5g _gyeNfNwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyeNfNwbEeCT5O2F6sGn5g" name="activityEdge" visibility="public" type="_gzZagNwbEeCT5O2F6sGn5g" subsettedProperty="_g0JodNwbEeCT5O2F6sGn5g" association="_gyeNe9wbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyeNfdwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTlHhBE9EeGOffqMW1YiZA" name="A_generalizationSet_generalization" memberEnd="_VZfiRhE9EeGOffqMW1YiZA _VZgwaRE9EeGOffqMW1YiZA"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTlHhRE9EeGOffqMW1YiZA" name="A_generalization_specific" memberEnd="_VXsyhRE9EeGOffqMW1YiZA _VZgJVBE9EeGOffqMW1YiZA"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_DwV68AtCEeGcpbeCPJfCmw" name="A_group_inActivity" memberEnd="_PCvjoAs_EeGcpbeCPJfCmw _5V2SAAtBEeGcpbeCPJfCmw"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTlukBE9EeGOffqMW1YiZA" name="A_guard_activityEdge" memberEnd="_VVcIwBE9EeGOffqMW1YiZA _VTlukRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VTlukRE9EeGOffqMW1YiZA" name="activityEdge" visibility="public" type="_VVcIsBE9EeGOffqMW1YiZA" subsettedProperty="_N3hRMAtAEeGcpbeCPJfCmw" association="_VTlukBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VTlukhE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyeNftwbEeCT5O2F6sGn5g" name="A_guard_interactionOperand" memberEnd="_g0dKftwbEeCT5O2F6sGn5g _gyeNf9wbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyeNf9wbEeCT5O2F6sGn5g" name="interactionOperand" visibility="public" type="_g0dKcNwbEeCT5O2F6sGn5g" subsettedProperty="_g0JodNwbEeCT5O2F6sGn5g" association="_gyeNftwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTlukxE9EeGOffqMW1YiZA" name="A_guard_interactionOperand" memberEnd="_VZuy3hE9EeGOffqMW1YiZA _VTlulBE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VTlulBE9EeGOffqMW1YiZA" name="interactionOperand" visibility="public" type="_VZuy0BE9EeGOffqMW1YiZA" subsettedProperty="_N3hRMAtAEeGcpbeCPJfCmw" association="_VTlukxE9EeGOffqMW1YiZA"/>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gye0gNwbEeCT5O2F6sGn5g" name="A_guard_transition" memberEnd="_g2SWfdwbEeCT5O2F6sGn5g _gye0gdwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gye0gdwbEeCT5O2F6sGn5g" name="transition" visibility="public" type="_ykKV8PnlEdunWsS3se92JQ" subsettedProperty="_g0Aek9wbEeCT5O2F6sGn5g" association="_gye0gNwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gye0gtwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTlulRE9EeGOffqMW1YiZA" name="A_guard_transition" memberEnd="_Ve9RExE9EeGOffqMW1YiZA _VTmVoBE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VTmVoBE9EeGOffqMW1YiZA" name="transition" visibility="public" type="_ykKV8PnlEdunWsS3se92JQ" subsettedProperty="_VYbLUxE9EeGOffqMW1YiZA" association="_VTlulRE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VTmVoRE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gye0g9wbEeCT5O2F6sGn5g" name="A_handlerBody_exceptionHandler" memberEnd="_g0OhBNwbEeCT5O2F6sGn5g _gye0hNwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gye0hNwbEeCT5O2F6sGn5g" name="exceptionHandler" visibility="public" type="_g0Og8NwbEeCT5O2F6sGn5g" association="_gye0g9wbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gye0hdwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gye0htwbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTmVohE9EeGOffqMW1YiZA" name="A_handlerBody_exceptionHandler" memberEnd="_VZPDpBE9EeGOffqMW1YiZA _VTmVoxE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VTmVoxE9EeGOffqMW1YiZA" name="exceptionHandler" visibility="public" type="_VZPDkBE9EeGOffqMW1YiZA" association="_VTmVohE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VTmVpBE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VTmVpRE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gye0h9wbEeCT5O2F6sGn5g" name="A_handler_protectedNode" memberEnd="_g0OhDNwbEeCT5O2F6sGn5g _g0OhBtwbEeCT5O2F6sGn5g"/>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gye0iNwbEeCT5O2F6sGn5g" name="A_icon_stereotype" memberEnd="_g2E7HdwbEeCT5O2F6sGn5g _gye0idwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gye0idwbEeCT5O2F6sGn5g" name="stereotype" visibility="public" type="_A7vDAGv0Edq7X4sGURiZYA" subsettedProperty="_g0JodNwbEeCT5O2F6sGn5g" association="_gye0iNwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gye0itwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTmVphE9EeGOffqMW1YiZA" name="A_handler_protectedNode" memberEnd="_VZPqpBE9EeGOffqMW1YiZA _VZPDphE9EeGOffqMW1YiZA"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTm8sBE9EeGOffqMW1YiZA" name="A_icon_stereotype" memberEnd="_VeW0KhE9EeGOffqMW1YiZA _VTm8sRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VTm8sRE9EeGOffqMW1YiZA" name="stereotype" visibility="public" type="_A7vDAGv0Edq7X4sGURiZYA" subsettedProperty="_N3hRMAtAEeGcpbeCPJfCmw" association="_VTm8sBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VTm8shE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gye0i9wbEeCT5O2F6sGn5g" name="A_importedElement_elementImport" memberEnd="_g0LdoNwbEeCT5O2F6sGn5g _gye0jNwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gye0jNwbEeCT5O2F6sGn5g" name="elementImport" visibility="public" type="_RPl78GwIEdq7X4sGURiZYA" subsettedProperty="_gy8ukdwbEeCT5O2F6sGn5g" association="_gye0i9wbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gye0jdwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gye0jtwbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTm8sxE9EeGOffqMW1YiZA" name="A_importedElement_elementImport" memberEnd="_VZKLEBE9EeGOffqMW1YiZA _VTm8tBE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VTm8tBE9EeGOffqMW1YiZA" name="elementImport" visibility="public" type="_RPl78GwIEdq7X4sGURiZYA" subsettedProperty="_VUpegRE9EeGOffqMW1YiZA" association="_VTm8sxE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VTm8tRE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VTm8thE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyfbkNwbEeCT5O2F6sGn5g" name="A_importedMember_namespace" isDerived="true" memberEnd="_g1S3-dwbEeCT5O2F6sGn5g _gyfbkdwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyfbkdwbEeCT5O2F6sGn5g" name="namespace" visibility="public" type="_ZiwkoGwLEdq7X4sGURiZYA" subsettedProperty="_gyjF9NwbEeCT5O2F6sGn5g" association="_gyfbkNwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyfbktwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gyfbk9wbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTnjwBE9EeGOffqMW1YiZA" name="A_importedMember_namespace" isDerived="true" memberEnd="_VarOBBE9EeGOffqMW1YiZA _VTnjwRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VTnjwRE9EeGOffqMW1YiZA" name="namespace" visibility="public" type="_ZiwkoGwLEdq7X4sGURiZYA" subsettedProperty="_VTwttRE9EeGOffqMW1YiZA" association="_VTnjwBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VTnjwhE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VTnjwxE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyfblNwbEeCT5O2F6sGn5g" name="A_importedPackage_packageImport" memberEnd="_g1jWpdwbEeCT5O2F6sGn5g _gyfbldwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyfbldwbEeCT5O2F6sGn5g" name="packageImport" visibility="public" type="_SnNPIGwIEdq7X4sGURiZYA" subsettedProperty="_gy8ukdwbEeCT5O2F6sGn5g" association="_gyfblNwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyfbltwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gyfbl9wbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTnjxBE9EeGOffqMW1YiZA" name="A_importedPackage_packageImport" memberEnd="_VcZsUBE9EeGOffqMW1YiZA _VTnjxRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VTnjxRE9EeGOffqMW1YiZA" name="packageImport" visibility="public" type="_SnNPIGwIEdq7X4sGURiZYA" subsettedProperty="_VUpegRE9EeGOffqMW1YiZA" association="_VTnjxBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VTnjxhE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VTnjxxE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyfbmNwbEeCT5O2F6sGn5g" name="A_inInterruptibleRegion_node" memberEnd="_gzbPwNwbEeCT5O2F6sGn5g _g0fmutwbEeCT5O2F6sGn5g"/>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyfbmdwbEeCT5O2F6sGn5g" name="A_inPartition_node" memberEnd="_gzbPxNwbEeCT5O2F6sGn5g _gzcd6dwbEeCT5O2F6sGn5g"/>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyfbmtwbEeCT5O2F6sGn5g" name="A_inState_objectNode" memberEnd="_g1XJbtwbEeCT5O2F6sGn5g _gyfbm9wbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyfbm9wbEeCT5O2F6sGn5g" name="objectNode" visibility="public" type="_g1XJYNwbEeCT5O2F6sGn5g" association="_gyfbmtwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyfbnNwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gyfbndwbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTnjyBE9EeGOffqMW1YiZA" name="A_inInterruptibleRegion_node" memberEnd="_VVgaIxE9EeGOffqMW1YiZA _VZx2LBE9EeGOffqMW1YiZA"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTnjyRE9EeGOffqMW1YiZA" name="A_inPartition_node" memberEnd="_VVgaJxE9EeGOffqMW1YiZA _VVkrkBE9EeGOffqMW1YiZA"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VToK0BE9EeGOffqMW1YiZA" name="A_inState_objectNode" memberEnd="_VbcDDhE9EeGOffqMW1YiZA _VToK0RE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VToK0RE9EeGOffqMW1YiZA" name="objectNode" visibility="public" type="_VbcDABE9EeGOffqMW1YiZA" association="_VToK0BE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VToK0hE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VToK0xE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyfbntwbEeCT5O2F6sGn5g" name="A_include_includingCase" memberEnd="_g2WA59wbEeCT5O2F6sGn5g _g0YR9twbEeCT5O2F6sGn5g"/>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyfbn9wbEeCT5O2F6sGn5g" name="A_incoming_target_node" memberEnd="_gzbPy9wbEeCT5O2F6sGn5g _gzZaptwbEeCT5O2F6sGn5g"/>
-    <packagedElement xmi:type="uml:Association" xmi:id="_EhL8MPnmEdunWsS3se92JQ" name="A_incoming_target_vertex" memberEnd="_g2ZrPdwbEeCT5O2F6sGn5g _EhVtMPnmEdunWsS3se92JQ _EhVtM_nmEdunWsS3se92JQ">
+    <packagedElement xmi:type="uml:Association" xmi:id="_VToK1BE9EeGOffqMW1YiZA" name="A_include_includingCase" memberEnd="_VfFM9xE9EeGOffqMW1YiZA _VZneFhE9EeGOffqMW1YiZA"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VToK1RE9EeGOffqMW1YiZA" name="A_incoming_target_node" memberEnd="_VVhBMBE9EeGOffqMW1YiZA _VVcI1hE9EeGOffqMW1YiZA"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_EhL8MPnmEdunWsS3se92JQ" name="A_incoming_target_vertex" memberEnd="_VfI3RBE9EeGOffqMW1YiZA _EhVtMPnmEdunWsS3se92JQ _EhVtM_nmEdunWsS3se92JQ">
       <ownedEnd xmi:id="_EhVtM_nmEdunWsS3se92JQ" name="incoming" visibility="private" type="_ykKV8PnlEdunWsS3se92JQ" association="_EhL8MPnmEdunWsS3se92JQ">
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_EhVtNPnmEdunWsS3se92JQ"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_EhVtNfnmEdunWsS3se92JQ" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gygCoNwbEeCT5O2F6sGn5g" name="A_informationSource_informationFlow" memberEnd="_g0Y5ENwbEeCT5O2F6sGn5g _gygCodwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gygCodwbEeCT5O2F6sGn5g" name="informationFlow" visibility="public" type="_g0Y5ANwbEeCT5O2F6sGn5g" subsettedProperty="_gy5rStwbEeCT5O2F6sGn5g" association="_gygCoNwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gygCotwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gygCo9wbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTox4BE9EeGOffqMW1YiZA" name="A_informationSource_informationFlow" memberEnd="_VZosQBE9EeGOffqMW1YiZA _VTox4RE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VTox4RE9EeGOffqMW1YiZA" name="informationFlow" visibility="public" type="_VZosMBE9EeGOffqMW1YiZA" subsettedProperty="_VUkmBhE9EeGOffqMW1YiZA" association="_VTox4BE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VTox4hE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VTox4xE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gygCpNwbEeCT5O2F6sGn5g" name="A_informationTarget_informationFlow" memberEnd="_g0Y5E9wbEeCT5O2F6sGn5g _gygCpdwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gygCpdwbEeCT5O2F6sGn5g" name="informationFlow" visibility="public" type="_g0Y5ANwbEeCT5O2F6sGn5g" subsettedProperty="_gy8ukdwbEeCT5O2F6sGn5g" association="_gygCpNwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gygCptwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gygCp9wbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTpY8BE9EeGOffqMW1YiZA" name="A_informationTarget_informationFlow" memberEnd="_VZosQxE9EeGOffqMW1YiZA _VTpY8RE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VTpY8RE9EeGOffqMW1YiZA" name="informationFlow" visibility="public" type="_VZosMBE9EeGOffqMW1YiZA" subsettedProperty="_VUpegRE9EeGOffqMW1YiZA" association="_VTpY8BE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VTpY8hE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VTpY8xE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gygCqNwbEeCT5O2F6sGn5g" name="A_inheritedMember_classifier" isDerived="true" memberEnd="_gzuxvNwbEeCT5O2F6sGn5g _gygCqdwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gygCqdwbEeCT5O2F6sGn5g" name="classifier" visibility="public" type="_6UV2QGwJEdq7X4sGURiZYA" subsettedProperty="_gyjF9NwbEeCT5O2F6sGn5g" association="_gygCqNwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gygCqtwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gygCq9wbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTpY9BE9EeGOffqMW1YiZA" name="A_inheritedMember_classifier" isDerived="true" memberEnd="_VXsyiRE9EeGOffqMW1YiZA _VTpY9RE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VTpY9RE9EeGOffqMW1YiZA" name="classifier" visibility="public" type="_6UV2QGwJEdq7X4sGURiZYA" subsettedProperty="_VTwttRE9EeGOffqMW1YiZA" association="_VTpY9BE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VTpY9hE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VTpY9xE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gygCrNwbEeCT5O2F6sGn5g" name="A_inheritedParameter_redefinableTemplateSignature" isDerived="true" memberEnd="_g16jB9wbEeCT5O2F6sGn5g _gygCrdwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gygCrdwbEeCT5O2F6sGn5g" name="redefinableTemplateSignature" visibility="public" type="_9keOQGvdEdq4DLWZOhbdEA" subsettedProperty="_gyro2twbEeCT5O2F6sGn5g" association="_gygCrNwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gygCrtwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gygCr9wbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTqAABE9EeGOffqMW1YiZA" name="A_inheritedParameter_redefinableTemplateSignature" isDerived="true" memberEnd="_Vd3E5BE9EeGOffqMW1YiZA _VTqAARE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VTqAARE9EeGOffqMW1YiZA" name="redefinableTemplateSignature" visibility="public" type="_9keOQGvdEdq4DLWZOhbdEA" subsettedProperty="_VUH6ERE9EeGOffqMW1YiZA" association="_VTqAABE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VTqAAhE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VTqAAxE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gygCsNwbEeCT5O2F6sGn5g" name="A_inputElement_regionAsInput" memberEnd="_g0PvItwbEeCT5O2F6sGn5g _g0PvFtwbEeCT5O2F6sGn5g"/>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gygpsNwbEeCT5O2F6sGn5g" name="A_inputValue_linkAction" memberEnd="_g0iDANwbEeCT5O2F6sGn5g _gygpsdwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gygpsdwbEeCT5O2F6sGn5g" name="linkAction" visibility="public" type="_g0iC8NwbEeCT5O2F6sGn5g" subsettedProperty="_gygpt9wbEeCT5O2F6sGn5g" association="_gygpsNwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gygpstwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTqABBE9EeGOffqMW1YiZA" name="A_inputElement_regionAsInput" memberEnd="_VZRf1hE9EeGOffqMW1YiZA _VZQ4xhE9EeGOffqMW1YiZA"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTqABRE9EeGOffqMW1YiZA" name="A_inputValue_linkAction" memberEnd="_VZ1gkBE9EeGOffqMW1YiZA _VTqABhE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VTqABhE9EeGOffqMW1YiZA" name="linkAction" visibility="public" type="_VZ1ggBE9EeGOffqMW1YiZA" subsettedProperty="_VTqnERE9EeGOffqMW1YiZA" association="_VTqABRE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VTqABxE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gygps9wbEeCT5O2F6sGn5g" name="A_inputValue_opaqueAction" memberEnd="_g1YXgNwbEeCT5O2F6sGn5g _gygptNwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gygptNwbEeCT5O2F6sGn5g" name="opaqueAction" visibility="public" type="__pbPMLG4EeCDe8CO90iVKQ" subsettedProperty="_gygpt9wbEeCT5O2F6sGn5g" association="_gygps9wbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gygptdwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTqACBE9EeGOffqMW1YiZA" name="A_inputValue_opaqueAction" memberEnd="_VbefQBE9EeGOffqMW1YiZA _VTqACRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VTqACRE9EeGOffqMW1YiZA" name="opaqueAction" visibility="public" type="__pbPMLG4EeCDe8CO90iVKQ" subsettedProperty="_VTqnERE9EeGOffqMW1YiZA" association="_VTqACBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VTqAChE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gygpttwbEeCT5O2F6sGn5g" name="A_input_action" isDerived="true" memberEnd="_gzBnMNwbEeCT5O2F6sGn5g _gygpt9wbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gygpt9wbEeCT5O2F6sGn5g" name="action" visibility="public" type="_6WKakLLQEeCsYvaJqFFivQ" subsettedProperty="_g0JodNwbEeCT5O2F6sGn5g" association="_gygpttwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gygpuNwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTqnEBE9EeGOffqMW1YiZA" name="A_input_action" isDerived="true" memberEnd="_VU4IABE9EeGOffqMW1YiZA _VTqnERE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VTqnERE9EeGOffqMW1YiZA" name="action" visibility="public" type="_6WKakLLQEeCsYvaJqFFivQ" subsettedProperty="_N3hRMAtAEeGcpbeCPJfCmw" association="_VTqnEBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VTqnEhE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gygpudwbEeCT5O2F6sGn5g" name="A_insertAt_addStructuralFeatureValueAction" memberEnd="_gzdr-dwbEeCT5O2F6sGn5g _gygputwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gygputwbEeCT5O2F6sGn5g" name="addStructuralFeatureValueAction" visibility="public" type="_gzdr8NwbEeCT5O2F6sGn5g" subsettedProperty="_gygpt9wbEeCT5O2F6sGn5g" association="_gygpudwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gygpu9wbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTqnExE9EeGOffqMW1YiZA" name="A_insertAt_addStructuralFeatureValueAction" memberEnd="_VVmgyRE9EeGOffqMW1YiZA _VTqnFBE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VTqnFBE9EeGOffqMW1YiZA" name="addStructuralFeatureValueAction" visibility="public" type="_VVmgwBE9EeGOffqMW1YiZA" subsettedProperty="_VTqnERE9EeGOffqMW1YiZA" association="_VTqnExE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VTqnFRE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gygpvNwbEeCT5O2F6sGn5g" name="A_insertAt_addVariableValueAction" memberEnd="_gzdsCNwbEeCT5O2F6sGn5g _gygpvdwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gygpvdwbEeCT5O2F6sGn5g" name="addVariableValueAction" visibility="public" type="_gzdr_9wbEeCT5O2F6sGn5g" subsettedProperty="_gygpt9wbEeCT5O2F6sGn5g" association="_gygpvNwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gygpvtwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTrOIBE9EeGOffqMW1YiZA" name="A_insertAt_addVariableValueAction" memberEnd="_VVnH2RE9EeGOffqMW1YiZA _VTrOIRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VTrOIRE9EeGOffqMW1YiZA" name="addVariableValueAction" visibility="public" type="_VVnH0BE9EeGOffqMW1YiZA" subsettedProperty="_VTqnERE9EeGOffqMW1YiZA" association="_VTrOIBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VTrOIhE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gygpv9wbEeCT5O2F6sGn5g" name="A_insertAt_linkEndCreationData" memberEnd="_g0iqCdwbEeCT5O2F6sGn5g _gygpwNwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gygpwNwbEeCT5O2F6sGn5g" name="linkEndCreationData" visibility="public" type="_g0iqANwbEeCT5O2F6sGn5g" association="_gygpv9wbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gygpwdwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTrOIxE9EeGOffqMW1YiZA" name="A_insertAt_linkEndCreationData" memberEnd="_VZ2HmRE9EeGOffqMW1YiZA _VTrOJBE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VTrOJBE9EeGOffqMW1YiZA" name="linkEndCreationData" visibility="public" type="_VZ2HkBE9EeGOffqMW1YiZA" association="_VTrOIxE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VTrOJRE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyhQwNwbEeCT5O2F6sGn5g" name="A_instance_instanceValue" memberEnd="_g0auT9wbEeCT5O2F6sGn5g _gyhQwdwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyhQwdwbEeCT5O2F6sGn5g" name="instanceValue" visibility="public" type="_PyCx8GveEdq4DLWZOhbdEA" association="_gyhQwNwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyhQwtwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gyhQw9wbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTrOJhE9EeGOffqMW1YiZA" name="A_instance_instanceValue" memberEnd="_VZrIjxE9EeGOffqMW1YiZA _VTrOJxE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VTrOJxE9EeGOffqMW1YiZA" name="instanceValue" visibility="public" type="_PyCx8GveEdq4DLWZOhbdEA" association="_VTrOJhE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VTrOKBE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VTrOKRE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyhQxNwbEeCT5O2F6sGn5g" name="A_interfaceRealization_implementingClassifier" memberEnd="_gzlAudwbEeCT5O2F6sGn5g _g0e_qNwbEeCT5O2F6sGn5g"/>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyhQxdwbEeCT5O2F6sGn5g" name="A_interruptingEdge_interrupts" memberEnd="_g0fmttwbEeCT5O2F6sGn5g _gzZandwbEeCT5O2F6sGn5g"/>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyhQxtwbEeCT5O2F6sGn5g" name="A_invariant_stateInvariant" memberEnd="_g2DF7dwbEeCT5O2F6sGn5g _gyhQx9wbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyhQx9wbEeCT5O2F6sGn5g" name="stateInvariant" visibility="public" type="_g2DF6NwbEeCT5O2F6sGn5g" subsettedProperty="_g0JodNwbEeCT5O2F6sGn5g" association="_gyhQxtwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyhQyNwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTr1MBE9EeGOffqMW1YiZA" name="A_interfaceRealization_implementingClassifier" memberEnd="_VWMWoBE9EeGOffqMW1YiZA _VZx2IBE9EeGOffqMW1YiZA"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTr1MRE9EeGOffqMW1YiZA" name="A_interruptingEdge_interrupts" memberEnd="_VZx2KBE9EeGOffqMW1YiZA _VVcIzRE9EeGOffqMW1YiZA"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTr1MhE9EeGOffqMW1YiZA" name="A_invariant_stateInvariant" memberEnd="_VeSitRE9EeGOffqMW1YiZA _VTr1MxE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VTr1MxE9EeGOffqMW1YiZA" name="stateInvariant" visibility="public" type="_VeSisBE9EeGOffqMW1YiZA" subsettedProperty="_N3hRMAtAEeGcpbeCPJfCmw" association="_VTr1MhE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VTr1NBE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyhQydwbEeCT5O2F6sGn5g" name="A_joinSpec_joinNode" memberEnd="_g0g03dwbEeCT5O2F6sGn5g _gyhQytwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyhQytwbEeCT5O2F6sGn5g" name="joinNode" visibility="public" type="_g0g00NwbEeCT5O2F6sGn5g" subsettedProperty="_g0JodNwbEeCT5O2F6sGn5g" association="_gyhQydwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyhQy9wbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTr1NRE9EeGOffqMW1YiZA" name="A_joinSpec_joinNode" memberEnd="_VZzrXRE9EeGOffqMW1YiZA _VTr1NhE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VTr1NhE9EeGOffqMW1YiZA" name="joinNode" visibility="public" type="_VZzrUBE9EeGOffqMW1YiZA" subsettedProperty="_N3hRMAtAEeGcpbeCPJfCmw" association="_VTr1NRE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VTr1NxE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyhQzNwbEeCT5O2F6sGn5g" name="A_lifeline_interaction" memberEnd="_g0bVUNwbEeCT5O2F6sGn5g _g0hb89wbEeCT5O2F6sGn5g"/>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyh30NwbEeCT5O2F6sGn5g" name="A_localPostcondition_action" memberEnd="_gzCOI9wbEeCT5O2F6sGn5g _gyh30dwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyh30dwbEeCT5O2F6sGn5g" name="action" visibility="public" type="_6WKakLLQEeCsYvaJqFFivQ" subsettedProperty="_g0JodNwbEeCT5O2F6sGn5g" association="_gyh30NwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyh30twbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTscQBE9EeGOffqMW1YiZA" name="A_lifeline_interaction" memberEnd="_VZsWoBE9EeGOffqMW1YiZA _VZ0ScxE9EeGOffqMW1YiZA"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTscQRE9EeGOffqMW1YiZA" name="A_localPostcondition_action" memberEnd="_VU4IBxE9EeGOffqMW1YiZA _VTscQhE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VTscQhE9EeGOffqMW1YiZA" name="action" visibility="public" type="_6WKakLLQEeCsYvaJqFFivQ" subsettedProperty="_N3hRMAtAEeGcpbeCPJfCmw" association="_VTscQRE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VTscQxE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyh309wbEeCT5O2F6sGn5g" name="A_localPrecondition_action" memberEnd="_gzCOJ9wbEeCT5O2F6sGn5g _gyh31NwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyh31NwbEeCT5O2F6sGn5g" name="action" visibility="public" type="_6WKakLLQEeCsYvaJqFFivQ" subsettedProperty="_g0JodNwbEeCT5O2F6sGn5g" association="_gyh309wbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyh31dwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTtqYBE9EeGOffqMW1YiZA" name="A_localPrecondition_action" memberEnd="_VU4ICxE9EeGOffqMW1YiZA _VTtqYRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VTtqYRE9EeGOffqMW1YiZA" name="action" visibility="public" type="_6WKakLLQEeCsYvaJqFFivQ" subsettedProperty="_N3hRMAtAEeGcpbeCPJfCmw" association="_VTtqYBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VTtqYhE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyh31twbEeCT5O2F6sGn5g" name="A_loopVariableInput_loopNode" memberEnd="_g1JuINwbEeCT5O2F6sGn5g _gyh319wbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyh319wbEeCT5O2F6sGn5g" name="loopNode" visibility="public" type="_g1JuANwbEeCT5O2F6sGn5g" subsettedProperty="_gy65bdwbEeCT5O2F6sGn5g" association="_gyh31twbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyh32NwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTuRcBE9EeGOffqMW1YiZA" name="A_loopVariableInput_loopNode" memberEnd="_VZ_RoBE9EeGOffqMW1YiZA _VTuRcRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VTuRcRE9EeGOffqMW1YiZA" name="loopNode" visibility="public" type="_VZ_RgBE9EeGOffqMW1YiZA" subsettedProperty="_VUnCQRE9EeGOffqMW1YiZA" association="_VTuRcBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VTuRchE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyh32dwbEeCT5O2F6sGn5g" name="A_loopVariable_loopNode" memberEnd="_g1JuHNwbEeCT5O2F6sGn5g _gyh32twbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyh32twbEeCT5O2F6sGn5g" name="loopNode" visibility="public" type="_g1JuANwbEeCT5O2F6sGn5g" association="_gyh32dwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyh329wbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTuRcxE9EeGOffqMW1YiZA" name="A_loopVariable_loopNode" memberEnd="_VZ_RnBE9EeGOffqMW1YiZA _VTuRdBE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VTuRdBE9EeGOffqMW1YiZA" name="loopNode" visibility="public" type="_VZ_RgBE9EeGOffqMW1YiZA" association="_VTuRcxE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VTuRdRE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyh33NwbEeCT5O2F6sGn5g" name="A_lowerValue_owningLower" memberEnd="_g1NYdNwbEeCT5O2F6sGn5g _gyh33dwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyh33dwbEeCT5O2F6sGn5g" name="owningLower" visibility="public" type="_Gjgl0GveEdq4DLWZOhbdEA" subsettedProperty="_g0JodNwbEeCT5O2F6sGn5g" association="_gyh33NwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyh33twbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTuRdhE9EeGOffqMW1YiZA" name="A_lowerValue_owningLower" memberEnd="_VaHNVxE9EeGOffqMW1YiZA _VTuRdxE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VTuRdxE9EeGOffqMW1YiZA" name="owningLower" visibility="public" type="_Gjgl0GveEdq4DLWZOhbdEA" subsettedProperty="_N3hRMAtAEeGcpbeCPJfCmw" association="_VTuRdhE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VTuReBE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyh339wbEeCT5O2F6sGn5g" name="A_manifestation_artifact" memberEnd="_gze6ENwbEeCT5O2F6sGn5g _gyh34NwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyh34NwbEeCT5O2F6sGn5g" name="artifact" visibility="public" type="_-lGRgHLzEdqziYxiZo0YtA" subsettedProperty="_g0EI49wbEeCT5O2F6sGn5g _g0JodNwbEeCT5O2F6sGn5g" association="_gyh339wbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTu4gBE9EeGOffqMW1YiZA" name="A_manifestation_artifact" memberEnd="_VVpkEBE9EeGOffqMW1YiZA _VTu4gRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VTu4gRE9EeGOffqMW1YiZA" name="artifact" visibility="public" type="_-lGRgHLzEdqziYxiZo0YtA" subsettedProperty="_N3hRMAtAEeGcpbeCPJfCmw _VYyXoBE9EeGOffqMW1YiZA" association="_VTu4gBE9EeGOffqMW1YiZA"/>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyie4NwbEeCT5O2F6sGn5g" name="A_mapping_abstraction" memberEnd="_gzAY-dwbEeCT5O2F6sGn5g _gyie4dwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyie4dwbEeCT5O2F6sGn5g" name="abstraction" visibility="public" type="_gzAY9twbEeCT5O2F6sGn5g" subsettedProperty="_g0JodNwbEeCT5O2F6sGn5g" association="_gyie4NwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyie4twbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTu4ghE9EeGOffqMW1YiZA" name="A_mapping_abstraction" memberEnd="_VU1EsxE9EeGOffqMW1YiZA _VTu4gxE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VTu4gxE9EeGOffqMW1YiZA" name="abstraction" visibility="public" type="_VU1EsBE9EeGOffqMW1YiZA" subsettedProperty="_N3hRMAtAEeGcpbeCPJfCmw" association="_VTu4ghE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VTu4hBE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyie49wbEeCT5O2F6sGn5g" name="A_max_durationInterval" memberEnd="_g0IaX9wbEeCT5O2F6sGn5g _gyie5dwbEeCT5O2F6sGn5g">
-      <generalization xmi:id="_gyie5NwbEeCT5O2F6sGn5g" general="_gyie6NwbEeCT5O2F6sGn5g"/>
-      <ownedEnd xmi:id="_gyie5dwbEeCT5O2F6sGn5g" name="durationInterval" visibility="public" type="_g0IaXNwbEeCT5O2F6sGn5g" redefinedProperty="_gyie6dwbEeCT5O2F6sGn5g" association="_gyie49wbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyie5twbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gyie59wbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTu4hRE9EeGOffqMW1YiZA" name="A_max_durationInterval" memberEnd="_VY-k7xE9EeGOffqMW1YiZA _VTvfkRE9EeGOffqMW1YiZA">
+      <generalization xmi:id="_VTvfkBE9EeGOffqMW1YiZA" general="_VTvflBE9EeGOffqMW1YiZA"/>
+      <ownedEnd xmi:id="_VTvfkRE9EeGOffqMW1YiZA" name="durationInterval" visibility="public" type="_VY-k7BE9EeGOffqMW1YiZA" redefinedProperty="_VTvflRE9EeGOffqMW1YiZA" association="_VTu4hRE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VTvfkhE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VTvfkxE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyie6NwbEeCT5O2F6sGn5g" name="A_max_interval" memberEnd="_g0fmwdwbEeCT5O2F6sGn5g _gyie6dwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyie6dwbEeCT5O2F6sGn5g" name="interval" visibility="public" type="_g0fmvtwbEeCT5O2F6sGn5g" association="_gyie6NwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyie6twbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gyie69wbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTvflBE9EeGOffqMW1YiZA" name="A_max_interval" memberEnd="_VZydMxE9EeGOffqMW1YiZA _VTvflRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VTvflRE9EeGOffqMW1YiZA" name="interval" visibility="public" type="_VZydMBE9EeGOffqMW1YiZA" association="_VTvflBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VTvflhE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VTvflxE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyie7NwbEeCT5O2F6sGn5g" name="A_max_timeInterval" memberEnd="_g2RIU9wbEeCT5O2F6sGn5g _gyie7twbEeCT5O2F6sGn5g">
-      <generalization xmi:id="_gyie7dwbEeCT5O2F6sGn5g" general="_gyie6NwbEeCT5O2F6sGn5g"/>
-      <ownedEnd xmi:id="_gyie7twbEeCT5O2F6sGn5g" name="timeInterval" visibility="public" type="_g2RIUNwbEeCT5O2F6sGn5g" redefinedProperty="_gyie6dwbEeCT5O2F6sGn5g" association="_gyie7NwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyie79wbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gyie8NwbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTvfmBE9EeGOffqMW1YiZA" name="A_max_timeInterval" memberEnd="_VexD0xE9EeGOffqMW1YiZA _VTwGoRE9EeGOffqMW1YiZA">
+      <generalization xmi:id="_VTwGoBE9EeGOffqMW1YiZA" general="_VTvflBE9EeGOffqMW1YiZA"/>
+      <ownedEnd xmi:id="_VTwGoRE9EeGOffqMW1YiZA" name="timeInterval" visibility="public" type="_VexD0BE9EeGOffqMW1YiZA" redefinedProperty="_VTvflRE9EeGOffqMW1YiZA" association="_VTvfmBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VTwGohE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VTwGoxE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyie8dwbEeCT5O2F6sGn5g" name="A_maxint_interactionConstraint" memberEnd="_g0b8ZdwbEeCT5O2F6sGn5g _gyjF8NwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyjF8NwbEeCT5O2F6sGn5g" name="interactionConstraint" visibility="public" type="_g0b8UNwbEeCT5O2F6sGn5g" subsettedProperty="_g0JodNwbEeCT5O2F6sGn5g" association="_gyie8dwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyjF8dwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTwtsBE9EeGOffqMW1YiZA" name="A_maxint_interactionConstraint" memberEnd="_VZs9tRE9EeGOffqMW1YiZA _VTwtsRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VTwtsRE9EeGOffqMW1YiZA" name="interactionConstraint" visibility="public" type="_VZs9oBE9EeGOffqMW1YiZA" subsettedProperty="_N3hRMAtAEeGcpbeCPJfCmw" association="_VTwtsBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VTwtshE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyjF8twbEeCT5O2F6sGn5g" name="A_memberEnd_association" memberEnd="_gzgIONwbEeCT5O2F6sGn5g _g1sgnNwbEeCT5O2F6sGn5g"/>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyjF89wbEeCT5O2F6sGn5g" name="A_member_memberNamespace" isDerived="true" memberEnd="_g1S3_dwbEeCT5O2F6sGn5g _gyjF9NwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyjF9NwbEeCT5O2F6sGn5g" name="memberNamespace" visibility="public" type="_ZiwkoGwLEdq7X4sGURiZYA" association="_gyjF89wbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyjF9dwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gyjF9twbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTwtsxE9EeGOffqMW1YiZA" name="A_memberEnd_association" memberEnd="_VV4NkxE9EeGOffqMW1YiZA _VdFo1BE9EeGOffqMW1YiZA"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTwttBE9EeGOffqMW1YiZA" name="A_member_memberNamespace" isDerived="true" memberEnd="_VarOCBE9EeGOffqMW1YiZA _VTwttRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VTwttRE9EeGOffqMW1YiZA" name="memberNamespace" visibility="public" type="_ZiwkoGwLEdq7X4sGURiZYA" association="_VTwttBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VTwtthE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VTwttxE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyjF99wbEeCT5O2F6sGn5g" name="A_mergedPackage_packageMerge" memberEnd="_g1j9s9wbEeCT5O2F6sGn5g _gyjF-NwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyjF-NwbEeCT5O2F6sGn5g" name="packageMerge" visibility="public" type="_g1j9sNwbEeCT5O2F6sGn5g" subsettedProperty="_gy8ukdwbEeCT5O2F6sGn5g" association="_gyjF99wbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyjF-dwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gyjF-twbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTxUwBE9EeGOffqMW1YiZA" name="A_mergedPackage_packageMerge" memberEnd="_VcsAMxE9EeGOffqMW1YiZA _VTxUwRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VTxUwRE9EeGOffqMW1YiZA" name="packageMerge" visibility="public" type="_VcsAMBE9EeGOffqMW1YiZA" subsettedProperty="_VUpegRE9EeGOffqMW1YiZA" association="_VTxUwBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VTxUwhE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VTxUwxE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyjF-9wbEeCT5O2F6sGn5g" name="A_message_considerIgnoreFragment" memberEnd="_gz_3edwbEeCT5O2F6sGn5g _gyjF_NwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyjF_NwbEeCT5O2F6sGn5g" name="considerIgnoreFragment" visibility="public" type="_gz_3cNwbEeCT5O2F6sGn5g" association="_gyjF-9wbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyjF_dwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gyjF_twbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTxUxBE9EeGOffqMW1YiZA" name="A_message_considerIgnoreFragment" memberEnd="_VYZ9KRE9EeGOffqMW1YiZA _VTxUxRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VTxUxRE9EeGOffqMW1YiZA" name="considerIgnoreFragment" visibility="public" type="_VYZ9IBE9EeGOffqMW1YiZA" association="_VTxUxBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VTxUxhE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VTxUxxE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyjF_9wbEeCT5O2F6sGn5g" name="A_message_interaction" memberEnd="_g0bVVNwbEeCT5O2F6sGn5g _g1K8MdwbEeCT5O2F6sGn5g"/>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyjtANwbEeCT5O2F6sGn5g" name="A_message_messageEnd" memberEnd="_g1MKQ9wbEeCT5O2F6sGn5g _gyjtAdwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyjtAdwbEeCT5O2F6sGn5g" name="messageEnd" visibility="public" type="_g1MKQNwbEeCT5O2F6sGn5g" association="_gyjtANwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyjtAtwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gyjtA9wbEeCT5O2F6sGn5g" value="2"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTxUyBE9EeGOffqMW1YiZA" name="A_message_interaction" memberEnd="_VZsWpBE9EeGOffqMW1YiZA _VaBGuBE9EeGOffqMW1YiZA"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTx70BE9EeGOffqMW1YiZA" name="A_message_messageEnd" memberEnd="_VaEKAxE9EeGOffqMW1YiZA _VTx70RE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VTx70RE9EeGOffqMW1YiZA" name="messageEnd" visibility="public" type="_VaEKABE9EeGOffqMW1YiZA" association="_VTx70BE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VTx70hE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VTx70xE9EeGOffqMW1YiZA" value="2"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyjtBNwbEeCT5O2F6sGn5g" name="A_metaclassReference_profile" memberEnd="_g1qradwbEeCT5O2F6sGn5g _gyjtBdwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyjtBdwbEeCT5O2F6sGn5g" name="profile" visibility="public" type="__pew8GvzEdq7X4sGURiZYA" subsettedProperty="_g0LdotwbEeCT5O2F6sGn5g" association="_gyjtBNwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyjtBtwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTx71BE9EeGOffqMW1YiZA" name="A_metaclassReference_profile" memberEnd="_VdB-eBE9EeGOffqMW1YiZA _VTx71RE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VTx71RE9EeGOffqMW1YiZA" name="profile" visibility="public" type="__pew8GvzEdq7X4sGURiZYA" subsettedProperty="_VZKLEhE9EeGOffqMW1YiZA" association="_VTx71BE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VTx71hE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyjtB9wbEeCT5O2F6sGn5g" name="A_metamodelReference_profile" memberEnd="_g1qrbdwbEeCT5O2F6sGn5g _gyjtCNwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyjtCNwbEeCT5O2F6sGn5g" name="profile" visibility="public" type="__pew8GvzEdq7X4sGURiZYA" subsettedProperty="_g1jWp9wbEeCT5O2F6sGn5g" association="_gyjtB9wbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyjtCdwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTyi4BE9EeGOffqMW1YiZA" name="A_metamodelReference_profile" memberEnd="_VdClgBE9EeGOffqMW1YiZA _VTyi4RE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VTyi4RE9EeGOffqMW1YiZA" name="profile" visibility="public" type="__pew8GvzEdq7X4sGURiZYA" subsettedProperty="_VcZsUhE9EeGOffqMW1YiZA" association="_VTyi4BE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VTyi4hE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyjtCtwbEeCT5O2F6sGn5g" name="A_method_specification" memberEnd="_gzjyodwbEeCT5O2F6sGn5g _gzikgNwbEeCT5O2F6sGn5g"/>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyjtC9wbEeCT5O2F6sGn5g" name="A_min_durationInterval" memberEnd="_g0IaYdwbEeCT5O2F6sGn5g _gyjtDdwbEeCT5O2F6sGn5g">
-      <generalization xmi:id="_gyjtDNwbEeCT5O2F6sGn5g" general="_gyjtENwbEeCT5O2F6sGn5g"/>
-      <ownedEnd xmi:id="_gyjtDdwbEeCT5O2F6sGn5g" name="durationInterval" visibility="public" type="_g0IaXNwbEeCT5O2F6sGn5g" redefinedProperty="_gyjtEdwbEeCT5O2F6sGn5g" association="_gyjtC9wbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyjtDtwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gyjtD9wbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTyi4xE9EeGOffqMW1YiZA" name="A_method_specification" memberEnd="_VWJTVhE9EeGOffqMW1YiZA _VWEa1BE9EeGOffqMW1YiZA"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTyi5BE9EeGOffqMW1YiZA" name="A_min_durationInterval" memberEnd="_VY-k8RE9EeGOffqMW1YiZA _VTyi5hE9EeGOffqMW1YiZA">
+      <generalization xmi:id="_VTyi5RE9EeGOffqMW1YiZA" general="_VTzJ8BE9EeGOffqMW1YiZA"/>
+      <ownedEnd xmi:id="_VTyi5hE9EeGOffqMW1YiZA" name="durationInterval" visibility="public" type="_VY-k7BE9EeGOffqMW1YiZA" redefinedProperty="_VTzJ8RE9EeGOffqMW1YiZA" association="_VTyi5BE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VTyi5xE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VTyi6BE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyjtENwbEeCT5O2F6sGn5g" name="A_min_interval" memberEnd="_g0fmw9wbEeCT5O2F6sGn5g _gyjtEdwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyjtEdwbEeCT5O2F6sGn5g" name="interval" visibility="public" type="_g0fmvtwbEeCT5O2F6sGn5g" association="_gyjtENwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyjtEtwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gyjtE9wbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTzJ8BE9EeGOffqMW1YiZA" name="A_min_interval" memberEnd="_VZydNRE9EeGOffqMW1YiZA _VTzJ8RE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VTzJ8RE9EeGOffqMW1YiZA" name="interval" visibility="public" type="_VZydMBE9EeGOffqMW1YiZA" association="_VTzJ8BE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VTzJ8hE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VTzJ8xE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gykUENwbEeCT5O2F6sGn5g" name="A_min_timeInterval" memberEnd="_g2RIVdwbEeCT5O2F6sGn5g _gykUEtwbEeCT5O2F6sGn5g">
-      <generalization xmi:id="_gykUEdwbEeCT5O2F6sGn5g" general="_gyjtENwbEeCT5O2F6sGn5g"/>
-      <ownedEnd xmi:id="_gykUEtwbEeCT5O2F6sGn5g" name="timeInterval" visibility="public" type="_g2RIUNwbEeCT5O2F6sGn5g" redefinedProperty="_gyjtEdwbEeCT5O2F6sGn5g" association="_gykUENwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gykUE9wbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gykUFNwbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTzJ9BE9EeGOffqMW1YiZA" name="A_min_timeInterval" memberEnd="_VexD1RE9EeGOffqMW1YiZA _VTzJ9hE9EeGOffqMW1YiZA">
+      <generalization xmi:id="_VTzJ9RE9EeGOffqMW1YiZA" general="_VTzJ8BE9EeGOffqMW1YiZA"/>
+      <ownedEnd xmi:id="_VTzJ9hE9EeGOffqMW1YiZA" name="timeInterval" visibility="public" type="_VexD0BE9EeGOffqMW1YiZA" redefinedProperty="_VTzJ8RE9EeGOffqMW1YiZA" association="_VTzJ9BE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VTzJ9xE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VTzJ-BE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gykUFdwbEeCT5O2F6sGn5g" name="A_minint_interactionConstraint" memberEnd="_g0b8aNwbEeCT5O2F6sGn5g _gykUFtwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gykUFtwbEeCT5O2F6sGn5g" name="interactionConstraint" visibility="public" type="_g0b8UNwbEeCT5O2F6sGn5g" subsettedProperty="_g0JodNwbEeCT5O2F6sGn5g" association="_gykUFdwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gykUF9wbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTzxABE9EeGOffqMW1YiZA" name="A_minint_interactionConstraint" memberEnd="_VZs9uBE9EeGOffqMW1YiZA _VTzxARE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VTzxARE9EeGOffqMW1YiZA" name="interactionConstraint" visibility="public" type="_VZs9oBE9EeGOffqMW1YiZA" subsettedProperty="_N3hRMAtAEeGcpbeCPJfCmw" association="_VTzxABE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VTzxAhE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gykUGNwbEeCT5O2F6sGn5g" name="A_nameExpression_namedElement" memberEnd="_g1QbttwbEeCT5O2F6sGn5g _gykUGdwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gykUGdwbEeCT5O2F6sGn5g" name="namedElement" visibility="public" type="_csVgUGvtEdqG6fBIPwe-mw" subsettedProperty="_g0JodNwbEeCT5O2F6sGn5g" association="_gykUGNwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gykUGtwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VTzxAxE9EeGOffqMW1YiZA" name="A_nameExpression_namedElement" memberEnd="_VaN7BhE9EeGOffqMW1YiZA _VTzxBBE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VTzxBBE9EeGOffqMW1YiZA" name="namedElement" visibility="public" type="_csVgUGvtEdqG6fBIPwe-mw" subsettedProperty="_N3hRMAtAEeGcpbeCPJfCmw" association="_VTzxAxE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VTzxBRE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gykUG9wbEeCT5O2F6sGn5g" name="A_navigableOwnedEnd_association" memberEnd="_gzgIPNwbEeCT5O2F6sGn5g _gykUHNwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gykUHNwbEeCT5O2F6sGn5g" name="association" visibility="public" type="_AwvxoGwNEdq7X4sGURiZYA" subsettedProperty="_g1tuxdwbEeCT5O2F6sGn5g" association="_gykUG9wbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gykUHdwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VT0YEBE9EeGOffqMW1YiZA" name="A_navigableOwnedEnd_association" memberEnd="_VV4NlxE9EeGOffqMW1YiZA _VT0YERE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VT0YERE9EeGOffqMW1YiZA" name="association" visibility="public" type="_AwvxoGwNEdq7X4sGURiZYA" subsettedProperty="_VdHeDRE9EeGOffqMW1YiZA" association="_VT0YEBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VT0YEhE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gykUHtwbEeCT5O2F6sGn5g" name="A_nestedArtifact_artifact" memberEnd="_gze6FNwbEeCT5O2F6sGn5g _gyk7INwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyk7INwbEeCT5O2F6sGn5g" name="artifact" visibility="public" type="_-lGRgHLzEdqziYxiZo0YtA" subsettedProperty="_1vzv0LbIEeCRxrN1JUGuxA" association="_gykUHtwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyk7IdwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VT0YExE9EeGOffqMW1YiZA" name="A_nestedArtifact_artifact" memberEnd="_VVqLIBE9EeGOffqMW1YiZA _VT0YFBE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VT0YFBE9EeGOffqMW1YiZA" name="artifact" visibility="public" type="_-lGRgHLzEdqziYxiZo0YtA" subsettedProperty="_1vzv0LbIEeCRxrN1JUGuxA" association="_VT0YExE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VT0YFRE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyk7ItwbEeCT5O2F6sGn5g" name="A_nestedClassifier_class" memberEnd="_gzpSJ9wbEeCT5O2F6sGn5g _gyk7I9wbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyk7I9wbEeCT5O2F6sGn5g" name="class" visibility="public" type="_00owUGvdEdq4DLWZOhbdEA" subsettedProperty="_1vzv0LbIEeCRxrN1JUGuxA _zYrE4La-EeCRxrN1JUGuxA" association="_gyk7ItwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyk7JNwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VT0YFhE9EeGOffqMW1YiZA" name="A_nestedClassifier_class" memberEnd="_VWX80BE9EeGOffqMW1YiZA _VT0YFxE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VT0YFxE9EeGOffqMW1YiZA" name="class" visibility="public" type="_00owUGvdEdq4DLWZOhbdEA" subsettedProperty="_zYrE4La-EeCRxrN1JUGuxA _1vzv0LbIEeCRxrN1JUGuxA" association="_VT0YFhE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VT0YGBE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyk7JdwbEeCT5O2F6sGn5g" name="A_nestedClassifier_interface" memberEnd="_g0eYldwbEeCT5O2F6sGn5g _gyk7JtwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyk7JtwbEeCT5O2F6sGn5g" name="interface" visibility="public" type="_8Ugn8GvtEdqG6fBIPwe-mw" subsettedProperty="_1vzv0LbIEeCRxrN1JUGuxA _zYrE4La-EeCRxrN1JUGuxA" association="_gyk7JdwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyk7J9wbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VT0_IBE9EeGOffqMW1YiZA" name="A_nestedClassifier_interface" memberEnd="_VZwA9xE9EeGOffqMW1YiZA _VT0_IRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VT0_IRE9EeGOffqMW1YiZA" name="interface" visibility="public" type="_8Ugn8GvtEdqG6fBIPwe-mw" subsettedProperty="_zYrE4La-EeCRxrN1JUGuxA _1vzv0LbIEeCRxrN1JUGuxA" association="_VT0_IBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VT0_IhE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyk7KNwbEeCT5O2F6sGn5g" name="A_nestedNode_node" memberEnd="_g1V7QNwbEeCT5O2F6sGn5g _gyk7KdwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyk7KdwbEeCT5O2F6sGn5g" name="node" visibility="public" type="_5YOyUKJ8EdywJr5C4uHLKw" subsettedProperty="_1vzv0LbIEeCRxrN1JUGuxA" association="_gyk7KNwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyk7KtwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VT0_IxE9EeGOffqMW1YiZA" name="A_nestedNode_node" memberEnd="_VbFdtRE9EeGOffqMW1YiZA _VT0_JBE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VT0_JBE9EeGOffqMW1YiZA" name="node" visibility="public" type="_5YOyUKJ8EdywJr5C4uHLKw" subsettedProperty="_1vzv0LbIEeCRxrN1JUGuxA" association="_VT0_IxE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VT0_JRE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyk7K9wbEeCT5O2F6sGn5g" name="A_nestedPackage_nestingPackage" memberEnd="_g1gTVtwbEeCT5O2F6sGn5g _XSjCgLbQEeCRxrN1JUGuxA"/>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyk7LNwbEeCT5O2F6sGn5g" name="A_newClassifier_reclassifyObjectAction" memberEnd="_g14t59wbEeCT5O2F6sGn5g _gyk7LdwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyk7LdwbEeCT5O2F6sGn5g" name="reclassifyObjectAction" visibility="public" type="_g14t2NwbEeCT5O2F6sGn5g" association="_gyk7LNwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyk7LtwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gyk7L9wbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VT0_JhE9EeGOffqMW1YiZA" name="A_nestedPackage_nestingPackage" memberEnd="_VcKbwBE9EeGOffqMW1YiZA _XSjCgLbQEeCRxrN1JUGuxA"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VT1mMBE9EeGOffqMW1YiZA" name="A_newClassifier_reclassifyObjectAction" memberEnd="_VdlYHxE9EeGOffqMW1YiZA _VT1mMRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VT1mMRE9EeGOffqMW1YiZA" name="reclassifyObjectAction" visibility="public" type="_VdlYEBE9EeGOffqMW1YiZA" association="_VT1mMBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VT1mMhE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VT1mMxE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyk7MNwbEeCT5O2F6sGn5g" name="A_node_activity" memberEnd="_gzXlUNwbEeCT5O2F6sGn5g _gzbPudwbEeCT5O2F6sGn5g"/>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyliMNwbEeCT5O2F6sGn5g" name="A_node_inStructuredNode" memberEnd="_g2IletwbEeCT5O2F6sGn5g _gzbPyNwbEeCT5O2F6sGn5g"/>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyliMdwbEeCT5O2F6sGn5g" name="A_object_clearAssociationAction" memberEnd="_gz04bdwbEeCT5O2F6sGn5g _gyliMtwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyliMtwbEeCT5O2F6sGn5g" name="clearAssociationAction" visibility="public" type="_gz04YtwbEeCT5O2F6sGn5g" subsettedProperty="_gygpt9wbEeCT5O2F6sGn5g" association="_gyliMdwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyliM9wbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_RFCrMAtCEeGcpbeCPJfCmw" name="A_node_activity" memberEnd="_RoJfoAs_EeGcpbeCPJfCmw _X0ZfIAtCEeGcpbeCPJfCmw"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VT1mNBE9EeGOffqMW1YiZA" name="A_node_inStructuredNode" memberEnd="_VeiaUxE9EeGOffqMW1YiZA _VVgaKxE9EeGOffqMW1YiZA"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VT2NQBE9EeGOffqMW1YiZA" name="A_object_clearAssociationAction" memberEnd="_VX4_yxE9EeGOffqMW1YiZA _VT2NQRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VT2NQRE9EeGOffqMW1YiZA" name="clearAssociationAction" visibility="public" type="_VX4_wBE9EeGOffqMW1YiZA" subsettedProperty="_VTqnERE9EeGOffqMW1YiZA" association="_VT2NQBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VT2NQhE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyliNNwbEeCT5O2F6sGn5g" name="A_object_readIsClassifiedObjectAction" memberEnd="_g10cdNwbEeCT5O2F6sGn5g _gyliNdwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyliNdwbEeCT5O2F6sGn5g" name="readIsClassifiedObjectAction" visibility="public" type="_g10cYNwbEeCT5O2F6sGn5g" subsettedProperty="_gygpt9wbEeCT5O2F6sGn5g" association="_gyliNNwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyliNtwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VT2NQxE9EeGOffqMW1YiZA" name="A_object_readIsClassifiedObjectAction" memberEnd="_Vdc1RBE9EeGOffqMW1YiZA _VT2NRBE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VT2NRBE9EeGOffqMW1YiZA" name="readIsClassifiedObjectAction" visibility="public" type="_Vdc1MBE9EeGOffqMW1YiZA" subsettedProperty="_VTqnERE9EeGOffqMW1YiZA" association="_VT2NQxE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VT2NRRE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyliN9wbEeCT5O2F6sGn5g" name="A_object_readLinkObjectEndAction" memberEnd="_g11qmtwbEeCT5O2F6sGn5g _gyliONwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyliONwbEeCT5O2F6sGn5g" name="readLinkObjectEndAction" visibility="public" type="_g11qgNwbEeCT5O2F6sGn5g" subsettedProperty="_gygpt9wbEeCT5O2F6sGn5g" association="_gyliN9wbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyliOdwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VT20UBE9EeGOffqMW1YiZA" name="A_object_readLinkObjectEndAction" memberEnd="_VdfRihE9EeGOffqMW1YiZA _VT20URE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VT20URE9EeGOffqMW1YiZA" name="readLinkObjectEndAction" visibility="public" type="_VdfRcBE9EeGOffqMW1YiZA" subsettedProperty="_VTqnERE9EeGOffqMW1YiZA" association="_VT20UBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VT20UhE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyliOtwbEeCT5O2F6sGn5g" name="A_object_readLinkObjectEndQualifierAction" memberEnd="_g12Rq9wbEeCT5O2F6sGn5g _gyliO9wbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyliO9wbEeCT5O2F6sGn5g" name="readLinkObjectEndQualifierAction" visibility="public" type="_g12RkNwbEeCT5O2F6sGn5g" subsettedProperty="_gygpt9wbEeCT5O2F6sGn5g" association="_gyliOtwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyliPNwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VT20UxE9EeGOffqMW1YiZA" name="A_object_readLinkObjectEndQualifierAction" memberEnd="_VdgfqxE9EeGOffqMW1YiZA _VT20VBE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VT20VBE9EeGOffqMW1YiZA" name="readLinkObjectEndQualifierAction" visibility="public" type="_VdgfkBE9EeGOffqMW1YiZA" subsettedProperty="_VTqnERE9EeGOffqMW1YiZA" association="_VT20UxE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VT20VRE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyliPdwbEeCT5O2F6sGn5g" name="A_object_reclassifyObjectAction" memberEnd="_g14t69wbEeCT5O2F6sGn5g _gyliPtwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyliPtwbEeCT5O2F6sGn5g" name="reclassifyObjectAction" visibility="public" type="_g14t2NwbEeCT5O2F6sGn5g" subsettedProperty="_gygpt9wbEeCT5O2F6sGn5g" association="_gyliPdwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyliP9wbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VT20VhE9EeGOffqMW1YiZA" name="A_object_reclassifyObjectAction" memberEnd="_VdlYIxE9EeGOffqMW1YiZA _VT20VxE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VT20VxE9EeGOffqMW1YiZA" name="reclassifyObjectAction" visibility="public" type="_VdlYEBE9EeGOffqMW1YiZA" subsettedProperty="_VTqnERE9EeGOffqMW1YiZA" association="_VT20VhE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VT20WBE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gymJQNwbEeCT5O2F6sGn5g" name="A_object_startClassifierBehaviorAction" memberEnd="_g2ACpNwbEeCT5O2F6sGn5g _gymJQdwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gymJQdwbEeCT5O2F6sGn5g" name="startClassifierBehaviorAction" visibility="public" type="_g2ACm9wbEeCT5O2F6sGn5g" subsettedProperty="_gygpt9wbEeCT5O2F6sGn5g" association="_gymJQNwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gymJQtwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VT3bYBE9EeGOffqMW1YiZA" name="A_object_startClassifierBehaviorAction" memberEnd="_VeNDKRE9EeGOffqMW1YiZA _VT3bYRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VT3bYRE9EeGOffqMW1YiZA" name="startClassifierBehaviorAction" visibility="public" type="_VeNDIBE9EeGOffqMW1YiZA" subsettedProperty="_VTqnERE9EeGOffqMW1YiZA" association="_VT3bYBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VT3bYhE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gymJQ9wbEeCT5O2F6sGn5g" name="A_object_startObjectBehaviorAction" memberEnd="_g2ApstwbEeCT5O2F6sGn5g _gymJRNwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gymJRNwbEeCT5O2F6sGn5g" name="startObjectBehaviorAction" visibility="public" type="_g2ApoNwbEeCT5O2F6sGn5g" subsettedProperty="_gygpt9wbEeCT5O2F6sGn5g" association="_gymJQ9wbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gymJRdwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VT3bYxE9EeGOffqMW1YiZA" name="A_object_startObjectBehaviorAction" memberEnd="_VeORQRE9EeGOffqMW1YiZA _VT3bZBE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VT3bZBE9EeGOffqMW1YiZA" name="startObjectBehaviorAction" visibility="public" type="_VeNqMBE9EeGOffqMW1YiZA" subsettedProperty="_VTqnERE9EeGOffqMW1YiZA" association="_VT3bYxE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VT3bZRE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gymJRtwbEeCT5O2F6sGn5g" name="A_object_structuralFeatureAction" memberEnd="_g2H-ctwbEeCT5O2F6sGn5g _gymJR9wbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gymJR9wbEeCT5O2F6sGn5g" name="structuralFeatureAction" visibility="public" type="_g2H-YNwbEeCT5O2F6sGn5g" subsettedProperty="_gygpt9wbEeCT5O2F6sGn5g" association="_gymJRtwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gymJSNwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VT4CcBE9EeGOffqMW1YiZA" name="A_object_structuralFeatureAction" memberEnd="_VehMQhE9EeGOffqMW1YiZA _VT4CcRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VT4CcRE9EeGOffqMW1YiZA" name="structuralFeatureAction" visibility="public" type="_VehMMBE9EeGOffqMW1YiZA" subsettedProperty="_VTqnERE9EeGOffqMW1YiZA" association="_VT4CcBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VT4CchE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gymJSdwbEeCT5O2F6sGn5g" name="A_object_unmarshallAction" memberEnd="_g2VZ2NwbEeCT5O2F6sGn5g _gymJStwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gymJStwbEeCT5O2F6sGn5g" name="unmarshallAction" visibility="public" type="_g2VZwNwbEeCT5O2F6sGn5g" subsettedProperty="_gygpt9wbEeCT5O2F6sGn5g" association="_gymJSdwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gymJS9wbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VT4CcxE9EeGOffqMW1YiZA" name="A_object_unmarshallAction" memberEnd="_VfD-2BE9EeGOffqMW1YiZA _VT4CdBE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VT4CdBE9EeGOffqMW1YiZA" name="unmarshallAction" visibility="public" type="_VfD-wBE9EeGOffqMW1YiZA" subsettedProperty="_VTqnERE9EeGOffqMW1YiZA" association="_VT4CcxE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VT7FwBE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gymJTNwbEeCT5O2F6sGn5g" name="A_observation_duration" memberEnd="_g0HzTNwbEeCT5O2F6sGn5g _gymJTdwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gymJTdwbEeCT5O2F6sGn5g" name="duration" visibility="public" type="_-Ixo8H4XEdq7cMP_l1l5Gg" association="_gymJTNwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gymJTtwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VT7s0BE9EeGOffqMW1YiZA" name="A_observation_duration" memberEnd="_VY8IoBE9EeGOffqMW1YiZA _VT7s0RE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VT7s0RE9EeGOffqMW1YiZA" name="duration" visibility="public" type="_-Ixo8H4XEdq7cMP_l1l5Gg" association="_VT7s0BE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VT7s0hE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gymwUNwbEeCT5O2F6sGn5g" name="A_observation_timeExpression" memberEnd="_g2QhVNwbEeCT5O2F6sGn5g _gymwUdwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gymwUdwbEeCT5O2F6sGn5g" name="timeExpression" visibility="public" type="_DylKEH4YEdq7cMP_l1l5Gg" association="_gymwUNwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gymwUtwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VT7s0xE9EeGOffqMW1YiZA" name="A_observation_timeExpression" memberEnd="_Vev1tRE9EeGOffqMW1YiZA _VT7s1BE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VT7s1BE9EeGOffqMW1YiZA" name="timeExpression" visibility="public" type="_DylKEH4YEdq7cMP_l1l5Gg" association="_VT7s0xE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VT7s1RE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gymwU9wbEeCT5O2F6sGn5g" name="A_oldClassifier_reclassifyObjectAction" memberEnd="_g14t7dwbEeCT5O2F6sGn5g _gymwVNwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gymwVNwbEeCT5O2F6sGn5g" name="reclassifyObjectAction" visibility="public" type="_g14t2NwbEeCT5O2F6sGn5g" association="_gymwU9wbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gymwVdwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gymwVtwbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VT7s1hE9EeGOffqMW1YiZA" name="A_oldClassifier_reclassifyObjectAction" memberEnd="_VdlYJRE9EeGOffqMW1YiZA _VT7s1xE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VT7s1xE9EeGOffqMW1YiZA" name="reclassifyObjectAction" visibility="public" type="_VdlYEBE9EeGOffqMW1YiZA" association="_VT7s1hE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VT7s2BE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VT7s2RE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gymwV9wbEeCT5O2F6sGn5g" name="A_onPort_invocationAction" memberEnd="_g0gN0NwbEeCT5O2F6sGn5g _gymwWNwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gymwWNwbEeCT5O2F6sGn5g" name="invocationAction" visibility="public" type="_g0gNxdwbEeCT5O2F6sGn5g" association="_gymwV9wbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gymwWdwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gymwWtwbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VT8T4BE9EeGOffqMW1YiZA" name="A_onPort_invocationAction" memberEnd="_VZzESxE9EeGOffqMW1YiZA _VT8T4RE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VT8T4RE9EeGOffqMW1YiZA" name="invocationAction" visibility="public" type="_VZzEQBE9EeGOffqMW1YiZA" association="_VT8T4BE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VT8T4hE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VT8T4xE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gymwW9wbEeCT5O2F6sGn5g" name="A_operand_combinedFragment" memberEnd="_gz3UptwbEeCT5O2F6sGn5g _gymwXNwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gymwXNwbEeCT5O2F6sGn5g" name="combinedFragment" visibility="public" type="_gz3UkNwbEeCT5O2F6sGn5g" subsettedProperty="_g0JodNwbEeCT5O2F6sGn5g" association="_gymwW9wbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gymwXdwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VT8T5BE9EeGOffqMW1YiZA" name="A_operand_combinedFragment" memberEnd="_VX8qNhE9EeGOffqMW1YiZA _VT8T5RE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VT8T5RE9EeGOffqMW1YiZA" name="combinedFragment" visibility="public" type="_VX8qIBE9EeGOffqMW1YiZA" subsettedProperty="_N3hRMAtAEeGcpbeCPJfCmw" association="_VT8T5BE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VT8T5hE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gymwXtwbEeCT5O2F6sGn5g" name="A_operand_expression" memberEnd="_g0QWI9wbEeCT5O2F6sGn5g _gymwX9wbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gymwX9wbEeCT5O2F6sGn5g" name="expression" visibility="public" type="_8QuDcLG3EeCDe8CO90iVKQ" subsettedProperty="_g0JodNwbEeCT5O2F6sGn5g" association="_gymwXtwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gymwYNwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VT8T5xE9EeGOffqMW1YiZA" name="A_operand_expression" memberEnd="_VZSG4RE9EeGOffqMW1YiZA _VT8T6BE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VT8T6BE9EeGOffqMW1YiZA" name="expression" visibility="public" type="_8QuDcLG3EeCDe8CO90iVKQ" subsettedProperty="_N3hRMAtAEeGcpbeCPJfCmw" association="_VT8T5xE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VT8T6RE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gynXYNwbEeCT5O2F6sGn5g" name="A_operation_callEvent" memberEnd="_gzm18dwbEeCT5O2F6sGn5g _gynXYdwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gynXYdwbEeCT5O2F6sGn5g" name="callEvent" visibility="public" type="_gzm17twbEeCT5O2F6sGn5g" association="_gynXYNwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gynXYtwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gynXY9wbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VT868BE9EeGOffqMW1YiZA" name="A_operation_callEvent" memberEnd="_VWU5gxE9EeGOffqMW1YiZA _VT868RE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VT868RE9EeGOffqMW1YiZA" name="callEvent" visibility="public" type="_VWU5gBE9EeGOffqMW1YiZA" association="_VT868BE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VT868hE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VT868xE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gynXZNwbEeCT5O2F6sGn5g" name="A_operation_callOperationAction" memberEnd="_gznc_9wbEeCT5O2F6sGn5g _gynXZdwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gynXZdwbEeCT5O2F6sGn5g" name="callOperationAction" visibility="public" type="_gznc8NwbEeCT5O2F6sGn5g" association="_gynXZNwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gynXZtwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gynXZ9wbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VT869BE9EeGOffqMW1YiZA" name="A_operation_callOperationAction" memberEnd="_VWVgnxE9EeGOffqMW1YiZA _VT869RE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VT869RE9EeGOffqMW1YiZA" name="callOperationAction" visibility="public" type="_VWVgkBE9EeGOffqMW1YiZA" association="_VT869BE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VT869hE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VT869xE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gynXaNwbEeCT5O2F6sGn5g" name="A_operation_templateParameter_parameteredElement" memberEnd="_g1dQFdwbEeCT5O2F6sGn5g _g1fsQ9wbEeCT5O2F6sGn5g"/>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gynXadwbEeCT5O2F6sGn5g" name="A_opposite_property" isDerived="true" memberEnd="_g1tuwtwbEeCT5O2F6sGn5g _gynXatwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gynXatwbEeCT5O2F6sGn5g" name="property" visibility="public" type="_Jp_1oGveEdq4DLWZOhbdEA" association="_gynXadwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gynXa9wbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VT86-BE9EeGOffqMW1YiZA" name="A_operation_templateParameter_parameteredElement" memberEnd="_VcBR1BE9EeGOffqMW1YiZA _VcGxYxE9EeGOffqMW1YiZA"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VT9iABE9EeGOffqMW1YiZA" name="A_opposite_property" isDerived="true" memberEnd="_VdHeChE9EeGOffqMW1YiZA _VT9iARE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VT9iARE9EeGOffqMW1YiZA" name="property" visibility="public" type="_Jp_1oGveEdq4DLWZOhbdEA" association="_VT9iABE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VT9iAhE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gynXbNwbEeCT5O2F6sGn5g" name="A_outgoing_source_node" memberEnd="_gzbPz9wbEeCT5O2F6sGn5g _gzZapNwbEeCT5O2F6sGn5g"/>
-    <packagedElement xmi:type="uml:Association" xmi:id="_JPYJoPnmEdunWsS3se92JQ" name="A_outgoing_source_vertex" memberEnd="_g2ZrQdwbEeCT5O2F6sGn5g _JPYJofnmEdunWsS3se92JQ _JPh6oPnmEdunWsS3se92JQ">
+    <packagedElement xmi:type="uml:Association" xmi:id="_VT9iAxE9EeGOffqMW1YiZA" name="A_outgoing_source_node" memberEnd="_VVhBNBE9EeGOffqMW1YiZA _VVcI1BE9EeGOffqMW1YiZA"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_JPYJoPnmEdunWsS3se92JQ" name="A_outgoing_source_vertex" memberEnd="_VfI3SBE9EeGOffqMW1YiZA _JPYJofnmEdunWsS3se92JQ _JPh6oPnmEdunWsS3se92JQ">
       <ownedEnd xmi:id="_JPh6oPnmEdunWsS3se92JQ" name="outgoing" visibility="private" type="_ykKV8PnlEdunWsS3se92JQ" association="_JPYJoPnmEdunWsS3se92JQ">
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_JPh6ofnmEdunWsS3se92JQ"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_JPh6ovnmEdunWsS3se92JQ" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gynXbdwbEeCT5O2F6sGn5g" name="A_outputElement_regionAsOutput" memberEnd="_g0PvKNwbEeCT5O2F6sGn5g _g0PvGdwbEeCT5O2F6sGn5g"/>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyn-cNwbEeCT5O2F6sGn5g" name="A_outputValue_opaqueAction" memberEnd="_g1YXh9wbEeCT5O2F6sGn5g _gyn-cdwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyn-cdwbEeCT5O2F6sGn5g" name="opaqueAction" visibility="public" type="__pbPMLG4EeCDe8CO90iVKQ" subsettedProperty="_gyn-dNwbEeCT5O2F6sGn5g" association="_gyn-cNwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyn-ctwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VT9iBBE9EeGOffqMW1YiZA" name="A_outputElement_regionAsOutput" memberEnd="_VZRf3BE9EeGOffqMW1YiZA _VZQ4yRE9EeGOffqMW1YiZA"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VT-JEBE9EeGOffqMW1YiZA" name="A_outputValue_opaqueAction" memberEnd="_VbfGUBE9EeGOffqMW1YiZA _VT-JERE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VT-JERE9EeGOffqMW1YiZA" name="opaqueAction" visibility="public" type="__pbPMLG4EeCDe8CO90iVKQ" subsettedProperty="_VT-JFBE9EeGOffqMW1YiZA" association="_VT-JEBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VT-JEhE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyn-c9wbEeCT5O2F6sGn5g" name="A_output_action" isDerived="true" memberEnd="_gzCOK9wbEeCT5O2F6sGn5g _gyn-dNwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyn-dNwbEeCT5O2F6sGn5g" name="action" visibility="public" type="_6WKakLLQEeCsYvaJqFFivQ" subsettedProperty="_g0JodNwbEeCT5O2F6sGn5g" association="_gyn-c9wbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyn-ddwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VT-JExE9EeGOffqMW1YiZA" name="A_output_action" isDerived="true" memberEnd="_VU4vEBE9EeGOffqMW1YiZA _VT-JFBE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VT-JFBE9EeGOffqMW1YiZA" name="action" visibility="public" type="_6WKakLLQEeCsYvaJqFFivQ" subsettedProperty="_N3hRMAtAEeGcpbeCPJfCmw" association="_VT-JExE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VT-JFRE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyn-dtwbEeCT5O2F6sGn5g" name="A_ownedActual_templateParameterSubstitution" memberEnd="_g2Nd-twbEeCT5O2F6sGn5g _gyn-eNwbEeCT5O2F6sGn5g">
-      <generalization xmi:id="_gyn-d9wbEeCT5O2F6sGn5g" general="_gySANtwbEeCT5O2F6sGn5g"/>
-      <ownedEnd xmi:id="_gyn-eNwbEeCT5O2F6sGn5g" name="templateParameterSubstitution" visibility="public" type="_g2Nd8NwbEeCT5O2F6sGn5g" redefinedProperty="_gySAN9wbEeCT5O2F6sGn5g" subsettedProperty="_g0JodNwbEeCT5O2F6sGn5g" association="_gyn-dtwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyn-edwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VT-JFhE9EeGOffqMW1YiZA" name="A_ownedActual_templateParameterSubstitution" memberEnd="_VesLWhE9EeGOffqMW1YiZA _VT-JGBE9EeGOffqMW1YiZA">
+      <generalization xmi:id="_VT-JFxE9EeGOffqMW1YiZA" general="_VS81YBE9EeGOffqMW1YiZA"/>
+      <ownedEnd xmi:id="_VT-JGBE9EeGOffqMW1YiZA" name="templateParameterSubstitution" visibility="public" type="_VesLUBE9EeGOffqMW1YiZA" redefinedProperty="_VS81YRE9EeGOffqMW1YiZA" subsettedProperty="_N3hRMAtAEeGcpbeCPJfCmw" association="_VT-JFhE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VT-JGRE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyn-etwbEeCT5O2F6sGn5g" name="A_ownedAttribute_artifact" memberEnd="_gze6GNwbEeCT5O2F6sGn5g _gyn-e9wbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyn-e9wbEeCT5O2F6sGn5g" name="artifact" visibility="public" type="_-lGRgHLzEdqziYxiZo0YtA" subsettedProperty="_1vzv0LbIEeCRxrN1JUGuxA _gySnUNwbEeCT5O2F6sGn5g" association="_gyn-etwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyn-fNwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VT-wIBE9EeGOffqMW1YiZA" name="A_ownedAttribute_artifact" memberEnd="_VVqLJBE9EeGOffqMW1YiZA _VT-wIRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VT-wIRE9EeGOffqMW1YiZA" name="artifact" visibility="public" type="_-lGRgHLzEdqziYxiZo0YtA" subsettedProperty="_VS-qlBE9EeGOffqMW1YiZA _1vzv0LbIEeCRxrN1JUGuxA" association="_VT-wIBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VT-wIhE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyn-fdwbEeCT5O2F6sGn5g" name="A_ownedAttribute_class" memberEnd="_gzp5MNwbEeCT5O2F6sGn5g _Ef_yMLa_EeCRxrN1JUGuxA"/>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyn-ftwbEeCT5O2F6sGn5g" name="A_ownedAttribute_datatype" memberEnd="_g0CTyNwbEeCT5O2F6sGn5g _06bWELa_EeCRxrN1JUGuxA"/>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyn-f9wbEeCT5O2F6sGn5g" name="A_ownedAttribute_interface" memberEnd="_g0eYmdwbEeCT5O2F6sGn5g _68HLsLa_EeCRxrN1JUGuxA"/>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyolgNwbEeCT5O2F6sGn5g" name="A_ownedAttribute_owningSignal" memberEnd="_g1_bidwbEeCT5O2F6sGn5g _gyolgdwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyolgdwbEeCT5O2F6sGn5g" name="owningSignal" visibility="public" type="_Pu3O0HL0EdqziYxiZo0YtA" subsettedProperty="_1vzv0LbIEeCRxrN1JUGuxA _gySnUNwbEeCT5O2F6sGn5g" association="_gyolgNwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyolgtwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VT-wIxE9EeGOffqMW1YiZA" name="A_ownedAttribute_class" memberEnd="_VWX81BE9EeGOffqMW1YiZA _Ef_yMLa_EeCRxrN1JUGuxA"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VT-wJBE9EeGOffqMW1YiZA" name="A_ownedAttribute_datatype" memberEnd="_VYuGMRE9EeGOffqMW1YiZA _06bWELa_EeCRxrN1JUGuxA"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VT-wJRE9EeGOffqMW1YiZA" name="A_ownedAttribute_interface" memberEnd="_VZwoABE9EeGOffqMW1YiZA _68HLsLa_EeCRxrN1JUGuxA"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VT_XMBE9EeGOffqMW1YiZA" name="A_ownedAttribute_owningSignal" memberEnd="_VeL1ABE9EeGOffqMW1YiZA _VT_XMRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VT_XMRE9EeGOffqMW1YiZA" name="owningSignal" visibility="public" type="_Pu3O0HL0EdqziYxiZo0YtA" subsettedProperty="_VS-qlBE9EeGOffqMW1YiZA _1vzv0LbIEeCRxrN1JUGuxA" association="_VT_XMBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VT_XMhE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyolg9wbEeCT5O2F6sGn5g" name="A_ownedAttribute_structuredClassifier" memberEnd="_g2JMhdwbEeCT5O2F6sGn5g _gyolhdwbEeCT5O2F6sGn5g">
-      <generalization xmi:id="_gyolhNwbEeCT5O2F6sGn5g" general="_gy32FtwbEeCT5O2F6sGn5g"/>
-      <ownedEnd xmi:id="_gyolhdwbEeCT5O2F6sGn5g" name="structuredClassifier" visibility="public" type="_FQiVsGwYEdqHKKVoxc0dlA" redefinedProperty="_gy32F9wbEeCT5O2F6sGn5g" subsettedProperty="_1vzv0LbIEeCRxrN1JUGuxA _gySnUNwbEeCT5O2F6sGn5g" association="_gyolg9wbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyolhtwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VT_XMxE9EeGOffqMW1YiZA" name="A_ownedAttribute_structuredClassifier" memberEnd="_VejocRE9EeGOffqMW1YiZA _VT_XNRE9EeGOffqMW1YiZA">
+      <generalization xmi:id="_VT_XNBE9EeGOffqMW1YiZA" general="_VUhisxE9EeGOffqMW1YiZA"/>
+      <ownedEnd xmi:id="_VT_XNRE9EeGOffqMW1YiZA" name="structuredClassifier" visibility="public" type="_FQiVsGwYEdqHKKVoxc0dlA" redefinedProperty="_VUhitBE9EeGOffqMW1YiZA" subsettedProperty="_VS-qlBE9EeGOffqMW1YiZA _1vzv0LbIEeCRxrN1JUGuxA" association="_VT_XMxE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VT_XNhE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyolh9wbEeCT5O2F6sGn5g" name="A_ownedBehavior_behavioredClassifier" memberEnd="_gzlAvdwbEeCT5O2F6sGn5g _gyoliNwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyoliNwbEeCT5O2F6sGn5g" name="behavioredClassifier" visibility="public" type="_iY7sMGvsEdqG6fBIPwe-mw" subsettedProperty="_1vzv0LbIEeCRxrN1JUGuxA" association="_gyolh9wbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyolidwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VT_XNxE9EeGOffqMW1YiZA" name="A_ownedBehavior_behavioredClassifier" memberEnd="_VWMWpBE9EeGOffqMW1YiZA _VT_XOBE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VT_XOBE9EeGOffqMW1YiZA" name="behavioredClassifier" visibility="public" type="_iY7sMGvsEdqG6fBIPwe-mw" subsettedProperty="_1vzv0LbIEeCRxrN1JUGuxA" association="_VT_XNxE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VT_XORE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyolitwbEeCT5O2F6sGn5g" name="A_ownedComment_owningElement" memberEnd="_g0JBdNwbEeCT5O2F6sGn5g _gyoli9wbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyoli9wbEeCT5O2F6sGn5g" name="owningElement" visibility="public" type="_kl90MGvbEdq4DLWZOhbdEA" subsettedProperty="_g0JodNwbEeCT5O2F6sGn5g" association="_gyolitwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyoljNwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VT_-QBE9EeGOffqMW1YiZA" name="A_ownedComment_owningElement" memberEnd="_VZGgsxE9EeGOffqMW1YiZA _VT_-QRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VT_-QRE9EeGOffqMW1YiZA" name="owningElement" visibility="public" type="_kl90MGvbEdq4DLWZOhbdEA" subsettedProperty="_N3hRMAtAEeGcpbeCPJfCmw" association="_VT_-QBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VT_-QhE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyoljdwbEeCT5O2F6sGn5g" name="A_ownedConnector_structuredClassifier" memberEnd="_g2JMidwbEeCT5O2F6sGn5g _gyoljtwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyoljtwbEeCT5O2F6sGn5g" name="structuredClassifier" visibility="public" type="_FQiVsGwYEdqHKKVoxc0dlA" subsettedProperty="_YUdlwLbAEeCRxrN1JUGuxA _1vzv0LbIEeCRxrN1JUGuxA _zYrE4La-EeCRxrN1JUGuxA" association="_gyoljdwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyolj9wbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VT_-QxE9EeGOffqMW1YiZA" name="A_ownedConnector_structuredClassifier" memberEnd="_VejodRE9EeGOffqMW1YiZA _VT_-RBE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VT_-RBE9EeGOffqMW1YiZA" name="structuredClassifier" visibility="public" type="_FQiVsGwYEdqHKKVoxc0dlA" subsettedProperty="_YUdlwLbAEeCRxrN1JUGuxA _zYrE4La-EeCRxrN1JUGuxA _1vzv0LbIEeCRxrN1JUGuxA" association="_VT_-QxE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VT_-RRE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gypMkNwbEeCT5O2F6sGn5g" name="A_ownedDefault_templateParameter" memberEnd="_g2M24NwbEeCT5O2F6sGn5g _gypMktwbEeCT5O2F6sGn5g">
-      <generalization xmi:id="_gypMkdwbEeCT5O2F6sGn5g" general="_gyYG2twbEeCT5O2F6sGn5g"/>
-      <ownedEnd xmi:id="_gypMktwbEeCT5O2F6sGn5g" name="templateParameter" visibility="public" type="_KxRzgGvuEdqG6fBIPwe-mw" redefinedProperty="_gyYG29wbEeCT5O2F6sGn5g" subsettedProperty="_g0JodNwbEeCT5O2F6sGn5g" association="_gypMkNwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gypMk9wbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUAlUBE9EeGOffqMW1YiZA" name="A_ownedDefault_templateParameter" memberEnd="_VeqWJxE9EeGOffqMW1YiZA _VUAlUhE9EeGOffqMW1YiZA">
+      <generalization xmi:id="_VUAlURE9EeGOffqMW1YiZA" general="_VTNUExE9EeGOffqMW1YiZA"/>
+      <ownedEnd xmi:id="_VUAlUhE9EeGOffqMW1YiZA" name="templateParameter" visibility="public" type="_KxRzgGvuEdqG6fBIPwe-mw" redefinedProperty="_VTNUFBE9EeGOffqMW1YiZA" subsettedProperty="_N3hRMAtAEeGcpbeCPJfCmw" association="_VUAlUBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUAlUxE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gypMlNwbEeCT5O2F6sGn5g" name="A_ownedElement_owner" isDerived="true" memberEnd="_g0JocNwbEeCT5O2F6sGn5g _g0JodNwbEeCT5O2F6sGn5g"/>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gypMldwbEeCT5O2F6sGn5g" name="A_ownedEnd_extension" memberEnd="_g0RkTNwbEeCT5O2F6sGn5g _gypMltwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gypMltwbEeCT5O2F6sGn5g" name="extension" visibility="public" type="_skHGwGvsEdqG6fBIPwe-mw" subsettedProperty="_g1tuxdwbEeCT5O2F6sGn5g" association="_gypMldwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_bU41QAtAEeGcpbeCPJfCmw" name="A_ownedElement_owner" isDerived="true" memberEnd="_GDD2YAtAEeGcpbeCPJfCmw _N3hRMAtAEeGcpbeCPJfCmw"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUAlVBE9EeGOffqMW1YiZA" name="A_ownedEnd_extension" memberEnd="_VZT8GRE9EeGOffqMW1YiZA _VUAlVRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUAlVRE9EeGOffqMW1YiZA" name="extension" visibility="public" type="_skHGwGvsEdqG6fBIPwe-mw" subsettedProperty="_VdHeDRE9EeGOffqMW1YiZA" association="_VUAlVBE9EeGOffqMW1YiZA"/>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gypMl9wbEeCT5O2F6sGn5g" name="A_ownedEnd_owningAssociation" memberEnd="_gzgIQNwbEeCT5O2F6sGn5g _g1tuxdwbEeCT5O2F6sGn5g"/>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gypMmNwbEeCT5O2F6sGn5g" name="A_ownedLiteral_enumeration" memberEnd="_g0MrxtwbEeCT5O2F6sGn5g _g0NS1twbEeCT5O2F6sGn5g"/>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gypMmdwbEeCT5O2F6sGn5g" name="A_ownedMember_namespace" isDerived="true" memberEnd="_g1S4AdwbEeCT5O2F6sGn5g _1vzv0LbIEeCRxrN1JUGuxA"/>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gypMmtwbEeCT5O2F6sGn5g" name="A_ownedOperation_artifact" memberEnd="_gze6HNwbEeCT5O2F6sGn5g _gypMm9wbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gypMm9wbEeCT5O2F6sGn5g" name="artifact" visibility="public" type="_-lGRgHLzEdqziYxiZo0YtA" subsettedProperty="_YUdlwLbAEeCRxrN1JUGuxA _1vzv0LbIEeCRxrN1JUGuxA _zYrE4La-EeCRxrN1JUGuxA" association="_gypMmtwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gypMnNwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUAlVhE9EeGOffqMW1YiZA" name="A_ownedEnd_owningAssociation" memberEnd="_VV40oBE9EeGOffqMW1YiZA _VdHeDRE9EeGOffqMW1YiZA"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUBMYBE9EeGOffqMW1YiZA" name="A_ownedLiteral_enumeration" memberEnd="_VZMnUhE9EeGOffqMW1YiZA _VZNOZhE9EeGOffqMW1YiZA"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUBMYRE9EeGOffqMW1YiZA" name="A_ownedMember_namespace" isDerived="true" memberEnd="_Var1EBE9EeGOffqMW1YiZA _1vzv0LbIEeCRxrN1JUGuxA"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUBMYhE9EeGOffqMW1YiZA" name="A_ownedOperation_artifact" memberEnd="_VVqLKBE9EeGOffqMW1YiZA _VUBMYxE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUBMYxE9EeGOffqMW1YiZA" name="artifact" visibility="public" type="_-lGRgHLzEdqziYxiZo0YtA" subsettedProperty="_YUdlwLbAEeCRxrN1JUGuxA _zYrE4La-EeCRxrN1JUGuxA _1vzv0LbIEeCRxrN1JUGuxA" association="_VUBMYhE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUBMZBE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gypzoNwbEeCT5O2F6sGn5g" name="A_ownedOperation_class" memberEnd="_gzp5NNwbEeCT5O2F6sGn5g _g1co89wbEeCT5O2F6sGn5g"/>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gypzodwbEeCT5O2F6sGn5g" name="A_ownedOperation_datatype" memberEnd="_g0C6wNwbEeCT5O2F6sGn5g _g1co9twbEeCT5O2F6sGn5g"/>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gypzotwbEeCT5O2F6sGn5g" name="A_ownedOperation_interface" memberEnd="_g0eYndwbEeCT5O2F6sGn5g _g1co-dwbEeCT5O2F6sGn5g"/>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gypzo9wbEeCT5O2F6sGn5g" name="A_ownedParameterSet_behavior" memberEnd="_gzikcNwbEeCT5O2F6sGn5g _gypzpNwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gypzpNwbEeCT5O2F6sGn5g" name="behavior" visibility="public" type="_TUPtYGveEdq4DLWZOhbdEA" subsettedProperty="_1vzv0LbIEeCRxrN1JUGuxA" association="_gypzo9wbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gypzpdwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUBzcBE9EeGOffqMW1YiZA" name="A_ownedOperation_class" memberEnd="_VWZK8BE9EeGOffqMW1YiZA _Vb-1nBE9EeGOffqMW1YiZA"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUBzcRE9EeGOffqMW1YiZA" name="A_ownedOperation_datatype" memberEnd="_VYutQBE9EeGOffqMW1YiZA _Vb_coBE9EeGOffqMW1YiZA"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUBzchE9EeGOffqMW1YiZA" name="A_ownedOperation_interface" memberEnd="_VZwoBBE9EeGOffqMW1YiZA _Vb_coxE9EeGOffqMW1YiZA"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUBzcxE9EeGOffqMW1YiZA" name="A_ownedParameterSet_behavior" memberEnd="_VWDMtBE9EeGOffqMW1YiZA _VUBzdBE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUBzdBE9EeGOffqMW1YiZA" name="behavior" visibility="public" type="_TUPtYGveEdq4DLWZOhbdEA" subsettedProperty="_1vzv0LbIEeCRxrN1JUGuxA" association="_VUBzcxE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUBzdRE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gypzptwbEeCT5O2F6sGn5g" name="A_ownedParameterSet_behavioralFeature" memberEnd="_gzkZpNwbEeCT5O2F6sGn5g _gypzp9wbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gypzp9wbEeCT5O2F6sGn5g" name="behavioralFeature" visibility="public" type="_rHT3YKOsEdqi_5gqUMOQtA" subsettedProperty="_1vzv0LbIEeCRxrN1JUGuxA" association="_gypzptwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gypzqNwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUCagBE9EeGOffqMW1YiZA" name="A_ownedParameterSet_behavioralFeature" memberEnd="_VWJ6ZBE9EeGOffqMW1YiZA _VUCagRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUCagRE9EeGOffqMW1YiZA" name="behavioralFeature" visibility="public" type="_rHT3YKOsEdqi_5gqUMOQtA" subsettedProperty="_1vzv0LbIEeCRxrN1JUGuxA" association="_VUCagBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUCaghE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gypzqdwbEeCT5O2F6sGn5g" name="A_ownedParameter_behavior" memberEnd="_gzh9adwbEeCT5O2F6sGn5g _gypzqtwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gypzqtwbEeCT5O2F6sGn5g" name="behavior" visibility="public" type="_TUPtYGveEdq4DLWZOhbdEA" subsettedProperty="_1vzv0LbIEeCRxrN1JUGuxA" association="_gypzqdwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gypzq9wbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUCagxE9EeGOffqMW1YiZA" name="A_ownedParameter_behavior" memberEnd="_VWDMsBE9EeGOffqMW1YiZA _VUCahBE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUCahBE9EeGOffqMW1YiZA" name="behavior" visibility="public" type="_TUPtYGveEdq4DLWZOhbdEA" subsettedProperty="_1vzv0LbIEeCRxrN1JUGuxA" association="_VUCagxE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUCahRE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gypzrNwbEeCT5O2F6sGn5g" name="A_ownedParameter_operation" memberEnd="_g1dQANwbEeCT5O2F6sGn5g _lHJ7gLbIEeCRxrN1JUGuxA"/>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyqasNwbEeCT5O2F6sGn5g" name="A_ownedParameter_ownerFormalParam" memberEnd="_gzkZoNwbEeCT5O2F6sGn5g _gyqasdwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyqasdwbEeCT5O2F6sGn5g" name="ownerFormalParam" visibility="public" type="_rHT3YKOsEdqi_5gqUMOQtA" subsettedProperty="_1vzv0LbIEeCRxrN1JUGuxA" association="_gyqasNwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyqastwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUCahhE9EeGOffqMW1YiZA" name="A_ownedParameter_operation" memberEnd="_VcADuRE9EeGOffqMW1YiZA _lHJ7gLbIEeCRxrN1JUGuxA"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUDBkBE9EeGOffqMW1YiZA" name="A_ownedParameter_ownerFormalParam" memberEnd="_VWJ6YBE9EeGOffqMW1YiZA _VUDBkRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUDBkRE9EeGOffqMW1YiZA" name="ownerFormalParam" visibility="public" type="_rHT3YKOsEdqi_5gqUMOQtA" subsettedProperty="_1vzv0LbIEeCRxrN1JUGuxA" association="_VUDBkBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUDBkhE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyqas9wbEeCT5O2F6sGn5g" name="A_ownedParameter_signature" memberEnd="_g2OsFtwbEeCT5O2F6sGn5g _g2M26NwbEeCT5O2F6sGn5g"/>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyqatNwbEeCT5O2F6sGn5g" name="A_ownedParameteredElement_owningTemplateParameter" memberEnd="_g2M249wbEeCT5O2F6sGn5g _g1noE9wbEeCT5O2F6sGn5g"/>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyqatdwbEeCT5O2F6sGn5g" name="A_ownedPort_encapsulatedClassifier" isDerived="true" memberEnd="_g0MEstwbEeCT5O2F6sGn5g _gyqattwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyqattwbEeCT5O2F6sGn5g" name="encapsulatedClassifier" visibility="public" type="_HiSd0LL2EeCBifIhhuFqZA" subsettedProperty="_gyolhdwbEeCT5O2F6sGn5g" association="_gyqatdwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyqat9wbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUDBkxE9EeGOffqMW1YiZA" name="A_ownedParameter_signature" memberEnd="_VesyZhE9EeGOffqMW1YiZA _Veq9NRE9EeGOffqMW1YiZA"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUDBlBE9EeGOffqMW1YiZA" name="A_ownedParameteredElement_owningTemplateParameter" memberEnd="_Veq9MBE9EeGOffqMW1YiZA _Vc730xE9EeGOffqMW1YiZA"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUDBlRE9EeGOffqMW1YiZA" name="A_ownedPort_encapsulatedClassifier" isDerived="true" memberEnd="_VZLZMhE9EeGOffqMW1YiZA _VUDBlhE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUDBlhE9EeGOffqMW1YiZA" name="encapsulatedClassifier" visibility="public" type="_HiSd0LL2EeCBifIhhuFqZA" subsettedProperty="_VT_XNRE9EeGOffqMW1YiZA" association="_VUDBlRE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUDBlxE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyqauNwbEeCT5O2F6sGn5g" name="A_ownedReception_class" memberEnd="_gzp5ONwbEeCT5O2F6sGn5g _gyqaudwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyqaudwbEeCT5O2F6sGn5g" name="class" visibility="public" type="_00owUGvdEdq4DLWZOhbdEA" subsettedProperty="_YUdlwLbAEeCRxrN1JUGuxA _1vzv0LbIEeCRxrN1JUGuxA" association="_gyqauNwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyqautwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUDooBE9EeGOffqMW1YiZA" name="A_ownedReception_class" memberEnd="_VWZyABE9EeGOffqMW1YiZA _VUDooRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUDooRE9EeGOffqMW1YiZA" name="class" visibility="public" type="_00owUGvdEdq4DLWZOhbdEA" subsettedProperty="_YUdlwLbAEeCRxrN1JUGuxA _1vzv0LbIEeCRxrN1JUGuxA" association="_VUDooBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUDoohE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyqau9wbEeCT5O2F6sGn5g" name="A_ownedReception_interface" memberEnd="_g0eYodwbEeCT5O2F6sGn5g _gyqavNwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyqavNwbEeCT5O2F6sGn5g" name="interface" visibility="public" type="_8Ugn8GvtEdqG6fBIPwe-mw" subsettedProperty="_YUdlwLbAEeCRxrN1JUGuxA _1vzv0LbIEeCRxrN1JUGuxA" association="_gyqau9wbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyqavdwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUDooxE9EeGOffqMW1YiZA" name="A_ownedReception_interface" memberEnd="_VZwoCBE9EeGOffqMW1YiZA _VUDopBE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUDopBE9EeGOffqMW1YiZA" name="interface" visibility="public" type="_8Ugn8GvtEdqG6fBIPwe-mw" subsettedProperty="_YUdlwLbAEeCRxrN1JUGuxA _1vzv0LbIEeCRxrN1JUGuxA" association="_VUDooxE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUDopRE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyqavtwbEeCT5O2F6sGn5g" name="A_ownedRule_context" memberEnd="_g1TfANwbEeCT5O2F6sGn5g _g0Aek9wbEeCT5O2F6sGn5g"/>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyrBwNwbEeCT5O2F6sGn5g" name="A_ownedStereotype_owningPackage" isDerived="true" memberEnd="_g1gTXNwbEeCT5O2F6sGn5g _gyrBwtwbEeCT5O2F6sGn5g">
-      <generalization xmi:id="_gyrBwdwbEeCT5O2F6sGn5g" general="_gyro0NwbEeCT5O2F6sGn5g"/>
-      <ownedEnd xmi:id="_gyrBwtwbEeCT5O2F6sGn5g" name="owningPackage" visibility="public" type="_-cvRAGvzEdq7X4sGURiZYA" redefinedProperty="_gyro0dwbEeCT5O2F6sGn5g" association="_gyrBwNwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUDophE9EeGOffqMW1YiZA" name="A_ownedRule_context" memberEnd="_Var1FBE9EeGOffqMW1YiZA _VYbLUxE9EeGOffqMW1YiZA"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUEPsBE9EeGOffqMW1YiZA" name="A_ownedStereotype_owningPackage" isDerived="true" memberEnd="_VcLC0BE9EeGOffqMW1YiZA _VUEPshE9EeGOffqMW1YiZA">
+      <generalization xmi:id="_VUEPsRE9EeGOffqMW1YiZA" general="_VUHTABE9EeGOffqMW1YiZA"/>
+      <ownedEnd xmi:id="_VUEPshE9EeGOffqMW1YiZA" name="owningPackage" visibility="public" type="_-cvRAGvzEdq7X4sGURiZYA" redefinedProperty="_VUHTARE9EeGOffqMW1YiZA" association="_VUEPsBE9EeGOffqMW1YiZA"/>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyrBw9wbEeCT5O2F6sGn5g" name="A_ownedTemplateSignature_classifier" memberEnd="_gzuxxtwbEeCT5O2F6sGn5g _g16jAdwbEeCT5O2F6sGn5g"/>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyrBxNwbEeCT5O2F6sGn5g" name="A_ownedTemplateSignature_template" memberEnd="_g2PTI9wbEeCT5O2F6sGn5g _g2OsHdwbEeCT5O2F6sGn5g"/>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyrBxdwbEeCT5O2F6sGn5g" name="A_ownedType_package" memberEnd="_g1gTYNwbEeCT5O2F6sGn5g _uvHaoLbQEeCRxrN1JUGuxA"/>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyrBxtwbEeCT5O2F6sGn5g" name="A_ownedUseCase_classifier" memberEnd="_gzvYwNwbEeCT5O2F6sGn5g _gyrBx9wbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyrBx9wbEeCT5O2F6sGn5g" name="classifier" visibility="public" type="_6UV2QGwJEdq7X4sGURiZYA" subsettedProperty="_1vzv0LbIEeCRxrN1JUGuxA" association="_gyrBxtwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyrByNwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUEPsxE9EeGOffqMW1YiZA" name="A_ownedTemplateSignature_classifier" memberEnd="_VXtZlhE9EeGOffqMW1YiZA _Vd2d0RE9EeGOffqMW1YiZA"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUEPtBE9EeGOffqMW1YiZA" name="A_ownedTemplateSignature_template" memberEnd="_VeuAgxE9EeGOffqMW1YiZA _VesybRE9EeGOffqMW1YiZA"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUEPtRE9EeGOffqMW1YiZA" name="A_ownedType_package" memberEnd="_VcLC1BE9EeGOffqMW1YiZA _uvHaoLbQEeCRxrN1JUGuxA"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUEPthE9EeGOffqMW1YiZA" name="A_ownedUseCase_classifier" memberEnd="_VXtZmRE9EeGOffqMW1YiZA _VUEPtxE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUEPtxE9EeGOffqMW1YiZA" name="classifier" visibility="public" type="_6UV2QGwJEdq7X4sGURiZYA" subsettedProperty="_1vzv0LbIEeCRxrN1JUGuxA" association="_VUEPthE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUEPuBE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyrBydwbEeCT5O2F6sGn5g" name="A_packageImport_importingNamespace" memberEnd="_g1TfBNwbEeCT5O2F6sGn5g _g1jWp9wbEeCT5O2F6sGn5g"/>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyrBytwbEeCT5O2F6sGn5g" name="A_packageMerge_receivingPackage" memberEnd="_g1g6YNwbEeCT5O2F6sGn5g _g1j9tdwbEeCT5O2F6sGn5g"/>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyrBy9wbEeCT5O2F6sGn5g" name="A_packagedElement_component" memberEnd="_gz4iu9wbEeCT5O2F6sGn5g _gyrBzNwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyrBzNwbEeCT5O2F6sGn5g" name="component" visibility="public" type="_DAbfwa69EdqjppZik4kD8A" subsettedProperty="_1vzv0LbIEeCRxrN1JUGuxA" association="_gyrBy9wbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyrBzdwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUFd0BE9EeGOffqMW1YiZA" name="A_packageImport_importingNamespace" memberEnd="_Var1GBE9EeGOffqMW1YiZA _VcZsUhE9EeGOffqMW1YiZA"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUGE4BE9EeGOffqMW1YiZA" name="A_packageMerge_receivingPackage" memberEnd="_VcP7UBE9EeGOffqMW1YiZA _VcsANRE9EeGOffqMW1YiZA"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUGr8BE9EeGOffqMW1YiZA" name="A_packagedElement_component" memberEnd="_VYAUgxE9EeGOffqMW1YiZA _VUGr8RE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUGr8RE9EeGOffqMW1YiZA" name="component" visibility="public" type="_DAbfwa69EdqjppZik4kD8A" subsettedProperty="_1vzv0LbIEeCRxrN1JUGuxA" association="_VUGr8BE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUGr8hE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyro0NwbEeCT5O2F6sGn5g" name="A_packagedElement_owningPackage" memberEnd="_g1g6ZNwbEeCT5O2F6sGn5g _gyro0dwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyro0dwbEeCT5O2F6sGn5g" name="owningPackage" visibility="public" type="_-cvRAGvzEdq7X4sGURiZYA" subsettedProperty="_1vzv0LbIEeCRxrN1JUGuxA" association="_gyro0NwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyro0twbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUHTABE9EeGOffqMW1YiZA" name="A_packagedElement_owningPackage" memberEnd="_VcP7VBE9EeGOffqMW1YiZA _VUHTARE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUHTARE9EeGOffqMW1YiZA" name="owningPackage" visibility="public" type="_-cvRAGvzEdq7X4sGURiZYA" subsettedProperty="_1vzv0LbIEeCRxrN1JUGuxA" association="_VUHTABE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUHTAhE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyro09wbEeCT5O2F6sGn5g" name="A_parameterSet_parameter" memberEnd="_g1ly4NwbEeCT5O2F6sGn5g _g1nBD9wbEeCT5O2F6sGn5g"/>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyro1NwbEeCT5O2F6sGn5g" name="A_parameterSubstitution_templateBinding" memberEnd="_g2LBu9wbEeCT5O2F6sGn5g _g2OFAdwbEeCT5O2F6sGn5g"/>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyro1dwbEeCT5O2F6sGn5g" name="A_parameter_activityParameterNode" memberEnd="_gzb22NwbEeCT5O2F6sGn5g _gyro1twbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyro1twbEeCT5O2F6sGn5g" name="activityParameterNode" visibility="public" type="_gzb2wNwbEeCT5O2F6sGn5g" association="_gyro1dwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyro19wbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gyro2NwbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUHTAxE9EeGOffqMW1YiZA" name="A_parameterSet_parameter" memberEnd="_Vcz8BRE9EeGOffqMW1YiZA _Vc7Q0BE9EeGOffqMW1YiZA"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUHTBBE9EeGOffqMW1YiZA" name="A_parameterSubstitution_templateBinding" memberEnd="_VemryxE9EeGOffqMW1YiZA _VesLXRE9EeGOffqMW1YiZA"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUHTBRE9EeGOffqMW1YiZA" name="A_parameter_activityParameterNode" memberEnd="_VViPaBE9EeGOffqMW1YiZA _VUHTBhE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUHTBhE9EeGOffqMW1YiZA" name="activityParameterNode" visibility="public" type="_VViPUBE9EeGOffqMW1YiZA" association="_VUHTBRE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUHTBxE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VUHTCBE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyro2dwbEeCT5O2F6sGn5g" name="A_parameter_templateSignature" memberEnd="_g2OsGtwbEeCT5O2F6sGn5g _gyro2twbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyro2twbEeCT5O2F6sGn5g" name="templateSignature" visibility="public" type="_g2OsENwbEeCT5O2F6sGn5g" association="_gyro2dwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyro29wbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gyro3NwbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUH6EBE9EeGOffqMW1YiZA" name="A_parameter_templateSignature" memberEnd="_VesyahE9EeGOffqMW1YiZA _VUH6ERE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUH6ERE9EeGOffqMW1YiZA" name="templateSignature" visibility="public" type="_VesyYBE9EeGOffqMW1YiZA" association="_VUH6EBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUH6EhE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VUH6ExE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyro3dwbEeCT5O2F6sGn5g" name="A_parameteredElement_templateParameter" memberEnd="_g2M25twbEeCT5O2F6sGn5g _g1noFtwbEeCT5O2F6sGn5g"/>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gysP4NwbEeCT5O2F6sGn5g" name="A_partWithPort_connectorEnd" memberEnd="_gz_QYNwbEeCT5O2F6sGn5g _gysP4dwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gysP4dwbEeCT5O2F6sGn5g" name="connectorEnd" visibility="public" type="_aOgw0GveEdq4DLWZOhbdEA" association="_gysP4NwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gysP4twbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gysP49wbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUH6FBE9EeGOffqMW1YiZA" name="A_parameteredElement_templateParameter" memberEnd="_Veq9MxE9EeGOffqMW1YiZA _Vc731hE9EeGOffqMW1YiZA"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUH6FRE9EeGOffqMW1YiZA" name="A_partWithPort_connectorEnd" memberEnd="_VYSoYBE9EeGOffqMW1YiZA _VUH6FhE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUH6FhE9EeGOffqMW1YiZA" name="connectorEnd" visibility="public" type="_aOgw0GveEdq4DLWZOhbdEA" association="_VUH6FRE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUH6FxE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VUH6GBE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gysP5NwbEeCT5O2F6sGn5g" name="A_part_structuredClassifier" isDerived="true" memberEnd="_g2JMjdwbEeCT5O2F6sGn5g _gysP5dwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gysP5dwbEeCT5O2F6sGn5g" name="structuredClassifier" visibility="public" type="_FQiVsGwYEdqHKKVoxc0dlA" association="_gysP5NwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gysP5twbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUIhIBE9EeGOffqMW1YiZA" name="A_part_structuredClassifier" isDerived="true" memberEnd="_VejoeRE9EeGOffqMW1YiZA _VUIhIRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUIhIRE9EeGOffqMW1YiZA" name="structuredClassifier" visibility="public" type="_FQiVsGwYEdqHKKVoxc0dlA" association="_VUIhIBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUIhIhE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gysP59wbEeCT5O2F6sGn5g" name="A_partition_activity" memberEnd="_gzXlVNwbEeCT5O2F6sGn5g _gysP6NwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gysP6NwbEeCT5O2F6sGn5g" name="activity" visibility="public" type="_eGtFwLLREeCsYvaJqFFivQ" subsettedProperty="_gzaBpNwbEeCT5O2F6sGn5g" association="_gysP59wbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gysP6dwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_3Ik3QAtDEeGcpbeCPJfCmw" name="A_partition_activity" memberEnd="_-_c7oAs9EeGcpbeCPJfCmw __DOZoAtDEeGcpbeCPJfCmw">
+      <ownedEnd xmi:id="__DOZoAtDEeGcpbeCPJfCmw" name="activity" visibility="public" type="_eGtFwLLREeCsYvaJqFFivQ" subsettedProperty="_5V2SAAtBEeGcpbeCPJfCmw" association="_3Ik3QAtDEeGcpbeCPJfCmw">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUIhIxE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gysP6twbEeCT5O2F6sGn5g" name="A_port_trigger" memberEnd="_g2Tkm9wbEeCT5O2F6sGn5g _gysP69wbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gysP69wbEeCT5O2F6sGn5g" name="trigger" visibility="public" type="_g2TkldwbEeCT5O2F6sGn5g" association="_gysP6twbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gysP7NwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gysP7dwbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUJIMBE9EeGOffqMW1YiZA" name="A_port_trigger" memberEnd="_VfCJlhE9EeGOffqMW1YiZA _VUJIMRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUJIMRE9EeGOffqMW1YiZA" name="trigger" visibility="public" type="_VfCJkBE9EeGOffqMW1YiZA" association="_VUJIMBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUJIMhE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VUJIMxE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gysP7twbEeCT5O2F6sGn5g" name="A_postCondition_owningTransition" memberEnd="_g1xZMdwbEeCT5O2F6sGn5g _gysP79wbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gysP79wbEeCT5O2F6sGn5g" name="owningTransition" visibility="public" type="_Dtp8ULL7EeCBifIhhuFqZA" subsettedProperty="_g0Aek9wbEeCT5O2F6sGn5g" association="_gysP7twbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gysP8NwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUJINBE9EeGOffqMW1YiZA" name="A_postCondition_owningTransition" memberEnd="_VdX8uhE9EeGOffqMW1YiZA _VUJINRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUJINRE9EeGOffqMW1YiZA" name="owningTransition" visibility="public" type="_Dtp8ULL7EeCBifIhhuFqZA" subsettedProperty="_VYbLUxE9EeGOffqMW1YiZA" association="_VUJINBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUJINhE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gys28NwbEeCT5O2F6sGn5g" name="A_postcondition_behavior" memberEnd="_gzikdNwbEeCT5O2F6sGn5g _gys28dwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gys28dwbEeCT5O2F6sGn5g" name="behavior" visibility="public" type="_TUPtYGveEdq4DLWZOhbdEA" subsettedProperty="_g0Aek9wbEeCT5O2F6sGn5g" association="_gys28NwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gys28twbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUJvQBE9EeGOffqMW1YiZA" name="A_postcondition_behavior" memberEnd="_VWDMuBE9EeGOffqMW1YiZA _VUJvQRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUJvQRE9EeGOffqMW1YiZA" name="behavior" visibility="public" type="_TUPtYGveEdq4DLWZOhbdEA" subsettedProperty="_VYbLUxE9EeGOffqMW1YiZA" association="_VUJvQBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUJvQhE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gys289wbEeCT5O2F6sGn5g" name="A_postcondition_postContext" memberEnd="_g1dQBdwbEeCT5O2F6sGn5g _gys29NwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gys29NwbEeCT5O2F6sGn5g" name="postContext" visibility="public" type="_M4X2IGveEdq4DLWZOhbdEA" subsettedProperty="_g0Aek9wbEeCT5O2F6sGn5g" association="_gys289wbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gys29dwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUJvQxE9EeGOffqMW1YiZA" name="A_postcondition_postContext" memberEnd="_VcADvhE9EeGOffqMW1YiZA _VUJvRBE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUJvRBE9EeGOffqMW1YiZA" name="postContext" visibility="public" type="_M4X2IGveEdq4DLWZOhbdEA" subsettedProperty="_VYbLUxE9EeGOffqMW1YiZA" association="_VUJvQxE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUJvRRE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gys29twbEeCT5O2F6sGn5g" name="A_powertypeExtent_powertype" memberEnd="_gzvYxNwbEeCT5O2F6sGn5g _g0XD49wbEeCT5O2F6sGn5g"/>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gys299wbEeCT5O2F6sGn5g" name="A_preCondition_protocolTransition" memberEnd="_g1xZNNwbEeCT5O2F6sGn5g _gys2-dwbEeCT5O2F6sGn5g">
-      <generalization xmi:id="_gys2-NwbEeCT5O2F6sGn5g" general="_gye0gNwbEeCT5O2F6sGn5g"/>
-      <ownedEnd xmi:id="_gys2-dwbEeCT5O2F6sGn5g" name="protocolTransition" visibility="public" type="_Dtp8ULL7EeCBifIhhuFqZA" redefinedProperty="_gye0gdwbEeCT5O2F6sGn5g" association="_gys299wbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gys2-twbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUJvRhE9EeGOffqMW1YiZA" name="A_powertypeExtent_powertype" memberEnd="_VXtZnRE9EeGOffqMW1YiZA _VZgwcxE9EeGOffqMW1YiZA"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUKWUBE9EeGOffqMW1YiZA" name="A_preCondition_protocolTransition" memberEnd="_VdYjwBE9EeGOffqMW1YiZA _VUKWUhE9EeGOffqMW1YiZA">
+      <generalization xmi:id="_VUKWURE9EeGOffqMW1YiZA" general="_VTlulRE9EeGOffqMW1YiZA"/>
+      <ownedEnd xmi:id="_VUKWUhE9EeGOffqMW1YiZA" name="protocolTransition" visibility="public" type="_Dtp8ULL7EeCBifIhhuFqZA" redefinedProperty="_VTmVoBE9EeGOffqMW1YiZA" association="_VUKWUBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUKWUxE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gys2-9wbEeCT5O2F6sGn5g" name="A_precondition_behavior" memberEnd="_gzikeNwbEeCT5O2F6sGn5g _gys2_NwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gys2_NwbEeCT5O2F6sGn5g" name="behavior" visibility="public" type="_TUPtYGveEdq4DLWZOhbdEA" subsettedProperty="_g0Aek9wbEeCT5O2F6sGn5g" association="_gys2-9wbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gys2_dwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUKWVBE9EeGOffqMW1YiZA" name="A_precondition_behavior" memberEnd="_VWDzwBE9EeGOffqMW1YiZA _VUKWVRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUKWVRE9EeGOffqMW1YiZA" name="behavior" visibility="public" type="_TUPtYGveEdq4DLWZOhbdEA" subsettedProperty="_VYbLUxE9EeGOffqMW1YiZA" association="_VUKWVBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUKWVhE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gys2_twbEeCT5O2F6sGn5g" name="A_precondition_preContext" memberEnd="_g1dQCdwbEeCT5O2F6sGn5g _gys2_9wbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gys2_9wbEeCT5O2F6sGn5g" name="preContext" visibility="public" type="_M4X2IGveEdq4DLWZOhbdEA" subsettedProperty="_g0Aek9wbEeCT5O2F6sGn5g" association="_gys2_twbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gys3ANwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUKWVxE9EeGOffqMW1YiZA" name="A_precondition_preContext" memberEnd="_VcAqwBE9EeGOffqMW1YiZA _VUKWWBE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUKWWBE9EeGOffqMW1YiZA" name="preContext" visibility="public" type="_M4X2IGveEdq4DLWZOhbdEA" subsettedProperty="_VYbLUxE9EeGOffqMW1YiZA" association="_VUKWVxE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUKWWRE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyteANwbEeCT5O2F6sGn5g" name="A_predecessorClause_successorClause" memberEnd="_gz04V9wbEeCT5O2F6sGn5g _gz04W9wbEeCT5O2F6sGn5g"/>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyteAdwbEeCT5O2F6sGn5g" name="A_profileApplication_applyingPackage" memberEnd="_g1g6aNwbEeCT5O2F6sGn5g _g1rSdNwbEeCT5O2F6sGn5g"/>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyteAtwbEeCT5O2F6sGn5g" name="A_profile_stereotype" isDerived="true" memberEnd="_g2E7IdwbEeCT5O2F6sGn5g _gyteA9wbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyteA9wbEeCT5O2F6sGn5g" name="stereotype" visibility="public" type="_A7vDAGv0Edq7X4sGURiZYA" association="_gyteAtwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyteBNwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gyteBdwbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUKWWhE9EeGOffqMW1YiZA" name="A_predecessorClause_successorClause" memberEnd="_VX3xthE9EeGOffqMW1YiZA _VX3xuhE9EeGOffqMW1YiZA"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUK9YBE9EeGOffqMW1YiZA" name="A_profileApplication_applyingPackage" memberEnd="_VcQiYBE9EeGOffqMW1YiZA _VdDzohE9EeGOffqMW1YiZA"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUK9YRE9EeGOffqMW1YiZA" name="A_profile_stereotype" isDerived="true" memberEnd="_Vec6wBE9EeGOffqMW1YiZA _VUK9YhE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUK9YhE9EeGOffqMW1YiZA" name="stereotype" visibility="public" type="_A7vDAGv0Edq7X4sGURiZYA" association="_VUK9YRE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUK9YxE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VUK9ZBE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyteBtwbEeCT5O2F6sGn5g" name="A_protocol_interface" memberEnd="_g0eYpdwbEeCT5O2F6sGn5g _gyteB9wbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyteB9wbEeCT5O2F6sGn5g" name="interface" visibility="public" type="_8Ugn8GvtEdqG6fBIPwe-mw" subsettedProperty="_1vzv0LbIEeCRxrN1JUGuxA" association="_gyteBtwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gyteCNwbEeCT5O2F6sGn5g" annotatedElement="_gyteB9wbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUK9ZRE9EeGOffqMW1YiZA" name="A_protocol_interface" memberEnd="_VZwoDBE9EeGOffqMW1YiZA _VUK9ZhE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUK9ZhE9EeGOffqMW1YiZA" name="interface" visibility="public" type="_8Ugn8GvtEdqG6fBIPwe-mw" subsettedProperty="_1vzv0LbIEeCRxrN1JUGuxA" association="_VUK9ZRE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VUK9ZxE9EeGOffqMW1YiZA" annotatedElement="_VUK9ZhE9EeGOffqMW1YiZA">
           <body>Specifies the namespace in which the protocol state machine is defined.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyteCdwbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUK9aBE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyteCtwbEeCT5O2F6sGn5g" name="A_protocol_port" memberEnd="_g1o2RNwbEeCT5O2F6sGn5g _gyteC9wbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyteC9wbEeCT5O2F6sGn5g" name="port" visibility="public" type="_ZAuvEGveEdq4DLWZOhbdEA" association="_gyteCtwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyteDNwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gyteDdwbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VULkcBE9EeGOffqMW1YiZA" name="A_protocol_port" memberEnd="_Vc-UFhE9EeGOffqMW1YiZA _VULkcRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VULkcRE9EeGOffqMW1YiZA" name="port" visibility="public" type="_ZAuvEGveEdq4DLWZOhbdEA" association="_VULkcBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VULkchE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VULkcxE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyuFENwbEeCT5O2F6sGn5g" name="A_provided_component" isDerived="true" memberEnd="_gz4iv9wbEeCT5O2F6sGn5g _gyuFEdwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyuFEdwbEeCT5O2F6sGn5g" name="component" visibility="public" type="_DAbfwa69EdqjppZik4kD8A" association="_gyuFENwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyuFEtwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gyuFE9wbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VULkdBE9EeGOffqMW1YiZA" name="A_provided_component" isDerived="true" memberEnd="_VYAUhxE9EeGOffqMW1YiZA _VULkdRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VULkdRE9EeGOffqMW1YiZA" name="component" visibility="public" type="_DAbfwa69EdqjppZik4kD8A" association="_VULkdBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VULkdhE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VULkdxE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyuFFNwbEeCT5O2F6sGn5g" name="A_provided_port" isDerived="true" memberEnd="_g1pdQNwbEeCT5O2F6sGn5g _gyuFFdwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyuFFdwbEeCT5O2F6sGn5g" name="port" visibility="public" type="_ZAuvEGveEdq4DLWZOhbdEA" association="_gyuFFNwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyuFFtwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gyuFF9wbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUMLgBE9EeGOffqMW1YiZA" name="A_provided_port" isDerived="true" memberEnd="_Vc-UGRE9EeGOffqMW1YiZA _VUMLgRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUMLgRE9EeGOffqMW1YiZA" name="port" visibility="public" type="_ZAuvEGveEdq4DLWZOhbdEA" association="_VUMLgBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUMLghE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VUMLgxE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyuFGNwbEeCT5O2F6sGn5g" name="A_qualifier_associationEnd" memberEnd="_g1tuyNwbEeCT5O2F6sGn5g _g1sgn9wbEeCT5O2F6sGn5g"/>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyuFGdwbEeCT5O2F6sGn5g" name="A_qualifier_linkEndData" memberEnd="_g0jRJNwbEeCT5O2F6sGn5g _gyuFGtwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyuFGtwbEeCT5O2F6sGn5g" name="linkEndData" visibility="public" type="_g0jRENwbEeCT5O2F6sGn5g" subsettedProperty="_g0JodNwbEeCT5O2F6sGn5g" association="_gyuFGdwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUMLhBE9EeGOffqMW1YiZA" name="A_qualifier_associationEnd" memberEnd="_VdHeEBE9EeGOffqMW1YiZA _VdFo1xE9EeGOffqMW1YiZA"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUMLhRE9EeGOffqMW1YiZA" name="A_qualifier_linkEndData" memberEnd="_VZ3VxBE9EeGOffqMW1YiZA _VUMLhhE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUMLhhE9EeGOffqMW1YiZA" name="linkEndData" visibility="public" type="_VZ3VsBE9EeGOffqMW1YiZA" subsettedProperty="_N3hRMAtAEeGcpbeCPJfCmw" association="_VUMLhRE9EeGOffqMW1YiZA"/>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyuFG9wbEeCT5O2F6sGn5g" name="A_qualifier_qualifierValue" memberEnd="_g1zOc9wbEeCT5O2F6sGn5g _gyuFHNwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyuFHNwbEeCT5O2F6sGn5g" name="qualifierValue" visibility="public" type="_g1zOZ9wbEeCT5O2F6sGn5g" association="_gyuFG9wbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyuFHdwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gyuFHtwbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUMykBE9EeGOffqMW1YiZA" name="A_qualifier_qualifierValue" memberEnd="_VdbnHBE9EeGOffqMW1YiZA _VUMykRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUMykRE9EeGOffqMW1YiZA" name="qualifierValue" visibility="public" type="_VdbnEBE9EeGOffqMW1YiZA" association="_VUMykBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUMykhE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VUMykxE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyusINwbEeCT5O2F6sGn5g" name="A_qualifier_readLinkObjectEndQualifierAction" memberEnd="_g12RrdwbEeCT5O2F6sGn5g _gyusIdwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyusIdwbEeCT5O2F6sGn5g" name="readLinkObjectEndQualifierAction" visibility="public" type="_g12RkNwbEeCT5O2F6sGn5g" association="_gyusINwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyusItwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUMylBE9EeGOffqMW1YiZA" name="A_qualifier_readLinkObjectEndQualifierAction" memberEnd="_VdgfrRE9EeGOffqMW1YiZA _VUMylRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUMylRE9EeGOffqMW1YiZA" name="readLinkObjectEndQualifierAction" visibility="public" type="_VdgfkBE9EeGOffqMW1YiZA" association="_VUMylBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUMylhE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyusI9wbEeCT5O2F6sGn5g" name="A_raisedException_behavioralFeature" memberEnd="_gzkZqNwbEeCT5O2F6sGn5g _gyusJNwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyusJNwbEeCT5O2F6sGn5g" name="behavioralFeature" visibility="public" type="_rHT3YKOsEdqi_5gqUMOQtA" association="_gyusI9wbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyusJdwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gyusJtwbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUMylxE9EeGOffqMW1YiZA" name="A_raisedException_behavioralFeature" memberEnd="_VWJ6aBE9EeGOffqMW1YiZA _VUMymBE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUMymBE9EeGOffqMW1YiZA" name="behavioralFeature" visibility="public" type="_rHT3YKOsEdqi_5gqUMOQtA" association="_VUMylxE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUMymRE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VUMymhE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyusJ9wbEeCT5O2F6sGn5g" name="A_raisedException_operation" memberEnd="_g1dQDdwbEeCT5O2F6sGn5g _gyusKNwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyusKNwbEeCT5O2F6sGn5g" name="operation" visibility="public" type="_M4X2IGveEdq4DLWZOhbdEA" subsettedProperty="_gyusJNwbEeCT5O2F6sGn5g" association="_gyusJ9wbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyusKdwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gyusKtwbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUNZoBE9EeGOffqMW1YiZA" name="A_raisedException_operation" memberEnd="_VcAqxBE9EeGOffqMW1YiZA _VUNZoRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUNZoRE9EeGOffqMW1YiZA" name="operation" visibility="public" type="_M4X2IGveEdq4DLWZOhbdEA" subsettedProperty="_VUMymBE9EeGOffqMW1YiZA" association="_VUNZoBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUNZohE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VUNZoxE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyusK9wbEeCT5O2F6sGn5g" name="A_realization_abstraction_component" memberEnd="_gz4iw9wbEeCT5O2F6sGn5g _gz6-89wbEeCT5O2F6sGn5g"/>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyusLNwbEeCT5O2F6sGn5g" name="A_realization_abstraction_flow" memberEnd="_g0Y5FtwbEeCT5O2F6sGn5g _gyusLdwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyusLdwbEeCT5O2F6sGn5g" name="abstraction" visibility="public" type="_g0Y5ANwbEeCT5O2F6sGn5g" association="_gyusLNwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyusLtwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gyusL9wbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUNZpBE9EeGOffqMW1YiZA" name="A_realization_abstraction_component" memberEnd="_VYAUixE9EeGOffqMW1YiZA _VYEl8xE9EeGOffqMW1YiZA"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUOAsBE9EeGOffqMW1YiZA" name="A_realization_abstraction_flow" memberEnd="_VZosRhE9EeGOffqMW1YiZA _VUOAsRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUOAsRE9EeGOffqMW1YiZA" name="abstraction" visibility="public" type="_VZosMBE9EeGOffqMW1YiZA" association="_VUOAsBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUOAshE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VUOAsxE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyvTMNwbEeCT5O2F6sGn5g" name="A_realizingActivityEdge_informationFlow" memberEnd="_g0Y5GtwbEeCT5O2F6sGn5g _gyvTMdwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyvTMdwbEeCT5O2F6sGn5g" name="informationFlow" visibility="public" type="_g0Y5ANwbEeCT5O2F6sGn5g" association="_gyvTMNwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyvTMtwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gyvTM9wbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUOnwBE9EeGOffqMW1YiZA" name="A_realizingActivityEdge_informationFlow" memberEnd="_VZosShE9EeGOffqMW1YiZA _VUOnwRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUOnwRE9EeGOffqMW1YiZA" name="informationFlow" visibility="public" type="_VZosMBE9EeGOffqMW1YiZA" association="_VUOnwBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUOnwhE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VUOnwxE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyvTNNwbEeCT5O2F6sGn5g" name="A_realizingClassifier_componentRealization" memberEnd="_gz6-9twbEeCT5O2F6sGn5g _gyvTNdwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyvTNdwbEeCT5O2F6sGn5g" name="componentRealization" visibility="public" type="_gz6-8NwbEeCT5O2F6sGn5g" subsettedProperty="_g1QbsNwbEeCT5O2F6sGn5g" association="_gyvTNNwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyvTNtwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gyvTN9wbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUPO0BE9EeGOffqMW1YiZA" name="A_realizingClassifier_componentRealization" memberEnd="_VYEl9hE9EeGOffqMW1YiZA _VUPO0RE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUPO0RE9EeGOffqMW1YiZA" name="componentRealization" visibility="public" type="_VYEl8BE9EeGOffqMW1YiZA" subsettedProperty="_VaN7ABE9EeGOffqMW1YiZA" association="_VUPO0BE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUPO0hE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VUPO0xE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyvTONwbEeCT5O2F6sGn5g" name="A_realizingConnector_informationFlow" memberEnd="_g0Y5HtwbEeCT5O2F6sGn5g _gyvTOdwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyvTOdwbEeCT5O2F6sGn5g" name="informationFlow" visibility="public" type="_g0Y5ANwbEeCT5O2F6sGn5g" association="_gyvTONwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyvTOtwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gyvTO9wbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUPO1BE9EeGOffqMW1YiZA" name="A_realizingConnector_informationFlow" memberEnd="_VZosThE9EeGOffqMW1YiZA _VUPO1RE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUPO1RE9EeGOffqMW1YiZA" name="informationFlow" visibility="public" type="_VZosMBE9EeGOffqMW1YiZA" association="_VUPO1BE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUPO1hE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VUPO1xE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyvTPNwbEeCT5O2F6sGn5g" name="A_realizingMessage_informationFlow" memberEnd="_g0ZgEdwbEeCT5O2F6sGn5g _gyvTPdwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyvTPdwbEeCT5O2F6sGn5g" name="informationFlow" visibility="public" type="_g0Y5ANwbEeCT5O2F6sGn5g" association="_gyvTPNwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyvTPtwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gyvTP9wbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUP14BE9EeGOffqMW1YiZA" name="A_realizingMessage_informationFlow" memberEnd="_VZosUhE9EeGOffqMW1YiZA _VUP14RE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUP14RE9EeGOffqMW1YiZA" name="informationFlow" visibility="public" type="_VZosMBE9EeGOffqMW1YiZA" association="_VUP14BE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUP14hE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VUP14xE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyv6QNwbEeCT5O2F6sGn5g" name="A_receiveEvent_endMessage" memberEnd="_g1LjMNwbEeCT5O2F6sGn5g _gyv6QdwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyv6QdwbEeCT5O2F6sGn5g" name="endMessage" visibility="public" type="_gfgNwGveEdq4DLWZOhbdEA" subsettedProperty="_g1MKQ9wbEeCT5O2F6sGn5g" association="_gyv6QNwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyv6QtwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUP15BE9EeGOffqMW1YiZA" name="A_receiveEvent_endMessage" memberEnd="_VaBtwxE9EeGOffqMW1YiZA _VUP15RE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUP15RE9EeGOffqMW1YiZA" name="endMessage" visibility="public" type="_gfgNwGveEdq4DLWZOhbdEA" subsettedProperty="_VaEKAxE9EeGOffqMW1YiZA" association="_VUP15BE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUP15hE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyv6Q9wbEeCT5O2F6sGn5g" name="A_redefinedBehavior_behavior" memberEnd="_gzikfNwbEeCT5O2F6sGn5g _gyv6RNwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyv6RNwbEeCT5O2F6sGn5g" name="behavior" visibility="public" type="_TUPtYGveEdq4DLWZOhbdEA" subsettedProperty="_gyv6SNwbEeCT5O2F6sGn5g" association="_gyv6Q9wbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyv6RdwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gyv6RtwbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUP15xE9EeGOffqMW1YiZA" name="A_redefinedBehavior_behavior" memberEnd="_VWEa0BE9EeGOffqMW1YiZA _VUP16BE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUP16BE9EeGOffqMW1YiZA" name="behavior" visibility="public" type="_TUPtYGveEdq4DLWZOhbdEA" subsettedProperty="_VUQc8RE9EeGOffqMW1YiZA" association="_VUP15xE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUP16RE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VUP16hE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyv6R9wbEeCT5O2F6sGn5g" name="A_redefinedClassifier_classifier" memberEnd="_gzvYyNwbEeCT5O2F6sGn5g _gyv6SNwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyv6SNwbEeCT5O2F6sGn5g" name="classifier" visibility="public" type="_6UV2QGwJEdq7X4sGURiZYA" subsettedProperty="_gywhUdwbEeCT5O2F6sGn5g" association="_gyv6R9wbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyv6SdwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gyv6StwbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUQc8BE9EeGOffqMW1YiZA" name="A_redefinedClassifier_classifier" memberEnd="_VXuAoBE9EeGOffqMW1YiZA _VUQc8RE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUQc8RE9EeGOffqMW1YiZA" name="classifier" visibility="public" type="_6UV2QGwJEdq7X4sGURiZYA" subsettedProperty="_VURrERE9EeGOffqMW1YiZA" association="_VUQc8BE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUQc8hE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VUQc8xE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyv6S9wbEeCT5O2F6sGn5g" name="A_redefinedConnector_connector" memberEnd="_gz-CQtwbEeCT5O2F6sGn5g _gyv6TNwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyv6TNwbEeCT5O2F6sGn5g" name="connector" visibility="public" type="_YxC2YLLWEeCsYvaJqFFivQ" subsettedProperty="_gywhUdwbEeCT5O2F6sGn5g" association="_gyv6S9wbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyv6TdwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gyv6TtwbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUQc9BE9EeGOffqMW1YiZA" name="A_redefinedConnector_connector" memberEnd="_VYMhwBE9EeGOffqMW1YiZA _VUQc9RE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUQc9RE9EeGOffqMW1YiZA" name="connector" visibility="public" type="_YxC2YLLWEeCsYvaJqFFivQ" subsettedProperty="_VURrERE9EeGOffqMW1YiZA" association="_VUQc9BE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUQc9hE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VUQc9xE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyv6T9wbEeCT5O2F6sGn5g" name="A_redefinedEdge_activityEdge" memberEnd="_gzZaoNwbEeCT5O2F6sGn5g _gyv6UNwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyv6UNwbEeCT5O2F6sGn5g" name="activityEdge" visibility="public" type="_gzZagNwbEeCT5O2F6sGn5g" subsettedProperty="_gywhUdwbEeCT5O2F6sGn5g" association="_gyv6T9wbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyv6UdwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gyv6UtwbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUREABE9EeGOffqMW1YiZA" name="A_redefinedEdge_activityEdge" memberEnd="_VVcI0BE9EeGOffqMW1YiZA _VUREARE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUREARE9EeGOffqMW1YiZA" name="activityEdge" visibility="public" type="_VVcIsBE9EeGOffqMW1YiZA" subsettedProperty="_VURrERE9EeGOffqMW1YiZA" association="_VUREABE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUREAhE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VUREAxE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gywhUNwbEeCT5O2F6sGn5g" name="A_redefinedElement_redefinableElement" isDerived="true" memberEnd="_g15U7twbEeCT5O2F6sGn5g _gywhUdwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gywhUdwbEeCT5O2F6sGn5g" name="redefinableElement" visibility="public" type="_uCRA4La-EeCRxrN1JUGuxA" association="_gywhUNwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gywhUtwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gywhU9wbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VURrEBE9EeGOffqMW1YiZA" name="A_redefinedElement_redefinableElement" isDerived="true" memberEnd="_VdtT4BE9EeGOffqMW1YiZA _VURrERE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VURrERE9EeGOffqMW1YiZA" name="redefinableElement" visibility="public" type="_uCRA4La-EeCRxrN1JUGuxA" association="_VURrEBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VURrEhE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VURrExE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gywhVNwbEeCT5O2F6sGn5g" name="A_redefinedInterface_interface" memberEnd="_g0e_oNwbEeCT5O2F6sGn5g _gywhVdwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gywhVdwbEeCT5O2F6sGn5g" name="interface" visibility="public" type="_8Ugn8GvtEdqG6fBIPwe-mw" subsettedProperty="_gyv6SNwbEeCT5O2F6sGn5g" association="_gywhVNwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gywhVtwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gywhV9wbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VURrFBE9EeGOffqMW1YiZA" name="A_redefinedInterface_interface" memberEnd="_VZwoDxE9EeGOffqMW1YiZA _VURrFRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VURrFRE9EeGOffqMW1YiZA" name="interface" visibility="public" type="_8Ugn8GvtEdqG6fBIPwe-mw" subsettedProperty="_VUQc8RE9EeGOffqMW1YiZA" association="_VURrFBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VURrFhE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VURrFxE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gywhWNwbEeCT5O2F6sGn5g" name="A_redefinedNode_activityNode" memberEnd="_gzbP09wbEeCT5O2F6sGn5g _gywhWdwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gywhWdwbEeCT5O2F6sGn5g" name="activityNode" visibility="public" type="_gzbPsNwbEeCT5O2F6sGn5g" subsettedProperty="_gywhUdwbEeCT5O2F6sGn5g" association="_gywhWNwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gywhWtwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gywhW9wbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUSSIBE9EeGOffqMW1YiZA" name="A_redefinedNode_activityNode" memberEnd="_VVhBOBE9EeGOffqMW1YiZA _VUSSIRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUSSIRE9EeGOffqMW1YiZA" name="activityNode" visibility="public" type="_WpiyYAs-EeGcpbeCPJfCmw" subsettedProperty="_VURrERE9EeGOffqMW1YiZA" association="_VUSSIBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUSSIhE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VUSSIxE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gywhXNwbEeCT5O2F6sGn5g" name="A_redefinedOperation_operation" memberEnd="_g1dQEdwbEeCT5O2F6sGn5g _gywhXdwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gywhXdwbEeCT5O2F6sGn5g" name="operation" visibility="public" type="_M4X2IGveEdq4DLWZOhbdEA" subsettedProperty="_gywhUdwbEeCT5O2F6sGn5g" association="_gywhXNwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gywhXtwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gywhX9wbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUSSJBE9EeGOffqMW1YiZA" name="A_redefinedOperation_operation" memberEnd="_VcBR0BE9EeGOffqMW1YiZA _VUSSJRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUSSJRE9EeGOffqMW1YiZA" name="operation" visibility="public" type="_M4X2IGveEdq4DLWZOhbdEA" subsettedProperty="_VURrERE9EeGOffqMW1YiZA" association="_VUSSJBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUSSJhE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VUSSJxE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyxIYNwbEeCT5O2F6sGn5g" name="A_redefinedPort_port" memberEnd="_g1pdRNwbEeCT5O2F6sGn5g _gyxIYdwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyxIYdwbEeCT5O2F6sGn5g" name="port" visibility="public" type="_ZAuvEGveEdq4DLWZOhbdEA" subsettedProperty="_gyxIZdwbEeCT5O2F6sGn5g" association="_gyxIYNwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyxIYtwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gyxIY9wbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUS5MBE9EeGOffqMW1YiZA" name="A_redefinedPort_port" memberEnd="_Vc-UHRE9EeGOffqMW1YiZA _VUS5MRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUS5MRE9EeGOffqMW1YiZA" name="port" visibility="public" type="_ZAuvEGveEdq4DLWZOhbdEA" subsettedProperty="_VUV8gRE9EeGOffqMW1YiZA" association="_VUS5MBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUS5MhE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VUS5MxE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyxIZNwbEeCT5O2F6sGn5g" name="A_redefinedProperty_property" memberEnd="_g1uVwNwbEeCT5O2F6sGn5g _gyxIZdwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyxIZdwbEeCT5O2F6sGn5g" name="property" visibility="public" type="_Jp_1oGveEdq4DLWZOhbdEA" subsettedProperty="_gywhUdwbEeCT5O2F6sGn5g" association="_gyxIZNwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyxIZtwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gyxIZ9wbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUV8gBE9EeGOffqMW1YiZA" name="A_redefinedProperty_property" memberEnd="_VdIFEBE9EeGOffqMW1YiZA _VUV8gRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUV8gRE9EeGOffqMW1YiZA" name="property" visibility="public" type="_Jp_1oGveEdq4DLWZOhbdEA" subsettedProperty="_VURrERE9EeGOffqMW1YiZA" association="_VUV8gBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUV8ghE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VUV8gxE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyxIaNwbEeCT5O2F6sGn5g" name="A_redefinedState_state" memberEnd="_g2CfBtwbEeCT5O2F6sGn5g _gyxIadwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyxIadwbEeCT5O2F6sGn5g" name="state" visibility="public" type="_g2Ce0NwbEeCT5O2F6sGn5g" subsettedProperty="_gywhUdwbEeCT5O2F6sGn5g" association="_gyxIaNwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyxIatwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUWjkBE9EeGOffqMW1YiZA" name="A_redefinedState_state" memberEnd="_VeR70hE9EeGOffqMW1YiZA _VUWjkRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUWjkRE9EeGOffqMW1YiZA" name="state" visibility="public" type="_VeRUkBE9EeGOffqMW1YiZA" subsettedProperty="_VURrERE9EeGOffqMW1YiZA" association="_VUWjkBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUWjkhE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyxIa9wbEeCT5O2F6sGn5g" name="A_redefinedTransition_transition" memberEnd="_g2SWg9wbEeCT5O2F6sGn5g _gyxIbNwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyxIbNwbEeCT5O2F6sGn5g" name="transition" visibility="public" type="_ykKV8PnlEdunWsS3se92JQ" subsettedProperty="_gywhUdwbEeCT5O2F6sGn5g" association="_gyxIa9wbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyxIbdwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUWjkxE9EeGOffqMW1YiZA" name="A_redefinedTransition_transition" memberEnd="_Ve9RGRE9EeGOffqMW1YiZA _VUWjlBE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUWjlBE9EeGOffqMW1YiZA" name="transition" visibility="public" type="_ykKV8PnlEdunWsS3se92JQ" subsettedProperty="_VURrERE9EeGOffqMW1YiZA" association="_VUWjkxE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUWjlRE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyxIbtwbEeCT5O2F6sGn5g" name="A_redefinitionContext_redefinableElement" isDerived="true" memberEnd="_zYrE4La-EeCRxrN1JUGuxA _gyxIb9wbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyxIb9wbEeCT5O2F6sGn5g" name="redefinableElement" visibility="public" type="_uCRA4La-EeCRxrN1JUGuxA" association="_gyxIbtwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyxIcNwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gyxIcdwbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUWjlhE9EeGOffqMW1YiZA" name="A_redefinitionContext_redefinableElement" isDerived="true" memberEnd="_zYrE4La-EeCRxrN1JUGuxA _VUWjlxE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUWjlxE9EeGOffqMW1YiZA" name="redefinableElement" visibility="public" type="_uCRA4La-EeCRxrN1JUGuxA" association="_VUWjlhE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUWjmBE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VUWjmRE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyxvcNwbEeCT5O2F6sGn5g" name="A_redefinitionContext_region" isDerived="true" memberEnd="_g18_U9wbEeCT5O2F6sGn5g _gyxvctwbEeCT5O2F6sGn5g">
-      <generalization xmi:id="_gyxvcdwbEeCT5O2F6sGn5g" general="_gyxIbtwbEeCT5O2F6sGn5g"/>
-      <ownedEnd xmi:id="_gyxvctwbEeCT5O2F6sGn5g" name="region" visibility="public" type="_g18_QNwbEeCT5O2F6sGn5g" redefinedProperty="_gyxIb9wbEeCT5O2F6sGn5g" association="_gyxvcNwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyxvc9wbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gyxvdNwbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUXKoBE9EeGOffqMW1YiZA" name="A_redefinitionContext_region" isDerived="true" memberEnd="_VeA18xE9EeGOffqMW1YiZA _VUXKohE9EeGOffqMW1YiZA">
+      <generalization xmi:id="_VUXKoRE9EeGOffqMW1YiZA" general="_VUWjlhE9EeGOffqMW1YiZA"/>
+      <ownedEnd xmi:id="_VUXKohE9EeGOffqMW1YiZA" name="region" visibility="public" type="_VeA14BE9EeGOffqMW1YiZA" redefinedProperty="_VUWjlxE9EeGOffqMW1YiZA" association="_VUXKoBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUXKoxE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VUXKpBE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyxvddwbEeCT5O2F6sGn5g" name="A_redefinitionContext_state" isDerived="true" memberEnd="_g2CfCdwbEeCT5O2F6sGn5g _gyxvd9wbEeCT5O2F6sGn5g">
-      <generalization xmi:id="_gyxvdtwbEeCT5O2F6sGn5g" general="_gyxIbtwbEeCT5O2F6sGn5g"/>
-      <ownedEnd xmi:id="_gyxvd9wbEeCT5O2F6sGn5g" name="state" visibility="public" type="_g2Ce0NwbEeCT5O2F6sGn5g" redefinedProperty="_gyxIb9wbEeCT5O2F6sGn5g" association="_gyxvddwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyxveNwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gyxvedwbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUXKpRE9EeGOffqMW1YiZA" name="A_redefinitionContext_state" isDerived="true" memberEnd="_VeR71RE9EeGOffqMW1YiZA _VUXKpxE9EeGOffqMW1YiZA">
+      <generalization xmi:id="_VUXKphE9EeGOffqMW1YiZA" general="_VUWjlhE9EeGOffqMW1YiZA"/>
+      <ownedEnd xmi:id="_VUXKpxE9EeGOffqMW1YiZA" name="state" visibility="public" type="_VeRUkBE9EeGOffqMW1YiZA" redefinedProperty="_VUWjlxE9EeGOffqMW1YiZA" association="_VUXKpRE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUXKqBE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VUXKqRE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyxvetwbEeCT5O2F6sGn5g" name="A_redefinitionContext_transition" isDerived="true" memberEnd="_g2SWhtwbEeCT5O2F6sGn5g _gyxvfNwbEeCT5O2F6sGn5g">
-      <generalization xmi:id="_gyxve9wbEeCT5O2F6sGn5g" general="_gyxIbtwbEeCT5O2F6sGn5g"/>
-      <ownedEnd xmi:id="_gyxvfNwbEeCT5O2F6sGn5g" name="transition" visibility="public" type="_ykKV8PnlEdunWsS3se92JQ" redefinedProperty="_gyxIb9wbEeCT5O2F6sGn5g" association="_gyxvetwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyxvfdwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gyxvftwbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUXxsBE9EeGOffqMW1YiZA" name="A_redefinitionContext_transition" isDerived="true" memberEnd="_Ve9RHBE9EeGOffqMW1YiZA _VUXxshE9EeGOffqMW1YiZA">
+      <generalization xmi:id="_VUXxsRE9EeGOffqMW1YiZA" general="_VUWjlhE9EeGOffqMW1YiZA"/>
+      <ownedEnd xmi:id="_VUXxshE9EeGOffqMW1YiZA" name="transition" visibility="public" type="_ykKV8PnlEdunWsS3se92JQ" redefinedProperty="_VUWjlxE9EeGOffqMW1YiZA" association="_VUXxsBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUXxsxE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VUXxtBE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyxvf9wbEeCT5O2F6sGn5g" name="A_reducer_reduceAction" memberEnd="_g17xMdwbEeCT5O2F6sGn5g _gyxvgNwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyxvgNwbEeCT5O2F6sGn5g" name="reduceAction" visibility="public" type="_g17xINwbEeCT5O2F6sGn5g" association="_gyxvf9wbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyxvgdwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gyxvgtwbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUYYwBE9EeGOffqMW1YiZA" name="A_reducer_reduceAction" memberEnd="_Vd9ylBE9EeGOffqMW1YiZA _VUYYwRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUYYwRE9EeGOffqMW1YiZA" name="reduceAction" visibility="public" type="_Vd46EBE9EeGOffqMW1YiZA" association="_VUYYwBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUYYwhE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VUYYwxE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyyWgNwbEeCT5O2F6sGn5g" name="A_referred_protocolTransition" isDerived="true" memberEnd="_g1yAINwbEeCT5O2F6sGn5g _gyyWgdwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyyWgdwbEeCT5O2F6sGn5g" name="protocolTransition" visibility="public" type="_Dtp8ULL7EeCBifIhhuFqZA" association="_gyyWgNwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyyWgtwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gyyWg9wbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUYYxBE9EeGOffqMW1YiZA" name="A_referred_protocolTransition" isDerived="true" memberEnd="_VdYjwxE9EeGOffqMW1YiZA _VUYYxRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUYYxRE9EeGOffqMW1YiZA" name="protocolTransition" visibility="public" type="_Dtp8ULL7EeCBifIhhuFqZA" association="_VUYYxBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUYYxhE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VUYYxxE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyyWhNwbEeCT5O2F6sGn5g" name="A_refersTo_interactionUse" memberEnd="_g0dxndwbEeCT5O2F6sGn5g _gyyWhdwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyyWhdwbEeCT5O2F6sGn5g" name="interactionUse" visibility="public" type="_g0dxgNwbEeCT5O2F6sGn5g" association="_gyyWhNwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyyWhtwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gyyWh9wbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUY_0BE9EeGOffqMW1YiZA" name="A_refersTo_interactionUse" memberEnd="_VZvZ_RE9EeGOffqMW1YiZA _VUY_0RE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUY_0RE9EeGOffqMW1YiZA" name="interactionUse" visibility="public" type="_VZvZ4BE9EeGOffqMW1YiZA" association="_VUY_0BE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUY_0hE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VUY_0xE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyyWiNwbEeCT5O2F6sGn5g" name="A_region_state" memberEnd="_g2CfC9wbEeCT5O2F6sGn5g _g18_VdwbEeCT5O2F6sGn5g"/>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyyWidwbEeCT5O2F6sGn5g" name="A_region_stateMachine" memberEnd="_g2EUF9wbEeCT5O2F6sGn5g _g18_WNwbEeCT5O2F6sGn5g"/>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyyWitwbEeCT5O2F6sGn5g" name="A_relatedElement_relationship" isDerived="true" memberEnd="_g18_gNwbEeCT5O2F6sGn5g _gyyWi9wbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyyWi9wbEeCT5O2F6sGn5g" name="relationship" visibility="public" type="_DH62EKPAEdqi_5gqUMOQtA" association="_gyyWitwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyyWjNwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gyyWjdwbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUY_1BE9EeGOffqMW1YiZA" name="A_region_state" memberEnd="_VeR71xE9EeGOffqMW1YiZA _VeA19RE9EeGOffqMW1YiZA"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUY_1RE9EeGOffqMW1YiZA" name="A_region_stateMachine" memberEnd="_VeWNJxE9EeGOffqMW1YiZA _VeA1-BE9EeGOffqMW1YiZA"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUZm4BE9EeGOffqMW1YiZA" name="A_relatedElement_relationship" isDerived="true" memberEnd="_VeBc8hE9EeGOffqMW1YiZA _VUZm4RE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUZm4RE9EeGOffqMW1YiZA" name="relationship" visibility="public" type="_DH62EKPAEdqi_5gqUMOQtA" association="_VUZm4BE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUZm4hE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VUZm4xE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyy9kNwbEeCT5O2F6sGn5g" name="A_removeAt_removeStructuralFeatureValueAction" memberEnd="_g19mWdwbEeCT5O2F6sGn5g _gyy9kdwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyy9kdwbEeCT5O2F6sGn5g" name="removeStructuralFeatureValueAction" visibility="public" type="_g19mUNwbEeCT5O2F6sGn5g" subsettedProperty="_gygpt9wbEeCT5O2F6sGn5g" association="_gyy9kNwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyy9ktwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUZm5BE9EeGOffqMW1YiZA" name="A_removeAt_removeStructuralFeatureValueAction" memberEnd="_VeCECRE9EeGOffqMW1YiZA _VUZm5RE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUZm5RE9EeGOffqMW1YiZA" name="removeStructuralFeatureValueAction" visibility="public" type="_VeCEABE9EeGOffqMW1YiZA" subsettedProperty="_VTqnERE9EeGOffqMW1YiZA" association="_VUZm5BE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUZm5hE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyy9k9wbEeCT5O2F6sGn5g" name="A_removeAt_removeVariableValueAction" memberEnd="_g1-NZ9wbEeCT5O2F6sGn5g _gyy9lNwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyy9lNwbEeCT5O2F6sGn5g" name="removeVariableValueAction" visibility="public" type="_g19mXNwbEeCT5O2F6sGn5g" subsettedProperty="_gygpt9wbEeCT5O2F6sGn5g" association="_gyy9k9wbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyy9ldwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUZm5xE9EeGOffqMW1YiZA" name="A_removeAt_removeVariableValueAction" memberEnd="_VeCrGRE9EeGOffqMW1YiZA _VUZm6BE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUZm6BE9EeGOffqMW1YiZA" name="removeVariableValueAction" visibility="public" type="_VeCrEBE9EeGOffqMW1YiZA" subsettedProperty="_VTqnERE9EeGOffqMW1YiZA" association="_VUZm5xE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUZm6RE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyy9ltwbEeCT5O2F6sGn5g" name="A_replyToCall_replyAction" memberEnd="_g1-Nc9wbEeCT5O2F6sGn5g _gyy9l9wbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyy9l9wbEeCT5O2F6sGn5g" name="replyAction" visibility="public" type="_g1-NatwbEeCT5O2F6sGn5g" association="_gyy9ltwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyy9mNwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUaN8BE9EeGOffqMW1YiZA" name="A_replyToCall_replyAction" memberEnd="_VeDSKRE9EeGOffqMW1YiZA _VUaN8RE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUaN8RE9EeGOffqMW1YiZA" name="replyAction" visibility="public" type="_VeDSIBE9EeGOffqMW1YiZA" association="_VUaN8BE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUaN8hE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyy9mdwbEeCT5O2F6sGn5g" name="A_replyValue_replyAction" memberEnd="_g1-NddwbEeCT5O2F6sGn5g _gyy9mtwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyy9mtwbEeCT5O2F6sGn5g" name="replyAction" visibility="public" type="_g1-NatwbEeCT5O2F6sGn5g" subsettedProperty="_gygpt9wbEeCT5O2F6sGn5g" association="_gyy9mdwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyy9m9wbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUaN8xE9EeGOffqMW1YiZA" name="A_replyValue_replyAction" memberEnd="_VeDSKxE9EeGOffqMW1YiZA _VUaN9BE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUaN9BE9EeGOffqMW1YiZA" name="replyAction" visibility="public" type="_VeDSIBE9EeGOffqMW1YiZA" subsettedProperty="_VTqnERE9EeGOffqMW1YiZA" association="_VUaN8xE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUaN9RE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyy9nNwbEeCT5O2F6sGn5g" name="A_representation_classifier" memberEnd="_gzvYzNwbEeCT5O2F6sGn5g _gyy9ntwbEeCT5O2F6sGn5g">
-      <generalization xmi:id="_gyy9ndwbEeCT5O2F6sGn5g" general="_gyVDjNwbEeCT5O2F6sGn5g"/>
-      <ownedEnd xmi:id="_gyy9ntwbEeCT5O2F6sGn5g" name="classifier" visibility="public" type="_6UV2QGwJEdq7X4sGURiZYA" redefinedProperty="_gyVDjdwbEeCT5O2F6sGn5g" association="_gyy9nNwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyy9n9wbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUa1ABE9EeGOffqMW1YiZA" name="A_representation_classifier" memberEnd="_VXuApBE9EeGOffqMW1YiZA _VUa1AhE9EeGOffqMW1YiZA">
+      <generalization xmi:id="_VUa1ARE9EeGOffqMW1YiZA" general="_VTExNRE9EeGOffqMW1YiZA"/>
+      <ownedEnd xmi:id="_VUa1AhE9EeGOffqMW1YiZA" name="classifier" visibility="public" type="_6UV2QGwJEdq7X4sGURiZYA" redefinedProperty="_VTExNhE9EeGOffqMW1YiZA" association="_VUa1ABE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUa1AxE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyzkoNwbEeCT5O2F6sGn5g" name="A_represented_representation" memberEnd="_g0ZgIdwbEeCT5O2F6sGn5g _gyzkodwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyzkodwbEeCT5O2F6sGn5g" name="representation" visibility="public" type="_g0ZgFdwbEeCT5O2F6sGn5g" association="_gyzkoNwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyzkotwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gyzko9wbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUa1BBE9EeGOffqMW1YiZA" name="A_represented_representation" memberEnd="_VZpTTBE9EeGOffqMW1YiZA _VUa1BRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUa1BRE9EeGOffqMW1YiZA" name="representation" visibility="public" type="_VZpTQBE9EeGOffqMW1YiZA" association="_VUa1BBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUa1BhE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VUa1BxE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyzkpNwbEeCT5O2F6sGn5g" name="A_represents_activityPartition" memberEnd="_gzcd7dwbEeCT5O2F6sGn5g _gyzkpdwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gyzkpdwbEeCT5O2F6sGn5g" name="activityPartition" visibility="public" type="_gzcd0NwbEeCT5O2F6sGn5g" association="_gyzkpNwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyzkptwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gyzkp9wbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUa1CBE9EeGOffqMW1YiZA" name="A_represents_activityPartition" memberEnd="_VVkrlBE9EeGOffqMW1YiZA _VUa1CRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUa1CRE9EeGOffqMW1YiZA" name="activityPartition" visibility="public" type="_MIhqsAs-EeGcpbeCPJfCmw" association="_VUa1CBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUa1ChE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VUa1CxE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyzkqNwbEeCT5O2F6sGn5g" name="A_represents_lifeline" memberEnd="_g0hb9dwbEeCT5O2F6sGn5g _gyzkqtwbEeCT5O2F6sGn5g">
-      <ownedComment xmi:id="_gyzkqdwbEeCT5O2F6sGn5g" annotatedElement="_gyzkqNwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUbcEBE9EeGOffqMW1YiZA" name="A_represents_lifeline" memberEnd="_VZ0SdRE9EeGOffqMW1YiZA _VUbcEhE9EeGOffqMW1YiZA">
+      <ownedComment xmi:id="_VUbcERE9EeGOffqMW1YiZA" annotatedElement="_VUbcEBE9EeGOffqMW1YiZA">
         <body>If a Part has multiplicity, multiple lifelines might be used to show it.</body>
       </ownedComment>
-      <ownedEnd xmi:id="_gyzkqtwbEeCT5O2F6sGn5g" name="lifeline" visibility="public" type="_g0hb4NwbEeCT5O2F6sGn5g" association="_gyzkqNwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyzkq9wbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gyzkrNwbEeCT5O2F6sGn5g" value="*"/>
+      <ownedEnd xmi:id="_VUbcEhE9EeGOffqMW1YiZA" name="lifeline" visibility="public" type="_VZ0SYBE9EeGOffqMW1YiZA" association="_VUbcEBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUbcExE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VUbcFBE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gyzkrdwbEeCT5O2F6sGn5g" name="A_request_sendObjectAction" memberEnd="_g1-0c9wbEeCT5O2F6sGn5g _gyzkr9wbEeCT5O2F6sGn5g">
-      <generalization xmi:id="_gyzkrtwbEeCT5O2F6sGn5g" general="_gySnRtwbEeCT5O2F6sGn5g"/>
-      <ownedEnd xmi:id="_gyzkr9wbEeCT5O2F6sGn5g" name="sendObjectAction" visibility="public" type="_g1-0cNwbEeCT5O2F6sGn5g" redefinedProperty="_gySnR9wbEeCT5O2F6sGn5g" association="_gyzkrdwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gyzksNwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUbcFRE9EeGOffqMW1YiZA" name="A_request_sendObjectAction" memberEnd="_VeD5MxE9EeGOffqMW1YiZA _VUbcFxE9EeGOffqMW1YiZA">
+      <generalization xmi:id="_VUbcFhE9EeGOffqMW1YiZA" general="_VS-DgxE9EeGOffqMW1YiZA"/>
+      <ownedEnd xmi:id="_VUbcFxE9EeGOffqMW1YiZA" name="sendObjectAction" visibility="public" type="_VeD5MBE9EeGOffqMW1YiZA" redefinedProperty="_VS-DhBE9EeGOffqMW1YiZA" association="_VUbcFRE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUbcGBE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gy0LsNwbEeCT5O2F6sGn5g" name="A_required_component" isDerived="true" memberEnd="_gz5JwNwbEeCT5O2F6sGn5g _gy0LsdwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gy0LsdwbEeCT5O2F6sGn5g" name="component" visibility="public" type="_DAbfwa69EdqjppZik4kD8A" association="_gy0LsNwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gy0LstwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gy0Ls9wbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUcDIBE9EeGOffqMW1YiZA" name="A_required_component" isDerived="true" memberEnd="_VYA7kBE9EeGOffqMW1YiZA _VUcDIRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUcDIRE9EeGOffqMW1YiZA" name="component" visibility="public" type="_DAbfwa69EdqjppZik4kD8A" association="_VUcDIBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUcDIhE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VUcDIxE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gy0LtNwbEeCT5O2F6sGn5g" name="A_required_port" isDerived="true" memberEnd="_g1pdSNwbEeCT5O2F6sGn5g _gy0LtdwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gy0LtdwbEeCT5O2F6sGn5g" name="port" visibility="public" type="_ZAuvEGveEdq4DLWZOhbdEA" association="_gy0LtNwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gy0LttwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gy0Lt9wbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUcDJBE9EeGOffqMW1YiZA" name="A_required_port" isDerived="true" memberEnd="_Vc-7IBE9EeGOffqMW1YiZA _VUcDJRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUcDJRE9EeGOffqMW1YiZA" name="port" visibility="public" type="_ZAuvEGveEdq4DLWZOhbdEA" association="_VUcDJBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUcDJhE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VUcDJxE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gy0LuNwbEeCT5O2F6sGn5g" name="A_result_acceptEventAction" memberEnd="_gzBnItwbEeCT5O2F6sGn5g _gy0LudwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gy0LudwbEeCT5O2F6sGn5g" name="acceptEventAction" visibility="public" type="_gzBnENwbEeCT5O2F6sGn5g" subsettedProperty="_gyn-dNwbEeCT5O2F6sGn5g" association="_gy0LuNwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gy0LutwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUcDKBE9EeGOffqMW1YiZA" name="A_result_acceptEventAction" memberEnd="_VU258hE9EeGOffqMW1YiZA _VUcDKRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUcDKRE9EeGOffqMW1YiZA" name="acceptEventAction" visibility="public" type="_VU254BE9EeGOffqMW1YiZA" subsettedProperty="_VT-JFBE9EeGOffqMW1YiZA" association="_VUcDKBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUcDKhE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gy0Lu9wbEeCT5O2F6sGn5g" name="A_result_callAction" memberEnd="_gzmO39wbEeCT5O2F6sGn5g _gy0LvNwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gy0LvNwbEeCT5O2F6sGn5g" name="callAction" visibility="public" type="_gzmO0NwbEeCT5O2F6sGn5g" subsettedProperty="_gyn-dNwbEeCT5O2F6sGn5g" association="_gy0Lu9wbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gy0LvdwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUcqMBE9EeGOffqMW1YiZA" name="A_result_callAction" memberEnd="_VWTEXxE9EeGOffqMW1YiZA _VUcqMRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUcqMRE9EeGOffqMW1YiZA" name="callAction" visibility="public" type="_VWTEUBE9EeGOffqMW1YiZA" subsettedProperty="_VT-JFBE9EeGOffqMW1YiZA" association="_VUcqMBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUcqMhE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gy0LvtwbEeCT5O2F6sGn5g" name="A_result_clearStructuralFeatureAction" memberEnd="_gz2GeNwbEeCT5O2F6sGn5g _gy0Lv9wbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gy0Lv9wbEeCT5O2F6sGn5g" name="clearStructuralFeatureAction" visibility="public" type="_gz1fYNwbEeCT5O2F6sGn5g" subsettedProperty="_gyn-dNwbEeCT5O2F6sGn5g" association="_gy0LvtwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gy0LwNwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUcqMxE9EeGOffqMW1YiZA" name="A_result_clearStructuralFeatureAction" memberEnd="_VX5m2RE9EeGOffqMW1YiZA _VUcqNBE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUcqNBE9EeGOffqMW1YiZA" name="clearStructuralFeatureAction" visibility="public" type="_VX5m0BE9EeGOffqMW1YiZA" subsettedProperty="_VT-JFBE9EeGOffqMW1YiZA" association="_VUcqMxE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUcqNRE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gy0ywNwbEeCT5O2F6sGn5g" name="A_result_conditionalNode" memberEnd="_gz7mHtwbEeCT5O2F6sGn5g _gy0ywdwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gy0ywdwbEeCT5O2F6sGn5g" name="conditionalNode" visibility="public" type="_gz7mANwbEeCT5O2F6sGn5g" subsettedProperty="_gy65cNwbEeCT5O2F6sGn5g" association="_gy0ywNwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gy0ywtwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUcqNhE9EeGOffqMW1YiZA" name="A_result_conditionalNode" memberEnd="_VYGbPhE9EeGOffqMW1YiZA _VUcqNxE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUcqNxE9EeGOffqMW1YiZA" name="conditionalNode" visibility="public" type="_VYGbIBE9EeGOffqMW1YiZA" subsettedProperty="_VUnCRBE9EeGOffqMW1YiZA" association="_VUcqNhE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUcqOBE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gy0yw9wbEeCT5O2F6sGn5g" name="A_result_createLinkObjectAction" memberEnd="_g0BssNwbEeCT5O2F6sGn5g _gy0yxNwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gy0yxNwbEeCT5O2F6sGn5g" name="createLinkObjectAction" visibility="public" type="_g0BspNwbEeCT5O2F6sGn5g" subsettedProperty="_gyn-dNwbEeCT5O2F6sGn5g" association="_gy0yw9wbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gy0yxdwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUdRQBE9EeGOffqMW1YiZA" name="A_result_createLinkObjectAction" memberEnd="_VYgDzBE9EeGOffqMW1YiZA _VUdRQRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUdRQRE9EeGOffqMW1YiZA" name="createLinkObjectAction" visibility="public" type="_VYgDwBE9EeGOffqMW1YiZA" subsettedProperty="_VT-JFBE9EeGOffqMW1YiZA" association="_VUdRQBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUdRQhE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gy0yxtwbEeCT5O2F6sGn5g" name="A_result_createObjectAction" memberEnd="_g0CTwdwbEeCT5O2F6sGn5g _gy0yx9wbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gy0yx9wbEeCT5O2F6sGn5g" name="createObjectAction" visibility="public" type="_g0CTsNwbEeCT5O2F6sGn5g" subsettedProperty="_gyn-dNwbEeCT5O2F6sGn5g" association="_gy0yxtwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gy0yyNwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUdRQxE9EeGOffqMW1YiZA" name="A_result_createObjectAction" memberEnd="_VYgq4RE9EeGOffqMW1YiZA _VUdRRBE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUdRRBE9EeGOffqMW1YiZA" name="createObjectAction" visibility="public" type="_VYgq0BE9EeGOffqMW1YiZA" subsettedProperty="_VT-JFBE9EeGOffqMW1YiZA" association="_VUdRQxE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUdRRRE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gy0yydwbEeCT5O2F6sGn5g" name="A_result_loopNode" memberEnd="_g1JuJNwbEeCT5O2F6sGn5g _gy0yytwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gy0yytwbEeCT5O2F6sGn5g" name="loopNode" visibility="public" type="_g1JuANwbEeCT5O2F6sGn5g" subsettedProperty="_gy65cNwbEeCT5O2F6sGn5g" association="_gy0yydwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gy0yy9wbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUdRRhE9EeGOffqMW1YiZA" name="A_result_loopNode" memberEnd="_VZ_RpBE9EeGOffqMW1YiZA _VUdRRxE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUdRRxE9EeGOffqMW1YiZA" name="loopNode" visibility="public" type="_VZ_RgBE9EeGOffqMW1YiZA" subsettedProperty="_VUnCRBE9EeGOffqMW1YiZA" association="_VUdRRhE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUdRSBE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gy0yzNwbEeCT5O2F6sGn5g" name="A_result_opaqueExpression" isDerived="true" memberEnd="_g1azwNwbEeCT5O2F6sGn5g _gy0yzdwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gy0yzdwbEeCT5O2F6sGn5g" name="opaqueExpression" visibility="public" type="_ChRfcGveEdq4DLWZOhbdEA" association="_gy0yzNwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gy0yztwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gy0yz9wbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUd4UBE9EeGOffqMW1YiZA" name="A_result_opaqueExpression" isDerived="true" memberEnd="_VboQQBE9EeGOffqMW1YiZA _VUd4URE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUd4URE9EeGOffqMW1YiZA" name="opaqueExpression" visibility="public" type="_ChRfcGveEdq4DLWZOhbdEA" association="_VUd4UBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUd4UhE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VUd4UxE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gy1Z0NwbEeCT5O2F6sGn5g" name="A_result_readExtentAction" memberEnd="_g1z1YNwbEeCT5O2F6sGn5g _gy1Z0dwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gy1Z0dwbEeCT5O2F6sGn5g" name="readExtentAction" visibility="public" type="_g1z1VdwbEeCT5O2F6sGn5g" subsettedProperty="_gyn-dNwbEeCT5O2F6sGn5g" association="_gy1Z0NwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gy1Z0twbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUd4VBE9EeGOffqMW1YiZA" name="A_result_readExtentAction" memberEnd="_VdcOKxE9EeGOffqMW1YiZA _VUd4VRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUd4VRE9EeGOffqMW1YiZA" name="readExtentAction" visibility="public" type="_VdcOIBE9EeGOffqMW1YiZA" subsettedProperty="_VT-JFBE9EeGOffqMW1YiZA" association="_VUd4VBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUd4VhE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gy1Z09wbEeCT5O2F6sGn5g" name="A_result_readIsClassifiedObjectAction" memberEnd="_g10cdtwbEeCT5O2F6sGn5g _gy1Z1NwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gy1Z1NwbEeCT5O2F6sGn5g" name="readIsClassifiedObjectAction" visibility="public" type="_g10cYNwbEeCT5O2F6sGn5g" subsettedProperty="_gyn-dNwbEeCT5O2F6sGn5g" association="_gy1Z09wbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gy1Z1dwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUd4VxE9EeGOffqMW1YiZA" name="A_result_readIsClassifiedObjectAction" memberEnd="_Vdc1RhE9EeGOffqMW1YiZA _VUd4WBE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUd4WBE9EeGOffqMW1YiZA" name="readIsClassifiedObjectAction" visibility="public" type="_Vdc1MBE9EeGOffqMW1YiZA" subsettedProperty="_VT-JFBE9EeGOffqMW1YiZA" association="_VUd4VxE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUd4WRE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gy1Z1twbEeCT5O2F6sGn5g" name="A_result_readLinkAction" memberEnd="_g11DgtwbEeCT5O2F6sGn5g _gy1Z19wbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gy1Z19wbEeCT5O2F6sGn5g" name="readLinkAction" visibility="public" type="_g11DcNwbEeCT5O2F6sGn5g" subsettedProperty="_gyn-dNwbEeCT5O2F6sGn5g" association="_gy1Z1twbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gy1Z2NwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUefYBE9EeGOffqMW1YiZA" name="A_result_readLinkAction" memberEnd="_VdeDYhE9EeGOffqMW1YiZA _VUefYRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUefYRE9EeGOffqMW1YiZA" name="readLinkAction" visibility="public" type="_VdeDUBE9EeGOffqMW1YiZA" subsettedProperty="_VT-JFBE9EeGOffqMW1YiZA" association="_VUefYBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUefYhE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gy1Z2dwbEeCT5O2F6sGn5g" name="A_result_readLinkObjectEndAction" memberEnd="_g11qnNwbEeCT5O2F6sGn5g _gy1Z2twbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gy1Z2twbEeCT5O2F6sGn5g" name="readLinkObjectEndAction" visibility="public" type="_g11qgNwbEeCT5O2F6sGn5g" subsettedProperty="_gyn-dNwbEeCT5O2F6sGn5g" association="_gy1Z2dwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gy1Z29wbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUefYxE9EeGOffqMW1YiZA" name="A_result_readLinkObjectEndAction" memberEnd="_VdfRjBE9EeGOffqMW1YiZA _VUefZBE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUefZBE9EeGOffqMW1YiZA" name="readLinkObjectEndAction" visibility="public" type="_VdfRcBE9EeGOffqMW1YiZA" subsettedProperty="_VT-JFBE9EeGOffqMW1YiZA" association="_VUefYxE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUefZRE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gy1Z3NwbEeCT5O2F6sGn5g" name="A_result_readLinkObjectEndQualifierAction" memberEnd="_g12Rr9wbEeCT5O2F6sGn5g _gy1Z3dwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gy1Z3dwbEeCT5O2F6sGn5g" name="readLinkObjectEndQualifierAction" visibility="public" type="_g12RkNwbEeCT5O2F6sGn5g" subsettedProperty="_gyn-dNwbEeCT5O2F6sGn5g" association="_gy1Z3NwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gy1Z3twbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUefZhE9EeGOffqMW1YiZA" name="A_result_readLinkObjectEndQualifierAction" memberEnd="_VdgfrxE9EeGOffqMW1YiZA _VUefZxE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUefZxE9EeGOffqMW1YiZA" name="readLinkObjectEndQualifierAction" visibility="public" type="_VdgfkBE9EeGOffqMW1YiZA" subsettedProperty="_VT-JFBE9EeGOffqMW1YiZA" association="_VUefZhE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUefaBE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gy2A4NwbEeCT5O2F6sGn5g" name="A_result_readSelfAction" memberEnd="_g124r9wbEeCT5O2F6sGn5g _gy2A4dwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gy2A4dwbEeCT5O2F6sGn5g" name="readSelfAction" visibility="public" type="_g124oNwbEeCT5O2F6sGn5g" subsettedProperty="_gyn-dNwbEeCT5O2F6sGn5g" association="_gy2A4NwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gy2A4twbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUfGcBE9EeGOffqMW1YiZA" name="A_result_readSelfAction" memberEnd="_VdhGrxE9EeGOffqMW1YiZA _VUfGcRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUfGcRE9EeGOffqMW1YiZA" name="readSelfAction" visibility="public" type="_VdhGoBE9EeGOffqMW1YiZA" subsettedProperty="_VT-JFBE9EeGOffqMW1YiZA" association="_VUfGcBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUfGchE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gy2A49wbEeCT5O2F6sGn5g" name="A_result_readStructuralFeatureAction" memberEnd="_g13fudwbEeCT5O2F6sGn5g _gy2A5NwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gy2A5NwbEeCT5O2F6sGn5g" name="readStructuralFeatureAction" visibility="public" type="_g13fsNwbEeCT5O2F6sGn5g" subsettedProperty="_gyn-dNwbEeCT5O2F6sGn5g" association="_gy2A49wbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gy2A5dwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUfGcxE9EeGOffqMW1YiZA" name="A_result_readStructuralFeatureAction" memberEnd="_VdiUwBE9EeGOffqMW1YiZA _VUfGdBE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUfGdBE9EeGOffqMW1YiZA" name="readStructuralFeatureAction" visibility="public" type="_VdhtsBE9EeGOffqMW1YiZA" subsettedProperty="_VT-JFBE9EeGOffqMW1YiZA" association="_VUfGcxE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUfGdRE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gy2A5twbEeCT5O2F6sGn5g" name="A_result_readVariableAction" memberEnd="_g14GxdwbEeCT5O2F6sGn5g _gy2A59wbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gy2A59wbEeCT5O2F6sGn5g" name="readVariableAction" visibility="public" type="_g13fu9wbEeCT5O2F6sGn5g" subsettedProperty="_gyn-dNwbEeCT5O2F6sGn5g" association="_gy2A5twbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gy2A6NwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUfGdhE9EeGOffqMW1YiZA" name="A_result_readVariableAction" memberEnd="_Vdi72RE9EeGOffqMW1YiZA _VUfGdxE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUfGdxE9EeGOffqMW1YiZA" name="readVariableAction" visibility="public" type="_Vdi70BE9EeGOffqMW1YiZA" subsettedProperty="_VT-JFBE9EeGOffqMW1YiZA" association="_VUfGdhE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUfGeBE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gy2A6dwbEeCT5O2F6sGn5g" name="A_result_reduceAction" memberEnd="_g17xM9wbEeCT5O2F6sGn5g _gy2A6twbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gy2A6twbEeCT5O2F6sGn5g" name="reduceAction" visibility="public" type="_g17xINwbEeCT5O2F6sGn5g" subsettedProperty="_gyn-dNwbEeCT5O2F6sGn5g" association="_gy2A6dwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gy2A69wbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUftgBE9EeGOffqMW1YiZA" name="A_result_reduceAction" memberEnd="_Vd9ylhE9EeGOffqMW1YiZA _VUftgRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUftgRE9EeGOffqMW1YiZA" name="reduceAction" visibility="public" type="_Vd46EBE9EeGOffqMW1YiZA" subsettedProperty="_VT-JFBE9EeGOffqMW1YiZA" association="_VUftgBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUftghE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gy2A7NwbEeCT5O2F6sGn5g" name="A_result_testIdentityAction" memberEnd="_g2P6PtwbEeCT5O2F6sGn5g _gy2A7dwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gy2A7dwbEeCT5O2F6sGn5g" name="testIdentityAction" visibility="public" type="_g2P6MNwbEeCT5O2F6sGn5g" subsettedProperty="_gyn-dNwbEeCT5O2F6sGn5g" association="_gy2A7NwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gy2A7twbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUftgxE9EeGOffqMW1YiZA" name="A_result_testIdentityAction" memberEnd="_VeunnhE9EeGOffqMW1YiZA _VUfthBE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUfthBE9EeGOffqMW1YiZA" name="testIdentityAction" visibility="public" type="_VeunkBE9EeGOffqMW1YiZA" subsettedProperty="_VT-JFBE9EeGOffqMW1YiZA" association="_VUftgxE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUfthRE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gy2A79wbEeCT5O2F6sGn5g" name="A_result_unmarshallAction" memberEnd="_g2VZ2twbEeCT5O2F6sGn5g _gy2n8NwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gy2n8NwbEeCT5O2F6sGn5g" name="unmarshallAction" visibility="public" type="_g2VZwNwbEeCT5O2F6sGn5g" subsettedProperty="_gyn-dNwbEeCT5O2F6sGn5g" association="_gy2A79wbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gy2n8dwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUfthhE9EeGOffqMW1YiZA" name="A_result_unmarshallAction" memberEnd="_VfD-2hE9EeGOffqMW1YiZA _VUfthxE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUfthxE9EeGOffqMW1YiZA" name="unmarshallAction" visibility="public" type="_VfD-wBE9EeGOffqMW1YiZA" subsettedProperty="_VT-JFBE9EeGOffqMW1YiZA" association="_VUfthhE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUftiBE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gy2n8twbEeCT5O2F6sGn5g" name="A_result_valueSpecificationAction" memberEnd="_g2ZEKdwbEeCT5O2F6sGn5g _gy2n89wbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gy2n89wbEeCT5O2F6sGn5g" name="valueSpecificationAction" visibility="public" type="_g2ZEINwbEeCT5O2F6sGn5g" subsettedProperty="_gyn-dNwbEeCT5O2F6sGn5g" association="_gy2n8twbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gy2n9NwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUftiRE9EeGOffqMW1YiZA" name="A_result_valueSpecificationAction" memberEnd="_VfHpKRE9EeGOffqMW1YiZA _VUftihE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUftihE9EeGOffqMW1YiZA" name="valueSpecificationAction" visibility="public" type="_VfHpIBE9EeGOffqMW1YiZA" subsettedProperty="_VT-JFBE9EeGOffqMW1YiZA" association="_VUftiRE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUftixE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gy2n9dwbEeCT5O2F6sGn5g" name="A_result_writeStructuralFeatureAction" memberEnd="_g2bgb9wbEeCT5O2F6sGn5g _gy2n9twbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gy2n9twbEeCT5O2F6sGn5g" name="writeStructuralFeatureAction" visibility="public" type="_g2bgYNwbEeCT5O2F6sGn5g" subsettedProperty="_gyn-dNwbEeCT5O2F6sGn5g" association="_gy2n9dwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gy2n99wbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUgUkBE9EeGOffqMW1YiZA" name="A_result_writeStructuralFeatureAction" memberEnd="_VfKsfxE9EeGOffqMW1YiZA _VUgUkRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUgUkRE9EeGOffqMW1YiZA" name="writeStructuralFeatureAction" visibility="public" type="_VfKscBE9EeGOffqMW1YiZA" subsettedProperty="_VT-JFBE9EeGOffqMW1YiZA" association="_VUgUkBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUgUkhE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gy2n-NwbEeCT5O2F6sGn5g" name="A_returnInformation_acceptCallAction" memberEnd="_gzBADNwbEeCT5O2F6sGn5g _gy2n-dwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gy2n-dwbEeCT5O2F6sGn5g" name="acceptCallAction" visibility="public" type="_gzBAANwbEeCT5O2F6sGn5g" subsettedProperty="_gyn-dNwbEeCT5O2F6sGn5g" association="_gy2n-NwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gy2n-twbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUgUkxE9EeGOffqMW1YiZA" name="A_returnInformation_acceptCallAction" memberEnd="_VU1rzBE9EeGOffqMW1YiZA _VUgUlBE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUgUlBE9EeGOffqMW1YiZA" name="acceptCallAction" visibility="public" type="_VU1rwBE9EeGOffqMW1YiZA" subsettedProperty="_VT-JFBE9EeGOffqMW1YiZA" association="_VUgUkxE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUgUlRE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gy3PANwbEeCT5O2F6sGn5g" name="A_returnInformation_replyAction" memberEnd="_g1-NedwbEeCT5O2F6sGn5g _gy3PAdwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gy3PAdwbEeCT5O2F6sGn5g" name="replyAction" visibility="public" type="_g1-NatwbEeCT5O2F6sGn5g" subsettedProperty="_gygpt9wbEeCT5O2F6sGn5g" association="_gy3PANwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gy3PAtwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUg7oBE9EeGOffqMW1YiZA" name="A_returnInformation_replyAction" memberEnd="_VeDSLxE9EeGOffqMW1YiZA _VUg7oRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUg7oRE9EeGOffqMW1YiZA" name="replyAction" visibility="public" type="_VeDSIBE9EeGOffqMW1YiZA" subsettedProperty="_VTqnERE9EeGOffqMW1YiZA" association="_VUg7oBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUg7ohE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gy3PA9wbEeCT5O2F6sGn5g" name="A_returnValueRecipient_interactionUse" memberEnd="_g0dxotwbEeCT5O2F6sGn5g _gy3PBNwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gy3PBNwbEeCT5O2F6sGn5g" name="interactionUse" visibility="public" type="_g0dxgNwbEeCT5O2F6sGn5g" association="_gy3PA9wbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gy3PBdwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gy3PBtwbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUg7oxE9EeGOffqMW1YiZA" name="A_returnValueRecipient_interactionUse" memberEnd="_VZvaAhE9EeGOffqMW1YiZA _VUg7pBE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUg7pBE9EeGOffqMW1YiZA" name="interactionUse" visibility="public" type="_VZvZ4BE9EeGOffqMW1YiZA" association="_VUg7oxE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUg7pRE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VUg7phE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gy32ENwbEeCT5O2F6sGn5g" name="A_returnValue_interactionUse" memberEnd="_g0dxn9wbEeCT5O2F6sGn5g _gy32EdwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gy32EdwbEeCT5O2F6sGn5g" name="interactionUse" visibility="public" type="_g0dxgNwbEeCT5O2F6sGn5g" subsettedProperty="_g0JodNwbEeCT5O2F6sGn5g" association="_gy32ENwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gy32EtwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUg7pxE9EeGOffqMW1YiZA" name="A_returnValue_interactionUse" memberEnd="_VZvZ_xE9EeGOffqMW1YiZA _VUg7qBE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUg7qBE9EeGOffqMW1YiZA" name="interactionUse" visibility="public" type="_VZvZ4BE9EeGOffqMW1YiZA" subsettedProperty="_N3hRMAtAEeGcpbeCPJfCmw" association="_VUg7pxE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUg7qRE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gy32E9wbEeCT5O2F6sGn5g" name="A_roleBinding_collaborationUse" memberEnd="_gz2tjNwbEeCT5O2F6sGn5g _gy32FNwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gy32FNwbEeCT5O2F6sGn5g" name="collaborationUse" visibility="public" type="_gz2tgNwbEeCT5O2F6sGn5g" subsettedProperty="_g0JodNwbEeCT5O2F6sGn5g" association="_gy32E9wbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gy32FdwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUhisBE9EeGOffqMW1YiZA" name="A_roleBinding_collaborationUse" memberEnd="_VX7cDBE9EeGOffqMW1YiZA _VUhisRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUhisRE9EeGOffqMW1YiZA" name="collaborationUse" visibility="public" type="_VX7cABE9EeGOffqMW1YiZA" subsettedProperty="_N3hRMAtAEeGcpbeCPJfCmw" association="_VUhisBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUhishE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gy32FtwbEeCT5O2F6sGn5g" name="A_role_structuredClassifier" isDerived="true" memberEnd="_g2JMkdwbEeCT5O2F6sGn5g _gy32F9wbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gy32F9wbEeCT5O2F6sGn5g" name="structuredClassifier" visibility="public" type="_FQiVsGwYEdqHKKVoxc0dlA" subsettedProperty="_gyjF9NwbEeCT5O2F6sGn5g" association="_gy32FtwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gy32GNwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gy32GdwbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUhisxE9EeGOffqMW1YiZA" name="A_role_structuredClassifier" isDerived="true" memberEnd="_VekPgBE9EeGOffqMW1YiZA _VUhitBE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUhitBE9EeGOffqMW1YiZA" name="structuredClassifier" visibility="public" type="_FQiVsGwYEdqHKKVoxc0dlA" subsettedProperty="_VTwttRE9EeGOffqMW1YiZA" association="_VUhisxE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUhitRE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VUhithE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gy32GtwbEeCT5O2F6sGn5g" name="A_second_testIdentityAction" memberEnd="_g2P6QNwbEeCT5O2F6sGn5g _gy32G9wbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gy32G9wbEeCT5O2F6sGn5g" name="testIdentityAction" visibility="public" type="_g2P6MNwbEeCT5O2F6sGn5g" subsettedProperty="_gygpt9wbEeCT5O2F6sGn5g" association="_gy32GtwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gy32HNwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUhitxE9EeGOffqMW1YiZA" name="A_second_testIdentityAction" memberEnd="_VeunoBE9EeGOffqMW1YiZA _VUhiuBE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUhiuBE9EeGOffqMW1YiZA" name="testIdentityAction" visibility="public" type="_VeunkBE9EeGOffqMW1YiZA" subsettedProperty="_VTqnERE9EeGOffqMW1YiZA" association="_VUhitxE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUhiuRE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gy4dINwbEeCT5O2F6sGn5g" name="A_selection_objectFlow" memberEnd="_g1WictwbEeCT5O2F6sGn5g _gy4dIdwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gy4dIdwbEeCT5O2F6sGn5g" name="objectFlow" visibility="public" type="_g1WiUNwbEeCT5O2F6sGn5g" association="_gy4dINwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gy4dItwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gy4dI9wbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUiJwBE9EeGOffqMW1YiZA" name="A_selection_objectFlow" memberEnd="_VbVVchE9EeGOffqMW1YiZA _VUiJwRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUiJwRE9EeGOffqMW1YiZA" name="objectFlow" visibility="public" type="_VbVVUBE9EeGOffqMW1YiZA" association="_VUiJwBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUiJwhE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VUiJwxE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gy4dJNwbEeCT5O2F6sGn5g" name="A_selection_objectNode" memberEnd="_g1XJeNwbEeCT5O2F6sGn5g _gy4dJdwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gy4dJdwbEeCT5O2F6sGn5g" name="objectNode" visibility="public" type="_g1XJYNwbEeCT5O2F6sGn5g" association="_gy4dJNwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gy4dJtwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gy4dJ9wbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUiJxBE9EeGOffqMW1YiZA" name="A_selection_objectNode" memberEnd="_VbcDGBE9EeGOffqMW1YiZA _VUiJxRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUiJxRE9EeGOffqMW1YiZA" name="objectNode" visibility="public" type="_VbcDABE9EeGOffqMW1YiZA" association="_VUiJxBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUiJxhE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VUiJxxE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gy4dKNwbEeCT5O2F6sGn5g" name="A_selector_lifeline" memberEnd="_g0hb-NwbEeCT5O2F6sGn5g _gy4dKdwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gy4dKdwbEeCT5O2F6sGn5g" name="lifeline" visibility="public" type="_g0hb4NwbEeCT5O2F6sGn5g" subsettedProperty="_g0JodNwbEeCT5O2F6sGn5g" association="_gy4dKNwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gy4dKtwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUiw0BE9EeGOffqMW1YiZA" name="A_selector_lifeline" memberEnd="_VZ0SeBE9EeGOffqMW1YiZA _VUiw0RE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUiw0RE9EeGOffqMW1YiZA" name="lifeline" visibility="public" type="_VZ0SYBE9EeGOffqMW1YiZA" subsettedProperty="_N3hRMAtAEeGcpbeCPJfCmw" association="_VUiw0BE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUiw0hE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gy4dK9wbEeCT5O2F6sGn5g" name="A_sendEvent_endMessage" memberEnd="_g1LjM9wbEeCT5O2F6sGn5g _gy4dLNwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gy4dLNwbEeCT5O2F6sGn5g" name="endMessage" visibility="public" type="_gfgNwGveEdq4DLWZOhbdEA" subsettedProperty="_g1MKQ9wbEeCT5O2F6sGn5g" association="_gy4dK9wbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gy4dLdwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUiw0xE9EeGOffqMW1YiZA" name="A_sendEvent_endMessage" memberEnd="_VaBtxhE9EeGOffqMW1YiZA _VUiw1BE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUiw1BE9EeGOffqMW1YiZA" name="endMessage" visibility="public" type="_gfgNwGveEdq4DLWZOhbdEA" subsettedProperty="_VaEKAxE9EeGOffqMW1YiZA" association="_VUiw0xE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUiw1RE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gy4dLtwbEeCT5O2F6sGn5g" name="A_setupPart_loopNode" memberEnd="_g1JuKNwbEeCT5O2F6sGn5g _gy4dL9wbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gy4dL9wbEeCT5O2F6sGn5g" name="loopNode" visibility="public" type="_g1JuANwbEeCT5O2F6sGn5g" association="_gy4dLtwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gy4dMNwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUiw1hE9EeGOffqMW1YiZA" name="A_setupPart_loopNode" memberEnd="_VZ_RqBE9EeGOffqMW1YiZA _VUiw1xE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUiw1xE9EeGOffqMW1YiZA" name="loopNode" visibility="public" type="_VZ_RgBE9EeGOffqMW1YiZA" association="_VUiw1hE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUiw2BE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gy5EMNwbEeCT5O2F6sGn5g" name="A_signal_broadcastSignalAction" memberEnd="_gzlnydwbEeCT5O2F6sGn5g _gy5EMdwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gy5EMdwbEeCT5O2F6sGn5g" name="broadcastSignalAction" visibility="public" type="_gzlnwNwbEeCT5O2F6sGn5g" association="_gy5EMNwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gy5EMtwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gy5EM9wbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUjX4BE9EeGOffqMW1YiZA" name="A_signal_broadcastSignalAction" memberEnd="_VWR2NhE9EeGOffqMW1YiZA _VUjX4RE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUjX4RE9EeGOffqMW1YiZA" name="broadcastSignalAction" visibility="public" type="_VWRPIBE9EeGOffqMW1YiZA" association="_VUjX4BE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUjX4hE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VUjX4xE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gy5ENNwbEeCT5O2F6sGn5g" name="A_signal_reception" memberEnd="_g14t1twbEeCT5O2F6sGn5g _gy5ENdwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gy5ENdwbEeCT5O2F6sGn5g" name="reception" visibility="public" type="_g14t0NwbEeCT5O2F6sGn5g" association="_gy5ENNwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gy5ENtwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gy5EN9wbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUjX5BE9EeGOffqMW1YiZA" name="A_signal_reception" memberEnd="_Vdji5hE9EeGOffqMW1YiZA _VUjX5RE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUjX5RE9EeGOffqMW1YiZA" name="reception" visibility="public" type="_Vdji4BE9EeGOffqMW1YiZA" association="_VUjX5BE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUjX5hE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VUjX5xE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gy5EONwbEeCT5O2F6sGn5g" name="A_signal_sendSignalAction" memberEnd="_g1-0gNwbEeCT5O2F6sGn5g _gy5EOdwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gy5EOdwbEeCT5O2F6sGn5g" name="sendSignalAction" visibility="public" type="_g1-0d9wbEeCT5O2F6sGn5g" association="_gy5EONwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gy5EOtwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gy5EO9wbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUj-8BE9EeGOffqMW1YiZA" name="A_signal_sendSignalAction" memberEnd="_VeKm6RE9EeGOffqMW1YiZA _VUj-8RE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUj-8RE9EeGOffqMW1YiZA" name="sendSignalAction" visibility="public" type="_VeKm4BE9EeGOffqMW1YiZA" association="_VUj-8BE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUj-8hE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VUj-8xE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gy5EPNwbEeCT5O2F6sGn5g" name="A_signal_signalEvent" memberEnd="_g1_bkNwbEeCT5O2F6sGn5g _gy5EPdwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gy5EPdwbEeCT5O2F6sGn5g" name="signalEvent" visibility="public" type="_g1_bjdwbEeCT5O2F6sGn5g" association="_gy5EPNwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gy5EPtwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gy5EP9wbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUj-9BE9EeGOffqMW1YiZA" name="A_signal_signalEvent" memberEnd="_VeL1BxE9EeGOffqMW1YiZA _VUj-9RE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUj-9RE9EeGOffqMW1YiZA" name="signalEvent" visibility="public" type="_VeL1BBE9EeGOffqMW1YiZA" association="_VUj-9BE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUj-9hE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VUj-9xE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gy5rQNwbEeCT5O2F6sGn5g" name="A_signature_message" memberEnd="_g1LjNtwbEeCT5O2F6sGn5g _gy5rQdwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gy5rQdwbEeCT5O2F6sGn5g" name="message" visibility="public" type="_gfgNwGveEdq4DLWZOhbdEA" association="_gy5rQNwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gy5rQtwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gy5rQ9wbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUj--BE9EeGOffqMW1YiZA" name="A_signature_message" memberEnd="_VaBtyRE9EeGOffqMW1YiZA _VUj--RE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUj--RE9EeGOffqMW1YiZA" name="message" visibility="public" type="_gfgNwGveEdq4DLWZOhbdEA" association="_VUj--BE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUj--hE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VUj--xE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gy5rRNwbEeCT5O2F6sGn5g" name="A_signature_templateBinding" memberEnd="_g2LBv9wbEeCT5O2F6sGn5g _gy5rRdwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gy5rRdwbEeCT5O2F6sGn5g" name="templateBinding" visibility="public" type="_g2LBsNwbEeCT5O2F6sGn5g" subsettedProperty="_gy8ukdwbEeCT5O2F6sGn5g" association="_gy5rRNwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gy5rRtwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gy5rR9wbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUkmABE9EeGOffqMW1YiZA" name="A_signature_templateBinding" memberEnd="_VemrzxE9EeGOffqMW1YiZA _VUkmARE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUkmARE9EeGOffqMW1YiZA" name="templateBinding" visibility="public" type="_VemrwBE9EeGOffqMW1YiZA" subsettedProperty="_VUpegRE9EeGOffqMW1YiZA" association="_VUkmABE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUkmAhE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VUkmAxE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gy5rSNwbEeCT5O2F6sGn5g" name="A_slot_owningInstance" memberEnd="_g0auRtwbEeCT5O2F6sGn5g _g2ACldwbEeCT5O2F6sGn5g"/>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gy5rSdwbEeCT5O2F6sGn5g" name="A_source_directedRelationship" isDerived="true" memberEnd="_g0HzQdwbEeCT5O2F6sGn5g _gy5rStwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gy5rStwbEeCT5O2F6sGn5g" name="directedRelationship" visibility="public" type="_JBgfoKPAEdqi_5gqUMOQtA" subsettedProperty="_gyyWi9wbEeCT5O2F6sGn5g" association="_gy5rSdwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gy5rS9wbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gy5rTNwbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUkmBBE9EeGOffqMW1YiZA" name="A_slot_owningInstance" memberEnd="_VZrIhhE9EeGOffqMW1YiZA _VeMcFRE9EeGOffqMW1YiZA"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUkmBRE9EeGOffqMW1YiZA" name="A_source_directedRelationship" isDerived="true" memberEnd="_VY66hRE9EeGOffqMW1YiZA _VUkmBhE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUkmBhE9EeGOffqMW1YiZA" name="directedRelationship" visibility="public" type="_JBgfoKPAEdqi_5gqUMOQtA" subsettedProperty="_VUZm4RE9EeGOffqMW1YiZA" association="_VUkmBRE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUkmBxE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VUkmCBE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gy5rTdwbEeCT5O2F6sGn5g" name="A_specification_durationConstraint" memberEnd="_g0IaWtwbEeCT5O2F6sGn5g _gy5rT9wbEeCT5O2F6sGn5g">
-      <generalization xmi:id="_gy5rTtwbEeCT5O2F6sGn5g" general="_gy6SUNwbEeCT5O2F6sGn5g"/>
-      <ownedEnd xmi:id="_gy5rT9wbEeCT5O2F6sGn5g" name="durationConstraint" visibility="public" type="_g0IaUNwbEeCT5O2F6sGn5g" redefinedProperty="_gy6SUtwbEeCT5O2F6sGn5g" association="_gy5rTdwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gy5rUNwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUlNEBE9EeGOffqMW1YiZA" name="A_specification_durationConstraint" memberEnd="_VY-k6hE9EeGOffqMW1YiZA _VUlNEhE9EeGOffqMW1YiZA">
+      <generalization xmi:id="_VUlNERE9EeGOffqMW1YiZA" general="_VUlNFBE9EeGOffqMW1YiZA"/>
+      <ownedEnd xmi:id="_VUlNEhE9EeGOffqMW1YiZA" name="durationConstraint" visibility="public" type="_VY-k4BE9EeGOffqMW1YiZA" redefinedProperty="_VUlNFhE9EeGOffqMW1YiZA" association="_VUlNEBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUlNExE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gy6SUNwbEeCT5O2F6sGn5g" name="A_specification_intervalConstraint" memberEnd="_g0gNw9wbEeCT5O2F6sGn5g _gy6SUtwbEeCT5O2F6sGn5g">
-      <generalization xmi:id="_gy6SUdwbEeCT5O2F6sGn5g" general="_gy6SVNwbEeCT5O2F6sGn5g"/>
-      <ownedEnd xmi:id="_gy6SUtwbEeCT5O2F6sGn5g" name="intervalConstraint" visibility="public" type="_g0gNwNwbEeCT5O2F6sGn5g" redefinedProperty="_gy6SVdwbEeCT5O2F6sGn5g" association="_gy6SUNwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gy6SU9wbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUlNFBE9EeGOffqMW1YiZA" name="A_specification_intervalConstraint" memberEnd="_VZydOhE9EeGOffqMW1YiZA _VUlNFhE9EeGOffqMW1YiZA">
+      <generalization xmi:id="_VUlNFRE9EeGOffqMW1YiZA" general="_VUl0IBE9EeGOffqMW1YiZA"/>
+      <ownedEnd xmi:id="_VUlNFhE9EeGOffqMW1YiZA" name="intervalConstraint" visibility="public" type="_VZydNxE9EeGOffqMW1YiZA" redefinedProperty="_VUl0IRE9EeGOffqMW1YiZA" association="_VUlNFBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUlNFxE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gy6SVNwbEeCT5O2F6sGn5g" name="A_specification_owningConstraint" memberEnd="_g0AeltwbEeCT5O2F6sGn5g _gy6SVdwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gy6SVdwbEeCT5O2F6sGn5g" name="owningConstraint" visibility="public" type="_g0AegNwbEeCT5O2F6sGn5g" subsettedProperty="_g0JodNwbEeCT5O2F6sGn5g" association="_gy6SVNwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gy6SVtwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUl0IBE9EeGOffqMW1YiZA" name="A_specification_owningConstraint" memberEnd="_VYbLVhE9EeGOffqMW1YiZA _VUl0IRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUl0IRE9EeGOffqMW1YiZA" name="owningConstraint" visibility="public" type="_VYbLQBE9EeGOffqMW1YiZA" subsettedProperty="_N3hRMAtAEeGcpbeCPJfCmw" association="_VUl0IBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUl0IhE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gy6SV9wbEeCT5O2F6sGn5g" name="A_specification_owningInstanceSpec" memberEnd="_g0auStwbEeCT5O2F6sGn5g _gy6SWNwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gy6SWNwbEeCT5O2F6sGn5g" name="owningInstanceSpec" visibility="public" type="_g0auMNwbEeCT5O2F6sGn5g" subsettedProperty="_g0JodNwbEeCT5O2F6sGn5g" association="_gy6SV9wbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gy6SWdwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUl0IxE9EeGOffqMW1YiZA" name="A_specification_owningInstanceSpec" memberEnd="_VZrIihE9EeGOffqMW1YiZA _VUl0JBE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUl0JBE9EeGOffqMW1YiZA" name="owningInstanceSpec" visibility="public" type="_VZrIcBE9EeGOffqMW1YiZA" subsettedProperty="_N3hRMAtAEeGcpbeCPJfCmw" association="_VUl0IxE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUl0JRE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gy6SWtwbEeCT5O2F6sGn5g" name="A_specification_timeConstraint" memberEnd="_g2P6SdwbEeCT5O2F6sGn5g _gy6SXNwbEeCT5O2F6sGn5g">
-      <generalization xmi:id="_gy6SW9wbEeCT5O2F6sGn5g" general="_gy6SUNwbEeCT5O2F6sGn5g"/>
-      <ownedEnd xmi:id="_gy6SXNwbEeCT5O2F6sGn5g" name="timeConstraint" visibility="public" type="_g2P6QtwbEeCT5O2F6sGn5g" redefinedProperty="_gy6SUtwbEeCT5O2F6sGn5g" association="_gy6SWtwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gy6SXdwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUl0JhE9EeGOffqMW1YiZA" name="A_specification_timeConstraint" memberEnd="_VeunqRE9EeGOffqMW1YiZA _VUl0KBE9EeGOffqMW1YiZA">
+      <generalization xmi:id="_VUl0JxE9EeGOffqMW1YiZA" general="_VUlNFBE9EeGOffqMW1YiZA"/>
+      <ownedEnd xmi:id="_VUl0KBE9EeGOffqMW1YiZA" name="timeConstraint" visibility="public" type="_VeunohE9EeGOffqMW1YiZA" redefinedProperty="_VUlNFhE9EeGOffqMW1YiZA" association="_VUl0JhE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUl0KRE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gy65YNwbEeCT5O2F6sGn5g" name="A_start_executionSpecification" memberEnd="_g0PIDdwbEeCT5O2F6sGn5g _gy65YtwbEeCT5O2F6sGn5g">
-      <ownedComment xmi:id="_gy65YdwbEeCT5O2F6sGn5g" annotatedElement="_gy65YNwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUmbMBE9EeGOffqMW1YiZA" name="A_start_executionSpecification" memberEnd="_VZQRvRE9EeGOffqMW1YiZA _VUmbMhE9EeGOffqMW1YiZA">
+      <ownedComment xmi:id="_VUmbMRE9EeGOffqMW1YiZA" annotatedElement="_VUmbMBE9EeGOffqMW1YiZA">
         <body>The event shows the time point at which the action begins execution.</body>
       </ownedComment>
-      <ownedEnd xmi:id="_gy65YtwbEeCT5O2F6sGn5g" name="executionSpecification" visibility="public" type="_g0PIBdwbEeCT5O2F6sGn5g" association="_gy65YNwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gy65Y9wbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gy65ZNwbEeCT5O2F6sGn5g" value="*"/>
+      <ownedEnd xmi:id="_VUmbMhE9EeGOffqMW1YiZA" name="executionSpecification" visibility="public" type="_VZQRtRE9EeGOffqMW1YiZA" association="_VUmbMBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUmbMxE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VUmbNBE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gy65ZdwbEeCT5O2F6sGn5g" name="A_stateInvariant_owningState" memberEnd="_g2CfD9wbEeCT5O2F6sGn5g _gy65ZtwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gy65ZtwbEeCT5O2F6sGn5g" name="owningState" visibility="public" type="_g2Ce0NwbEeCT5O2F6sGn5g" subsettedProperty="_g0Aek9wbEeCT5O2F6sGn5g" association="_gy65ZdwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gy65Z9wbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUmbNRE9EeGOffqMW1YiZA" name="A_stateInvariant_owningState" memberEnd="_VeR72xE9EeGOffqMW1YiZA _VUmbNhE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUmbNhE9EeGOffqMW1YiZA" name="owningState" visibility="public" type="_VeRUkBE9EeGOffqMW1YiZA" subsettedProperty="_VYbLUxE9EeGOffqMW1YiZA" association="_VUmbNRE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUmbNxE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gy65aNwbEeCT5O2F6sGn5g" name="A_structuralFeature_structuralFeatureAction" memberEnd="_g2H-dNwbEeCT5O2F6sGn5g _gy65adwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gy65adwbEeCT5O2F6sGn5g" name="structuralFeatureAction" visibility="public" type="_g2H-YNwbEeCT5O2F6sGn5g" association="_gy65aNwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gy65atwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gy65a9wbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUmbOBE9EeGOffqMW1YiZA" name="A_structuralFeature_structuralFeatureAction" memberEnd="_VehMRBE9EeGOffqMW1YiZA _VUmbORE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUmbORE9EeGOffqMW1YiZA" name="structuralFeatureAction" visibility="public" type="_VehMMBE9EeGOffqMW1YiZA" association="_VUmbOBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUmbOhE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VUmbOxE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gy65bNwbEeCT5O2F6sGn5g" name="A_structuredNodeInput_structuredActivityNode" memberEnd="_g2IlftwbEeCT5O2F6sGn5g _gy65bdwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gy65bdwbEeCT5O2F6sGn5g" name="structuredActivityNode" visibility="public" type="_w1_2cLLREeCsYvaJqFFivQ" subsettedProperty="_gygpt9wbEeCT5O2F6sGn5g" association="_gy65bNwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gy65btwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUnCQBE9EeGOffqMW1YiZA" name="A_structuredNodeInput_structuredActivityNode" memberEnd="_VeiaVxE9EeGOffqMW1YiZA _VUnCQRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUnCQRE9EeGOffqMW1YiZA" name="structuredActivityNode" visibility="public" type="_w1_2cLLREeCsYvaJqFFivQ" subsettedProperty="_VTqnERE9EeGOffqMW1YiZA" association="_VUnCQBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUnCQhE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gy65b9wbEeCT5O2F6sGn5g" name="A_structuredNodeOutput_structuredActivityNode" memberEnd="_g2IlgdwbEeCT5O2F6sGn5g _gy65cNwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gy65cNwbEeCT5O2F6sGn5g" name="structuredActivityNode" visibility="public" type="_w1_2cLLREeCsYvaJqFFivQ" subsettedProperty="_gyn-dNwbEeCT5O2F6sGn5g" association="_gy65b9wbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gy65cdwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUnCQxE9EeGOffqMW1YiZA" name="A_structuredNodeOutput_structuredActivityNode" memberEnd="_VeiaWhE9EeGOffqMW1YiZA _VUnCRBE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUnCRBE9EeGOffqMW1YiZA" name="structuredActivityNode" visibility="public" type="_w1_2cLLREeCsYvaJqFFivQ" subsettedProperty="_VT-JFBE9EeGOffqMW1YiZA" association="_VUnCQxE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUnCRRE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gy65ctwbEeCT5O2F6sGn5g" name="A_structuredNode_activity" memberEnd="_gzXlWNwbEeCT5O2F6sGn5g _g2IlcNwbEeCT5O2F6sGn5g"/>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gy7gcNwbEeCT5O2F6sGn5g" name="A_subExpression_owningExpression" memberEnd="_g2GwTdwbEeCT5O2F6sGn5g _g2GwStwbEeCT5O2F6sGn5g"/>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gy7gcdwbEeCT5O2F6sGn5g" name="A_subgroup_superGroup" isDerived="true" memberEnd="_gzaBp9wbEeCT5O2F6sGn5g _gzaBq9wbEeCT5O2F6sGn5g"/>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gy7gctwbEeCT5O2F6sGn5g" name="A_subject_useCase" memberEnd="_g2WA69wbEeCT5O2F6sGn5g _gzvY1twbEeCT5O2F6sGn5g"/>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gy7gc9wbEeCT5O2F6sGn5g" name="A_submachineState_submachine" memberEnd="_g2EUGtwbEeCT5O2F6sGn5g _g2CfEtwbEeCT5O2F6sGn5g"/>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gy7gdNwbEeCT5O2F6sGn5g" name="A_subpartition_superPartition" memberEnd="_gzcd8NwbEeCT5O2F6sGn5g _gzcd9NwbEeCT5O2F6sGn5g"/>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gy7gddwbEeCT5O2F6sGn5g" name="A_subsettedProperty_property" memberEnd="_g1uVxNwbEeCT5O2F6sGn5g _gy7gdtwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gy7gdtwbEeCT5O2F6sGn5g" name="property" visibility="public" type="_Jp_1oGveEdq4DLWZOhbdEA" association="_gy7gddwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gy7gd9wbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gy7geNwbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_w4820AtEEeGcpbeCPJfCmw" name="A_structuredNode_activity" memberEnd="_EOSYAAs-EeGcpbeCPJfCmw _gnnw0AtZEeGV4NAcunjVqQ _bQeSgAtEEeGcpbeCPJfCmw">
+      <ownedEnd xmi:id="_bQeSgAtEEeGcpbeCPJfCmw" name="activity" visibility="private" type="_eGtFwLLREeCsYvaJqFFivQ" association="_w4820AtEEeGcpbeCPJfCmw">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_cva8wAtEEeGcpbeCPJfCmw"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gy7gedwbEeCT5O2F6sGn5g" name="A_substitution_substitutingClassifier" memberEnd="_gzvYz9wbEeCT5O2F6sGn5g _g2KapdwbEeCT5O2F6sGn5g"/>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gy7getwbEeCT5O2F6sGn5g" name="A_subvertex_container" memberEnd="_g18_W9wbEeCT5O2F6sGn5g _g2ZrOtwbEeCT5O2F6sGn5g"/>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gy8HgNwbEeCT5O2F6sGn5g" name="A_superClass_class" isDerived="true" memberEnd="_gzp5PNwbEeCT5O2F6sGn5g _gy8HgdwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gy8HgdwbEeCT5O2F6sGn5g" name="class" visibility="public" type="_00owUGvdEdq4DLWZOhbdEA" subsettedProperty="_gyeNcdwbEeCT5O2F6sGn5g" association="_gy8HgNwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gy8HgtwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gy8Hg9wbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUnCRhE9EeGOffqMW1YiZA" name="A_subExpression_owningExpression" memberEnd="_VefXDRE9EeGOffqMW1YiZA _VefXChE9EeGOffqMW1YiZA"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUnpUBE9EeGOffqMW1YiZA" name="A_subgroup_superGroup" isDerived="true" memberEnd="_VVek8hE9EeGOffqMW1YiZA _VVek9hE9EeGOffqMW1YiZA"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUnpURE9EeGOffqMW1YiZA" name="A_subject_useCase" memberEnd="_VfFM-xE9EeGOffqMW1YiZA _VXunsBE9EeGOffqMW1YiZA"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUnpUhE9EeGOffqMW1YiZA" name="A_submachineState_submachine" memberEnd="_VeWNKhE9EeGOffqMW1YiZA _VeR73hE9EeGOffqMW1YiZA"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUnpUxE9EeGOffqMW1YiZA" name="A_subpartition_superPartition" memberEnd="_VVkrlxE9EeGOffqMW1YiZA _VVkrmxE9EeGOffqMW1YiZA"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUnpVBE9EeGOffqMW1YiZA" name="A_subsettedProperty_property" memberEnd="_VdIFFBE9EeGOffqMW1YiZA _VUnpVRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUnpVRE9EeGOffqMW1YiZA" name="property" visibility="public" type="_Jp_1oGveEdq4DLWZOhbdEA" association="_VUnpVBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUnpVhE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VUnpVxE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gy8HhNwbEeCT5O2F6sGn5g" name="A_supplier_supplierDependency" memberEnd="_g0EI5twbEeCT5O2F6sGn5g _gy8HhdwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gy8HhdwbEeCT5O2F6sGn5g" name="supplierDependency" visibility="public" type="_rEDGkGwKEdq7X4sGURiZYA" subsettedProperty="_gy8ukdwbEeCT5O2F6sGn5g" association="_gy8HhNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gy8HhtwbEeCT5O2F6sGn5g" annotatedElement="_gy8HhdwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUoQYBE9EeGOffqMW1YiZA" name="A_substitution_substitutingClassifier" memberEnd="_VXuApxE9EeGOffqMW1YiZA _VeldpRE9EeGOffqMW1YiZA"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUoQYRE9EeGOffqMW1YiZA" name="A_subvertex_container" memberEnd="_VeA1-xE9EeGOffqMW1YiZA _VfI3QRE9EeGOffqMW1YiZA"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUoQYhE9EeGOffqMW1YiZA" name="A_superClass_class" isDerived="true" memberEnd="_VWaZEBE9EeGOffqMW1YiZA _VUoQYxE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUoQYxE9EeGOffqMW1YiZA" name="class" visibility="public" type="_00owUGvdEdq4DLWZOhbdEA" subsettedProperty="_VTkgdBE9EeGOffqMW1YiZA" association="_VUoQYhE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUoQZBE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VUoQZRE9EeGOffqMW1YiZA" value="*"/>
+      </ownedEnd>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUo3cBE9EeGOffqMW1YiZA" name="A_supplier_supplierDependency" memberEnd="_VYyXoxE9EeGOffqMW1YiZA _VUo3cRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUo3cRE9EeGOffqMW1YiZA" name="supplierDependency" visibility="public" type="_rEDGkGwKEdq7X4sGURiZYA" subsettedProperty="_VUpegRE9EeGOffqMW1YiZA" association="_VUo3cBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VUo3chE9EeGOffqMW1YiZA" annotatedElement="_VUo3cRE9EeGOffqMW1YiZA">
           <body>Indicates the dependencies that reference the supplier.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gy8Hh9wbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gy8HiNwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUo3cxE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VUo3dBE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gy8HidwbEeCT5O2F6sGn5g" name="A_target_callOperationAction" memberEnd="_gzndAdwbEeCT5O2F6sGn5g _gy8HitwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gy8HitwbEeCT5O2F6sGn5g" name="callOperationAction" visibility="public" type="_gznc8NwbEeCT5O2F6sGn5g" subsettedProperty="_gygpt9wbEeCT5O2F6sGn5g" association="_gy8HidwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gy8Hi9wbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUo3dRE9EeGOffqMW1YiZA" name="A_target_callOperationAction" memberEnd="_VWVgoRE9EeGOffqMW1YiZA _VUo3dhE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUo3dhE9EeGOffqMW1YiZA" name="callOperationAction" visibility="public" type="_VWVgkBE9EeGOffqMW1YiZA" subsettedProperty="_VTqnERE9EeGOffqMW1YiZA" association="_VUo3dRE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUo3dxE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gy8HjNwbEeCT5O2F6sGn5g" name="A_target_destroyObjectAction" memberEnd="_g0HMP9wbEeCT5O2F6sGn5g _gy8HjdwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gy8HjdwbEeCT5O2F6sGn5g" name="destroyObjectAction" visibility="public" type="_g0HMMNwbEeCT5O2F6sGn5g" subsettedProperty="_gygpt9wbEeCT5O2F6sGn5g" association="_gy8HjNwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gy8HjtwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUo3eBE9EeGOffqMW1YiZA" name="A_target_destroyObjectAction" memberEnd="_VY5FXxE9EeGOffqMW1YiZA _VUo3eRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUo3eRE9EeGOffqMW1YiZA" name="destroyObjectAction" visibility="public" type="_VY5FUBE9EeGOffqMW1YiZA" subsettedProperty="_VTqnERE9EeGOffqMW1YiZA" association="_VUo3eBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUo3ehE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gy8ukNwbEeCT5O2F6sGn5g" name="A_target_directedRelationship" isDerived="true" memberEnd="_g0HzRNwbEeCT5O2F6sGn5g _gy8ukdwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gy8ukdwbEeCT5O2F6sGn5g" name="directedRelationship" visibility="public" type="_JBgfoKPAEdqi_5gqUMOQtA" subsettedProperty="_gyyWi9wbEeCT5O2F6sGn5g" association="_gy8ukNwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gy8uktwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gy8uk9wbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUpegBE9EeGOffqMW1YiZA" name="A_target_directedRelationship" isDerived="true" memberEnd="_VY66iBE9EeGOffqMW1YiZA _VUpegRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUpegRE9EeGOffqMW1YiZA" name="directedRelationship" visibility="public" type="_JBgfoKPAEdqi_5gqUMOQtA" subsettedProperty="_VUZm4RE9EeGOffqMW1YiZA" association="_VUpegBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUpeghE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VUpegxE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gy8ulNwbEeCT5O2F6sGn5g" name="A_target_sendObjectAction" memberEnd="_g1-0ddwbEeCT5O2F6sGn5g _gy8uldwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gy8uldwbEeCT5O2F6sGn5g" name="sendObjectAction" visibility="public" type="_g1-0cNwbEeCT5O2F6sGn5g" subsettedProperty="_gygpt9wbEeCT5O2F6sGn5g" association="_gy8ulNwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gy8ultwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUpehBE9EeGOffqMW1YiZA" name="A_target_sendObjectAction" memberEnd="_VeD5NRE9EeGOffqMW1YiZA _VUpehRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUpehRE9EeGOffqMW1YiZA" name="sendObjectAction" visibility="public" type="_VeD5MBE9EeGOffqMW1YiZA" subsettedProperty="_VTqnERE9EeGOffqMW1YiZA" association="_VUpehBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUpehhE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gy8ul9wbEeCT5O2F6sGn5g" name="A_target_sendSignalAction" memberEnd="_g1-0gtwbEeCT5O2F6sGn5g _gy8umNwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gy8umNwbEeCT5O2F6sGn5g" name="sendSignalAction" visibility="public" type="_g1-0d9wbEeCT5O2F6sGn5g" subsettedProperty="_gygpt9wbEeCT5O2F6sGn5g" association="_gy8ul9wbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gy8umdwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUpehxE9EeGOffqMW1YiZA" name="A_target_sendSignalAction" memberEnd="_VeKm6xE9EeGOffqMW1YiZA _VUpeiBE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUpeiBE9EeGOffqMW1YiZA" name="sendSignalAction" visibility="public" type="_VeKm4BE9EeGOffqMW1YiZA" subsettedProperty="_VTqnERE9EeGOffqMW1YiZA" association="_VUpehxE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUpeiRE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gy8umtwbEeCT5O2F6sGn5g" name="A_templateBinding_boundElement" memberEnd="_g2PTJtwbEeCT5O2F6sGn5g _g2LBudwbEeCT5O2F6sGn5g"/>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gy8um9wbEeCT5O2F6sGn5g" name="A_test_clause" memberEnd="_gz04X9wbEeCT5O2F6sGn5g _gy8unNwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gy8unNwbEeCT5O2F6sGn5g" name="clause" visibility="public" type="_gz0RQNwbEeCT5O2F6sGn5g" association="_gy8um9wbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gy8undwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUqFkBE9EeGOffqMW1YiZA" name="A_templateBinding_boundElement" memberEnd="_VeuAhhE9EeGOffqMW1YiZA _VemryRE9EeGOffqMW1YiZA"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUqFkRE9EeGOffqMW1YiZA" name="A_test_clause" memberEnd="_VX3xvhE9EeGOffqMW1YiZA _VUqFkhE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUqFkhE9EeGOffqMW1YiZA" name="clause" visibility="public" type="_VX3xoBE9EeGOffqMW1YiZA" association="_VUqFkRE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUqFkxE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gy9VoNwbEeCT5O2F6sGn5g" name="A_test_loopNode" memberEnd="_g1JuLNwbEeCT5O2F6sGn5g _gy9VodwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gy9VodwbEeCT5O2F6sGn5g" name="loopNode" visibility="public" type="_g1JuANwbEeCT5O2F6sGn5g" association="_gy9VoNwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gy9VotwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUqFlBE9EeGOffqMW1YiZA" name="A_test_loopNode" memberEnd="_VZ_RrBE9EeGOffqMW1YiZA _VUqFlRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUqFlRE9EeGOffqMW1YiZA" name="loopNode" visibility="public" type="_VZ_RgBE9EeGOffqMW1YiZA" association="_VUqFlBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUqFlhE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gy9Vo9wbEeCT5O2F6sGn5g" name="A_toBefore_after" memberEnd="_g1XwedwbEeCT5O2F6sGn5g _g0V1v9wbEeCT5O2F6sGn5g"/>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gy9VpNwbEeCT5O2F6sGn5g" name="A_transformation_objectFlow" memberEnd="_g1WiddwbEeCT5O2F6sGn5g _gy9VpdwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gy9VpdwbEeCT5O2F6sGn5g" name="objectFlow" visibility="public" type="_g1WiUNwbEeCT5O2F6sGn5g" association="_gy9VpNwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gy9VptwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gy9Vp9wbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUqFlxE9EeGOffqMW1YiZA" name="A_toBefore_after" memberEnd="_VbdRKRE9EeGOffqMW1YiZA _VZe7NhE9EeGOffqMW1YiZA"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUqsoBE9EeGOffqMW1YiZA" name="A_transformation_objectFlow" memberEnd="_VbVVdRE9EeGOffqMW1YiZA _VUqsoRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUqsoRE9EeGOffqMW1YiZA" name="objectFlow" visibility="public" type="_VbVVUBE9EeGOffqMW1YiZA" association="_VUqsoBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUqsohE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VUqsoxE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gy9VqNwbEeCT5O2F6sGn5g" name="A_transition_container" memberEnd="_g18_X9wbEeCT5O2F6sGn5g _g2SWeNwbEeCT5O2F6sGn5g"/>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gy9VqdwbEeCT5O2F6sGn5g" name="A_trigger_acceptEventAction" memberEnd="_gzBnJtwbEeCT5O2F6sGn5g _gy9VqtwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gy9VqtwbEeCT5O2F6sGn5g" name="acceptEventAction" visibility="public" type="_gzBnENwbEeCT5O2F6sGn5g" subsettedProperty="_g0JodNwbEeCT5O2F6sGn5g" association="_gy9VqdwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gy9Vq9wbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUqspBE9EeGOffqMW1YiZA" name="A_transition_container" memberEnd="_VeA1_xE9EeGOffqMW1YiZA _Ve8qBRE9EeGOffqMW1YiZA"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUqspRE9EeGOffqMW1YiZA" name="A_trigger_acceptEventAction" memberEnd="_VU259hE9EeGOffqMW1YiZA _VUqsphE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUqsphE9EeGOffqMW1YiZA" name="acceptEventAction" visibility="public" type="_VU254BE9EeGOffqMW1YiZA" subsettedProperty="_N3hRMAtAEeGcpbeCPJfCmw" association="_VUqspRE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUqspxE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gy9VrNwbEeCT5O2F6sGn5g" name="A_trigger_transition" memberEnd="_g2S9gdwbEeCT5O2F6sGn5g _gy9VrdwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gy9VrdwbEeCT5O2F6sGn5g" name="transition" visibility="public" type="_ykKV8PnlEdunWsS3se92JQ" subsettedProperty="_g0JodNwbEeCT5O2F6sGn5g" association="_gy9VrNwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gy9VrtwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUrTsBE9EeGOffqMW1YiZA" name="A_trigger_transition" memberEnd="_Ve94IBE9EeGOffqMW1YiZA _VUrTsRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUrTsRE9EeGOffqMW1YiZA" name="transition" visibility="public" type="_ykKV8PnlEdunWsS3se92JQ" subsettedProperty="_N3hRMAtAEeGcpbeCPJfCmw" association="_VUrTsBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUrTshE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gy98sNwbEeCT5O2F6sGn5g" name="A_type_collaborationUse" memberEnd="_gz2tkNwbEeCT5O2F6sGn5g _gy98sdwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gy98sdwbEeCT5O2F6sGn5g" name="collaborationUse" visibility="public" type="_gz2tgNwbEeCT5O2F6sGn5g" association="_gy98sNwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gy98stwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gy98s9wbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUrTsxE9EeGOffqMW1YiZA" name="A_type_collaborationUse" memberEnd="_VX7cEBE9EeGOffqMW1YiZA _VUrTtBE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUrTtBE9EeGOffqMW1YiZA" name="collaborationUse" visibility="public" type="_VX7cABE9EeGOffqMW1YiZA" association="_VUrTsxE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUrTtRE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VUrTthE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gy98tNwbEeCT5O2F6sGn5g" name="A_type_connector" memberEnd="_gz-CRtwbEeCT5O2F6sGn5g _gy98tdwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gy98tdwbEeCT5O2F6sGn5g" name="connector" visibility="public" type="_YxC2YLLWEeCsYvaJqFFivQ" association="_gy98tNwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gy98ttwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gy98t9wbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUr6wBE9EeGOffqMW1YiZA" name="A_type_connector" memberEnd="_VYOW8BE9EeGOffqMW1YiZA _VUr6wRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUr6wRE9EeGOffqMW1YiZA" name="connector" visibility="public" type="_YxC2YLLWEeCsYvaJqFFivQ" association="_VUr6wBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUr6whE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VUr6wxE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gy98uNwbEeCT5O2F6sGn5g" name="A_type_extensionEnd" memberEnd="_g0Sya9wbEeCT5O2F6sGn5g _gy98udwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gy98udwbEeCT5O2F6sGn5g" name="extensionEnd" visibility="public" type="_2QuT0GvdEdq4DLWZOhbdEA" subsettedProperty="_gy-jwdwbEeCT5O2F6sGn5g" association="_gy98uNwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gy98utwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gy98u9wbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUr6xBE9EeGOffqMW1YiZA" name="A_type_extensionEnd" memberEnd="_VZWYWBE9EeGOffqMW1YiZA _VUr6xRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUr6xRE9EeGOffqMW1YiZA" name="extensionEnd" visibility="public" type="_2QuT0GvdEdq4DLWZOhbdEA" subsettedProperty="_VUtv8RE9EeGOffqMW1YiZA" association="_VUr6xBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUr6xhE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VUr6xxE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gy98vNwbEeCT5O2F6sGn5g" name="A_type_operation" isDerived="true" memberEnd="_g1dQGNwbEeCT5O2F6sGn5g _gy98vdwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gy98vdwbEeCT5O2F6sGn5g" name="operation" visibility="public" type="_M4X2IGveEdq4DLWZOhbdEA" association="_gy98vNwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gy98vtwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gy98v9wbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUtI4BE9EeGOffqMW1YiZA" name="A_type_operation" isDerived="true" memberEnd="_VcBR1xE9EeGOffqMW1YiZA _VUtI4RE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUtI4RE9EeGOffqMW1YiZA" name="operation" visibility="public" type="_M4X2IGveEdq4DLWZOhbdEA" association="_VUtI4BE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUtI4hE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VUtI4xE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gy-jwNwbEeCT5O2F6sGn5g" name="A_type_typedElement" memberEnd="_g2UytNwbEeCT5O2F6sGn5g _gy-jwdwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gy-jwdwbEeCT5O2F6sGn5g" name="typedElement" visibility="public" type="_g2UysNwbEeCT5O2F6sGn5g" association="_gy-jwNwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gy-jwtwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gy-jw9wbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUtv8BE9EeGOffqMW1YiZA" name="A_type_typedElement" memberEnd="_VfDXtBE9EeGOffqMW1YiZA _VUtv8RE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUtv8RE9EeGOffqMW1YiZA" name="typedElement" visibility="public" type="_VfDXsBE9EeGOffqMW1YiZA" association="_VUtv8BE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUtv8hE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VUtv8xE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gy-jxNwbEeCT5O2F6sGn5g" name="A_unmarshallType_unmarshallAction" memberEnd="_g2VZ3dwbEeCT5O2F6sGn5g _gy-jxdwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gy-jxdwbEeCT5O2F6sGn5g" name="unmarshallAction" visibility="public" type="_g2VZwNwbEeCT5O2F6sGn5g" association="_gy-jxNwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gy-jxtwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gy-jx9wbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUtv9BE9EeGOffqMW1YiZA" name="A_unmarshallType_unmarshallAction" memberEnd="_VfD-3RE9EeGOffqMW1YiZA _VUtv9RE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUtv9RE9EeGOffqMW1YiZA" name="unmarshallAction" visibility="public" type="_VfD-wBE9EeGOffqMW1YiZA" association="_VUtv9BE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUtv9hE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VUtv9xE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gy-jyNwbEeCT5O2F6sGn5g" name="A_upperBound_objectNode" memberEnd="_g1XJe9wbEeCT5O2F6sGn5g _gy-jydwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gy-jydwbEeCT5O2F6sGn5g" name="objectNode" visibility="public" type="_g1XJYNwbEeCT5O2F6sGn5g" subsettedProperty="_g0JodNwbEeCT5O2F6sGn5g" association="_gy-jyNwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gy-jytwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUtv-BE9EeGOffqMW1YiZA" name="A_upperBound_objectNode" memberEnd="_VbcDGxE9EeGOffqMW1YiZA _VUtv-RE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUtv-RE9EeGOffqMW1YiZA" name="objectNode" visibility="public" type="_VbcDABE9EeGOffqMW1YiZA" subsettedProperty="_N3hRMAtAEeGcpbeCPJfCmw" association="_VUtv-BE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUtv-hE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gy-jy9wbEeCT5O2F6sGn5g" name="A_upperValue_owningUpper" memberEnd="_g1N_ctwbEeCT5O2F6sGn5g _gy-jzNwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gy-jzNwbEeCT5O2F6sGn5g" name="owningUpper" visibility="public" type="_Gjgl0GveEdq4DLWZOhbdEA" subsettedProperty="_g0JodNwbEeCT5O2F6sGn5g" association="_gy-jy9wbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gy-jzdwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUuXABE9EeGOffqMW1YiZA" name="A_upperValue_owningUpper" memberEnd="_VaHNXhE9EeGOffqMW1YiZA _VUuXARE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUuXARE9EeGOffqMW1YiZA" name="owningUpper" visibility="public" type="_Gjgl0GveEdq4DLWZOhbdEA" subsettedProperty="_N3hRMAtAEeGcpbeCPJfCmw" association="_VUuXABE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUuXAhE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gy-jztwbEeCT5O2F6sGn5g" name="A_utilizedElement_manifestation" memberEnd="_g1KVE9wbEeCT5O2F6sGn5g _gy-jz9wbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gy-jz9wbEeCT5O2F6sGn5g" name="manifestation" visibility="public" type="_g1KVENwbEeCT5O2F6sGn5g" subsettedProperty="_gy8HhdwbEeCT5O2F6sGn5g" association="_gy-jztwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gy-j0NwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gy-j0dwbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUuXAxE9EeGOffqMW1YiZA" name="A_utilizedElement_manifestation" memberEnd="_VZ_RshE9EeGOffqMW1YiZA _VUuXBBE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUuXBBE9EeGOffqMW1YiZA" name="manifestation" visibility="public" type="_VZ_RrxE9EeGOffqMW1YiZA" subsettedProperty="_VUo3cRE9EeGOffqMW1YiZA" association="_VUuXAxE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUuXBRE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VUuXBhE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gy_K0NwbEeCT5O2F6sGn5g" name="A_value_linkEndData" memberEnd="_g0jRKNwbEeCT5O2F6sGn5g _gy_K0dwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gy_K0dwbEeCT5O2F6sGn5g" name="linkEndData" visibility="public" type="_g0jRENwbEeCT5O2F6sGn5g" association="_gy_K0NwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gy_K0twbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUwMMBE9EeGOffqMW1YiZA" name="A_value_linkEndData" memberEnd="_VZ3VyBE9EeGOffqMW1YiZA _VUwMMRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUwMMRE9EeGOffqMW1YiZA" name="linkEndData" visibility="public" type="_VZ3VsBE9EeGOffqMW1YiZA" association="_VUwMMBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUwMMhE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gy_K09wbEeCT5O2F6sGn5g" name="A_value_owningSlot" memberEnd="_g2ACl9wbEeCT5O2F6sGn5g _gy_K1NwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gy_K1NwbEeCT5O2F6sGn5g" name="owningSlot" visibility="public" type="_g2ACkNwbEeCT5O2F6sGn5g" subsettedProperty="_g0JodNwbEeCT5O2F6sGn5g" association="_gy_K09wbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gy_K1dwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUwMMxE9EeGOffqMW1YiZA" name="A_value_owningSlot" memberEnd="_VeMcFxE9EeGOffqMW1YiZA _VUwMNBE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUwMNBE9EeGOffqMW1YiZA" name="owningSlot" visibility="public" type="_VeMcEBE9EeGOffqMW1YiZA" subsettedProperty="_N3hRMAtAEeGcpbeCPJfCmw" association="_VUwMMxE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUwMNRE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gy_K1twbEeCT5O2F6sGn5g" name="A_value_qualifierValue" memberEnd="_g1zOddwbEeCT5O2F6sGn5g _gy_K19wbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gy_K19wbEeCT5O2F6sGn5g" name="qualifierValue" visibility="public" type="_g1zOZ9wbEeCT5O2F6sGn5g" association="_gy_K1twbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gy_K2NwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUwMNhE9EeGOffqMW1YiZA" name="A_value_qualifierValue" memberEnd="_VdbnHhE9EeGOffqMW1YiZA _VUwMNxE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUwMNxE9EeGOffqMW1YiZA" name="qualifierValue" visibility="public" type="_VdbnEBE9EeGOffqMW1YiZA" association="_VUwMNhE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUwMOBE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gy_K2dwbEeCT5O2F6sGn5g" name="A_value_valuePin" memberEnd="_g2Wn6dwbEeCT5O2F6sGn5g _gy_K2twbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gy_K2twbEeCT5O2F6sGn5g" name="valuePin" visibility="public" type="_g2Wn4NwbEeCT5O2F6sGn5g" subsettedProperty="_g0JodNwbEeCT5O2F6sGn5g" association="_gy_K2dwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gy_K29wbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUwzQBE9EeGOffqMW1YiZA" name="A_value_valuePin" memberEnd="_VfFNDxE9EeGOffqMW1YiZA _VUwzQRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUwzQRE9EeGOffqMW1YiZA" name="valuePin" visibility="public" type="_VfFNBhE9EeGOffqMW1YiZA" subsettedProperty="_N3hRMAtAEeGcpbeCPJfCmw" association="_VUwzQBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUwzQhE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gy_K3NwbEeCT5O2F6sGn5g" name="A_value_valueSpecificationAction" memberEnd="_g2ZEK9wbEeCT5O2F6sGn5g _gy_K3dwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gy_K3dwbEeCT5O2F6sGn5g" name="valueSpecificationAction" visibility="public" type="_g2ZEINwbEeCT5O2F6sGn5g" subsettedProperty="_g0JodNwbEeCT5O2F6sGn5g" association="_gy_K3NwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gy_K3twbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUwzQxE9EeGOffqMW1YiZA" name="A_value_valueSpecificationAction" memberEnd="_VfHpKxE9EeGOffqMW1YiZA _VUwzRBE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUwzRBE9EeGOffqMW1YiZA" name="valueSpecificationAction" visibility="public" type="_VfHpIBE9EeGOffqMW1YiZA" subsettedProperty="_N3hRMAtAEeGcpbeCPJfCmw" association="_VUwzQxE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUwzRRE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gy_x4NwbEeCT5O2F6sGn5g" name="A_value_writeStructuralFeatureAction" memberEnd="_g2bgctwbEeCT5O2F6sGn5g _gy_x4dwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gy_x4dwbEeCT5O2F6sGn5g" name="writeStructuralFeatureAction" visibility="public" type="_g2bgYNwbEeCT5O2F6sGn5g" subsettedProperty="_gygpt9wbEeCT5O2F6sGn5g" association="_gy_x4NwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gy_x4twbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUyBYBE9EeGOffqMW1YiZA" name="A_value_writeStructuralFeatureAction" memberEnd="_VfKsghE9EeGOffqMW1YiZA _VUyBYRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUyBYRE9EeGOffqMW1YiZA" name="writeStructuralFeatureAction" visibility="public" type="_VfKscBE9EeGOffqMW1YiZA" subsettedProperty="_VTqnERE9EeGOffqMW1YiZA" association="_VUyBYBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUyBYhE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gy_x49wbEeCT5O2F6sGn5g" name="A_value_writeVariableAction" memberEnd="_g2bgftwbEeCT5O2F6sGn5g _gy_x5NwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gy_x5NwbEeCT5O2F6sGn5g" name="writeVariableAction" visibility="public" type="_g2bgddwbEeCT5O2F6sGn5g" subsettedProperty="_gygpt9wbEeCT5O2F6sGn5g" association="_gy_x49wbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gy_x5dwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUyBYxE9EeGOffqMW1YiZA" name="A_value_writeVariableAction" memberEnd="_VfLTiRE9EeGOffqMW1YiZA _VUyBZBE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUyBZBE9EeGOffqMW1YiZA" name="writeVariableAction" visibility="public" type="_VfLTgBE9EeGOffqMW1YiZA" subsettedProperty="_VTqnERE9EeGOffqMW1YiZA" association="_VUyBYxE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUyBZRE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gy_x5twbEeCT5O2F6sGn5g" name="A_variable_activityScope" memberEnd="_gzXlXNwbEeCT5O2F6sGn5g _g2ZENdwbEeCT5O2F6sGn5g"/>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gy_x59wbEeCT5O2F6sGn5g" name="A_variable_scope" memberEnd="_g2IlhNwbEeCT5O2F6sGn5g _g2ZEONwbEeCT5O2F6sGn5g"/>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gy_x6NwbEeCT5O2F6sGn5g" name="A_variable_variableAction" memberEnd="_g2ZrNtwbEeCT5O2F6sGn5g _gy_x6dwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gy_x6dwbEeCT5O2F6sGn5g" name="variableAction" visibility="public" type="_g2ZrMNwbEeCT5O2F6sGn5g" association="_gy_x6NwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gy_x6twbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gy_x69wbEeCT5O2F6sGn5g" value="*"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUyocBE9EeGOffqMW1YiZA" name="A_variable_activityScope" memberEnd="_VVH_oxE9EeGOffqMW1YiZA _VfIQOBE9EeGOffqMW1YiZA"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUyocRE9EeGOffqMW1YiZA" name="A_variable_scope" memberEnd="_VejBYBE9EeGOffqMW1YiZA _VfIQOxE9EeGOffqMW1YiZA"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUz2kBE9EeGOffqMW1YiZA" name="A_variable_variableAction" memberEnd="_VfIQShE9EeGOffqMW1YiZA _VUz2kRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUz2kRE9EeGOffqMW1YiZA" name="variableAction" visibility="public" type="_VfIQRBE9EeGOffqMW1YiZA" association="_VUz2kBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUz2khE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VUz2kxE9EeGOffqMW1YiZA" value="*"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gzAY8NwbEeCT5O2F6sGn5g" name="A_weight_activityEdge" memberEnd="_gzZaqNwbEeCT5O2F6sGn5g _gzAY8dwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gzAY8dwbEeCT5O2F6sGn5g" name="activityEdge" visibility="public" type="_gzZagNwbEeCT5O2F6sGn5g" subsettedProperty="_g0JodNwbEeCT5O2F6sGn5g" association="_gzAY8NwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gzAY8twbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VUz2lBE9EeGOffqMW1YiZA" name="A_weight_activityEdge" memberEnd="_VVcI2BE9EeGOffqMW1YiZA _VUz2lRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VUz2lRE9EeGOffqMW1YiZA" name="activityEdge" visibility="public" type="_VVcIsBE9EeGOffqMW1YiZA" subsettedProperty="_N3hRMAtAEeGcpbeCPJfCmw" association="_VUz2lBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VUz2lhE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Association" xmi:id="_gzAY89wbEeCT5O2F6sGn5g" name="A_when_timeEvent" memberEnd="_g2QhTdwbEeCT5O2F6sGn5g _gzAY9NwbEeCT5O2F6sGn5g">
-      <ownedEnd xmi:id="_gzAY9NwbEeCT5O2F6sGn5g" name="timeEvent" visibility="public" type="_g2QhQNwbEeCT5O2F6sGn5g" subsettedProperty="_g0JodNwbEeCT5O2F6sGn5g" association="_gzAY89wbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gzAY9dwbEeCT5O2F6sGn5g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_VU0doBE9EeGOffqMW1YiZA" name="A_when_timeEvent" memberEnd="_VevOrRE9EeGOffqMW1YiZA _VU0doRE9EeGOffqMW1YiZA">
+      <ownedEnd xmi:id="_VU0doRE9EeGOffqMW1YiZA" name="timeEvent" visibility="public" type="_VevOoBE9EeGOffqMW1YiZA" subsettedProperty="_N3hRMAtAEeGcpbeCPJfCmw" association="_VU0doBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VU0dohE9EeGOffqMW1YiZA"/>
       </ownedEnd>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_gzAY9twbEeCT5O2F6sGn5g" name="Abstraction">
-      <ownedComment xmi:id="_gzAY99wbEeCT5O2F6sGn5g" annotatedElement="_gzAY9twbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VU1EsBE9EeGOffqMW1YiZA" name="Abstraction">
+      <ownedComment xmi:id="_VU1EsRE9EeGOffqMW1YiZA" annotatedElement="_VU1EsBE9EeGOffqMW1YiZA">
         <body>An abstraction is a relationship that relates two elements or sets of elements that represent the same concept at different levels of abstraction or from different viewpoints.</body>
       </ownedComment>
-      <generalization xmi:id="_gzAY-NwbEeCT5O2F6sGn5g" general="_rEDGkGwKEdq7X4sGURiZYA"/>
-      <ownedAttribute xmi:id="_gzAY-dwbEeCT5O2F6sGn5g" name="mapping" visibility="public" type="_ChRfcGveEdq4DLWZOhbdEA" aggregation="composite" subsettedProperty="_g0JocNwbEeCT5O2F6sGn5g" association="_gyie4NwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzAY-twbEeCT5O2F6sGn5g" annotatedElement="_gzAY-dwbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_VU1EshE9EeGOffqMW1YiZA" general="_rEDGkGwKEdq7X4sGURiZYA"/>
+      <ownedAttribute xmi:id="_VU1EsxE9EeGOffqMW1YiZA" name="mapping" visibility="public" type="_ChRfcGveEdq4DLWZOhbdEA" aggregation="composite" subsettedProperty="_GDD2YAtAEeGcpbeCPJfCmw" association="_VTu4ghE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VU1EtBE9EeGOffqMW1YiZA" annotatedElement="_VU1EsxE9EeGOffqMW1YiZA">
           <body>An composition of an Expression that states the abstraction relationship between the supplier and the client. In some cases, such as Derivation, it is usually formal and unidirectional; in other cases, such as Trace, it is usually informal and bidirectional. The mapping expression is optional and may be omitted if the precise relationship between the elements is not specified.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gzAY-9wbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VU1EtRE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_gzBAANwbEeCT5O2F6sGn5g" name="AcceptCallAction">
-      <ownedComment xmi:id="_gzBAAdwbEeCT5O2F6sGn5g" annotatedElement="_gzBAANwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VU1rwBE9EeGOffqMW1YiZA" name="AcceptCallAction">
+      <ownedComment xmi:id="_VU1rwRE9EeGOffqMW1YiZA" annotatedElement="_VU1rwBE9EeGOffqMW1YiZA">
         <body>An accept call action is an accept event action representing the receipt of a synchronous call request. In addition to the normal operation parameters, the action produces an output that is needed later to supply the information to the reply action necessary to return control to the caller. This action is for synchronous calls. If it is used to handle an asynchronous call, execution of the subsequent reply action will complete immediately with no effects.</body>
       </ownedComment>
-      <ownedRule xmi:id="_gzBAAtwbEeCT5O2F6sGn5g" name="result_pins" constrainedElement="_gzBAANwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzBAA9wbEeCT5O2F6sGn5g" annotatedElement="_gzBAAtwbEeCT5O2F6sGn5g">
-          <body>The result pins must match the in and inout parameters of the operation specified by the trigger event in number, type, and order.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_gzBABNwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>true</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_gzBABdwbEeCT5O2F6sGn5g" name="trigger_call_event" constrainedElement="_gzBAANwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzBABtwbEeCT5O2F6sGn5g" annotatedElement="_gzBABdwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VU1rwhE9EeGOffqMW1YiZA" name="trigger_call_event" constrainedElement="_VU1rwBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VU1rwxE9EeGOffqMW1YiZA" annotatedElement="_VU1rwhE9EeGOffqMW1YiZA">
           <body>The trigger event must be a CallEvent.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_gzBAB9wbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VU1rxBE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>trigger.event.oclIsKindOf(CallEvent)</body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_gzBACNwbEeCT5O2F6sGn5g" name="unmarshall" constrainedElement="_gzBAANwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzBACdwbEeCT5O2F6sGn5g" annotatedElement="_gzBACNwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VU1rxRE9EeGOffqMW1YiZA" name="unmarshall" constrainedElement="_VU1rwBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VU1rxhE9EeGOffqMW1YiZA" annotatedElement="_VU1rxRE9EeGOffqMW1YiZA">
           <body>isUnmrashall must be true for an AcceptCallAction.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_gzBACtwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VU1rxxE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>isUnmarshall = true</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_gzBAC9wbEeCT5O2F6sGn5g" general="_gzBnENwbEeCT5O2F6sGn5g"/>
-      <ownedAttribute xmi:id="_gzBADNwbEeCT5O2F6sGn5g" name="returnInformation" visibility="public" type="_g1fsRdwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_gzCOK9wbEeCT5O2F6sGn5g" association="_gy2n-NwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzBADdwbEeCT5O2F6sGn5g" annotatedElement="_gzBADNwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VU1ryBE9EeGOffqMW1YiZA" name="result_pins" constrainedElement="_VU1rwBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VU1ryRE9EeGOffqMW1YiZA" annotatedElement="_VU1ryBE9EeGOffqMW1YiZA">
+          <body>The result pins must match the in and inout parameters of the operation specified by the trigger event in number, type, and order.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VU1ryhE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>true</body>
+        </specification>
+      </ownedRule>
+      <generalization xmi:id="_VU1ryxE9EeGOffqMW1YiZA" general="_VU254BE9EeGOffqMW1YiZA"/>
+      <ownedAttribute xmi:id="_VU1rzBE9EeGOffqMW1YiZA" name="returnInformation" visibility="public" type="_VcHYcBE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_VU4vEBE9EeGOffqMW1YiZA" association="_VUgUkxE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VU1rzRE9EeGOffqMW1YiZA" annotatedElement="_VU1rzBE9EeGOffqMW1YiZA">
           <body>Pin where a value is placed containing sufficient information to perform a subsequent reply and return control to the caller. The contents of this value are opaque. It can be passed and copied but it cannot be manipulated by the model.</body>
         </ownedComment>
       </ownedAttribute>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_gzBnENwbEeCT5O2F6sGn5g" name="AcceptEventAction">
-      <ownedComment xmi:id="_gzBnEdwbEeCT5O2F6sGn5g" annotatedElement="_gzBnENwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VU254BE9EeGOffqMW1YiZA" name="AcceptEventAction">
+      <ownedComment xmi:id="_VU254RE9EeGOffqMW1YiZA" annotatedElement="_VU254BE9EeGOffqMW1YiZA">
         <body>A accept event action is an action that waits for the occurrence of an event meeting specified conditions.</body>
       </ownedComment>
-      <ownedRule xmi:id="_gzBnEtwbEeCT5O2F6sGn5g" name="trigger_events" constrainedElement="_gzBnENwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzBnE9wbEeCT5O2F6sGn5g" annotatedElement="_gzBnEtwbEeCT5O2F6sGn5g">
-          <body>If the trigger events are all TimeEvents, there is exactly one output pin.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_gzBnFNwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>true</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_gzBnFdwbEeCT5O2F6sGn5g" name="no_input_pins" constrainedElement="_gzBnENwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzBnFtwbEeCT5O2F6sGn5g" annotatedElement="_gzBnFdwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VU254hE9EeGOffqMW1YiZA" name="no_input_pins" constrainedElement="_VU254BE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VU254xE9EeGOffqMW1YiZA" annotatedElement="_VU254hE9EeGOffqMW1YiZA">
           <body>AcceptEventActions may have no input pins.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_gzBnF9wbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VU255BE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>true</body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_gzBnGNwbEeCT5O2F6sGn5g" name="no_output_pins" constrainedElement="_gzBnENwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzBnGdwbEeCT5O2F6sGn5g" annotatedElement="_gzBnGNwbEeCT5O2F6sGn5g">
-          <body>There are no output pins if the trigger events are only ChangeEvents, or if they are only CallEvents when this action is an instance of AcceptEventAction and not an instance of a descendant of AcceptEventAction (such as AcceptCallAction).</body>
+      <ownedRule xmi:id="_VU255RE9EeGOffqMW1YiZA" name="trigger_events" constrainedElement="_VU254BE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VU255hE9EeGOffqMW1YiZA" annotatedElement="_VU255RE9EeGOffqMW1YiZA">
+          <body>If the trigger events are all TimeEvents, there is exactly one output pin.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_gzBnGtwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VU255xE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>true</body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_gzBnG9wbEeCT5O2F6sGn5g" name="unmarshall_signal_events" constrainedElement="_gzBnENwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzBnHNwbEeCT5O2F6sGn5g" annotatedElement="_gzBnG9wbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VU256BE9EeGOffqMW1YiZA" name="unmarshall_signal_events" constrainedElement="_VU254BE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VU256RE9EeGOffqMW1YiZA" annotatedElement="_VU256BE9EeGOffqMW1YiZA">
           <body>If isUnmarshall is true, there must be exactly one trigger for events of type SignalEvent. The number of result output pins must be the same as the number of attributes of the signal. The type and ordering of each result output pin must be the same as the corresponding attribute of the signal. The multiplicity of each result output pin must be compatible with the multiplicity of the corresponding attribute.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_gzBnHdwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VU256hE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>true</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_gzBnHtwbEeCT5O2F6sGn5g" general="_6WKakLLQEeCsYvaJqFFivQ"/>
-      <ownedAttribute xmi:id="_gzBnH9wbEeCT5O2F6sGn5g" name="isUnmarshall" visibility="public">
-        <ownedComment xmi:id="_gzBnINwbEeCT5O2F6sGn5g" annotatedElement="_gzBnH9wbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VU256xE9EeGOffqMW1YiZA" name="no_output_pins" constrainedElement="_VU254BE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VU257BE9EeGOffqMW1YiZA" annotatedElement="_VU256xE9EeGOffqMW1YiZA">
+          <body>There are no output pins if the trigger events are only ChangeEvents, or if they are only CallEvents when this action is an instance of AcceptEventAction and not an instance of a descendant of AcceptEventAction (such as AcceptCallAction).</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VU257RE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>true</body>
+        </specification>
+      </ownedRule>
+      <generalization xmi:id="_VU257hE9EeGOffqMW1YiZA" general="_6WKakLLQEeCsYvaJqFFivQ"/>
+      <ownedAttribute xmi:id="_VU257xE9EeGOffqMW1YiZA" name="isUnmarshall" visibility="public">
+        <ownedComment xmi:id="_VU258BE9EeGOffqMW1YiZA" annotatedElement="_VU257xE9EeGOffqMW1YiZA">
           <body>Indicates whether there is a single output pin for the event, or multiple output pins for attributes of the event.</body>
         </ownedComment>
         <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
-        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_gzBnIdwbEeCT5O2F6sGn5g"/>
+        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_VU258RE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_gzBnItwbEeCT5O2F6sGn5g" name="result" visibility="public" type="_g1fsRdwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_gzCOK9wbEeCT5O2F6sGn5g" association="_gy0LuNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzBnI9wbEeCT5O2F6sGn5g" annotatedElement="_gzBnItwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VU258hE9EeGOffqMW1YiZA" name="result" visibility="public" type="_VcHYcBE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_VU4vEBE9EeGOffqMW1YiZA" association="_VUcDKBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VU258xE9EeGOffqMW1YiZA" annotatedElement="_VU258hE9EeGOffqMW1YiZA">
           <body>Pins holding the received event objects or their attributes. Event objects may be copied in transmission, so identity might not be preserved.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gzBnJNwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gzBnJdwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VU259BE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VU259RE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_gzBnJtwbEeCT5O2F6sGn5g" name="trigger" visibility="public" type="_g2TkldwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_g0JocNwbEeCT5O2F6sGn5g" association="_gy9VqdwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzBnJ9wbEeCT5O2F6sGn5g" annotatedElement="_gzBnJtwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VU259hE9EeGOffqMW1YiZA" name="trigger" visibility="public" type="_VfCJkBE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_GDD2YAtAEeGcpbeCPJfCmw" association="_VUqspRE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VU259xE9EeGOffqMW1YiZA" annotatedElement="_VU259hE9EeGOffqMW1YiZA">
           <body>The type of events accepted by the action, as specified by triggers. For triggers with signal events, a signal of the specified type or any subtype of the specified signal type is accepted.</body>
         </ownedComment>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gzBnKNwbEeCT5O2F6sGn5g" value="*"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VU25-BE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="_6WKakLLQEeCsYvaJqFFivQ" name="Action" isAbstract="true">
-      <ownedComment xmi:id="_gzBnKdwbEeCT5O2F6sGn5g" annotatedElement="_6WKakLLQEeCsYvaJqFFivQ">
+      <ownedComment xmi:id="_VU3g8BE9EeGOffqMW1YiZA" annotatedElement="_6WKakLLQEeCsYvaJqFFivQ">
         <body>An action has pre- and post-conditions.</body>
       </ownedComment>
-      <ownedComment xmi:id="_gzBnKtwbEeCT5O2F6sGn5g" annotatedElement="_6WKakLLQEeCsYvaJqFFivQ">
-        <body>An action is a named element that is the fundamental unit of executable functionality. The execution of an action represents some transformation or processing in the modeled system, be it a computer system or otherwise.</body>
-      </ownedComment>
-      <ownedComment xmi:id="_gzBnK9wbEeCT5O2F6sGn5g" annotatedElement="_6WKakLLQEeCsYvaJqFFivQ">
+      <ownedComment xmi:id="_VU3g8RE9EeGOffqMW1YiZA" annotatedElement="_6WKakLLQEeCsYvaJqFFivQ">
         <body>An action represents a single step within an activity, that is, one that is not further decomposed within the activity.</body>
       </ownedComment>
-      <generalization xmi:id="_gzBnLNwbEeCT5O2F6sGn5g" general="_g0OhCNwbEeCT5O2F6sGn5g"/>
-      <ownedAttribute xmi:id="_gzBnLdwbEeCT5O2F6sGn5g" name="context" visibility="public" type="_6UV2QGwJEdq7X4sGURiZYA" isReadOnly="true" isDerived="true" association="_gyWRqtwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzBnLtwbEeCT5O2F6sGn5g" annotatedElement="_gzBnLdwbEeCT5O2F6sGn5g">
+      <ownedComment xmi:id="_VU3g8hE9EeGOffqMW1YiZA" annotatedElement="_6WKakLLQEeCsYvaJqFFivQ">
+        <body>An action is a named element that is the fundamental unit of executable functionality. The execution of an action represents some transformation or processing in the modeled system, be it a computer system or otherwise.</body>
+      </ownedComment>
+      <generalization xmi:id="_VU3g8xE9EeGOffqMW1YiZA" general="_VZPqoBE9EeGOffqMW1YiZA"/>
+      <ownedAttribute xmi:id="_VU3g9BE9EeGOffqMW1YiZA" name="context" visibility="public" type="_6UV2QGwJEdq7X4sGURiZYA" isReadOnly="true" isDerived="true" association="_VTIbkBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VU3g9RE9EeGOffqMW1YiZA" annotatedElement="_VU3g9BE9EeGOffqMW1YiZA">
           <body>The classifier that owns the behavior of which this action is a part.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gzBnL9wbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VU3g9hE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_gzBnMNwbEeCT5O2F6sGn5g" name="input" visibility="public" type="_g0aHKdwbEeCT5O2F6sGn5g" isOrdered="true" isReadOnly="true" aggregation="composite" isDerived="true" isDerivedUnion="true" subsettedProperty="_g0JocNwbEeCT5O2F6sGn5g" association="_gygpttwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzBnMdwbEeCT5O2F6sGn5g" annotatedElement="_gzBnMNwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VU4IABE9EeGOffqMW1YiZA" name="input" visibility="public" type="_VZp6WRE9EeGOffqMW1YiZA" isOrdered="true" isReadOnly="true" aggregation="composite" isDerived="true" isDerivedUnion="true" subsettedProperty="_GDD2YAtAEeGcpbeCPJfCmw" association="_VTqnEBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VU4IARE9EeGOffqMW1YiZA" annotatedElement="_VU4IABE9EeGOffqMW1YiZA">
           <body>The ordered set of input pins connected to the Action. These are among the total set of inputs.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gzBnMtwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gzBnM9wbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VU4IAhE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VU4IAxE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_gzCOINwbEeCT5O2F6sGn5g" name="isLocallyReentrant" visibility="public">
-        <ownedComment xmi:id="_gzCOIdwbEeCT5O2F6sGn5g" annotatedElement="_gzCOINwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VU4IBBE9EeGOffqMW1YiZA" name="isLocallyReentrant" visibility="public">
+        <ownedComment xmi:id="_VU4IBRE9EeGOffqMW1YiZA" annotatedElement="_VU4IBBE9EeGOffqMW1YiZA">
           <body>If true, the action can begin a new, concurrent execution, even if there is already another execution of the action ongoing. If false, the action cannot begin a new execution until any previous execution has completed.</body>
         </ownedComment>
         <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
-        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_gzCOItwbEeCT5O2F6sGn5g"/>
+        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_VU4IBhE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_gzCOI9wbEeCT5O2F6sGn5g" name="localPostcondition" visibility="public" type="_g0AegNwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_g0JocNwbEeCT5O2F6sGn5g" association="_gyh30NwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzCOJNwbEeCT5O2F6sGn5g" annotatedElement="_gzCOI9wbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VU4IBxE9EeGOffqMW1YiZA" name="localPostcondition" visibility="public" type="_VYbLQBE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_GDD2YAtAEeGcpbeCPJfCmw" association="_VTscQRE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VU4ICBE9EeGOffqMW1YiZA" annotatedElement="_VU4IBxE9EeGOffqMW1YiZA">
           <body>Constraint that must be satisfied when executed is completed.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gzCOJdwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gzCOJtwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VU4ICRE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VU4IChE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_gzCOJ9wbEeCT5O2F6sGn5g" name="localPrecondition" visibility="public" type="_g0AegNwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_g0JocNwbEeCT5O2F6sGn5g" association="_gyh309wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzCOKNwbEeCT5O2F6sGn5g" annotatedElement="_gzCOJ9wbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VU4ICxE9EeGOffqMW1YiZA" name="localPrecondition" visibility="public" type="_VYbLQBE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_GDD2YAtAEeGcpbeCPJfCmw" association="_VTtqYBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VU4IDBE9EeGOffqMW1YiZA" annotatedElement="_VU4ICxE9EeGOffqMW1YiZA">
           <body>Constraint that must be satisfied when execution is started.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gzCOKdwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gzCOKtwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VU4IDRE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VU4IDhE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_gzCOK9wbEeCT5O2F6sGn5g" name="output" visibility="public" type="_g1fsRdwbEeCT5O2F6sGn5g" isOrdered="true" isReadOnly="true" aggregation="composite" isDerived="true" isDerivedUnion="true" subsettedProperty="_g0JocNwbEeCT5O2F6sGn5g" association="_gyn-c9wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzCOLNwbEeCT5O2F6sGn5g" annotatedElement="_gzCOK9wbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VU4vEBE9EeGOffqMW1YiZA" name="output" visibility="public" type="_VcHYcBE9EeGOffqMW1YiZA" isOrdered="true" isReadOnly="true" aggregation="composite" isDerived="true" isDerivedUnion="true" subsettedProperty="_GDD2YAtAEeGcpbeCPJfCmw" association="_VT-JExE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VU4vERE9EeGOffqMW1YiZA" annotatedElement="_VU4vEBE9EeGOffqMW1YiZA">
           <body>The ordered set of output pins connected to the Action. The action places its results onto pins in this set.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gzCOLdwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gzCOLtwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VU4vEhE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VU4vExE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedOperation xmi:id="_CroQsLLREeCsYvaJqFFivQ" name="context" visibility="public" bodyCondition="_gzCOMNwbEeCT5O2F6sGn5g" isQuery="true">
-        <ownedComment xmi:id="_gzCOL9wbEeCT5O2F6sGn5g" annotatedElement="_CroQsLLREeCsYvaJqFFivQ">
+      <ownedOperation xmi:id="_CroQsLLREeCsYvaJqFFivQ" name="context" visibility="public" bodyCondition="_VU59MBE9EeGOffqMW1YiZA" isQuery="true">
+        <ownedComment xmi:id="_VU5WIBE9EeGOffqMW1YiZA" annotatedElement="_CroQsLLREeCsYvaJqFFivQ">
           <body>Missing derivation for Action::/context : Classifier</body>
         </ownedComment>
-        <ownedRule xmi:id="_gzCOMNwbEeCT5O2F6sGn5g" name="spec" constrainedElement="_CroQsLLREeCsYvaJqFFivQ _gzBnLdwbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_gzCOMdwbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VU59MBE9EeGOffqMW1YiZA" name="spec" constrainedElement="_CroQsLLREeCsYvaJqFFivQ _VU3g9BE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VU59MRE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>true</body>
           </specification>
         </ownedRule>
         <ownedParameter xmi:id="_EGwx8LLREeCsYvaJqFFivQ" name="result" visibility="public" type="_6UV2QGwJEdq7X4sGURiZYA" direction="return">
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gzCOMtwbEeCT5O2F6sGn5g"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VU59MhE9EeGOffqMW1YiZA"/>
         </ownedParameter>
       </ownedOperation>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_gzWXMNwbEeCT5O2F6sGn5g" name="ActionExecutionSpecification">
-      <ownedComment xmi:id="_gzWXMdwbEeCT5O2F6sGn5g" annotatedElement="_gzWXMNwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VU8ZcBE9EeGOffqMW1YiZA" name="ActionExecutionSpecification">
+      <ownedComment xmi:id="_VU8ZcRE9EeGOffqMW1YiZA" annotatedElement="_VU8ZcBE9EeGOffqMW1YiZA">
         <body>An action execution specification is a kind of execution specification representing the execution of an action.</body>
       </ownedComment>
-      <ownedRule xmi:id="_gzWXMtwbEeCT5O2F6sGn5g" name="action_referenced" constrainedElement="_gzWXMNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzWXM9wbEeCT5O2F6sGn5g" annotatedElement="_gzWXMtwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VU8ZchE9EeGOffqMW1YiZA" name="action_referenced" constrainedElement="_VU8ZcBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VU8ZcxE9EeGOffqMW1YiZA" annotatedElement="_VU8ZchE9EeGOffqMW1YiZA">
           <body>The Action referenced by the ActionExecutionSpecification, if any, must be owned by the Interaction owning the ActionExecutionOccurrence.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_gzWXNNwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VU8ZdBE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>true</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_gzWXNdwbEeCT5O2F6sGn5g" general="_g0PIBdwbEeCT5O2F6sGn5g"/>
-      <ownedAttribute xmi:id="_gzWXNtwbEeCT5O2F6sGn5g" name="action" visibility="public" type="_6WKakLLQEeCsYvaJqFFivQ" association="_gyRZIdwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzWXN9wbEeCT5O2F6sGn5g" annotatedElement="_gzWXNtwbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_VU8ZdRE9EeGOffqMW1YiZA" general="_VZQRtRE9EeGOffqMW1YiZA"/>
+      <ownedAttribute xmi:id="_VU8ZdhE9EeGOffqMW1YiZA" name="action" visibility="public" type="_6WKakLLQEeCsYvaJqFFivQ" association="_VS7nQBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VU8ZdxE9EeGOffqMW1YiZA" annotatedElement="_VU8ZdhE9EeGOffqMW1YiZA">
           <body>Action whose execution is occurring.</body>
         </ownedComment>
       </ownedAttribute>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_gzWXONwbEeCT5O2F6sGn5g" name="ActionInputPin">
-      <ownedComment xmi:id="_gzWXOdwbEeCT5O2F6sGn5g" annotatedElement="_gzWXONwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VU9AgBE9EeGOffqMW1YiZA" name="ActionInputPin">
+      <ownedComment xmi:id="_VU9AgRE9EeGOffqMW1YiZA" annotatedElement="_VU9AgBE9EeGOffqMW1YiZA">
         <body>An action input pin is a kind of pin that executes an action to determine the values to input to another.</body>
       </ownedComment>
-      <ownedRule xmi:id="_gzWXOtwbEeCT5O2F6sGn5g" name="input_pin" constrainedElement="_gzWXONwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzWXO9wbEeCT5O2F6sGn5g" annotatedElement="_gzWXOtwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VU9AghE9EeGOffqMW1YiZA" name="input_pin" constrainedElement="_VU9AgBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VU9AgxE9EeGOffqMW1YiZA" annotatedElement="_VU9AghE9EeGOffqMW1YiZA">
           <body>The fromAction of an action input pin must only have action input pins as input pins.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_gzWXPNwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VU9AhBE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>true</body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_gzWXPdwbEeCT5O2F6sGn5g" name="one_output_pin" constrainedElement="_gzWXONwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzWXPtwbEeCT5O2F6sGn5g" annotatedElement="_gzWXPdwbEeCT5O2F6sGn5g">
-          <body>The fromAction of an action input pin must have exactly one output pin.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_gzWXP9wbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>true</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_gzWXQNwbEeCT5O2F6sGn5g" name="no_control_or_data_flow" constrainedElement="_gzWXONwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzWXQdwbEeCT5O2F6sGn5g" annotatedElement="_gzWXQNwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VU9AhRE9EeGOffqMW1YiZA" name="no_control_or_data_flow" constrainedElement="_VU9AgBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VU9AhhE9EeGOffqMW1YiZA" annotatedElement="_VU9AhRE9EeGOffqMW1YiZA">
           <body>The fromAction of an action input pin cannot have control or data flows coming into or out of it or its pins.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_gzWXQtwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VU9AhxE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>true</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_gzWXQ9wbEeCT5O2F6sGn5g" general="_g0aHKdwbEeCT5O2F6sGn5g"/>
-      <ownedAttribute xmi:id="_gzWXRNwbEeCT5O2F6sGn5g" name="fromAction" visibility="public" type="_6WKakLLQEeCsYvaJqFFivQ" aggregation="composite" subsettedProperty="_g0JocNwbEeCT5O2F6sGn5g" association="_gydmZtwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzWXRdwbEeCT5O2F6sGn5g" annotatedElement="_gzWXRNwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VU9AiBE9EeGOffqMW1YiZA" name="one_output_pin" constrainedElement="_VU9AgBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VU9AiRE9EeGOffqMW1YiZA" annotatedElement="_VU9AiBE9EeGOffqMW1YiZA">
+          <body>The fromAction of an action input pin must have exactly one output pin.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VU9AihE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>true</body>
+        </specification>
+      </ownedRule>
+      <generalization xmi:id="_VU9AixE9EeGOffqMW1YiZA" general="_VZp6WRE9EeGOffqMW1YiZA"/>
+      <ownedAttribute xmi:id="_VU9AjBE9EeGOffqMW1YiZA" name="fromAction" visibility="public" type="_6WKakLLQEeCsYvaJqFFivQ" aggregation="composite" subsettedProperty="_GDD2YAtAEeGcpbeCPJfCmw" association="_VTckoRE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VU9AjRE9EeGOffqMW1YiZA" annotatedElement="_VU9AjBE9EeGOffqMW1YiZA">
           <body>The action used to provide values.</body>
         </ownedComment>
       </ownedAttribute>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="_eGtFwLLREeCsYvaJqFFivQ" name="Activity">
-      <ownedComment xmi:id="_gzWXRtwbEeCT5O2F6sGn5g" annotatedElement="_eGtFwLLREeCsYvaJqFFivQ">
+      <ownedComment xmi:id="_VU9nkBE9EeGOffqMW1YiZA" annotatedElement="_eGtFwLLREeCsYvaJqFFivQ">
         <body>An activity is the specification of parameterized behavior as the coordinated sequencing of subordinate units whose individual elements are actions.</body>
       </ownedComment>
-      <ownedRule xmi:id="_gzWXR9wbEeCT5O2F6sGn5g" name="autonomous" constrainedElement="_eGtFwLLREeCsYvaJqFFivQ">
-        <ownedComment xmi:id="_gzW-QNwbEeCT5O2F6sGn5g" annotatedElement="_gzWXR9wbEeCT5O2F6sGn5g">
-          <body>An activity cannot be autonomous and have a classifier or behavioral feature context at the same time.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_gzW-QdwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>true</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_gzW-QtwbEeCT5O2F6sGn5g" name="no_supergroups" constrainedElement="_eGtFwLLREeCsYvaJqFFivQ">
-        <ownedComment xmi:id="_gzW-Q9wbEeCT5O2F6sGn5g" annotatedElement="_gzW-QtwbEeCT5O2F6sGn5g">
-          <body>The groups of an activity have no supergroups.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_gzW-RNwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>true</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_gzW-RdwbEeCT5O2F6sGn5g" name="activity_parameter_node" constrainedElement="_eGtFwLLREeCsYvaJqFFivQ">
-        <ownedComment xmi:id="_gzW-RtwbEeCT5O2F6sGn5g" annotatedElement="_gzW-RdwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VU9nkRE9EeGOffqMW1YiZA" name="activity_parameter_node" constrainedElement="_eGtFwLLREeCsYvaJqFFivQ">
+        <ownedComment xmi:id="_VU9nkhE9EeGOffqMW1YiZA" annotatedElement="_VU9nkRE9EeGOffqMW1YiZA">
           <body>The nodes of the activity must include one ActivityParameterNode for each parameter.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_gzW-R9wbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VU9nkxE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>true</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_gzW-SNwbEeCT5O2F6sGn5g" general="_TUPtYGveEdq4DLWZOhbdEA"/>
-      <ownedAttribute xmi:id="_gzW-SdwbEeCT5O2F6sGn5g" name="edge" visibility="public" type="_gzZagNwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_g0JocNwbEeCT5O2F6sGn5g" association="_gyZU89wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzW-StwbEeCT5O2F6sGn5g" annotatedElement="_gzW-SdwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VU9nlBE9EeGOffqMW1YiZA" name="autonomous" constrainedElement="_eGtFwLLREeCsYvaJqFFivQ">
+        <ownedComment xmi:id="_VU9nlRE9EeGOffqMW1YiZA" annotatedElement="_VU9nlBE9EeGOffqMW1YiZA">
+          <body>An activity cannot be autonomous and have a classifier or behavioral feature context at the same time.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VU9nlhE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>true</body>
+        </specification>
+      </ownedRule>
+      <ownedRule xmi:id="_VU9nlxE9EeGOffqMW1YiZA" name="no_supergroups" constrainedElement="_eGtFwLLREeCsYvaJqFFivQ">
+        <ownedComment xmi:id="_VU9nmBE9EeGOffqMW1YiZA" annotatedElement="_VU9nlxE9EeGOffqMW1YiZA">
+          <body>The groups of an activity have no supergroups.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VU9nmRE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>true</body>
+        </specification>
+      </ownedRule>
+      <generalization xmi:id="_VU9nmhE9EeGOffqMW1YiZA" general="_TUPtYGveEdq4DLWZOhbdEA"/>
+      <ownedAttribute xmi:id="_zRopoAs9EeGcpbeCPJfCmw" name="ownedGroup" visibility="protected" type="_aZICgAs-EeGcpbeCPJfCmw" aggregation="composite" subsettedProperty="_PCvjoAs_EeGcpbeCPJfCmw">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hecfYAs-EeGcpbeCPJfCmw"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iNvOUAs-EeGcpbeCPJfCmw" value="*"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:id="_5DNmsAs9EeGcpbeCPJfCmw" name="ownedNode" visibility="protected" type="_WpiyYAs-EeGcpbeCPJfCmw" aggregation="composite" subsettedProperty="_RoJfoAs_EeGcpbeCPJfCmw">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_jIyhUAs-EeGcpbeCPJfCmw"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_jsV6UAs-EeGcpbeCPJfCmw" value="*"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:id="_VU-OoBE9EeGOffqMW1YiZA" name="edge" visibility="public" type="_VVcIsBE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_GDD2YAtAEeGcpbeCPJfCmw" association="_VTQXYBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VU-OoRE9EeGOffqMW1YiZA" annotatedElement="_VU-OoBE9EeGOffqMW1YiZA">
           <body>Edges expressing flow between nodes of the activity.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gzW-S9wbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gzW-TNwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VU-OohE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VU-OoxE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_gzW-TdwbEeCT5O2F6sGn5g" name="group" visibility="public" type="_gzaBkNwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_g0JocNwbEeCT5O2F6sGn5g" association="_gyeNetwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzW-TtwbEeCT5O2F6sGn5g" annotatedElement="_gzW-TdwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_PCvjoAs_EeGcpbeCPJfCmw" name="group" visibility="public" type="_aZICgAs-EeGcpbeCPJfCmw" aggregation="composite" isDerived="true" subsettedProperty="_GDD2YAtAEeGcpbeCPJfCmw" association="_DwV68AtCEeGcpbeCPJfCmw">
+        <ownedComment xmi:id="_VU-OpBE9EeGOffqMW1YiZA" annotatedElement="_PCvjoAs_EeGcpbeCPJfCmw">
           <body>Top-level groups in the activity.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gzW-T9wbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gzW-UNwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VU-OpRE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VU-OphE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_gzW-UdwbEeCT5O2F6sGn5g" name="isReadOnly" visibility="public">
-        <ownedComment xmi:id="_gzW-UtwbEeCT5O2F6sGn5g" annotatedElement="_gzW-UdwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VVAD0BE9EeGOffqMW1YiZA" name="isReadOnly" visibility="public">
+        <ownedComment xmi:id="_VVAD0RE9EeGOffqMW1YiZA" annotatedElement="_VVAD0BE9EeGOffqMW1YiZA">
           <body>If true, this activity must not make any changes to variables outside the activity or to objects. (This is an assertion, not an executable property. It may be used by an execution engine to optimize model execution. If the assertion is violated by the action, then the model is ill-formed.) The default is false (an activity may make nonlocal changes).</body>
         </ownedComment>
         <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
-        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_gzW-U9wbEeCT5O2F6sGn5g"/>
+        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_VVAD0hE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_gzW-VNwbEeCT5O2F6sGn5g" name="isSingleExecution" visibility="public">
-        <ownedComment xmi:id="_gzW-VdwbEeCT5O2F6sGn5g" annotatedElement="_gzW-VNwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VVEVQBE9EeGOffqMW1YiZA" name="isSingleExecution" visibility="public">
+        <ownedComment xmi:id="_VVEVQRE9EeGOffqMW1YiZA" annotatedElement="_VVEVQBE9EeGOffqMW1YiZA">
           <body>If true, all invocations of the activity are handled by the same execution.</body>
         </ownedComment>
         <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
-        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_gzW-VtwbEeCT5O2F6sGn5g"/>
+        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_VVEVQhE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_gzXlUNwbEeCT5O2F6sGn5g" name="node" visibility="public" type="_gzbPsNwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_g0JocNwbEeCT5O2F6sGn5g" association="_gyk7MNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzXlUdwbEeCT5O2F6sGn5g" annotatedElement="_gzXlUNwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_RoJfoAs_EeGcpbeCPJfCmw" name="node" visibility="public" type="_WpiyYAs-EeGcpbeCPJfCmw" aggregation="composite" isDerived="true" subsettedProperty="_GDD2YAtAEeGcpbeCPJfCmw" association="_RFCrMAtCEeGcpbeCPJfCmw">
+        <ownedComment xmi:id="_VVEVQxE9EeGOffqMW1YiZA" annotatedElement="_RoJfoAs_EeGcpbeCPJfCmw">
           <body>Nodes coordinated by the activity.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gzXlUtwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gzXlU9wbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VVEVRBE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VVE8UBE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_gzXlVNwbEeCT5O2F6sGn5g" name="partition" visibility="public" type="_gzcd0NwbEeCT5O2F6sGn5g" subsettedProperty="_gzW-TdwbEeCT5O2F6sGn5g" association="_gysP59wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzXlVdwbEeCT5O2F6sGn5g" annotatedElement="_gzXlVNwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_-_c7oAs9EeGcpbeCPJfCmw" name="partition" visibility="public" type="_MIhqsAs-EeGcpbeCPJfCmw" subsettedProperty="_PCvjoAs_EeGcpbeCPJfCmw _zRopoAs9EeGcpbeCPJfCmw" association="_3Ik3QAtDEeGcpbeCPJfCmw">
+        <ownedComment xmi:id="_VVFjYBE9EeGOffqMW1YiZA" annotatedElement="_-_c7oAs9EeGcpbeCPJfCmw">
           <body>Top-level partitions in the activity.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gzXlVtwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gzXlV9wbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VVHYkBE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VVHYkRE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_gzXlWNwbEeCT5O2F6sGn5g" name="structuredNode" visibility="public" type="_w1_2cLLREeCsYvaJqFFivQ" isReadOnly="true" aggregation="composite" isDerived="true" subsettedProperty="_gzW-TdwbEeCT5O2F6sGn5g _gzXlUNwbEeCT5O2F6sGn5g" association="_gy65ctwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzXlWdwbEeCT5O2F6sGn5g" annotatedElement="_gzXlWNwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_EOSYAAs-EeGcpbeCPJfCmw" name="structuredNode" visibility="public" type="_w1_2cLLREeCsYvaJqFFivQ" aggregation="composite" subsettedProperty="_PCvjoAs_EeGcpbeCPJfCmw _RoJfoAs_EeGcpbeCPJfCmw" association="_w4820AtEEeGcpbeCPJfCmw">
+        <ownedComment xmi:id="_VVH_oBE9EeGOffqMW1YiZA" annotatedElement="_EOSYAAs-EeGcpbeCPJfCmw">
           <body>Top-level structured nodes in the activity.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gzXlWtwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gzXlW9wbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VVH_oRE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VVH_ohE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_gzXlXNwbEeCT5O2F6sGn5g" name="variable" visibility="public" type="_g2ZELdwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_g1S4AdwbEeCT5O2F6sGn5g" association="_gy_x5twbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzXlXdwbEeCT5O2F6sGn5g" annotatedElement="_gzXlXNwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VVH_oxE9EeGOffqMW1YiZA" name="variable" visibility="public" type="_VfIQMBE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_Var1EBE9EeGOffqMW1YiZA" association="_VUyocBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VVH_pBE9EeGOffqMW1YiZA" annotatedElement="_VVH_oxE9EeGOffqMW1YiZA">
           <body>Top-level variables in the activity.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gzXlXtwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gzXlX9wbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VVH_pRE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VVH_phE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedOperation xmi:id="_gJvUgLLREeCsYvaJqFFivQ" name="structuredNode" visibility="public" bodyCondition="_gzXlYdwbEeCT5O2F6sGn5g" isQuery="true">
-        <ownedComment xmi:id="_gzXlYNwbEeCT5O2F6sGn5g" annotatedElement="_gJvUgLLREeCsYvaJqFFivQ">
-          <body>Missing derivation for Activity::/structuredNode : StructuredActivityNode</body>
-        </ownedComment>
-        <ownedRule xmi:id="_gzXlYdwbEeCT5O2F6sGn5g" name="spec" constrainedElement="_gJvUgLLREeCsYvaJqFFivQ _gzXlWNwbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_gzXlYtwbEeCT5O2F6sGn5g">
-            <language>OCL</language>
-            <body>true</body>
-          </specification>
-        </ownedRule>
-        <ownedParameter xmi:id="_ilEHcLLREeCsYvaJqFFivQ" name="result" visibility="public" type="_w1_2cLLREeCsYvaJqFFivQ" direction="return">
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gzXlY9wbEeCT5O2F6sGn5g"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gzXlZNwbEeCT5O2F6sGn5g" value="*"/>
-        </ownedParameter>
-      </ownedOperation>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_gzZagNwbEeCT5O2F6sGn5g" name="ActivityEdge" isAbstract="true">
-      <ownedComment xmi:id="_gzZagdwbEeCT5O2F6sGn5g" annotatedElement="_gzZagNwbEeCT5O2F6sGn5g">
-        <body>An activity edge is an abstract class for directed connections between two activity nodes.</body>
-      </ownedComment>
-      <ownedComment xmi:id="_gzZagtwbEeCT5O2F6sGn5g" annotatedElement="_gzZagNwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VVcIsBE9EeGOffqMW1YiZA" name="ActivityEdge" isAbstract="true">
+      <ownedComment xmi:id="_VVcIsRE9EeGOffqMW1YiZA" annotatedElement="_VVcIsBE9EeGOffqMW1YiZA">
         <body>Activity edges can be contained in interruptible regions.</body>
       </ownedComment>
-      <ownedRule xmi:id="_gzZag9wbEeCT5O2F6sGn5g" name="owned" constrainedElement="_gzZagNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzZahNwbEeCT5O2F6sGn5g" annotatedElement="_gzZag9wbEeCT5O2F6sGn5g">
+      <ownedComment xmi:id="_VVcIshE9EeGOffqMW1YiZA" annotatedElement="_VVcIsBE9EeGOffqMW1YiZA">
+        <body>An activity edge is an abstract class for directed connections between two activity nodes.</body>
+      </ownedComment>
+      <ownedRule xmi:id="_VVcIsxE9EeGOffqMW1YiZA" name="owned" constrainedElement="_VVcIsBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VVcItBE9EeGOffqMW1YiZA" annotatedElement="_VVcIsxE9EeGOffqMW1YiZA">
           <body>Activity edges may be owned only by activities or groups.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_gzZahdwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VVcItRE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>true</body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_gzZahtwbEeCT5O2F6sGn5g" name="source_and_target" constrainedElement="_gzZagNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzZah9wbEeCT5O2F6sGn5g" annotatedElement="_gzZahtwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VVcIthE9EeGOffqMW1YiZA" name="source_and_target" constrainedElement="_VVcIsBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VVcItxE9EeGOffqMW1YiZA" annotatedElement="_VVcIthE9EeGOffqMW1YiZA">
           <body>The source and target of an edge must be in the same activity as the edge.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_gzZaiNwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VVcIuBE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>true</body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_gzZaidwbEeCT5O2F6sGn5g" name="structured_node" constrainedElement="_gzZagNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzZaitwbEeCT5O2F6sGn5g" annotatedElement="_gzZaidwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VVcIuRE9EeGOffqMW1YiZA" name="structured_node" constrainedElement="_VVcIsBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VVcIuhE9EeGOffqMW1YiZA" annotatedElement="_VVcIuRE9EeGOffqMW1YiZA">
           <body>Activity edges may be owned by at most one structured node.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_gzZai9wbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VVcIuxE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>true</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_gzZajNwbEeCT5O2F6sGn5g" general="_uCRA4La-EeCRxrN1JUGuxA"/>
-      <ownedAttribute xmi:id="_gzZajdwbEeCT5O2F6sGn5g" name="activity" visibility="public" type="_eGtFwLLREeCsYvaJqFFivQ" subsettedProperty="_g0JodNwbEeCT5O2F6sGn5g" association="_gyZU89wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzZajtwbEeCT5O2F6sGn5g" annotatedElement="_gzZajdwbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_VVcIvBE9EeGOffqMW1YiZA" general="_uCRA4La-EeCRxrN1JUGuxA"/>
+      <ownedAttribute xmi:id="_VVcIvRE9EeGOffqMW1YiZA" name="activity" visibility="public" type="_eGtFwLLREeCsYvaJqFFivQ" subsettedProperty="_N3hRMAtAEeGcpbeCPJfCmw" association="_VTQXYBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VVcIvhE9EeGOffqMW1YiZA" annotatedElement="_VVcIvRE9EeGOffqMW1YiZA">
           <body>Activity containing the edge.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gzZaj9wbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VVcIvxE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_gzZakNwbEeCT5O2F6sGn5g" name="guard" visibility="public" type="_g2YdENwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_g0JocNwbEeCT5O2F6sGn5g" association="_gyeNe9wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzZakdwbEeCT5O2F6sGn5g" annotatedElement="_gzZakNwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VVcIwBE9EeGOffqMW1YiZA" name="guard" visibility="public" type="_VfGbABE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_GDD2YAtAEeGcpbeCPJfCmw" association="_VTlukBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VVcIwRE9EeGOffqMW1YiZA" annotatedElement="_VVcIwBE9EeGOffqMW1YiZA">
           <body>Specification evaluated at runtime to determine if the edge can be traversed.</body>
         </ownedComment>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_gzZaktwbEeCT5O2F6sGn5g" name="inGroup" visibility="public" type="_gzaBkNwbEeCT5O2F6sGn5g" isReadOnly="true" isDerived="true" isDerivedUnion="true" association="_gyWRqNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzZak9wbEeCT5O2F6sGn5g" annotatedElement="_gzZaktwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VVcIwhE9EeGOffqMW1YiZA" name="inGroup" visibility="public" type="_aZICgAs-EeGcpbeCPJfCmw" isReadOnly="true" isDerived="true" isDerivedUnion="true" association="_VTH0gBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VVcIwxE9EeGOffqMW1YiZA" annotatedElement="_VVcIwhE9EeGOffqMW1YiZA">
           <body>Groups containing the edge.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gzZalNwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gzZaldwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VVcIxBE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VVcIxRE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_gzZaltwbEeCT5O2F6sGn5g" name="inPartition" visibility="public" type="_gzcd0NwbEeCT5O2F6sGn5g" subsettedProperty="_gzZaktwbEeCT5O2F6sGn5g" association="_gyZU9NwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzZal9wbEeCT5O2F6sGn5g" annotatedElement="_gzZaltwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VVcIxhE9EeGOffqMW1YiZA" name="inPartition" visibility="public" type="_MIhqsAs-EeGcpbeCPJfCmw" subsettedProperty="_VVcIwhE9EeGOffqMW1YiZA" association="_VTQXYRE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VVcIxxE9EeGOffqMW1YiZA" annotatedElement="_VVcIxhE9EeGOffqMW1YiZA">
           <body>Partitions containing the edge.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gzZamNwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gzZamdwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VVcIyBE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VVcIyRE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_gzZamtwbEeCT5O2F6sGn5g" name="inStructuredNode" visibility="public" type="_w1_2cLLREeCsYvaJqFFivQ" subsettedProperty="_gzZaktwbEeCT5O2F6sGn5g _g0JodNwbEeCT5O2F6sGn5g" association="_gyZU9dwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzZam9wbEeCT5O2F6sGn5g" annotatedElement="_gzZamtwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VVcIyhE9EeGOffqMW1YiZA" name="inStructuredNode" visibility="public" type="_w1_2cLLREeCsYvaJqFFivQ" subsettedProperty="_VVcIwhE9EeGOffqMW1YiZA _N3hRMAtAEeGcpbeCPJfCmw" association="_VTQXYhE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VVcIyxE9EeGOffqMW1YiZA" annotatedElement="_VVcIyhE9EeGOffqMW1YiZA">
           <body>Structured activity node containing the edge.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gzZanNwbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VVcIzBE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_gzZandwbEeCT5O2F6sGn5g" name="interrupts" visibility="public" type="_g0fmsNwbEeCT5O2F6sGn5g" association="_gyhQxdwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzZantwbEeCT5O2F6sGn5g" annotatedElement="_gzZandwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VVcIzRE9EeGOffqMW1YiZA" name="interrupts" visibility="public" type="_VZx2IhE9EeGOffqMW1YiZA" association="_VTr1MRE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VVcIzhE9EeGOffqMW1YiZA" annotatedElement="_VVcIzRE9EeGOffqMW1YiZA">
           <body>Region that the edge can interrupt.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gzZan9wbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VVcIzxE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_gzZaoNwbEeCT5O2F6sGn5g" name="redefinedEdge" visibility="public" type="_gzZagNwbEeCT5O2F6sGn5g" subsettedProperty="_g15U7twbEeCT5O2F6sGn5g" association="_gyv6T9wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzZaodwbEeCT5O2F6sGn5g" annotatedElement="_gzZaoNwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VVcI0BE9EeGOffqMW1YiZA" name="redefinedEdge" visibility="public" type="_VVcIsBE9EeGOffqMW1YiZA" subsettedProperty="_VdtT4BE9EeGOffqMW1YiZA" association="_VUREABE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VVcI0RE9EeGOffqMW1YiZA" annotatedElement="_VVcI0BE9EeGOffqMW1YiZA">
           <body>Inherited edges replaced by this edge in a specialization of the activity.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gzZaotwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gzZao9wbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VVcI0hE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VVcI0xE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_gzZapNwbEeCT5O2F6sGn5g" name="source" visibility="public" type="_gzbPsNwbEeCT5O2F6sGn5g" association="_gynXbNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzZapdwbEeCT5O2F6sGn5g" annotatedElement="_gzZapNwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VVcI1BE9EeGOffqMW1YiZA" name="source" visibility="public" type="_WpiyYAs-EeGcpbeCPJfCmw" association="_VT9iAxE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VVcI1RE9EeGOffqMW1YiZA" annotatedElement="_VVcI1BE9EeGOffqMW1YiZA">
           <body>Node from which tokens are taken when they traverse the edge.</body>
         </ownedComment>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_gzZaptwbEeCT5O2F6sGn5g" name="target" visibility="public" type="_gzbPsNwbEeCT5O2F6sGn5g" association="_gyfbn9wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzZap9wbEeCT5O2F6sGn5g" annotatedElement="_gzZaptwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VVcI1hE9EeGOffqMW1YiZA" name="target" visibility="public" type="_WpiyYAs-EeGcpbeCPJfCmw" association="_VToK1RE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VVcI1xE9EeGOffqMW1YiZA" annotatedElement="_VVcI1hE9EeGOffqMW1YiZA">
           <body>Node to which tokens are put when they traverse the edge.</body>
         </ownedComment>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_gzZaqNwbEeCT5O2F6sGn5g" name="weight" visibility="public" type="_g2YdENwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_g0JocNwbEeCT5O2F6sGn5g" association="_gzAY8NwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzZaqdwbEeCT5O2F6sGn5g" annotatedElement="_gzZaqNwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VVcI2BE9EeGOffqMW1YiZA" name="weight" visibility="public" type="_VfGbABE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_GDD2YAtAEeGcpbeCPJfCmw" association="_VUz2lBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VVcI2RE9EeGOffqMW1YiZA" annotatedElement="_VVcI2BE9EeGOffqMW1YiZA">
           <body>The minimum number of tokens that must traverse the edge at the same time.</body>
         </ownedComment>
       </ownedAttribute>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_gzZaqtwbEeCT5O2F6sGn5g" name="ActivityFinalNode">
-      <ownedComment xmi:id="_gzZaq9wbEeCT5O2F6sGn5g" annotatedElement="_gzZaqtwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VVcvwBE9EeGOffqMW1YiZA" name="ActivityFinalNode">
+      <ownedComment xmi:id="_VVcvwRE9EeGOffqMW1YiZA" annotatedElement="_VVcvwBE9EeGOffqMW1YiZA">
         <body>An activity final node is a final node that stops all flows in an activity.</body>
       </ownedComment>
-      <generalization xmi:id="_gzZarNwbEeCT5O2F6sGn5g" general="_g0UAg9wbEeCT5O2F6sGn5g"/>
+      <generalization xmi:id="_VVcvwhE9EeGOffqMW1YiZA" general="_VZY0kBE9EeGOffqMW1YiZA"/>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_gzaBkNwbEeCT5O2F6sGn5g" name="ActivityGroup" isAbstract="true">
-      <ownedComment xmi:id="_gzaBkdwbEeCT5O2F6sGn5g" annotatedElement="_gzaBkNwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_aZICgAs-EeGcpbeCPJfCmw" name="ActivityGroup" isAbstract="true">
+      <ownedComment xmi:id="_VVdW0BE9EeGOffqMW1YiZA" annotatedElement="_aZICgAs-EeGcpbeCPJfCmw">
         <body>ActivityGroup is an abstract class for defining sets of nodes and edges in an activity.</body>
       </ownedComment>
-      <ownedRule xmi:id="_gzaBktwbEeCT5O2F6sGn5g" name="nodes_and_edges" constrainedElement="_gzaBkNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzaBk9wbEeCT5O2F6sGn5g" annotatedElement="_gzaBktwbEeCT5O2F6sGn5g">
-          <body>All nodes and edges of the group must be in the same activity as the group.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_gzaBlNwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>true</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_gzaBldwbEeCT5O2F6sGn5g" name="group_owned" constrainedElement="_gzaBkNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzaBltwbEeCT5O2F6sGn5g" annotatedElement="_gzaBldwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VVdW0RE9EeGOffqMW1YiZA" name="group_owned" constrainedElement="_aZICgAs-EeGcpbeCPJfCmw">
+        <ownedComment xmi:id="_VVdW0hE9EeGOffqMW1YiZA" annotatedElement="_VVdW0RE9EeGOffqMW1YiZA">
           <body>Groups may only be owned by activities or groups.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_gzaBl9wbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VVdW0xE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>true</body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_gzaBmNwbEeCT5O2F6sGn5g" name="not_contained" constrainedElement="_gzaBkNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzaBmdwbEeCT5O2F6sGn5g" annotatedElement="_gzaBmNwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VVdW1BE9EeGOffqMW1YiZA" name="not_contained" constrainedElement="_aZICgAs-EeGcpbeCPJfCmw">
+        <ownedComment xmi:id="_VVdW1RE9EeGOffqMW1YiZA" annotatedElement="_VVdW1BE9EeGOffqMW1YiZA">
           <body>No node or edge in a group may be contained by its subgroups or its containing groups, transitively.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_gzaBmtwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VVdW1hE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>true</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_gzaBm9wbEeCT5O2F6sGn5g" general="_csVgUGvtEdqG6fBIPwe-mw"/>
-      <ownedAttribute xmi:id="_gzaBnNwbEeCT5O2F6sGn5g" name="containedEdge" visibility="public" type="_gzZagNwbEeCT5O2F6sGn5g" isReadOnly="true" isDerived="true" isDerivedUnion="true" association="_gyWRqNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzaBndwbEeCT5O2F6sGn5g" annotatedElement="_gzaBnNwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VVd94BE9EeGOffqMW1YiZA" name="nodes_and_edges" constrainedElement="_aZICgAs-EeGcpbeCPJfCmw">
+        <ownedComment xmi:id="_VVd94RE9EeGOffqMW1YiZA" annotatedElement="_VVd94BE9EeGOffqMW1YiZA">
+          <body>All nodes and edges of the group must be in the same activity as the group.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VVd94hE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>true</body>
+        </specification>
+      </ownedRule>
+      <generalization xmi:id="_VVd94xE9EeGOffqMW1YiZA" general="_csVgUGvtEdqG6fBIPwe-mw"/>
+      <ownedAttribute xmi:id="_VVd95BE9EeGOffqMW1YiZA" name="containedEdge" visibility="public" type="_VVcIsBE9EeGOffqMW1YiZA" isReadOnly="true" isDerived="true" isDerivedUnion="true" association="_VTH0gBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VVd95RE9EeGOffqMW1YiZA" annotatedElement="_VVd95BE9EeGOffqMW1YiZA">
           <body>Edges immediately contained in the group.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gzaBntwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gzaBn9wbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VVd95hE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VVd95xE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_gzaBoNwbEeCT5O2F6sGn5g" name="containedNode" visibility="public" type="_gzbPsNwbEeCT5O2F6sGn5g" isReadOnly="true" isDerived="true" isDerivedUnion="true" association="_gyWRqdwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzaBodwbEeCT5O2F6sGn5g" annotatedElement="_gzaBoNwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VVd96BE9EeGOffqMW1YiZA" name="containedNode" visibility="public" type="_WpiyYAs-EeGcpbeCPJfCmw" isReadOnly="true" isDerived="true" isDerivedUnion="true" association="_VTH0gRE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VVd96RE9EeGOffqMW1YiZA" annotatedElement="_VVd96BE9EeGOffqMW1YiZA">
           <body>Nodes immediately contained in the group.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gzaBotwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gzaBo9wbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VVd96hE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VVd96xE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_gzaBpNwbEeCT5O2F6sGn5g" name="inActivity" visibility="public" type="_eGtFwLLREeCsYvaJqFFivQ" subsettedProperty="_g0JodNwbEeCT5O2F6sGn5g" association="_gyeNetwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzaBpdwbEeCT5O2F6sGn5g" annotatedElement="_gzaBpNwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_5V2SAAtBEeGcpbeCPJfCmw" name="inActivity" visibility="public" type="_eGtFwLLREeCsYvaJqFFivQ" subsettedProperty="_N3hRMAtAEeGcpbeCPJfCmw" association="_DwV68AtCEeGcpbeCPJfCmw">
+        <ownedComment xmi:id="_VVek8BE9EeGOffqMW1YiZA" annotatedElement="_5V2SAAtBEeGcpbeCPJfCmw">
           <body>Activity containing the group.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gzaBptwbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VVek8RE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_gzaBp9wbEeCT5O2F6sGn5g" name="subgroup" visibility="public" type="_gzaBkNwbEeCT5O2F6sGn5g" isReadOnly="true" aggregation="composite" isDerived="true" isDerivedUnion="true" subsettedProperty="_g0JocNwbEeCT5O2F6sGn5g" association="_gy7gcdwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzaBqNwbEeCT5O2F6sGn5g" annotatedElement="_gzaBp9wbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VVek8hE9EeGOffqMW1YiZA" name="subgroup" visibility="public" type="_aZICgAs-EeGcpbeCPJfCmw" isReadOnly="true" aggregation="composite" isDerived="true" isDerivedUnion="true" subsettedProperty="_GDD2YAtAEeGcpbeCPJfCmw" association="_VUnpUBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VVek8xE9EeGOffqMW1YiZA" annotatedElement="_VVek8hE9EeGOffqMW1YiZA">
           <body>Groups immediately contained in the group.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gzaBqdwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gzaBqtwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VVek9BE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VVek9RE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_gzaBq9wbEeCT5O2F6sGn5g" name="superGroup" visibility="public" type="_gzaBkNwbEeCT5O2F6sGn5g" isReadOnly="true" isDerived="true" isDerivedUnion="true" subsettedProperty="_g0JodNwbEeCT5O2F6sGn5g" association="_gy7gcdwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzaBrNwbEeCT5O2F6sGn5g" annotatedElement="_gzaBq9wbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VVek9hE9EeGOffqMW1YiZA" name="superGroup" visibility="public" type="_aZICgAs-EeGcpbeCPJfCmw" isReadOnly="true" isDerived="true" isDerivedUnion="true" subsettedProperty="_N3hRMAtAEeGcpbeCPJfCmw" association="_VUnpUBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VVek9xE9EeGOffqMW1YiZA" annotatedElement="_VVek9hE9EeGOffqMW1YiZA">
           <body>Group immediately containing the group.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gzaBrdwbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VVek-BE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_gzbPsNwbEeCT5O2F6sGn5g" name="ActivityNode" isAbstract="true">
-      <ownedComment xmi:id="_gzbPsdwbEeCT5O2F6sGn5g" annotatedElement="_gzbPsNwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_WpiyYAs-EeGcpbeCPJfCmw" name="ActivityNode" isAbstract="true">
+      <ownedComment xmi:id="_VVfMABE9EeGOffqMW1YiZA" annotatedElement="_WpiyYAs-EeGcpbeCPJfCmw">
         <body>ActivityNode is an abstract class for points in the flow of an activity connected by edges.</body>
       </ownedComment>
-      <ownedRule xmi:id="_gzbPstwbEeCT5O2F6sGn5g" name="owned" constrainedElement="_gzbPsNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzbPs9wbEeCT5O2F6sGn5g" annotatedElement="_gzbPstwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VVfMARE9EeGOffqMW1YiZA" name="owned" constrainedElement="_WpiyYAs-EeGcpbeCPJfCmw">
+        <ownedComment xmi:id="_VVfMAhE9EeGOffqMW1YiZA" annotatedElement="_VVfMARE9EeGOffqMW1YiZA">
           <body>Activity nodes can only be owned by activities or groups.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_gzbPtNwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VVfMAxE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>true</body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_gzbPtdwbEeCT5O2F6sGn5g" name="owned_structured_node" constrainedElement="_gzbPsNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzbPttwbEeCT5O2F6sGn5g" annotatedElement="_gzbPtdwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VVfzEBE9EeGOffqMW1YiZA" name="owned_structured_node" constrainedElement="_WpiyYAs-EeGcpbeCPJfCmw">
+        <ownedComment xmi:id="_VVfzERE9EeGOffqMW1YiZA" annotatedElement="_VVfzEBE9EeGOffqMW1YiZA">
           <body>Activity nodes may be owned by at most one structured node.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_gzbPt9wbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VVfzEhE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>true</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_gzbPuNwbEeCT5O2F6sGn5g" general="_uCRA4La-EeCRxrN1JUGuxA"/>
-      <ownedAttribute xmi:id="_gzbPudwbEeCT5O2F6sGn5g" name="activity" visibility="public" type="_eGtFwLLREeCsYvaJqFFivQ" subsettedProperty="_g0JodNwbEeCT5O2F6sGn5g" association="_gyk7MNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzbPutwbEeCT5O2F6sGn5g" annotatedElement="_gzbPudwbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_VVfzExE9EeGOffqMW1YiZA" general="_uCRA4La-EeCRxrN1JUGuxA"/>
+      <ownedAttribute xmi:id="_X0ZfIAtCEeGcpbeCPJfCmw" name="activity" visibility="public" type="_eGtFwLLREeCsYvaJqFFivQ" subsettedProperty="_N3hRMAtAEeGcpbeCPJfCmw" association="_RFCrMAtCEeGcpbeCPJfCmw">
+        <ownedComment xmi:id="_VVfzFBE9EeGOffqMW1YiZA" annotatedElement="_X0ZfIAtCEeGcpbeCPJfCmw">
           <body>Activity containing the node.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gzbPu9wbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VVfzFRE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_gzbPvNwbEeCT5O2F6sGn5g" name="inGroup" visibility="public" type="_gzaBkNwbEeCT5O2F6sGn5g" isReadOnly="true" isDerived="true" isDerivedUnion="true" association="_gyWRqdwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzbPvdwbEeCT5O2F6sGn5g" annotatedElement="_gzbPvNwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VVfzFhE9EeGOffqMW1YiZA" name="inGroup" visibility="public" type="_aZICgAs-EeGcpbeCPJfCmw" isReadOnly="true" isDerived="true" isDerivedUnion="true" association="_VTH0gRE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VVgaIBE9EeGOffqMW1YiZA" annotatedElement="_VVfzFhE9EeGOffqMW1YiZA">
           <body>Groups containing the node.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gzbPvtwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gzbPv9wbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VVgaIRE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VVgaIhE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_gzbPwNwbEeCT5O2F6sGn5g" name="inInterruptibleRegion" visibility="public" type="_g0fmsNwbEeCT5O2F6sGn5g" subsettedProperty="_gzbPvNwbEeCT5O2F6sGn5g" association="_gyfbmNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzbPwdwbEeCT5O2F6sGn5g" annotatedElement="_gzbPwNwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VVgaIxE9EeGOffqMW1YiZA" name="inInterruptibleRegion" visibility="public" type="_VZx2IhE9EeGOffqMW1YiZA" subsettedProperty="_VVfzFhE9EeGOffqMW1YiZA" association="_VTnjyBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VVgaJBE9EeGOffqMW1YiZA" annotatedElement="_VVgaIxE9EeGOffqMW1YiZA">
           <body>Interruptible regions containing the node.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gzbPwtwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gzbPw9wbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VVgaJRE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VVgaJhE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_gzbPxNwbEeCT5O2F6sGn5g" name="inPartition" visibility="public" type="_gzcd0NwbEeCT5O2F6sGn5g" subsettedProperty="_gzbPvNwbEeCT5O2F6sGn5g" association="_gyfbmdwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzbPxdwbEeCT5O2F6sGn5g" annotatedElement="_gzbPxNwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VVgaJxE9EeGOffqMW1YiZA" name="inPartition" visibility="public" type="_MIhqsAs-EeGcpbeCPJfCmw" subsettedProperty="_VVfzFhE9EeGOffqMW1YiZA" association="_VTnjyRE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VVgaKBE9EeGOffqMW1YiZA" annotatedElement="_VVgaJxE9EeGOffqMW1YiZA">
           <body>Partitions containing the node.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gzbPxtwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gzbPx9wbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VVgaKRE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VVgaKhE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_gzbPyNwbEeCT5O2F6sGn5g" name="inStructuredNode" visibility="public" type="_w1_2cLLREeCsYvaJqFFivQ" subsettedProperty="_g0JodNwbEeCT5O2F6sGn5g _gzbPvNwbEeCT5O2F6sGn5g" association="_gyliMNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzbPydwbEeCT5O2F6sGn5g" annotatedElement="_gzbPyNwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VVgaKxE9EeGOffqMW1YiZA" name="inStructuredNode" visibility="public" type="_w1_2cLLREeCsYvaJqFFivQ" subsettedProperty="_VVfzFhE9EeGOffqMW1YiZA _N3hRMAtAEeGcpbeCPJfCmw" association="_VT1mNBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VVgaLBE9EeGOffqMW1YiZA" annotatedElement="_VVgaKxE9EeGOffqMW1YiZA">
           <body>Structured activity node containing the node.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gzbPytwbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VVgaLRE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_gzbPy9wbEeCT5O2F6sGn5g" name="incoming" visibility="public" type="_gzZagNwbEeCT5O2F6sGn5g" association="_gyfbn9wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzbPzNwbEeCT5O2F6sGn5g" annotatedElement="_gzbPy9wbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VVhBMBE9EeGOffqMW1YiZA" name="incoming" visibility="public" type="_VVcIsBE9EeGOffqMW1YiZA" association="_VToK1RE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VVhBMRE9EeGOffqMW1YiZA" annotatedElement="_VVhBMBE9EeGOffqMW1YiZA">
           <body>Edges that have the node as target.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gzbPzdwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gzbPztwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VVhBMhE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VVhBMxE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_gzbPz9wbEeCT5O2F6sGn5g" name="outgoing" visibility="public" type="_gzZagNwbEeCT5O2F6sGn5g" association="_gynXbNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzbP0NwbEeCT5O2F6sGn5g" annotatedElement="_gzbPz9wbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VVhBNBE9EeGOffqMW1YiZA" name="outgoing" visibility="public" type="_VVcIsBE9EeGOffqMW1YiZA" association="_VT9iAxE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VVhBNRE9EeGOffqMW1YiZA" annotatedElement="_VVhBNBE9EeGOffqMW1YiZA">
           <body>Edges that have the node as source.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gzbP0dwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gzbP0twbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VVhBNhE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VVhBNxE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_gzbP09wbEeCT5O2F6sGn5g" name="redefinedNode" visibility="public" type="_gzbPsNwbEeCT5O2F6sGn5g" subsettedProperty="_g15U7twbEeCT5O2F6sGn5g" association="_gywhWNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzbP1NwbEeCT5O2F6sGn5g" annotatedElement="_gzbP09wbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VVhBOBE9EeGOffqMW1YiZA" name="redefinedNode" visibility="public" type="_WpiyYAs-EeGcpbeCPJfCmw" subsettedProperty="_VdtT4BE9EeGOffqMW1YiZA" association="_VUSSIBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VVhBORE9EeGOffqMW1YiZA" annotatedElement="_VVhBOBE9EeGOffqMW1YiZA">
           <body>Inherited nodes replaced by this node in a specialization of the activity.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gzbP1dwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gzbP1twbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VVhBOhE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VVhBOxE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_gzb2wNwbEeCT5O2F6sGn5g" name="ActivityParameterNode">
-      <ownedComment xmi:id="_gzb2wdwbEeCT5O2F6sGn5g" annotatedElement="_gzb2wNwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VViPUBE9EeGOffqMW1YiZA" name="ActivityParameterNode">
+      <ownedComment xmi:id="_VViPURE9EeGOffqMW1YiZA" annotatedElement="_VViPUBE9EeGOffqMW1YiZA">
         <body>An activity parameter node is an object node for inputs and outputs to activities.</body>
       </ownedComment>
-      <ownedRule xmi:id="_gzb2wtwbEeCT5O2F6sGn5g" name="no_outgoing_edges" constrainedElement="_gzb2wNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzb2w9wbEeCT5O2F6sGn5g" annotatedElement="_gzb2wtwbEeCT5O2F6sGn5g">
-          <body>Activity parameter object nodes with no outgoing edges and one or more incoming edges must have a parameter with out, inout, or return direction.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_gzb2xNwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>true</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_gzb2xdwbEeCT5O2F6sGn5g" name="maximum_two_parameter_nodes" constrainedElement="_gzb2wNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzb2xtwbEeCT5O2F6sGn5g" annotatedElement="_gzb2xdwbEeCT5O2F6sGn5g">
-          <body>A parameter with direction inout must have at most two activity parameter nodes in an activity, one with incoming flows and one with outgoing flows.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_gzb2x9wbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>true</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_gzb2yNwbEeCT5O2F6sGn5g" name="has_parameters" constrainedElement="_gzb2wNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzb2ydwbEeCT5O2F6sGn5g" annotatedElement="_gzb2yNwbEeCT5O2F6sGn5g">
-          <body>Activity parameter nodes must have parameters from the containing activity.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_gzb2ytwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>true</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_gzb2y9wbEeCT5O2F6sGn5g" name="same_type" constrainedElement="_gzb2wNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzb2zNwbEeCT5O2F6sGn5g" annotatedElement="_gzb2y9wbEeCT5O2F6sGn5g">
-          <body>The type of an activity parameter node is the same as the type of its parameter.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_gzb2zdwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>true</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_gzb2ztwbEeCT5O2F6sGn5g" name="maximum_one_parameter_node" constrainedElement="_gzb2wNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzb2z9wbEeCT5O2F6sGn5g" annotatedElement="_gzb2ztwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VViPUhE9EeGOffqMW1YiZA" name="maximum_one_parameter_node" constrainedElement="_VViPUBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VViPUxE9EeGOffqMW1YiZA" annotatedElement="_VViPUhE9EeGOffqMW1YiZA">
           <body>A parameter with direction other than inout must have at most one activity parameter node in an activity.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_gzb20NwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VViPVBE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>true</body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_gzb20dwbEeCT5O2F6sGn5g" name="no_incoming_edges" constrainedElement="_gzb2wNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzb20twbEeCT5O2F6sGn5g" annotatedElement="_gzb20dwbEeCT5O2F6sGn5g">
-          <body>Activity parameter object nodes with no incoming edges and one or more outgoing edges must have a parameter with in or inout direction.</body>
+      <ownedRule xmi:id="_VViPVRE9EeGOffqMW1YiZA" name="maximum_two_parameter_nodes" constrainedElement="_VViPUBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VViPVhE9EeGOffqMW1YiZA" annotatedElement="_VViPVRE9EeGOffqMW1YiZA">
+          <body>A parameter with direction inout must have at most two activity parameter nodes in an activity, one with incoming flows and one with outgoing flows.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_gzb209wbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VViPVxE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>true</body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_gzb21NwbEeCT5O2F6sGn5g" name="no_edges" constrainedElement="_gzb2wNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzb21dwbEeCT5O2F6sGn5g" annotatedElement="_gzb21NwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VViPWBE9EeGOffqMW1YiZA" name="no_edges" constrainedElement="_VViPUBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VViPWRE9EeGOffqMW1YiZA" annotatedElement="_VViPWBE9EeGOffqMW1YiZA">
           <body>An activity parameter node may have all incoming edges or all outgoing edges, but it must not have both incoming and outgoing edges.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_gzb21twbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VViPWhE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>true</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_gzb219wbEeCT5O2F6sGn5g" general="_g1XJYNwbEeCT5O2F6sGn5g"/>
-      <ownedAttribute xmi:id="_gzb22NwbEeCT5O2F6sGn5g" name="parameter" visibility="public" type="_KyaPMGveEdq4DLWZOhbdEA" association="_gyro1dwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzb22dwbEeCT5O2F6sGn5g" annotatedElement="_gzb22NwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VViPWxE9EeGOffqMW1YiZA" name="no_incoming_edges" constrainedElement="_VViPUBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VViPXBE9EeGOffqMW1YiZA" annotatedElement="_VViPWxE9EeGOffqMW1YiZA">
+          <body>Activity parameter object nodes with no incoming edges and one or more outgoing edges must have a parameter with in or inout direction.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VViPXRE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>true</body>
+        </specification>
+      </ownedRule>
+      <ownedRule xmi:id="_VViPXhE9EeGOffqMW1YiZA" name="no_outgoing_edges" constrainedElement="_VViPUBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VViPXxE9EeGOffqMW1YiZA" annotatedElement="_VViPXhE9EeGOffqMW1YiZA">
+          <body>Activity parameter object nodes with no outgoing edges and one or more incoming edges must have a parameter with out, inout, or return direction.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VViPYBE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>true</body>
+        </specification>
+      </ownedRule>
+      <ownedRule xmi:id="_VViPYRE9EeGOffqMW1YiZA" name="same_type" constrainedElement="_VViPUBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VViPYhE9EeGOffqMW1YiZA" annotatedElement="_VViPYRE9EeGOffqMW1YiZA">
+          <body>The type of an activity parameter node is the same as the type of its parameter.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VViPYxE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>true</body>
+        </specification>
+      </ownedRule>
+      <ownedRule xmi:id="_VViPZBE9EeGOffqMW1YiZA" name="has_parameters" constrainedElement="_VViPUBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VViPZRE9EeGOffqMW1YiZA" annotatedElement="_VViPZBE9EeGOffqMW1YiZA">
+          <body>Activity parameter nodes must have parameters from the containing activity.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VViPZhE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>true</body>
+        </specification>
+      </ownedRule>
+      <generalization xmi:id="_VViPZxE9EeGOffqMW1YiZA" general="_VbcDABE9EeGOffqMW1YiZA"/>
+      <ownedAttribute xmi:id="_VViPaBE9EeGOffqMW1YiZA" name="parameter" visibility="public" type="_KyaPMGveEdq4DLWZOhbdEA" association="_VUHTBRE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VViPaRE9EeGOffqMW1YiZA" annotatedElement="_VViPaBE9EeGOffqMW1YiZA">
           <body>The parameter the object node will be accepting or providing values for.</body>
         </ownedComment>
       </ownedAttribute>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_gzcd0NwbEeCT5O2F6sGn5g" name="ActivityPartition">
-      <ownedComment xmi:id="_gzcd0dwbEeCT5O2F6sGn5g" annotatedElement="_gzcd0NwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_MIhqsAs-EeGcpbeCPJfCmw" name="ActivityPartition">
+      <ownedComment xmi:id="_VVi2YBE9EeGOffqMW1YiZA" annotatedElement="_MIhqsAs-EeGcpbeCPJfCmw">
         <body>An activity partition is a kind of activity group for identifying actions that have some characteristic in common.</body>
       </ownedComment>
-      <ownedRule xmi:id="_gzcd0twbEeCT5O2F6sGn5g" name="represents_classifier" constrainedElement="_gzcd0NwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzcd09wbEeCT5O2F6sGn5g" annotatedElement="_gzcd0twbEeCT5O2F6sGn5g">
-          <body>If a non-external partition represents a classifier and is contained in another partition, then the containing partition must represent a classifier, and the classifier of the subpartition must be nested in the classifier represented by the containing partition, or be at the contained end of a strong composition association with the classifier represented by the containing partition.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_gzcd1NwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>true</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_gzcd1dwbEeCT5O2F6sGn5g" name="represents_part_and_is_contained" constrainedElement="_gzcd0NwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzcd1twbEeCT5O2F6sGn5g" annotatedElement="_gzcd1dwbEeCT5O2F6sGn5g">
-          <body>If a partition represents a part and is contained by another partition, then the part must be of a classifier represented by the containing partition, or of a classifier that is the type of a part representing the containing partition.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_gzcd19wbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>true</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_gzcd2NwbEeCT5O2F6sGn5g" name="represents_part" constrainedElement="_gzcd0NwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzcd2dwbEeCT5O2F6sGn5g" annotatedElement="_gzcd2NwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VVi2YRE9EeGOffqMW1YiZA" name="represents_part" constrainedElement="_MIhqsAs-EeGcpbeCPJfCmw">
+        <ownedComment xmi:id="_VVi2YhE9EeGOffqMW1YiZA" annotatedElement="_VVi2YRE9EeGOffqMW1YiZA">
           <body>If a partition represents a part, then all the non-external partitions in the same dimension and at the same level of nesting in that dimension must represent parts directly contained in the internal structure of the same classifier.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_gzcd2twbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VVi2YxE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>true</body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_gzcd29wbEeCT5O2F6sGn5g" name="dimension_not_contained" constrainedElement="_gzcd0NwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzcd3NwbEeCT5O2F6sGn5g" annotatedElement="_gzcd29wbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VVi2ZBE9EeGOffqMW1YiZA" name="represents_classifier" constrainedElement="_MIhqsAs-EeGcpbeCPJfCmw">
+        <ownedComment xmi:id="_VVi2ZRE9EeGOffqMW1YiZA" annotatedElement="_VVi2ZBE9EeGOffqMW1YiZA">
+          <body>If a non-external partition represents a classifier and is contained in another partition, then the containing partition must represent a classifier, and the classifier of the subpartition must be nested in the classifier represented by the containing partition, or be at the contained end of a strong composition association with the classifier represented by the containing partition.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VVi2ZhE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>true</body>
+        </specification>
+      </ownedRule>
+      <ownedRule xmi:id="_VVjdcBE9EeGOffqMW1YiZA" name="represents_part_and_is_contained" constrainedElement="_MIhqsAs-EeGcpbeCPJfCmw">
+        <ownedComment xmi:id="_VVjdcRE9EeGOffqMW1YiZA" annotatedElement="_VVjdcBE9EeGOffqMW1YiZA">
+          <body>If a partition represents a part and is contained by another partition, then the part must be of a classifier represented by the containing partition, or of a classifier that is the type of a part representing the containing partition.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VVjdchE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>true</body>
+        </specification>
+      </ownedRule>
+      <ownedRule xmi:id="_VVjdcxE9EeGOffqMW1YiZA" name="dimension_not_contained" constrainedElement="_MIhqsAs-EeGcpbeCPJfCmw">
+        <ownedComment xmi:id="_VVjddBE9EeGOffqMW1YiZA" annotatedElement="_VVjdcxE9EeGOffqMW1YiZA">
           <body>A partition with isDimension = true may not be contained by another partition.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_gzcd3dwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VVjddRE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>true</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_gzcd3twbEeCT5O2F6sGn5g" general="_gzaBkNwbEeCT5O2F6sGn5g"/>
-      <ownedAttribute xmi:id="_gzcd39wbEeCT5O2F6sGn5g" name="edge" visibility="public" type="_gzZagNwbEeCT5O2F6sGn5g" subsettedProperty="_gzaBnNwbEeCT5O2F6sGn5g" association="_gyZU9NwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzcd4NwbEeCT5O2F6sGn5g" annotatedElement="_gzcd39wbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_VVjddhE9EeGOffqMW1YiZA" general="_aZICgAs-EeGcpbeCPJfCmw"/>
+      <ownedAttribute xmi:id="_VVjddxE9EeGOffqMW1YiZA" name="edge" visibility="public" type="_VVcIsBE9EeGOffqMW1YiZA" subsettedProperty="_VVd95BE9EeGOffqMW1YiZA" association="_VTQXYRE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VVjdeBE9EeGOffqMW1YiZA" annotatedElement="_VVjddxE9EeGOffqMW1YiZA">
           <body>Edges immediately contained in the group.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gzcd4dwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gzcd4twbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VVjdeRE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VVjdehE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_gzcd49wbEeCT5O2F6sGn5g" name="isDimension" visibility="public">
-        <ownedComment xmi:id="_gzcd5NwbEeCT5O2F6sGn5g" annotatedElement="_gzcd49wbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VVkEgBE9EeGOffqMW1YiZA" name="isDimension" visibility="public">
+        <ownedComment xmi:id="_VVkEgRE9EeGOffqMW1YiZA" annotatedElement="_VVkEgBE9EeGOffqMW1YiZA">
           <body>Tells whether the partition groups other partitions along a dimension.</body>
         </ownedComment>
         <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
-        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_gzcd5dwbEeCT5O2F6sGn5g"/>
+        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_VVkEghE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_gzcd5twbEeCT5O2F6sGn5g" name="isExternal" visibility="public">
-        <ownedComment xmi:id="_gzcd59wbEeCT5O2F6sGn5g" annotatedElement="_gzcd5twbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VVkEgxE9EeGOffqMW1YiZA" name="isExternal" visibility="public">
+        <ownedComment xmi:id="_VVkEhBE9EeGOffqMW1YiZA" annotatedElement="_VVkEgxE9EeGOffqMW1YiZA">
           <body>Tells whether the partition represents an entity to which the partitioning structure does not apply.</body>
         </ownedComment>
         <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
-        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_gzcd6NwbEeCT5O2F6sGn5g"/>
+        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_VVkEhRE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_gzcd6dwbEeCT5O2F6sGn5g" name="node" visibility="public" type="_gzbPsNwbEeCT5O2F6sGn5g" subsettedProperty="_gzaBoNwbEeCT5O2F6sGn5g" association="_gyfbmdwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzcd6twbEeCT5O2F6sGn5g" annotatedElement="_gzcd6dwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VVkrkBE9EeGOffqMW1YiZA" name="node" visibility="public" type="_WpiyYAs-EeGcpbeCPJfCmw" subsettedProperty="_VVd96BE9EeGOffqMW1YiZA" association="_VTnjyRE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VVkrkRE9EeGOffqMW1YiZA" annotatedElement="_VVkrkBE9EeGOffqMW1YiZA">
           <body>Nodes immediately contained in the group.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gzcd69wbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gzcd7NwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VVkrkhE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VVkrkxE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_gzcd7dwbEeCT5O2F6sGn5g" name="represents" visibility="public" type="_kl90MGvbEdq4DLWZOhbdEA" association="_gyzkpNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzcd7twbEeCT5O2F6sGn5g" annotatedElement="_gzcd7dwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VVkrlBE9EeGOffqMW1YiZA" name="represents" visibility="public" type="_kl90MGvbEdq4DLWZOhbdEA" association="_VUa1CBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VVkrlRE9EeGOffqMW1YiZA" annotatedElement="_VVkrlBE9EeGOffqMW1YiZA">
           <body>An element constraining behaviors invoked by nodes in the partition.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gzcd79wbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VVkrlhE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_gzcd8NwbEeCT5O2F6sGn5g" name="subpartition" visibility="public" type="_gzcd0NwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_gzaBp9wbEeCT5O2F6sGn5g" association="_gy7gdNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzcd8dwbEeCT5O2F6sGn5g" annotatedElement="_gzcd8NwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VVkrlxE9EeGOffqMW1YiZA" name="subpartition" visibility="public" type="_MIhqsAs-EeGcpbeCPJfCmw" aggregation="composite" subsettedProperty="_VVek8hE9EeGOffqMW1YiZA" association="_VUnpUxE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VVkrmBE9EeGOffqMW1YiZA" annotatedElement="_VVkrlxE9EeGOffqMW1YiZA">
           <body>Partitions immediately contained in the partition.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gzcd8twbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gzcd89wbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VVkrmRE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VVkrmhE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_gzcd9NwbEeCT5O2F6sGn5g" name="superPartition" visibility="public" type="_gzcd0NwbEeCT5O2F6sGn5g" subsettedProperty="_gzaBq9wbEeCT5O2F6sGn5g" association="_gy7gdNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzcd9dwbEeCT5O2F6sGn5g" annotatedElement="_gzcd9NwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VVkrmxE9EeGOffqMW1YiZA" name="superPartition" visibility="public" type="_MIhqsAs-EeGcpbeCPJfCmw" subsettedProperty="_VVek9hE9EeGOffqMW1YiZA" association="_VUnpUxE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VVkrnBE9EeGOffqMW1YiZA" annotatedElement="_VVkrmxE9EeGOffqMW1YiZA">
           <body>Partition immediately containing the partition.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gzcd9twbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VVkrnRE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_gzdE4NwbEeCT5O2F6sGn5g" name="Actor">
-      <ownedComment xmi:id="_gzdE4dwbEeCT5O2F6sGn5g" annotatedElement="_gzdE4NwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VVl5sBE9EeGOffqMW1YiZA" name="Actor">
+      <ownedComment xmi:id="_VVl5sRE9EeGOffqMW1YiZA" annotatedElement="_VVl5sBE9EeGOffqMW1YiZA">
         <body>An actor specifies a role played by a user or any other system that interacts with the subject.</body>
       </ownedComment>
-      <ownedRule xmi:id="_gzdE4twbEeCT5O2F6sGn5g" name="associations" constrainedElement="_gzdE4NwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzdE49wbEeCT5O2F6sGn5g" annotatedElement="_gzdE4twbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VVl5shE9EeGOffqMW1YiZA" name="associations" constrainedElement="_VVl5sBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VVl5sxE9EeGOffqMW1YiZA" annotatedElement="_VVl5shE9EeGOffqMW1YiZA">
           <body>An actor can only have associations to use cases, components and classes. Furthermore these associations must be binary.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_gzdE5NwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VVl5tBE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>self.ownedAttribute->forAll ( a |
 (a.association->notEmpty()) implies
@@ -2676,35 +2673,26 @@
 </body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_gzdE5dwbEeCT5O2F6sGn5g" name="must_have_name" constrainedElement="_gzdE4NwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzdE5twbEeCT5O2F6sGn5g" annotatedElement="_gzdE5dwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VVl5tRE9EeGOffqMW1YiZA" name="must_have_name" constrainedElement="_VVl5sBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VVl5thE9EeGOffqMW1YiZA" annotatedElement="_VVl5tRE9EeGOffqMW1YiZA">
           <body>An actor must have a name.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_gzdE59wbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VVl5txE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>name->notEmpty()</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_gzdE6NwbEeCT5O2F6sGn5g" general="_iY7sMGvsEdqG6fBIPwe-mw"/>
+      <generalization xmi:id="_VVl5uBE9EeGOffqMW1YiZA" general="_iY7sMGvsEdqG6fBIPwe-mw"/>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_gzdr8NwbEeCT5O2F6sGn5g" name="AddStructuralFeatureValueAction">
-      <ownedComment xmi:id="_gzdr8dwbEeCT5O2F6sGn5g" annotatedElement="_gzdr8NwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VVmgwBE9EeGOffqMW1YiZA" name="AddStructuralFeatureValueAction">
+      <ownedComment xmi:id="_VVmgwRE9EeGOffqMW1YiZA" annotatedElement="_VVmgwBE9EeGOffqMW1YiZA">
         <body>An add structural feature value action is a write structural feature action for adding values to a structural feature.</body>
       </ownedComment>
-      <ownedRule xmi:id="_gzdr8twbEeCT5O2F6sGn5g" name="required_value" constrainedElement="_gzdr8NwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzdr89wbEeCT5O2F6sGn5g" annotatedElement="_gzdr8twbEeCT5O2F6sGn5g">
-          <body>A value input pin is required.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_gzdr9NwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>self.value -> notEmpty()</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_gzdr9dwbEeCT5O2F6sGn5g" name="unlimited_natural_and_multiplicity" constrainedElement="_gzdr8NwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzdr9twbEeCT5O2F6sGn5g" annotatedElement="_gzdr9dwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VVmgwhE9EeGOffqMW1YiZA" name="unlimited_natural_and_multiplicity" constrainedElement="_VVmgwBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VVmgwxE9EeGOffqMW1YiZA" annotatedElement="_VVmgwhE9EeGOffqMW1YiZA">
           <body>Actions adding a value to ordered structural features must have a single input pin for the insertion point with type UnlimitedNatural and multiplicity of 1..1, otherwise the action has no input pin for the insertion point.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_gzdr99wbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VVmgxBE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>let insertAtPins : Collection = self.insertAt in
 if self.structuralFeature.isOrdered = #false
@@ -2717,39 +2705,48 @@
 </body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_gzdr-NwbEeCT5O2F6sGn5g" general="_g2bgYNwbEeCT5O2F6sGn5g"/>
-      <ownedAttribute xmi:id="_gzdr-dwbEeCT5O2F6sGn5g" name="insertAt" visibility="public" type="_g0aHKdwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_gzBnMNwbEeCT5O2F6sGn5g" association="_gygpudwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzdr-twbEeCT5O2F6sGn5g" annotatedElement="_gzdr-dwbEeCT5O2F6sGn5g">
-          <body>Gives the position at which to insert a new value or move an existing value in ordered structural features. The type of the pin is UnlimitedNatural, but the value cannot be zero. This pin is omitted for unordered structural features.</body>
-        </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gzdr-9wbEeCT5O2F6sGn5g"/>
-      </ownedAttribute>
-      <ownedAttribute xmi:id="_gzdr_NwbEeCT5O2F6sGn5g" name="isReplaceAll" visibility="public">
-        <ownedComment xmi:id="_gzdr_dwbEeCT5O2F6sGn5g" annotatedElement="_gzdr_NwbEeCT5O2F6sGn5g">
-          <body>Specifies whether existing values of the structural feature of the object should be removed before adding the new value.</body>
-        </ownedComment>
-        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
-        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_gzdr_twbEeCT5O2F6sGn5g"/>
-      </ownedAttribute>
-    </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_gzdr_9wbEeCT5O2F6sGn5g" name="AddVariableValueAction">
-      <ownedComment xmi:id="_gzdsANwbEeCT5O2F6sGn5g" annotatedElement="_gzdr_9wbEeCT5O2F6sGn5g">
-        <body>An add variable value action is a write variable action for adding values to a variable.</body>
-      </ownedComment>
-      <ownedRule xmi:id="_gzdsAdwbEeCT5O2F6sGn5g" name="required_value" constrainedElement="_gzdr_9wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzdsAtwbEeCT5O2F6sGn5g" annotatedElement="_gzdsAdwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VVmgxRE9EeGOffqMW1YiZA" name="required_value" constrainedElement="_VVmgwBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VVmgxhE9EeGOffqMW1YiZA" annotatedElement="_VVmgxRE9EeGOffqMW1YiZA">
           <body>A value input pin is required.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_gzdsA9wbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VVmgxxE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>self.value -> notEmpty()</body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_gzdsBNwbEeCT5O2F6sGn5g" name="single_input_pin" constrainedElement="_gzdr_9wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzdsBdwbEeCT5O2F6sGn5g" annotatedElement="_gzdsBNwbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_VVmgyBE9EeGOffqMW1YiZA" general="_VfKscBE9EeGOffqMW1YiZA"/>
+      <ownedAttribute xmi:id="_VVmgyRE9EeGOffqMW1YiZA" name="insertAt" visibility="public" type="_VZp6WRE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_VU4IABE9EeGOffqMW1YiZA" association="_VTqnExE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VVmgyhE9EeGOffqMW1YiZA" annotatedElement="_VVmgyRE9EeGOffqMW1YiZA">
+          <body>Gives the position at which to insert a new value or move an existing value in ordered structural features. The type of the pin is UnlimitedNatural, but the value cannot be zero. This pin is omitted for unordered structural features.</body>
+        </ownedComment>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VVmgyxE9EeGOffqMW1YiZA"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:id="_VVmgzBE9EeGOffqMW1YiZA" name="isReplaceAll" visibility="public">
+        <ownedComment xmi:id="_VVmgzRE9EeGOffqMW1YiZA" annotatedElement="_VVmgzBE9EeGOffqMW1YiZA">
+          <body>Specifies whether existing values of the structural feature of the object should be removed before adding the new value.</body>
+        </ownedComment>
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_VVmgzhE9EeGOffqMW1YiZA"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Class" xmi:id="_VVnH0BE9EeGOffqMW1YiZA" name="AddVariableValueAction">
+      <ownedComment xmi:id="_VVnH0RE9EeGOffqMW1YiZA" annotatedElement="_VVnH0BE9EeGOffqMW1YiZA">
+        <body>An add variable value action is a write variable action for adding values to a variable.</body>
+      </ownedComment>
+      <ownedRule xmi:id="_VVnH0hE9EeGOffqMW1YiZA" name="required_value" constrainedElement="_VVnH0BE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VVnH0xE9EeGOffqMW1YiZA" annotatedElement="_VVnH0hE9EeGOffqMW1YiZA">
+          <body>A value input pin is required.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VVnH1BE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>self.value -> notEmpty()</body>
+        </specification>
+      </ownedRule>
+      <ownedRule xmi:id="_VVnH1RE9EeGOffqMW1YiZA" name="single_input_pin" constrainedElement="_VVnH0BE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VVnH1hE9EeGOffqMW1YiZA" annotatedElement="_VVnH1RE9EeGOffqMW1YiZA">
           <body>Actions adding values to ordered variables must have a single input pin for the insertion point with type UnlimtedNatural and multiplicity of 1..1, otherwise the action has no input pin for the insertion point.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_gzdsBtwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VVnH1xE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>let insertAtPins : Collection = self.insertAt in
 if self.variable.ordering = #unordered
@@ -2762,70 +2759,70 @@
 </body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_gzdsB9wbEeCT5O2F6sGn5g" general="_g2bgddwbEeCT5O2F6sGn5g"/>
-      <ownedAttribute xmi:id="_gzdsCNwbEeCT5O2F6sGn5g" name="insertAt" visibility="public" type="_g0aHKdwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_gzBnMNwbEeCT5O2F6sGn5g" association="_gygpvNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzdsCdwbEeCT5O2F6sGn5g" annotatedElement="_gzdsCNwbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_VVnH2BE9EeGOffqMW1YiZA" general="_VfLTgBE9EeGOffqMW1YiZA"/>
+      <ownedAttribute xmi:id="_VVnH2RE9EeGOffqMW1YiZA" name="insertAt" visibility="public" type="_VZp6WRE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_VU4IABE9EeGOffqMW1YiZA" association="_VTrOIBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VVnH2hE9EeGOffqMW1YiZA" annotatedElement="_VVnH2RE9EeGOffqMW1YiZA">
           <body>Gives the position at which to insert a new value or move an existing value in ordered variables. The types is UnlimitedINatural, but the value cannot be zero. This pin is omitted for unordered variables.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gzdsCtwbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VVnH2xE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_gzdsC9wbEeCT5O2F6sGn5g" name="isReplaceAll" visibility="public">
-        <ownedComment xmi:id="_gzdsDNwbEeCT5O2F6sGn5g" annotatedElement="_gzdsC9wbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VVnH3BE9EeGOffqMW1YiZA" name="isReplaceAll" visibility="public">
+        <ownedComment xmi:id="_VVnH3RE9EeGOffqMW1YiZA" annotatedElement="_VVnH3BE9EeGOffqMW1YiZA">
           <body>Specifies whether existing values of the variable should be removed before adding the new value.</body>
         </ownedComment>
         <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
-        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_gzdsDdwbEeCT5O2F6sGn5g"/>
+        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_VVnH3hE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_gzeTANwbEeCT5O2F6sGn5g" name="AnyReceiveEvent">
-      <ownedComment xmi:id="_gzeTAdwbEeCT5O2F6sGn5g" annotatedElement="_gzeTANwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VVoV8BE9EeGOffqMW1YiZA" name="AnyReceiveEvent">
+      <ownedComment xmi:id="_VVoV8RE9EeGOffqMW1YiZA" annotatedElement="_VVoV8BE9EeGOffqMW1YiZA">
         <body>A trigger for an AnyReceiveEvent is triggered by the receipt of any message that is not explicitly handled by any related trigger.</body>
       </ownedComment>
-      <generalization xmi:id="_gzeTAtwbEeCT5O2F6sGn5g" general="_g1MKRtwbEeCT5O2F6sGn5g"/>
+      <generalization xmi:id="_VVoV8hE9EeGOffqMW1YiZA" general="_VaEKBhE9EeGOffqMW1YiZA"/>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="_-lGRgHLzEdqziYxiZo0YtA" name="Artifact">
-      <ownedComment xmi:id="_gzeTA9wbEeCT5O2F6sGn5g" annotatedElement="_-lGRgHLzEdqziYxiZo0YtA">
-        <body>An artifact is the specification of a physical piece of information that is used or produced by a software development process, or by deployment and operation of a system. Examples of artifacts include model files, source files, scripts, and binary executable files, a table in a database system, a development deliverable, or a word-processing document, a mail message.</body>
-      </ownedComment>
-      <ownedComment xmi:id="_gzeTBNwbEeCT5O2F6sGn5g" annotatedElement="_-lGRgHLzEdqziYxiZo0YtA">
+      <ownedComment xmi:id="_VVoV8xE9EeGOffqMW1YiZA" annotatedElement="_-lGRgHLzEdqziYxiZo0YtA">
         <body>An artifact is the source of a deployment to a node.</body>
       </ownedComment>
-      <generalization xmi:id="_gzeTBdwbEeCT5O2F6sGn5g" general="_6UV2QGwJEdq7X4sGURiZYA"/>
-      <generalization xmi:id="_gzeTBtwbEeCT5O2F6sGn5g" general="_g0EI6dwbEeCT5O2F6sGn5g"/>
+      <ownedComment xmi:id="_VVoV9BE9EeGOffqMW1YiZA" annotatedElement="_-lGRgHLzEdqziYxiZo0YtA">
+        <body>An artifact is the specification of a physical piece of information that is used or produced by a software development process, or by deployment and operation of a system. Examples of artifacts include model files, source files, scripts, and binary executable files, a table in a database system, a development deliverable, or a word-processing document, a mail message.</body>
+      </ownedComment>
+      <generalization xmi:id="_VVoV9RE9EeGOffqMW1YiZA" general="_VYyXphE9EeGOffqMW1YiZA"/>
+      <generalization xmi:id="_VVo9ABE9EeGOffqMW1YiZA" general="_6UV2QGwJEdq7X4sGURiZYA"/>
       <ownedAttribute xmi:id="_wvc1ILG2EeCDe8CO90iVKQ" name="fileName" visibility="public">
-        <ownedComment xmi:id="_gzeTB9wbEeCT5O2F6sGn5g" annotatedElement="_wvc1ILG2EeCDe8CO90iVKQ">
+        <ownedComment xmi:id="_VVo9ARE9EeGOffqMW1YiZA" annotatedElement="_wvc1ILG2EeCDe8CO90iVKQ">
           <body>A concrete name that is used to refer to the Artifact in a physical context. Example: file system name, universal resource locator.</body>
         </ownedComment>
         <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gzeTCNwbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VVo9AhE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_gze6ENwbEeCT5O2F6sGn5g" name="manifestation" visibility="public" type="_g1KVENwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_g0JocNwbEeCT5O2F6sGn5g _g1QbsNwbEeCT5O2F6sGn5g" association="_gyh339wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gze6EdwbEeCT5O2F6sGn5g" annotatedElement="_gze6ENwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VVpkEBE9EeGOffqMW1YiZA" name="manifestation" visibility="public" type="_VZ_RrxE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_GDD2YAtAEeGcpbeCPJfCmw _VaN7ABE9EeGOffqMW1YiZA" association="_VTu4gBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VVpkERE9EeGOffqMW1YiZA" annotatedElement="_VVpkEBE9EeGOffqMW1YiZA">
           <body>The set of model elements that are manifested in the Artifact. That is, these model elements are utilized in the construction (or generation) of the artifact.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gze6EtwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gze6E9wbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VVpkEhE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VVpkExE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_gze6FNwbEeCT5O2F6sGn5g" name="nestedArtifact" visibility="public" type="_-lGRgHLzEdqziYxiZo0YtA" aggregation="composite" subsettedProperty="_g1S4AdwbEeCT5O2F6sGn5g" association="_gykUHtwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gze6FdwbEeCT5O2F6sGn5g" annotatedElement="_gze6FNwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VVqLIBE9EeGOffqMW1YiZA" name="nestedArtifact" visibility="public" type="_-lGRgHLzEdqziYxiZo0YtA" aggregation="composite" subsettedProperty="_Var1EBE9EeGOffqMW1YiZA" association="_VT0YExE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VVqLIRE9EeGOffqMW1YiZA" annotatedElement="_VVqLIBE9EeGOffqMW1YiZA">
           <body>The Artifacts that are defined (nested) within the Artifact. The association is a specialization of the ownedMember association from Namespace to NamedElement.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gze6FtwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gze6F9wbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VVqLIhE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VVqLIxE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_gze6GNwbEeCT5O2F6sGn5g" name="ownedAttribute" visibility="public" type="_Jp_1oGveEdq4DLWZOhbdEA" isOrdered="true" aggregation="composite" subsettedProperty="_gzuKp9wbEeCT5O2F6sGn5g _g1S4AdwbEeCT5O2F6sGn5g" association="_gyn-etwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gze6GdwbEeCT5O2F6sGn5g" annotatedElement="_gze6GNwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VVqLJBE9EeGOffqMW1YiZA" name="ownedAttribute" visibility="public" type="_Jp_1oGveEdq4DLWZOhbdEA" isOrdered="true" aggregation="composite" subsettedProperty="_Var1EBE9EeGOffqMW1YiZA _VXldxBE9EeGOffqMW1YiZA" association="_VT-wIBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VVqLJRE9EeGOffqMW1YiZA" annotatedElement="_VVqLJBE9EeGOffqMW1YiZA">
           <body>The attributes or association ends defined for the Artifact. The association is a specialization of the ownedMember association.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gze6GtwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gze6G9wbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VVqLJhE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VVqLJxE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_gze6HNwbEeCT5O2F6sGn5g" name="ownedOperation" visibility="public" type="_M4X2IGveEdq4DLWZOhbdEA" isOrdered="true" aggregation="composite" subsettedProperty="_gzuKr9wbEeCT5O2F6sGn5g _gyxIb9wbEeCT5O2F6sGn5g _g1S4AdwbEeCT5O2F6sGn5g" association="_gypMmtwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gze6HdwbEeCT5O2F6sGn5g" annotatedElement="_gze6HNwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VVqLKBE9EeGOffqMW1YiZA" name="ownedOperation" visibility="public" type="_M4X2IGveEdq4DLWZOhbdEA" isOrdered="true" aggregation="composite" subsettedProperty="_VXmE1BE9EeGOffqMW1YiZA _VUWjlxE9EeGOffqMW1YiZA _Var1EBE9EeGOffqMW1YiZA" association="_VUBMYhE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VVqLKRE9EeGOffqMW1YiZA" annotatedElement="_VVqLKBE9EeGOffqMW1YiZA">
           <body>The Operations defined for the Artifact. The association is a specialization of the ownedMember association.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gze6HtwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gze6H9wbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VVqLKhE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VVqLKxE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
       <ownedOperation xmi:id="_U7wxgHL0EdqziYxiZo0YtA" name="createOwnedAttribute">
         <ownedComment xmi:id="__9c1UOwlEdqYHf-imTcTdw" annotatedElement="_U7wxgHL0EdqziYxiZo0YtA">
@@ -2898,82 +2895,85 @@
       </ownedOperation>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="_AwvxoGwNEdq7X4sGURiZYA" name="Association">
-      <ownedComment xmi:id="_gzfhIdwbEeCT5O2F6sGn5g" annotatedElement="_AwvxoGwNEdq7X4sGURiZYA">
+      <ownedComment xmi:id="_VVsAUBE9EeGOffqMW1YiZA" annotatedElement="_AwvxoGwNEdq7X4sGURiZYA">
+        <body>An association describes a set of tuples whose values refer to typed instances. An instance of an association is called a link.A link is a tuple with one value for each end of the association, where each value is an instance of the type of the end.</body>
+      </ownedComment>
+      <ownedComment xmi:id="_VVsAURE9EeGOffqMW1YiZA" annotatedElement="_AwvxoGwNEdq7X4sGURiZYA">
         <body>An association describes a set of tuples whose values refer to typed instances. An instance of an association is called a link. A link is a tuple with one value for each end of the association, where each value is an instance of the type of the end.</body>
       </ownedComment>
-      <ownedRule xmi:id="_gzfhItwbEeCT5O2F6sGn5g" name="specialized_end_number" constrainedElement="_AwvxoGwNEdq7X4sGURiZYA">
-        <ownedComment xmi:id="_gzfhI9wbEeCT5O2F6sGn5g" annotatedElement="_gzfhItwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VVsAUhE9EeGOffqMW1YiZA" name="specialized_end_number" constrainedElement="_AwvxoGwNEdq7X4sGURiZYA">
+        <ownedComment xmi:id="_VVsAUxE9EeGOffqMW1YiZA" annotatedElement="_VVsAUhE9EeGOffqMW1YiZA">
           <body>An association specializing another association has the same number of ends as the other association.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_gzfhJNwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VVsAVBE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>parents()->select(oclIsKindOf(Association)).oclAsType(Association)->forAll(p | p.memberEnd->size() = self.memberEnd->size())</body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_gzfhJdwbEeCT5O2F6sGn5g" name="specialized_end_types" constrainedElement="_AwvxoGwNEdq7X4sGURiZYA">
-        <ownedComment xmi:id="_gzfhJtwbEeCT5O2F6sGn5g" annotatedElement="_gzfhJdwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VVsAVRE9EeGOffqMW1YiZA" name="association_ends" constrainedElement="_AwvxoGwNEdq7X4sGURiZYA">
+        <ownedComment xmi:id="_VVsAVhE9EeGOffqMW1YiZA" annotatedElement="_VVsAVRE9EeGOffqMW1YiZA">
+          <body>Association ends of associations with more than two ends must be owned by the association.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VVsAVxE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>if memberEnd->size() > 2 then ownedEnd->includesAll(memberEnd)</body>
+        </specification>
+      </ownedRule>
+      <ownedRule xmi:id="_VVsnYBE9EeGOffqMW1YiZA" name="binary_associations" constrainedElement="_AwvxoGwNEdq7X4sGURiZYA">
+        <ownedComment xmi:id="_VVsnYRE9EeGOffqMW1YiZA" annotatedElement="_VVsnYBE9EeGOffqMW1YiZA">
+          <body>Only binary associations can be aggregations.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VVsnYhE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>self.memberEnd->exists(aggregation &lt;> Aggregation::none) implies self.memberEnd->size() = 2</body>
+        </specification>
+      </ownedRule>
+      <ownedRule xmi:id="_VVsnYxE9EeGOffqMW1YiZA" name="specialized_end_types" constrainedElement="_AwvxoGwNEdq7X4sGURiZYA">
+        <ownedComment xmi:id="_VVsnZBE9EeGOffqMW1YiZA" annotatedElement="_VVsnYxE9EeGOffqMW1YiZA">
           <body>When an association specializes another association, every end of the specific association corresponds to an end of the general association, and the specific end reaches the same type or a subtype of the more general end.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_gzfhJ9wbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VVsnZRE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>Sequence{1..self.memberEnd->size()}->
 	forAll(i | self.general->select(oclIsKindOf(Association)).oclAsType(Association)->
 		forAll(ga |self.memberEnd->at(i).type.conformsTo(ga.memberEnd->at(i).type)))</body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_gzfhKNwbEeCT5O2F6sGn5g" name="binary_associations" constrainedElement="_AwvxoGwNEdq7X4sGURiZYA">
-        <ownedComment xmi:id="_gzfhKdwbEeCT5O2F6sGn5g" annotatedElement="_gzfhKNwbEeCT5O2F6sGn5g">
-          <body>Only binary associations can be aggregations.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_gzfhKtwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>self.memberEnd->exists(aggregation &lt;> Aggregation::none) implies self.memberEnd->size() = 2</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_gzfhK9wbEeCT5O2F6sGn5g" name="association_ends" constrainedElement="_AwvxoGwNEdq7X4sGURiZYA">
-        <ownedComment xmi:id="_gzfhLNwbEeCT5O2F6sGn5g" annotatedElement="_gzfhK9wbEeCT5O2F6sGn5g">
-          <body>Association ends of associations with more than two ends must be owned by the association.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_gzfhLdwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>if memberEnd->size() > 2 then ownedEnd->includesAll(memberEnd)</body>
-        </specification>
-      </ownedRule>
-      <generalization xmi:id="_gzgIMNwbEeCT5O2F6sGn5g" general="_DH62EKPAEdqi_5gqUMOQtA"/>
-      <generalization xmi:id="_gzgIMdwbEeCT5O2F6sGn5g" general="_6UV2QGwJEdq7X4sGURiZYA"/>
-      <ownedAttribute xmi:id="_gzgIMtwbEeCT5O2F6sGn5g" name="endType" visibility="public" type="_ynRtoGvtEdqG6fBIPwe-mw" isOrdered="true" isReadOnly="true" isDerived="true" subsettedProperty="_g18_gNwbEeCT5O2F6sGn5g" association="_gyZ8BdwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzgIM9wbEeCT5O2F6sGn5g" annotatedElement="_gzgIMtwbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_VVvDoBE9EeGOffqMW1YiZA" general="_6UV2QGwJEdq7X4sGURiZYA"/>
+      <generalization xmi:id="_VVvqsBE9EeGOffqMW1YiZA" general="_DH62EKPAEdqi_5gqUMOQtA"/>
+      <ownedAttribute xmi:id="_VV3mgBE9EeGOffqMW1YiZA" name="endType" visibility="public" type="_ynRtoGvtEdqG6fBIPwe-mw" isOrdered="true" isReadOnly="true" isDerived="true" subsettedProperty="_VeBc8hE9EeGOffqMW1YiZA" association="_VTSMkBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VV3mgRE9EeGOffqMW1YiZA" annotatedElement="_VV3mgBE9EeGOffqMW1YiZA">
           <body>References the classifiers that are used as types of the ends of the association.</body>
         </ownedComment>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gzgINNwbEeCT5O2F6sGn5g" value="*"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VV3mghE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_gzgINdwbEeCT5O2F6sGn5g" name="isDerived" visibility="public">
-        <ownedComment xmi:id="_gzgINtwbEeCT5O2F6sGn5g" annotatedElement="_gzgINdwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VV4NkBE9EeGOffqMW1YiZA" name="isDerived" visibility="public">
+        <ownedComment xmi:id="_VV4NkRE9EeGOffqMW1YiZA" annotatedElement="_VV4NkBE9EeGOffqMW1YiZA">
           <body>Specifies whether the association is derived from other model elements such as other associations or constraints.</body>
         </ownedComment>
         <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
-        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_gzgIN9wbEeCT5O2F6sGn5g"/>
+        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_VV4NkhE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_gzgIONwbEeCT5O2F6sGn5g" name="memberEnd" visibility="public" type="_Jp_1oGveEdq4DLWZOhbdEA" isOrdered="true" subsettedProperty="_g1S3_dwbEeCT5O2F6sGn5g" association="_gyjF8twbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzgIOdwbEeCT5O2F6sGn5g" annotatedElement="_gzgIONwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VV4NkxE9EeGOffqMW1YiZA" name="memberEnd" visibility="public" type="_Jp_1oGveEdq4DLWZOhbdEA" isOrdered="true" subsettedProperty="_VarOCBE9EeGOffqMW1YiZA" association="_VTwtsxE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VV4NlBE9EeGOffqMW1YiZA" annotatedElement="_VV4NkxE9EeGOffqMW1YiZA">
           <body>Each end represents participation of instances of the classifier connected to the end in links of the association.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gzgIOtwbEeCT5O2F6sGn5g" value="2"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gzgIO9wbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VV4NlRE9EeGOffqMW1YiZA" value="2"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VV4NlhE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_gzgIPNwbEeCT5O2F6sGn5g" name="navigableOwnedEnd" visibility="public" type="_Jp_1oGveEdq4DLWZOhbdEA" subsettedProperty="_gzgIQNwbEeCT5O2F6sGn5g" association="_gykUG9wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzgIPdwbEeCT5O2F6sGn5g" annotatedElement="_gzgIPNwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VV4NlxE9EeGOffqMW1YiZA" name="navigableOwnedEnd" visibility="public" type="_Jp_1oGveEdq4DLWZOhbdEA" subsettedProperty="_VV40oBE9EeGOffqMW1YiZA" association="_VT0YEBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VV4NmBE9EeGOffqMW1YiZA" annotatedElement="_VV4NlxE9EeGOffqMW1YiZA">
           <body>The navigable ends that are owned by the association itself.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gzgIPtwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gzgIP9wbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VV4NmRE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VV4NmhE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_gzgIQNwbEeCT5O2F6sGn5g" name="ownedEnd" visibility="public" type="_Jp_1oGveEdq4DLWZOhbdEA" isOrdered="true" aggregation="composite" subsettedProperty="_gzuKr9wbEeCT5O2F6sGn5g _gyxIb9wbEeCT5O2F6sGn5g _gzgIONwbEeCT5O2F6sGn5g _g1S4AdwbEeCT5O2F6sGn5g" association="_gypMl9wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzgIQdwbEeCT5O2F6sGn5g" annotatedElement="_gzgIQNwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VV40oBE9EeGOffqMW1YiZA" name="ownedEnd" visibility="public" type="_Jp_1oGveEdq4DLWZOhbdEA" isOrdered="true" aggregation="composite" subsettedProperty="_VV4NkxE9EeGOffqMW1YiZA _VXmE1BE9EeGOffqMW1YiZA _VUWjlxE9EeGOffqMW1YiZA _Var1EBE9EeGOffqMW1YiZA" association="_VUAlVhE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VV40oRE9EeGOffqMW1YiZA" annotatedElement="_VV40oBE9EeGOffqMW1YiZA">
           <body>The ends that are owned by the association itself.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gzgIQtwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gzgIQ9wbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VV40ohE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VV40oxE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
       <ownedOperation xmi:id="_WSPusK69EdqjppZik4kD8A" name="isBinary">
         <ownedComment xmi:id="_4TWQYOwlEdqYHf-imTcTdw" annotatedElement="_WSPusK69EdqjppZik4kD8A">
@@ -2983,225 +2983,225 @@
           <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
         </ownedParameter>
       </ownedOperation>
-      <ownedOperation xmi:id="_6VRNQLLREeCsYvaJqFFivQ" name="endType" visibility="public" bodyCondition="_gzgvQNwbEeCT5O2F6sGn5g" isQuery="true">
-        <ownedComment xmi:id="_gzgIRNwbEeCT5O2F6sGn5g" annotatedElement="_6VRNQLLREeCsYvaJqFFivQ">
+      <ownedOperation xmi:id="_6VRNQLLREeCsYvaJqFFivQ" name="endType" visibility="public" bodyCondition="_VV40pRE9EeGOffqMW1YiZA" isQuery="true">
+        <ownedComment xmi:id="_VV40pBE9EeGOffqMW1YiZA" annotatedElement="_6VRNQLLREeCsYvaJqFFivQ">
           <body>endType is derived from the types of the member ends.</body>
         </ownedComment>
-        <ownedRule xmi:id="_gzgvQNwbEeCT5O2F6sGn5g" name="spec" constrainedElement="_6VRNQLLREeCsYvaJqFFivQ _gzgIMtwbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_gzgvQdwbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VV40pRE9EeGOffqMW1YiZA" name="spec" constrainedElement="_6VRNQLLREeCsYvaJqFFivQ _VV3mgBE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VV40phE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = self.memberEnd->collect(e | e.type)</body>
           </specification>
         </ownedRule>
         <ownedParameter xmi:id="_-obEgLLREeCsYvaJqFFivQ" name="result" visibility="public" type="_ynRtoGvtEdqG6fBIPwe-mw" isOrdered="true" direction="return">
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gzgvQtwbEeCT5O2F6sGn5g"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gzgvQ9wbEeCT5O2F6sGn5g" value="*"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VV5bsBE9EeGOffqMW1YiZA"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VV5bsRE9EeGOffqMW1YiZA" value="*"/>
         </ownedParameter>
       </ownedOperation>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_gzhWUNwbEeCT5O2F6sGn5g" name="AssociationClass">
-      <ownedComment xmi:id="_gzhWUdwbEeCT5O2F6sGn5g" annotatedElement="_gzhWUNwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VV7Q4BE9EeGOffqMW1YiZA" name="AssociationClass">
+      <ownedComment xmi:id="_VV7Q4RE9EeGOffqMW1YiZA" annotatedElement="_VV7Q4BE9EeGOffqMW1YiZA">
         <body>A model element that has both association and class properties. An AssociationClass can be seen as an association that also has class properties, or as a class that also has association properties. It not only connects a set of classifiers but also defines a set of features that belong to the relationship itself and not to any of the classifiers.</body>
       </ownedComment>
-      <ownedRule xmi:id="_gzhWUtwbEeCT5O2F6sGn5g" name="cannot_be_defined" constrainedElement="_gzhWUNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzhWU9wbEeCT5O2F6sGn5g" annotatedElement="_gzhWUtwbEeCT5O2F6sGn5g">
-          <body>An AssociationClass cannot be defined between itself and something else.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_gzhWVNwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>self.endType->excludes(self) and self.endType>collect(et|et.allparents()->excludes(self))</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_gzhWVdwbEeCT5O2F6sGn5g" name="disjoint_attributes_ends" constrainedElement="_gzhWUNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzhWVtwbEeCT5O2F6sGn5g" annotatedElement="_gzhWVdwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VV7Q4hE9EeGOffqMW1YiZA" name="disjoint_attributes_ends" constrainedElement="_VV7Q4BE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VV7Q4xE9EeGOffqMW1YiZA" annotatedElement="_VV7Q4hE9EeGOffqMW1YiZA">
           <body>The owned attributes and owned ends of an AssociationClass are disjoint</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_gzhWV9wbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VV7Q5BE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>ownedAttribute->intersection(ownedEnd)->isEmpty()</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_gzhWWNwbEeCT5O2F6sGn5g" general="_00owUGvdEdq4DLWZOhbdEA"/>
-      <generalization xmi:id="_gzhWWdwbEeCT5O2F6sGn5g" general="_AwvxoGwNEdq7X4sGURiZYA"/>
+      <ownedRule xmi:id="_VV7Q5RE9EeGOffqMW1YiZA" name="cannot_be_defined" constrainedElement="_VV7Q4BE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VV7Q5hE9EeGOffqMW1YiZA" annotatedElement="_VV7Q5RE9EeGOffqMW1YiZA">
+          <body>An AssociationClass cannot be defined between itself and something else.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VV7Q5xE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>self.endType->excludes(self) and self.endType>collect(et|et.allparents()->excludes(self))</body>
+        </specification>
+      </ownedRule>
+      <generalization xmi:id="_VV7Q6BE9EeGOffqMW1YiZA" general="_00owUGvdEdq4DLWZOhbdEA"/>
+      <generalization xmi:id="_VV7Q6RE9EeGOffqMW1YiZA" general="_AwvxoGwNEdq7X4sGURiZYA"/>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="_TUPtYGveEdq4DLWZOhbdEA" name="Behavior" isAbstract="true">
-      <ownedComment xmi:id="_gzhWWtwbEeCT5O2F6sGn5g" annotatedElement="_TUPtYGveEdq4DLWZOhbdEA">
+      <ownedComment xmi:id="_VV738BE9EeGOffqMW1YiZA" annotatedElement="_TUPtYGveEdq4DLWZOhbdEA">
         <body>Behavior is a specification of how its context classifier changes state over time. This specification may be either a definition of possible behavior execution or emergent behavior, or a selective illustration of an interesting subset of possible executions. The latter form is typically used for capturing examples, such as a trace of a particular execution.</body>
       </ownedComment>
-      <ownedComment xmi:id="_gzhWW9wbEeCT5O2F6sGn5g" annotatedElement="_TUPtYGveEdq4DLWZOhbdEA">
+      <ownedComment xmi:id="_VV738RE9EeGOffqMW1YiZA" annotatedElement="_TUPtYGveEdq4DLWZOhbdEA">
         <body>A behavior owns zero or more parameter sets.</body>
       </ownedComment>
-      <ownedRule xmi:id="_gzhWXNwbEeCT5O2F6sGn5g" name="most_one_behaviour" constrainedElement="_TUPtYGveEdq4DLWZOhbdEA">
-        <ownedComment xmi:id="_gzhWXdwbEeCT5O2F6sGn5g" annotatedElement="_gzhWXNwbEeCT5O2F6sGn5g">
-          <body>There may be at most one behavior for a given pairing of classifier (as owner of the behavior) and behavioral feature (as specification of the behavior).</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_gzhWXtwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>true</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_gzhWX9wbEeCT5O2F6sGn5g" name="must_realize" constrainedElement="_TUPtYGveEdq4DLWZOhbdEA">
-        <ownedComment xmi:id="_gzhWYNwbEeCT5O2F6sGn5g" annotatedElement="_gzhWX9wbEeCT5O2F6sGn5g">
-          <body>If the implemented behavioral feature has been redefined in the ancestors of the owner of the behavior, then the behavior must realize the latest redefining behavioral feature.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_gzhWYdwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>true</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_gzhWYtwbEeCT5O2F6sGn5g" name="parameters_match" constrainedElement="_TUPtYGveEdq4DLWZOhbdEA">
-        <ownedComment xmi:id="_gzhWY9wbEeCT5O2F6sGn5g" annotatedElement="_gzhWYtwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VV738hE9EeGOffqMW1YiZA" name="parameters_match" constrainedElement="_TUPtYGveEdq4DLWZOhbdEA">
+        <ownedComment xmi:id="_VV738xE9EeGOffqMW1YiZA" annotatedElement="_VV738hE9EeGOffqMW1YiZA">
           <body>The parameters of the behavior must match the parameters of the implemented behavioral feature.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_gzhWZNwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VV739BE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>true</body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_gzh9YNwbEeCT5O2F6sGn5g" name="feature_of_context_classifier" constrainedElement="_TUPtYGveEdq4DLWZOhbdEA">
-        <ownedComment xmi:id="_gzh9YdwbEeCT5O2F6sGn5g" annotatedElement="_gzh9YNwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VV_iUBE9EeGOffqMW1YiZA" name="feature_of_context_classifier" constrainedElement="_TUPtYGveEdq4DLWZOhbdEA">
+        <ownedComment xmi:id="_VV_iURE9EeGOffqMW1YiZA" annotatedElement="_VV_iUBE9EeGOffqMW1YiZA">
           <body>The implemented behavioral feature must be a feature (possibly inherited) of the context classifier of the behavior.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_gzh9YtwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VV_iUhE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>true</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_gzh9Y9wbEeCT5O2F6sGn5g" general="_00owUGvdEdq4DLWZOhbdEA"/>
-      <ownedAttribute xmi:id="_gzh9ZNwbEeCT5O2F6sGn5g" name="context" visibility="public" type="_iY7sMGvsEdqG6fBIPwe-mw" isReadOnly="true" isDerived="true" subsettedProperty="_zYrE4La-EeCRxrN1JUGuxA" association="_gyWRrtwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzh9ZdwbEeCT5O2F6sGn5g" annotatedElement="_gzh9ZNwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VWAJYBE9EeGOffqMW1YiZA" name="must_realize" constrainedElement="_TUPtYGveEdq4DLWZOhbdEA">
+        <ownedComment xmi:id="_VWAJYRE9EeGOffqMW1YiZA" annotatedElement="_VWAJYBE9EeGOffqMW1YiZA">
+          <body>If the implemented behavioral feature has been redefined in the ancestors of the owner of the behavior, then the behavior must realize the latest redefining behavioral feature.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VWAJYhE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>true</body>
+        </specification>
+      </ownedRule>
+      <ownedRule xmi:id="_VWAJYxE9EeGOffqMW1YiZA" name="most_one_behaviour" constrainedElement="_TUPtYGveEdq4DLWZOhbdEA">
+        <ownedComment xmi:id="_VWAJZBE9EeGOffqMW1YiZA" annotatedElement="_VWAJYxE9EeGOffqMW1YiZA">
+          <body>There may be at most one behavior for a given pairing of classifier (as owner of the behavior) and behavioral feature (as specification of the behavior).</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VWAJZRE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>true</body>
+        </specification>
+      </ownedRule>
+      <generalization xmi:id="_VWAJZhE9EeGOffqMW1YiZA" general="_00owUGvdEdq4DLWZOhbdEA"/>
+      <ownedAttribute xmi:id="_VWAwcBE9EeGOffqMW1YiZA" name="context" visibility="public" type="_iY7sMGvsEdqG6fBIPwe-mw" isReadOnly="true" isDerived="true" subsettedProperty="_zYrE4La-EeCRxrN1JUGuxA" association="_VTIblBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VWAwcRE9EeGOffqMW1YiZA" annotatedElement="_VWAwcBE9EeGOffqMW1YiZA">
           <body>The classifier that is the context for the execution of the behavior. If the behavior is owned by a BehavioredClassifier, that classifier is the context. Otherwise, the context is the first BehavioredClassifier reached by following the chain of owner relationships. For example, following this algorithm, the context of an entry action in a state machine is the classifier that owns the state machine. The features of the context classifier as well as the elements visible to the context classifier are visible to the behavior.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gzh9ZtwbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VWAwchE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
       <ownedAttribute xmi:id="_Q1JqkNwaEeCT5O2F6sGn5g" name="isReentrant" visibility="public">
-        <ownedComment xmi:id="_gzh9Z9wbEeCT5O2F6sGn5g" annotatedElement="_Q1JqkNwaEeCT5O2F6sGn5g">
+        <ownedComment xmi:id="_VWB-kBE9EeGOffqMW1YiZA" annotatedElement="_Q1JqkNwaEeCT5O2F6sGn5g">
           <body>Tells whether the behavior can be invoked while it is still executing from a previous invocation.</body>
         </ownedComment>
         <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
-        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_gzh9aNwbEeCT5O2F6sGn5g" value="true"/>
+        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_VWCloBE9EeGOffqMW1YiZA" value="true"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_gzh9adwbEeCT5O2F6sGn5g" name="ownedParameter" visibility="public" type="_KyaPMGveEdq4DLWZOhbdEA" isOrdered="true" aggregation="composite" subsettedProperty="_g1S4AdwbEeCT5O2F6sGn5g" association="_gypzqdwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzh9atwbEeCT5O2F6sGn5g" annotatedElement="_gzh9adwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VWDMsBE9EeGOffqMW1YiZA" name="ownedParameter" visibility="public" type="_KyaPMGveEdq4DLWZOhbdEA" isOrdered="true" aggregation="composite" subsettedProperty="_Var1EBE9EeGOffqMW1YiZA" association="_VUCagxE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VWDMsRE9EeGOffqMW1YiZA" annotatedElement="_VWDMsBE9EeGOffqMW1YiZA">
           <body>References a list of parameters to the behavior which describes the order and type of arguments that can be given when the behavior is invoked and of the values which will be returned when the behavior completes its execution.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gzh9a9wbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gzh9bNwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VWDMshE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VWDMsxE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_gzikcNwbEeCT5O2F6sGn5g" name="ownedParameterSet" visibility="public" type="_g1mZ8NwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_g1S4AdwbEeCT5O2F6sGn5g" association="_gypzo9wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzikcdwbEeCT5O2F6sGn5g" annotatedElement="_gzikcNwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VWDMtBE9EeGOffqMW1YiZA" name="ownedParameterSet" visibility="public" type="_Vc7QwBE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_Var1EBE9EeGOffqMW1YiZA" association="_VUBzcxE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VWDMtRE9EeGOffqMW1YiZA" annotatedElement="_VWDMtBE9EeGOffqMW1YiZA">
           <body>The ParameterSets owned by this Behavior.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gzikctwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gzikc9wbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VWDMthE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VWDMtxE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_gzikdNwbEeCT5O2F6sGn5g" name="postcondition" visibility="public" type="_g0AegNwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_g1TfANwbEeCT5O2F6sGn5g" association="_gys28NwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzikddwbEeCT5O2F6sGn5g" annotatedElement="_gzikdNwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VWDMuBE9EeGOffqMW1YiZA" name="postcondition" visibility="public" type="_VYbLQBE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_Var1FBE9EeGOffqMW1YiZA" association="_VUJvQBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VWDMuRE9EeGOffqMW1YiZA" annotatedElement="_VWDMuBE9EeGOffqMW1YiZA">
           <body>An optional set of Constraints specifying what is fulfilled after the execution of the behavior is completed, if its precondition was fulfilled before its invocation.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gzikdtwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gzikd9wbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VWDMuhE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VWDMuxE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_gzikeNwbEeCT5O2F6sGn5g" name="precondition" visibility="public" type="_g0AegNwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_g1TfANwbEeCT5O2F6sGn5g" association="_gys2-9wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzikedwbEeCT5O2F6sGn5g" annotatedElement="_gzikeNwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VWDzwBE9EeGOffqMW1YiZA" name="precondition" visibility="public" type="_VYbLQBE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_Var1FBE9EeGOffqMW1YiZA" association="_VUKWVBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VWDzwRE9EeGOffqMW1YiZA" annotatedElement="_VWDzwBE9EeGOffqMW1YiZA">
           <body>An optional set of Constraints specifying what must be fulfilled when the behavior is invoked.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gziketwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gzike9wbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VWDzwhE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VWDzwxE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_gzikfNwbEeCT5O2F6sGn5g" name="redefinedBehavior" visibility="public" type="_TUPtYGveEdq4DLWZOhbdEA" subsettedProperty="_gzvYyNwbEeCT5O2F6sGn5g" association="_gyv6Q9wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzikfdwbEeCT5O2F6sGn5g" annotatedElement="_gzikfNwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VWEa0BE9EeGOffqMW1YiZA" name="redefinedBehavior" visibility="public" type="_TUPtYGveEdq4DLWZOhbdEA" subsettedProperty="_VXuAoBE9EeGOffqMW1YiZA" association="_VUP15xE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VWEa0RE9EeGOffqMW1YiZA" annotatedElement="_VWEa0BE9EeGOffqMW1YiZA">
           <body>References a behavior that this behavior redefines. A subtype of Behavior may redefine any other subtype of Behavior. If the behavior implements a behavioral feature, it replaces the redefined behavior. If the behavior is a classifier behavior, it extends the redefined behavior.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gzikftwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gzikf9wbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VWEa0hE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VWEa0xE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_gzikgNwbEeCT5O2F6sGn5g" name="specification" visibility="public" type="_rHT3YKOsEdqi_5gqUMOQtA" association="_gyjtCtwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzikgdwbEeCT5O2F6sGn5g" annotatedElement="_gzikgNwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VWEa1BE9EeGOffqMW1YiZA" name="specification" visibility="public" type="_rHT3YKOsEdqi_5gqUMOQtA" association="_VTyi4xE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VWEa1RE9EeGOffqMW1YiZA" annotatedElement="_VWEa1BE9EeGOffqMW1YiZA">
           <body>Designates a behavioral feature that the behavior implements. The behavioral feature must be owned by the classifier that owns the behavior or be inherited by it. The parameters of the behavioral feature and the implementing behavior must match. A behavior does not need to have a specification, in which case it either is the classifer behavior of a BehavioredClassifier or it can only be invoked by another behavior of the classifier.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gzikgtwbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VWEa1hE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedOperation xmi:id="_Zp2iwFYgEdqB6vblk3tuMA" name="context" visibility="public" bodyCondition="_gzikhNwbEeCT5O2F6sGn5g" isQuery="true">
-        <ownedComment xmi:id="_gzikg9wbEeCT5O2F6sGn5g" annotatedElement="_Zp2iwFYgEdqB6vblk3tuMA">
+      <ownedOperation xmi:id="_Zp2iwFYgEdqB6vblk3tuMA" name="context" visibility="public" bodyCondition="_VWEa2BE9EeGOffqMW1YiZA" isQuery="true">
+        <ownedComment xmi:id="_VWEa1xE9EeGOffqMW1YiZA" annotatedElement="_Zp2iwFYgEdqB6vblk3tuMA">
           <body>Missing derivation for Behavior::/context : BehavioredClassifier</body>
         </ownedComment>
-        <ownedRule xmi:id="_gzikhNwbEeCT5O2F6sGn5g" name="spec" constrainedElement="_Zp2iwFYgEdqB6vblk3tuMA _gzh9ZNwbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_gzikhdwbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VWEa2BE9EeGOffqMW1YiZA" name="spec" constrainedElement="_Zp2iwFYgEdqB6vblk3tuMA _VWAwcBE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VWEa2RE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>true</body>
           </specification>
         </ownedRule>
         <ownedParameter xmi:id="_flYtEFYgEdqB6vblk3tuMA" name="result" visibility="public" type="_iY7sMGvsEdqG6fBIPwe-mw" direction="return">
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gzikhtwbEeCT5O2F6sGn5g"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VWFB4BE9EeGOffqMW1YiZA"/>
           <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_FIHcsVYjEdqB6vblk3tuMA" value="1"/>
         </ownedParameter>
       </ownedOperation>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_gzjykNwbEeCT5O2F6sGn5g" name="BehaviorExecutionSpecification">
-      <ownedComment xmi:id="_gzjykdwbEeCT5O2F6sGn5g" annotatedElement="_gzjykNwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VWIFMBE9EeGOffqMW1YiZA" name="BehaviorExecutionSpecification">
+      <ownedComment xmi:id="_VWIFMRE9EeGOffqMW1YiZA" annotatedElement="_VWIFMBE9EeGOffqMW1YiZA">
         <body>A behavior execution specification is a kind of execution specification representing the execution of a behavior.</body>
       </ownedComment>
-      <generalization xmi:id="_gzjyktwbEeCT5O2F6sGn5g" general="_g0PIBdwbEeCT5O2F6sGn5g"/>
-      <ownedAttribute xmi:id="_gzjyk9wbEeCT5O2F6sGn5g" name="behavior" visibility="public" type="_TUPtYGveEdq4DLWZOhbdEA" association="_gyTOUNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzjylNwbEeCT5O2F6sGn5g" annotatedElement="_gzjyk9wbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_VWIFMhE9EeGOffqMW1YiZA" general="_VZQRtRE9EeGOffqMW1YiZA"/>
+      <ownedAttribute xmi:id="_VWIFMxE9EeGOffqMW1YiZA" name="behavior" visibility="public" type="_TUPtYGveEdq4DLWZOhbdEA" association="_VS_RoRE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VWIFNBE9EeGOffqMW1YiZA" annotatedElement="_VWIFMxE9EeGOffqMW1YiZA">
           <body>Behavior whose execution is occurring.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gzjyldwbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VWIFNRE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="_rHT3YKOsEdqi_5gqUMOQtA" name="BehavioralFeature" isAbstract="true">
-      <ownedComment xmi:id="_gzjyltwbEeCT5O2F6sGn5g" annotatedElement="_rHT3YKOsEdqi_5gqUMOQtA">
+      <ownedComment xmi:id="_VWIFNhE9EeGOffqMW1YiZA" annotatedElement="_rHT3YKOsEdqi_5gqUMOQtA">
         <body>A behavioral feature is a feature of a classifier that specifies an aspect of the behavior of its instances.</body>
       </ownedComment>
-      <ownedComment xmi:id="_gzjyl9wbEeCT5O2F6sGn5g" annotatedElement="_rHT3YKOsEdqi_5gqUMOQtA">
-        <body>A behavioral feature owns zero or more parameter sets.</body>
-      </ownedComment>
-      <ownedComment xmi:id="_gzjymNwbEeCT5O2F6sGn5g" annotatedElement="_rHT3YKOsEdqi_5gqUMOQtA">
+      <ownedComment xmi:id="_VWIsQBE9EeGOffqMW1YiZA" annotatedElement="_rHT3YKOsEdqi_5gqUMOQtA">
         <body>A behavioral feature is implemented (realized) by a behavior. A behavioral feature specifies that a classifier will respond to a designated request by invoking its implementing method.</body>
       </ownedComment>
-      <generalization xmi:id="_gzjymdwbEeCT5O2F6sGn5g" general="_UL0VYLbAEeCRxrN1JUGuxA"/>
-      <generalization xmi:id="_gzjymtwbEeCT5O2F6sGn5g" general="_ZiwkoGwLEdq7X4sGURiZYA"/>
-      <ownedAttribute xmi:id="_gzjym9wbEeCT5O2F6sGn5g" name="concurrency" visibility="public" type="_g2cHd9wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzjynNwbEeCT5O2F6sGn5g" annotatedElement="_gzjym9wbEeCT5O2F6sGn5g">
+      <ownedComment xmi:id="_VWIsQRE9EeGOffqMW1YiZA" annotatedElement="_rHT3YKOsEdqi_5gqUMOQtA">
+        <body>A behavioral feature owns zero or more parameter sets.</body>
+      </ownedComment>
+      <generalization xmi:id="_VWIsQhE9EeGOffqMW1YiZA" general="_ZiwkoGwLEdq7X4sGURiZYA"/>
+      <generalization xmi:id="_VWIsQxE9EeGOffqMW1YiZA" general="_UL0VYLbAEeCRxrN1JUGuxA"/>
+      <ownedAttribute xmi:id="_VWJTUBE9EeGOffqMW1YiZA" name="concurrency" visibility="public" type="_VfMhoBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VWJTURE9EeGOffqMW1YiZA" annotatedElement="_VWJTUBE9EeGOffqMW1YiZA">
           <body>Specifies the semantics of concurrent calls to the same passive instance (i.e., an instance originating from a class with isActive being false). Active instances control access to their own behavioral features.</body>
         </ownedComment>
-        <defaultValue xmi:type="uml:InstanceValue" xmi:id="_gzjyndwbEeCT5O2F6sGn5g" type="_g2cHd9wbEeCT5O2F6sGn5g" instance="_g2cHedwbEeCT5O2F6sGn5g"/>
+        <defaultValue xmi:type="uml:InstanceValue" xmi:id="_VWJTUhE9EeGOffqMW1YiZA" type="_VfMhoBE9EeGOffqMW1YiZA" instance="_VfMhohE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_gzjyntwbEeCT5O2F6sGn5g" name="isAbstract" visibility="public">
-        <ownedComment xmi:id="_gzjyn9wbEeCT5O2F6sGn5g" annotatedElement="_gzjyntwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VWJTUxE9EeGOffqMW1YiZA" name="isAbstract" visibility="public">
+        <ownedComment xmi:id="_VWJTVBE9EeGOffqMW1YiZA" annotatedElement="_VWJTUxE9EeGOffqMW1YiZA">
           <body>If true, then the behavioral feature does not have an implementation, and one must be supplied by a more specific element. If false, the behavioral feature must have an implementation in the classifier or one must be inherited from a more general element.</body>
         </ownedComment>
         <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
-        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_gzjyoNwbEeCT5O2F6sGn5g"/>
+        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_VWJTVRE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_gzjyodwbEeCT5O2F6sGn5g" name="method" visibility="public" type="_TUPtYGveEdq4DLWZOhbdEA" association="_gyjtCtwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzjyotwbEeCT5O2F6sGn5g" annotatedElement="_gzjyodwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VWJTVhE9EeGOffqMW1YiZA" name="method" visibility="public" type="_TUPtYGveEdq4DLWZOhbdEA" association="_VTyi4xE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VWJTVxE9EeGOffqMW1YiZA" annotatedElement="_VWJTVhE9EeGOffqMW1YiZA">
           <body>A behavioral description that implements the behavioral feature. There may be at most one behavior for a particular pairing of a classifier (as owner of the behavior) and a behavioral feature (as specification of the behavior).</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gzjyo9wbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gzjypNwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VWJTWBE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VWJTWRE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_gzkZoNwbEeCT5O2F6sGn5g" name="ownedParameter" visibility="public" type="_KyaPMGveEdq4DLWZOhbdEA" isOrdered="true" aggregation="composite" subsettedProperty="_g1S4AdwbEeCT5O2F6sGn5g" association="_gyqasNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzkZodwbEeCT5O2F6sGn5g" annotatedElement="_gzkZoNwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VWJ6YBE9EeGOffqMW1YiZA" name="ownedParameter" visibility="public" type="_KyaPMGveEdq4DLWZOhbdEA" isOrdered="true" aggregation="composite" subsettedProperty="_Var1EBE9EeGOffqMW1YiZA" association="_VUDBkBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VWJ6YRE9EeGOffqMW1YiZA" annotatedElement="_VWJ6YBE9EeGOffqMW1YiZA">
           <body>Specifies the ordered set of formal parameters of this BehavioralFeature.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gzkZotwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gzkZo9wbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VWJ6YhE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VWJ6YxE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_gzkZpNwbEeCT5O2F6sGn5g" name="ownedParameterSet" visibility="public" type="_g1mZ8NwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_g1S4AdwbEeCT5O2F6sGn5g" association="_gypzptwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzkZpdwbEeCT5O2F6sGn5g" annotatedElement="_gzkZpNwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VWJ6ZBE9EeGOffqMW1YiZA" name="ownedParameterSet" visibility="public" type="_Vc7QwBE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_Var1EBE9EeGOffqMW1YiZA" association="_VUCagBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VWJ6ZRE9EeGOffqMW1YiZA" annotatedElement="_VWJ6ZBE9EeGOffqMW1YiZA">
           <body>The ParameterSets owned by this BehavioralFeature.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gzkZptwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gzkZp9wbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VWJ6ZhE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VWJ6ZxE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_gzkZqNwbEeCT5O2F6sGn5g" name="raisedException" visibility="public" type="_ynRtoGvtEdqG6fBIPwe-mw" association="_gyusI9wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzkZqdwbEeCT5O2F6sGn5g" annotatedElement="_gzkZqNwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VWJ6aBE9EeGOffqMW1YiZA" name="raisedException" visibility="public" type="_ynRtoGvtEdqG6fBIPwe-mw" association="_VUMylxE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VWJ6aRE9EeGOffqMW1YiZA" annotatedElement="_VWJ6aBE9EeGOffqMW1YiZA">
           <body>References the Types representing exceptions that may be raised during an invocation of this feature.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gzkZqtwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gzkZq9wbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VWJ6ahE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VWJ6axE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
       <ownedOperation xmi:id="_3Y0aYKOuEdqi_5gqUMOQtA" name="createReturnResult">
         <ownedComment xmi:id="_WdHFYPZPEdqYHf-imTcTdw" annotatedElement="_3Y0aYKOuEdqi_5gqUMOQtA">
@@ -3224,12 +3224,12 @@
           <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_BJHvcaOyEdqi_5gqUMOQtA" value="1"/>
         </ownedParameter>
       </ownedOperation>
-      <ownedOperation xmi:id="_gzkZrNwbEeCT5O2F6sGn5g" name="isDistinguishableFrom" visibility="public" bodyCondition="_gzkZrtwbEeCT5O2F6sGn5g" isQuery="true" redefinedOperation="_g1Rp0NwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzkZrdwbEeCT5O2F6sGn5g" annotatedElement="_gzkZrNwbEeCT5O2F6sGn5g">
+      <ownedOperation xmi:id="_VWKhcBE9EeGOffqMW1YiZA" name="isDistinguishableFrom" visibility="public" bodyCondition="_VWKhchE9EeGOffqMW1YiZA" isQuery="true" redefinedOperation="_VaPwMBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VWKhcRE9EeGOffqMW1YiZA" annotatedElement="_VWKhcBE9EeGOffqMW1YiZA">
           <body>The query isDistinguishableFrom() determines whether two BehavioralFeatures may coexist in the same Namespace. It specifies that they have to have different signatures.</body>
         </ownedComment>
-        <ownedRule xmi:id="_gzkZrtwbEeCT5O2F6sGn5g" name="spec" constrainedElement="_gzkZrNwbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_gzkZr9wbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VWKhchE9EeGOffqMW1YiZA" name="spec" constrainedElement="_VWKhcBE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VWKhcxE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = if n.oclIsKindOf(BehavioralFeature)
 then
@@ -3241,49 +3241,49 @@
 endif</body>
           </specification>
         </ownedRule>
-        <ownedParameter xmi:id="_gzkZsNwbEeCT5O2F6sGn5g" name="result" visibility="public" direction="return">
+        <ownedParameter xmi:id="_VWKhdBE9EeGOffqMW1YiZA" name="result" visibility="public" direction="return">
           <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
         </ownedParameter>
-        <ownedParameter xmi:id="_gzkZsdwbEeCT5O2F6sGn5g" name="n" visibility="public" type="_csVgUGvtEdqG6fBIPwe-mw"/>
-        <ownedParameter xmi:id="_gzkZstwbEeCT5O2F6sGn5g" name="ns" visibility="public" type="_ZiwkoGwLEdq7X4sGURiZYA"/>
+        <ownedParameter xmi:id="_VWKhdRE9EeGOffqMW1YiZA" name="n" visibility="public" type="_csVgUGvtEdqG6fBIPwe-mw"/>
+        <ownedParameter xmi:id="_VWKhdhE9EeGOffqMW1YiZA" name="ns" visibility="public" type="_ZiwkoGwLEdq7X4sGURiZYA"/>
       </ownedOperation>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="_iY7sMGvsEdqG6fBIPwe-mw" name="BehavioredClassifier" isAbstract="true">
-      <ownedComment xmi:id="_gzlAsNwbEeCT5O2F6sGn5g" annotatedElement="_iY7sMGvsEdqG6fBIPwe-mw">
+      <ownedComment xmi:id="_VWLIgBE9EeGOffqMW1YiZA" annotatedElement="_iY7sMGvsEdqG6fBIPwe-mw">
         <body>A behaviored classifier may have an interface realization.</body>
       </ownedComment>
-      <ownedComment xmi:id="_gzlAsdwbEeCT5O2F6sGn5g" annotatedElement="_iY7sMGvsEdqG6fBIPwe-mw">
+      <ownedComment xmi:id="_VWLIgRE9EeGOffqMW1YiZA" annotatedElement="_iY7sMGvsEdqG6fBIPwe-mw">
         <body>A classifier can have behavior specifications defined in its namespace. One of these may specify the behavior of the classifier itself.</body>
       </ownedComment>
-      <ownedRule xmi:id="_gzlAstwbEeCT5O2F6sGn5g" name="class_behavior" constrainedElement="_iY7sMGvsEdqG6fBIPwe-mw">
-        <ownedComment xmi:id="_gzlAs9wbEeCT5O2F6sGn5g" annotatedElement="_gzlAstwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VWLIghE9EeGOffqMW1YiZA" name="class_behavior" constrainedElement="_iY7sMGvsEdqG6fBIPwe-mw">
+        <ownedComment xmi:id="_VWLIgxE9EeGOffqMW1YiZA" annotatedElement="_VWLIghE9EeGOffqMW1YiZA">
           <body>If a behavior is classifier behavior, it does not have a specification.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_gzlAtNwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VWLIhBE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>self.classifierBehavior->notEmpty() implies self.classifierBehavior.specification->isEmpty()</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_gzlAtdwbEeCT5O2F6sGn5g" general="_6UV2QGwJEdq7X4sGURiZYA"/>
-      <ownedAttribute xmi:id="_gzlAttwbEeCT5O2F6sGn5g" name="classifierBehavior" visibility="public" type="_TUPtYGveEdq4DLWZOhbdEA" subsettedProperty="_gzlAvdwbEeCT5O2F6sGn5g" association="_gyUccNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzlAt9wbEeCT5O2F6sGn5g" annotatedElement="_gzlAttwbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_VWLvkBE9EeGOffqMW1YiZA" general="_6UV2QGwJEdq7X4sGURiZYA"/>
+      <ownedAttribute xmi:id="_VWLvkRE9EeGOffqMW1YiZA" name="classifierBehavior" visibility="public" type="_TUPtYGveEdq4DLWZOhbdEA" subsettedProperty="_VWMWpBE9EeGOffqMW1YiZA" association="_VTBt4xE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VWLvkhE9EeGOffqMW1YiZA" annotatedElement="_VWLvkRE9EeGOffqMW1YiZA">
           <body>A behavior specification that specifies the behavior of the classifier itself.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gzlAuNwbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VWLvkxE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_gzlAudwbEeCT5O2F6sGn5g" name="interfaceRealization" visibility="public" type="_l2mXcHLzEdqziYxiZo0YtA" aggregation="composite" subsettedProperty="_g0JocNwbEeCT5O2F6sGn5g _g1QbsNwbEeCT5O2F6sGn5g" association="_gyhQxNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzlAutwbEeCT5O2F6sGn5g" annotatedElement="_gzlAudwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VWMWoBE9EeGOffqMW1YiZA" name="interfaceRealization" visibility="public" type="_l2mXcHLzEdqziYxiZo0YtA" aggregation="composite" subsettedProperty="_GDD2YAtAEeGcpbeCPJfCmw _VaN7ABE9EeGOffqMW1YiZA" association="_VTr1MBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VWMWoRE9EeGOffqMW1YiZA" annotatedElement="_VWMWoBE9EeGOffqMW1YiZA">
           <body>The set of InterfaceRealizations owned by the BehavioredClassifier. Interface realizations reference the Interfaces of which the BehavioredClassifier is an implementation.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gzlAu9wbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gzlAvNwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VWMWohE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VWMWoxE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_gzlAvdwbEeCT5O2F6sGn5g" name="ownedBehavior" visibility="public" type="_TUPtYGveEdq4DLWZOhbdEA" aggregation="composite" subsettedProperty="_g1S4AdwbEeCT5O2F6sGn5g" association="_gyolh9wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzlAvtwbEeCT5O2F6sGn5g" annotatedElement="_gzlAvdwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VWMWpBE9EeGOffqMW1YiZA" name="ownedBehavior" visibility="public" type="_TUPtYGveEdq4DLWZOhbdEA" aggregation="composite" subsettedProperty="_Var1EBE9EeGOffqMW1YiZA" association="_VT_XNxE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VWMWpRE9EeGOffqMW1YiZA" annotatedElement="_VWMWpBE9EeGOffqMW1YiZA">
           <body>References behavior specifications owned by a classifier.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gzlAv9wbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gzlAwNwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VWMWphE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VWMWpxE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
       <ownedOperation xmi:id="_lbuPQK69EdqjppZik4kD8A" name="getAllImplementedInterfaces">
         <ownedComment xmi:id="_-G81cOwfEdqYHf-imTcTdw" annotatedElement="_lbuPQK69EdqjppZik4kD8A">
@@ -3304,282 +3304,282 @@
         </ownedParameter>
       </ownedOperation>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_gzlnwNwbEeCT5O2F6sGn5g" name="BroadcastSignalAction">
-      <ownedComment xmi:id="_gzlnwdwbEeCT5O2F6sGn5g" annotatedElement="_gzlnwNwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VWRPIBE9EeGOffqMW1YiZA" name="BroadcastSignalAction">
+      <ownedComment xmi:id="_VWRPIRE9EeGOffqMW1YiZA" annotatedElement="_VWRPIBE9EeGOffqMW1YiZA">
         <body>A broadcast signal action is an action that transmits a signal instance to all the potential target objects in the system, which may cause the firing of a state machine transitions or the execution of associated activities of a target object. The argument values are available to the execution of associated behaviors. The requestor continues execution immediately after the signals are sent out. It does not wait for receipt. Any reply messages are ignored and are not transmitted to the requestor.</body>
       </ownedComment>
-      <ownedRule xmi:id="_gzlnwtwbEeCT5O2F6sGn5g" name="number_and_order" constrainedElement="_gzlnwNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzlnw9wbEeCT5O2F6sGn5g" annotatedElement="_gzlnwtwbEeCT5O2F6sGn5g">
-          <body>The number and order of argument pins must be the same as the number and order of attributes in the signal.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_gzlnxNwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>true</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_gzlnxdwbEeCT5O2F6sGn5g" name="type_ordering_multiplicity" constrainedElement="_gzlnwNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzlnxtwbEeCT5O2F6sGn5g" annotatedElement="_gzlnxdwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VWRPIhE9EeGOffqMW1YiZA" name="type_ordering_multiplicity" constrainedElement="_VWRPIBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VWR2MBE9EeGOffqMW1YiZA" annotatedElement="_VWRPIhE9EeGOffqMW1YiZA">
           <body>The type, ordering, and multiplicity of an argument pin must be the same as the corresponding attribute of the signal.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_gzlnx9wbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VWR2MRE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>true</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_gzlnyNwbEeCT5O2F6sGn5g" general="_g0gNxdwbEeCT5O2F6sGn5g"/>
-      <ownedAttribute xmi:id="_gzlnydwbEeCT5O2F6sGn5g" name="signal" visibility="public" type="_Pu3O0HL0EdqziYxiZo0YtA" association="_gy5EMNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzlnytwbEeCT5O2F6sGn5g" annotatedElement="_gzlnydwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VWR2MhE9EeGOffqMW1YiZA" name="number_and_order" constrainedElement="_VWRPIBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VWR2MxE9EeGOffqMW1YiZA" annotatedElement="_VWR2MhE9EeGOffqMW1YiZA">
+          <body>The number and order of argument pins must be the same as the number and order of attributes in the signal.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VWR2NBE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>true</body>
+        </specification>
+      </ownedRule>
+      <generalization xmi:id="_VWR2NRE9EeGOffqMW1YiZA" general="_VZzEQBE9EeGOffqMW1YiZA"/>
+      <ownedAttribute xmi:id="_VWR2NhE9EeGOffqMW1YiZA" name="signal" visibility="public" type="_Pu3O0HL0EdqziYxiZo0YtA" association="_VUjX4BE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VWR2NxE9EeGOffqMW1YiZA" annotatedElement="_VWR2NhE9EeGOffqMW1YiZA">
           <body>The specification of signal object transmitted to the target objects.</body>
         </ownedComment>
       </ownedAttribute>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_gzmO0NwbEeCT5O2F6sGn5g" name="CallAction" isAbstract="true">
-      <ownedComment xmi:id="_gzmO0dwbEeCT5O2F6sGn5g" annotatedElement="_gzmO0NwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VWTEUBE9EeGOffqMW1YiZA" name="CallAction" isAbstract="true">
+      <ownedComment xmi:id="_VWTEURE9EeGOffqMW1YiZA" annotatedElement="_VWTEUBE9EeGOffqMW1YiZA">
         <body>CallAction is an abstract class for actions that invoke behavior and receive return values.</body>
       </ownedComment>
-      <ownedRule xmi:id="_gzmO0twbEeCT5O2F6sGn5g" name="type_ordering_multiplicity" constrainedElement="_gzmO0NwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzmO09wbEeCT5O2F6sGn5g" annotatedElement="_gzmO0twbEeCT5O2F6sGn5g">
-          <body>The type, ordering, and multiplicity of an argument pin must be the same as the corresponding parameter of the behavior or behavioral feature.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_gzmO1NwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>true</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_gzmO1dwbEeCT5O2F6sGn5g" name="number_and_order" constrainedElement="_gzmO0NwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzmO1twbEeCT5O2F6sGn5g" annotatedElement="_gzmO1dwbEeCT5O2F6sGn5g">
-          <body>The number and order of argument pins must be the same as the number and order of parameters of the invoked behavior or behavioral feature. Pins are matched to parameters by order.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_gzmO19wbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>true</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_gzmO2NwbEeCT5O2F6sGn5g" name="synchronous_call" constrainedElement="_gzmO0NwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzmO2dwbEeCT5O2F6sGn5g" annotatedElement="_gzmO2NwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VWTEUhE9EeGOffqMW1YiZA" name="synchronous_call" constrainedElement="_VWTEUBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VWTEUxE9EeGOffqMW1YiZA" annotatedElement="_VWTEUhE9EeGOffqMW1YiZA">
           <body>Only synchronous call actions can have result pins.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_gzmO2twbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VWTEVBE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>true</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_gzmO29wbEeCT5O2F6sGn5g" general="_g0gNxdwbEeCT5O2F6sGn5g"/>
-      <ownedAttribute xmi:id="_gzmO3NwbEeCT5O2F6sGn5g" name="isSynchronous" visibility="public">
-        <ownedComment xmi:id="_gzmO3dwbEeCT5O2F6sGn5g" annotatedElement="_gzmO3NwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VWTEVRE9EeGOffqMW1YiZA" name="number_and_order" constrainedElement="_VWTEUBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VWTEVhE9EeGOffqMW1YiZA" annotatedElement="_VWTEVRE9EeGOffqMW1YiZA">
+          <body>The number and order of argument pins must be the same as the number and order of parameters of the invoked behavior or behavioral feature. Pins are matched to parameters by order.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VWTEVxE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>true</body>
+        </specification>
+      </ownedRule>
+      <ownedRule xmi:id="_VWTEWBE9EeGOffqMW1YiZA" name="type_ordering_multiplicity" constrainedElement="_VWTEUBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VWTEWRE9EeGOffqMW1YiZA" annotatedElement="_VWTEWBE9EeGOffqMW1YiZA">
+          <body>The type, ordering, and multiplicity of an argument pin must be the same as the corresponding parameter of the behavior or behavioral feature.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VWTEWhE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>true</body>
+        </specification>
+      </ownedRule>
+      <generalization xmi:id="_VWTEWxE9EeGOffqMW1YiZA" general="_VZzEQBE9EeGOffqMW1YiZA"/>
+      <ownedAttribute xmi:id="_VWTEXBE9EeGOffqMW1YiZA" name="isSynchronous" visibility="public">
+        <ownedComment xmi:id="_VWTEXRE9EeGOffqMW1YiZA" annotatedElement="_VWTEXBE9EeGOffqMW1YiZA">
           <body>If true, the call is synchronous and the caller waits for completion of the invoked behavior. If false, the call is asynchronous and the caller proceeds immediately and does not expect a return values.</body>
         </ownedComment>
         <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
-        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_gzmO3twbEeCT5O2F6sGn5g" value="true"/>
+        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_VWTEXhE9EeGOffqMW1YiZA" value="true"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_gzmO39wbEeCT5O2F6sGn5g" name="result" visibility="public" type="_g1fsRdwbEeCT5O2F6sGn5g" isOrdered="true" aggregation="composite" subsettedProperty="_gzCOK9wbEeCT5O2F6sGn5g" association="_gy0Lu9wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzmO4NwbEeCT5O2F6sGn5g" annotatedElement="_gzmO39wbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VWTEXxE9EeGOffqMW1YiZA" name="result" visibility="public" type="_VcHYcBE9EeGOffqMW1YiZA" isOrdered="true" aggregation="composite" subsettedProperty="_VU4vEBE9EeGOffqMW1YiZA" association="_VUcqMBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VWTEYBE9EeGOffqMW1YiZA" annotatedElement="_VWTEXxE9EeGOffqMW1YiZA">
           <body>A list of output pins where the results of performing the invocation are placed.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gzmO4dwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gzmO4twbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VWTEYRE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VWTEYhE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_gzm14NwbEeCT5O2F6sGn5g" name="CallBehaviorAction">
-      <ownedComment xmi:id="_gzm14dwbEeCT5O2F6sGn5g" annotatedElement="_gzm14NwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VWUScBE9EeGOffqMW1YiZA" name="CallBehaviorAction">
+      <ownedComment xmi:id="_VWUScRE9EeGOffqMW1YiZA" annotatedElement="_VWUScBE9EeGOffqMW1YiZA">
         <body>A call behavior action is a call action that invokes a behavior directly rather than invoking a behavioral feature that, in turn, results in the invocation of that behavior. The argument values of the action are available to the execution of the invoked behavior. For synchronous calls the execution of the call behavior action waits until the execution of the invoked behavior completes and a result is returned on its output pin. The action completes immediately without a result, if the call is asynchronous. In particular, the invoked behavior may be an activity.</body>
       </ownedComment>
-      <ownedRule xmi:id="_gzm14twbEeCT5O2F6sGn5g" name="result_pin_equal_parameter" constrainedElement="_gzm14NwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzm149wbEeCT5O2F6sGn5g" annotatedElement="_gzm14twbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VWUSchE9EeGOffqMW1YiZA" name="result_pin_equal_parameter" constrainedElement="_VWUScBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VWUScxE9EeGOffqMW1YiZA" annotatedElement="_VWUSchE9EeGOffqMW1YiZA">
           <body>The number of result pins and the number of parameters of the behavior of type return, out, and in-out must be equal.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_gzm15NwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VWUSdBE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>true</body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_gzm15dwbEeCT5O2F6sGn5g" name="type_ordering_multiplicity" constrainedElement="_gzm14NwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzm15twbEeCT5O2F6sGn5g" annotatedElement="_gzm15dwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VWUSdRE9EeGOffqMW1YiZA" name="type_ordering_multiplicity" constrainedElement="_VWUScBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VWUSdhE9EeGOffqMW1YiZA" annotatedElement="_VWUSdRE9EeGOffqMW1YiZA">
           <body>The type, ordering, and multiplicity of an argument or result pin is derived from the corresponding parameter of the behavior.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_gzm159wbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VWUSdxE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>true</body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_gzm16NwbEeCT5O2F6sGn5g" name="argument_pin_equal_parameter" constrainedElement="_gzm14NwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzm16dwbEeCT5O2F6sGn5g" annotatedElement="_gzm16NwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VWUSeBE9EeGOffqMW1YiZA" name="argument_pin_equal_parameter" constrainedElement="_VWUScBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VWUSeRE9EeGOffqMW1YiZA" annotatedElement="_VWUSeBE9EeGOffqMW1YiZA">
           <body>The number of argument pins and the number of parameters of the behavior of type in and in-out must be equal.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_gzm16twbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VWUSehE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>true</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_gzm169wbEeCT5O2F6sGn5g" general="_gzmO0NwbEeCT5O2F6sGn5g"/>
-      <ownedAttribute xmi:id="_gzm17NwbEeCT5O2F6sGn5g" name="behavior" visibility="public" type="_TUPtYGveEdq4DLWZOhbdEA" association="_gyTOVNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzm17dwbEeCT5O2F6sGn5g" annotatedElement="_gzm17NwbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_VWUSexE9EeGOffqMW1YiZA" general="_VWTEUBE9EeGOffqMW1YiZA"/>
+      <ownedAttribute xmi:id="_VWUSfBE9EeGOffqMW1YiZA" name="behavior" visibility="public" type="_TUPtYGveEdq4DLWZOhbdEA" association="_VS_RpRE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VWUSfRE9EeGOffqMW1YiZA" annotatedElement="_VWUSfBE9EeGOffqMW1YiZA">
           <body>The invoked behavior. It must be capable of accepting and returning control.</body>
         </ownedComment>
       </ownedAttribute>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_gzm17twbEeCT5O2F6sGn5g" name="CallEvent">
-      <ownedComment xmi:id="_gzm179wbEeCT5O2F6sGn5g" annotatedElement="_gzm17twbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VWU5gBE9EeGOffqMW1YiZA" name="CallEvent">
+      <ownedComment xmi:id="_VWU5gRE9EeGOffqMW1YiZA" annotatedElement="_VWU5gBE9EeGOffqMW1YiZA">
         <body>A call event models the receipt by an object of a message invoking a call of an operation.</body>
       </ownedComment>
-      <generalization xmi:id="_gzm18NwbEeCT5O2F6sGn5g" general="_g1MKRtwbEeCT5O2F6sGn5g"/>
-      <ownedAttribute xmi:id="_gzm18dwbEeCT5O2F6sGn5g" name="operation" visibility="public" type="_M4X2IGveEdq4DLWZOhbdEA" association="_gynXYNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzm18twbEeCT5O2F6sGn5g" annotatedElement="_gzm18dwbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_VWU5ghE9EeGOffqMW1YiZA" general="_VaEKBhE9EeGOffqMW1YiZA"/>
+      <ownedAttribute xmi:id="_VWU5gxE9EeGOffqMW1YiZA" name="operation" visibility="public" type="_M4X2IGveEdq4DLWZOhbdEA" association="_VT868BE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VWU5hBE9EeGOffqMW1YiZA" annotatedElement="_VWU5gxE9EeGOffqMW1YiZA">
           <body>Designates the operation whose invocation raised the call event.</body>
         </ownedComment>
       </ownedAttribute>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_gznc8NwbEeCT5O2F6sGn5g" name="CallOperationAction">
-      <ownedComment xmi:id="_gznc8dwbEeCT5O2F6sGn5g" annotatedElement="_gznc8NwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VWVgkBE9EeGOffqMW1YiZA" name="CallOperationAction">
+      <ownedComment xmi:id="_VWVgkRE9EeGOffqMW1YiZA" annotatedElement="_VWVgkBE9EeGOffqMW1YiZA">
         <body>A call operation action is an action that transmits an operation call request to the target object, where it may cause the invocation of associated behavior. The argument values of the action are available to the execution of the invoked behavior. If the action is marked synchronous, the execution of the call operation action waits until the execution of the invoked behavior completes and a reply transmission is returned to the caller; otherwise execution of the action is complete when the invocation of the operation is established and the execution of the invoked operation proceeds concurrently with the execution of the calling behavior. Any values returned as part of the reply transmission are put on the result output pins of the call operation action. Upon receipt of the reply transmission, execution of the call operation action is complete.</body>
       </ownedComment>
-      <ownedRule xmi:id="_gznc8twbEeCT5O2F6sGn5g" name="type_ordering_multiplicity" constrainedElement="_gznc8NwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gznc89wbEeCT5O2F6sGn5g" annotatedElement="_gznc8twbEeCT5O2F6sGn5g">
-          <body>The type, ordering, and multiplicity of an argument or result pin is derived from the corresponding owned parameter of the operation.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_gznc9NwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>true</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_gznc9dwbEeCT5O2F6sGn5g" name="type_target_pin" constrainedElement="_gznc8NwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gznc9twbEeCT5O2F6sGn5g" annotatedElement="_gznc9dwbEeCT5O2F6sGn5g">
-          <body>The type of the target pin must be the same as the type that owns the operation.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_gznc99wbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>true</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_gznc-NwbEeCT5O2F6sGn5g" name="argument_pin_equal_parameter" constrainedElement="_gznc8NwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gznc-dwbEeCT5O2F6sGn5g" annotatedElement="_gznc-NwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VWVgkhE9EeGOffqMW1YiZA" name="argument_pin_equal_parameter" constrainedElement="_VWVgkBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VWVgkxE9EeGOffqMW1YiZA" annotatedElement="_VWVgkhE9EeGOffqMW1YiZA">
           <body>The number of argument pins and the number of owned parameters of the operation of type in and in-out must be equal.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_gznc-twbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VWVglBE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>true</body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_gznc-9wbEeCT5O2F6sGn5g" name="result_pin_equal_parameter" constrainedElement="_gznc8NwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gznc_NwbEeCT5O2F6sGn5g" annotatedElement="_gznc-9wbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VWVglRE9EeGOffqMW1YiZA" name="result_pin_equal_parameter" constrainedElement="_VWVgkBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VWVglhE9EeGOffqMW1YiZA" annotatedElement="_VWVglRE9EeGOffqMW1YiZA">
           <body>The number of result pins and the number of owned parameters of the operation of type return, out, and in-out must be equal.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_gznc_dwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VWVglxE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>true</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_gznc_twbEeCT5O2F6sGn5g" general="_gzmO0NwbEeCT5O2F6sGn5g"/>
-      <ownedAttribute xmi:id="_gznc_9wbEeCT5O2F6sGn5g" name="operation" visibility="public" type="_M4X2IGveEdq4DLWZOhbdEA" association="_gynXZNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzndANwbEeCT5O2F6sGn5g" annotatedElement="_gznc_9wbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VWVgmBE9EeGOffqMW1YiZA" name="type_target_pin" constrainedElement="_VWVgkBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VWVgmRE9EeGOffqMW1YiZA" annotatedElement="_VWVgmBE9EeGOffqMW1YiZA">
+          <body>The type of the target pin must be the same as the type that owns the operation.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VWVgmhE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>true</body>
+        </specification>
+      </ownedRule>
+      <ownedRule xmi:id="_VWVgmxE9EeGOffqMW1YiZA" name="type_ordering_multiplicity" constrainedElement="_VWVgkBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VWVgnBE9EeGOffqMW1YiZA" annotatedElement="_VWVgmxE9EeGOffqMW1YiZA">
+          <body>The type, ordering, and multiplicity of an argument or result pin is derived from the corresponding owned parameter of the operation.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VWVgnRE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>true</body>
+        </specification>
+      </ownedRule>
+      <generalization xmi:id="_VWVgnhE9EeGOffqMW1YiZA" general="_VWTEUBE9EeGOffqMW1YiZA"/>
+      <ownedAttribute xmi:id="_VWVgnxE9EeGOffqMW1YiZA" name="operation" visibility="public" type="_M4X2IGveEdq4DLWZOhbdEA" association="_VT869BE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VWVgoBE9EeGOffqMW1YiZA" annotatedElement="_VWVgnxE9EeGOffqMW1YiZA">
           <body>The operation to be invoked by the action execution.</body>
         </ownedComment>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_gzndAdwbEeCT5O2F6sGn5g" name="target" visibility="public" type="_g0aHKdwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_gzBnMNwbEeCT5O2F6sGn5g" association="_gy8HidwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzndAtwbEeCT5O2F6sGn5g" annotatedElement="_gzndAdwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VWVgoRE9EeGOffqMW1YiZA" name="target" visibility="public" type="_VZp6WRE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_VU4IABE9EeGOffqMW1YiZA" association="_VUo3dRE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VWVgohE9EeGOffqMW1YiZA" annotatedElement="_VWVgoRE9EeGOffqMW1YiZA">
           <body>The target object to which the request is sent. The classifier of the target object is used to dynamically determine a behavior to invoke. This object constitutes the context of the execution of the operation.</body>
         </ownedComment>
       </ownedAttribute>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_gzndA9wbEeCT5O2F6sGn5g" name="CentralBufferNode">
-      <ownedComment xmi:id="_gzndBNwbEeCT5O2F6sGn5g" annotatedElement="_gzndA9wbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VWWHoBE9EeGOffqMW1YiZA" name="CentralBufferNode">
+      <ownedComment xmi:id="_VWWHoRE9EeGOffqMW1YiZA" annotatedElement="_VWWHoBE9EeGOffqMW1YiZA">
         <body>A central buffer node is an object node for managing flows from multiple sources and destinations.</body>
       </ownedComment>
-      <generalization xmi:id="_gzndBdwbEeCT5O2F6sGn5g" general="_g1XJYNwbEeCT5O2F6sGn5g"/>
+      <generalization xmi:id="_VWWHohE9EeGOffqMW1YiZA" general="_VbcDABE9EeGOffqMW1YiZA"/>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_gzoEANwbEeCT5O2F6sGn5g" name="ChangeEvent">
-      <ownedComment xmi:id="_gzoEAdwbEeCT5O2F6sGn5g" annotatedElement="_gzoEANwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VWWusBE9EeGOffqMW1YiZA" name="ChangeEvent">
+      <ownedComment xmi:id="_VWWusRE9EeGOffqMW1YiZA" annotatedElement="_VWWusBE9EeGOffqMW1YiZA">
         <body>A change event models a change in the system configuration that makes a condition true.</body>
       </ownedComment>
-      <generalization xmi:id="_gzoEAtwbEeCT5O2F6sGn5g" general="_g0N54NwbEeCT5O2F6sGn5g"/>
-      <ownedAttribute xmi:id="_gzoEA9wbEeCT5O2F6sGn5g" name="changeExpression" visibility="public" type="_g2YdENwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_g0JocNwbEeCT5O2F6sGn5g" association="_gyT1bdwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzoEBNwbEeCT5O2F6sGn5g" annotatedElement="_gzoEA9wbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_VWWushE9EeGOffqMW1YiZA" general="_VZOcgBE9EeGOffqMW1YiZA"/>
+      <ownedAttribute xmi:id="_VWWusxE9EeGOffqMW1YiZA" name="changeExpression" visibility="public" type="_VfGbABE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_GDD2YAtAEeGcpbeCPJfCmw" association="_VTBt4BE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VWWutBE9EeGOffqMW1YiZA" annotatedElement="_VWWusxE9EeGOffqMW1YiZA">
           <body>A Boolean-valued expression that will result in a change event whenever its value changes from false to true.</body>
         </ownedComment>
       </ownedAttribute>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="_00owUGvdEdq4DLWZOhbdEA" name="Class">
-      <ownedComment xmi:id="_gzoEBdwbEeCT5O2F6sGn5g" annotatedElement="_00owUGvdEdq4DLWZOhbdEA">
-        <body>A class describes a set of objects that share the same specifications of features, constraints, and semantics.</body>
-      </ownedComment>
-      <ownedComment xmi:id="_gzoEBtwbEeCT5O2F6sGn5g" annotatedElement="_00owUGvdEdq4DLWZOhbdEA">
-        <body>A class has the capability to have an internal structure and ports.</body>
-      </ownedComment>
-      <ownedComment xmi:id="_gzoEB9wbEeCT5O2F6sGn5g" annotatedElement="_00owUGvdEdq4DLWZOhbdEA">
-        <body>Class has derived association that indicates how it may be extended through one or more stereotypes. Stereotype is the only kind of metaclass that cannot be extended by stereotypes.</body>
-      </ownedComment>
-      <ownedComment xmi:id="_gzoECNwbEeCT5O2F6sGn5g" annotatedElement="_00owUGvdEdq4DLWZOhbdEA">
+      <ownedComment xmi:id="_VWWutRE9EeGOffqMW1YiZA" annotatedElement="_00owUGvdEdq4DLWZOhbdEA">
         <body>A class may be designated as active (i.e., each of its instances having its own thread of control) or passive (i.e., each of its instances executing within the context of some other object). A class may also specify which signals the instances of this class handle.</body>
       </ownedComment>
-      <ownedRule xmi:id="_gzoECdwbEeCT5O2F6sGn5g" name="passive_class" constrainedElement="_00owUGvdEdq4DLWZOhbdEA">
-        <ownedComment xmi:id="_gzoECtwbEeCT5O2F6sGn5g" annotatedElement="_gzoECdwbEeCT5O2F6sGn5g">
+      <ownedComment xmi:id="_VWWuthE9EeGOffqMW1YiZA" annotatedElement="_00owUGvdEdq4DLWZOhbdEA">
+        <body>A class describes a set of objects that share the same specifications of features, constraints, and semantics.</body>
+      </ownedComment>
+      <ownedComment xmi:id="_VWWutxE9EeGOffqMW1YiZA" annotatedElement="_00owUGvdEdq4DLWZOhbdEA">
+        <body>A class has the capability to have an internal structure and ports.</body>
+      </ownedComment>
+      <ownedComment xmi:id="_VWWuuBE9EeGOffqMW1YiZA" annotatedElement="_00owUGvdEdq4DLWZOhbdEA">
+        <body>Class has derived association that indicates how it may be extended through one or more stereotypes. Stereotype is the only kind of metaclass that cannot be extended by stereotypes.</body>
+      </ownedComment>
+      <ownedRule xmi:id="_VWWuuRE9EeGOffqMW1YiZA" name="passive_class" constrainedElement="_00owUGvdEdq4DLWZOhbdEA">
+        <ownedComment xmi:id="_VWWuuhE9EeGOffqMW1YiZA" annotatedElement="_VWWuuRE9EeGOffqMW1YiZA">
           <body>A passive class may not own receptions.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_gzoEC9wbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VWWuuxE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>not self.isActive implies self.ownedReception.isEmpty()</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_gzoEDNwbEeCT5O2F6sGn5g" general="_iY7sMGvsEdqG6fBIPwe-mw"/>
-      <generalization xmi:id="_gzoEDdwbEeCT5O2F6sGn5g" general="_HiSd0LL2EeCBifIhhuFqZA"/>
-      <ownedAttribute xmi:id="_gzoEDtwbEeCT5O2F6sGn5g" name="extension" visibility="public" type="_skHGwGvsEdqG6fBIPwe-mw" isReadOnly="true" isDerived="true" association="_gyc_VdwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzoED9wbEeCT5O2F6sGn5g" annotatedElement="_gzoEDtwbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_VWXVwBE9EeGOffqMW1YiZA" general="_HiSd0LL2EeCBifIhhuFqZA"/>
+      <generalization xmi:id="_VWXVwRE9EeGOffqMW1YiZA" general="_iY7sMGvsEdqG6fBIPwe-mw"/>
+      <ownedAttribute xmi:id="_VWXVwhE9EeGOffqMW1YiZA" name="extension" visibility="public" type="_skHGwGvsEdqG6fBIPwe-mw" isReadOnly="true" isDerived="true" association="_VTavcRE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VWXVwxE9EeGOffqMW1YiZA" annotatedElement="_VWXVwhE9EeGOffqMW1YiZA">
           <body>References the Extensions that specify additional properties of the metaclass. The property is derived from the extensions whose memberEnds are typed by the Class.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gzoEENwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gzoEEdwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VWXVxBE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VWXVxRE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_gzpSINwbEeCT5O2F6sGn5g" name="isAbstract" visibility="public" redefinedProperty="_gzuxwNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzpSIdwbEeCT5O2F6sGn5g" annotatedElement="_gzpSINwbEeCT5O2F6sGn5g">
-          <body>True when a class is abstract.</body>
-        </ownedComment>
-        <ownedComment xmi:id="_gzpSItwbEeCT5O2F6sGn5g" annotatedElement="_gzpSINwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VWXVxhE9EeGOffqMW1YiZA" name="isAbstract" visibility="public" redefinedProperty="_VXtZkBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VWXVxxE9EeGOffqMW1YiZA" annotatedElement="_VWXVxhE9EeGOffqMW1YiZA">
           <body>If true, the Classifier does not provide a complete declaration and can typically not be instantiated. An abstract classifier is intended to be used by other classifiers e.g. as the target of general metarelationships or generalization relationships.</body>
         </ownedComment>
+        <ownedComment xmi:id="_VWXVyBE9EeGOffqMW1YiZA" annotatedElement="_VWXVxhE9EeGOffqMW1YiZA">
+          <body>True when a class is abstract.</body>
+        </ownedComment>
         <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
-        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_gzpSI9wbEeCT5O2F6sGn5g"/>
+        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_VWXVyRE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_gzpSJNwbEeCT5O2F6sGn5g" name="isActive" visibility="public">
-        <ownedComment xmi:id="_gzpSJdwbEeCT5O2F6sGn5g" annotatedElement="_gzpSJNwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VWXVyhE9EeGOffqMW1YiZA" name="isActive" visibility="public">
+        <ownedComment xmi:id="_VWXVyxE9EeGOffqMW1YiZA" annotatedElement="_VWXVyhE9EeGOffqMW1YiZA">
           <body>Determines whether an object specified by this class is active or not. If true, then the owning class is referred to as an active class. If false, then such a class is referred to as a passive class.</body>
         </ownedComment>
         <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
-        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_gzpSJtwbEeCT5O2F6sGn5g"/>
+        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_VWXVzBE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_gzpSJ9wbEeCT5O2F6sGn5g" name="nestedClassifier" visibility="public" type="_6UV2QGwJEdq7X4sGURiZYA" isOrdered="true" aggregation="composite" subsettedProperty="_gyxIb9wbEeCT5O2F6sGn5g _g1S4AdwbEeCT5O2F6sGn5g" association="_gyk7ItwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzpSKNwbEeCT5O2F6sGn5g" annotatedElement="_gzpSJ9wbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VWX80BE9EeGOffqMW1YiZA" name="nestedClassifier" visibility="public" type="_6UV2QGwJEdq7X4sGURiZYA" isOrdered="true" aggregation="composite" subsettedProperty="_VUWjlxE9EeGOffqMW1YiZA _Var1EBE9EeGOffqMW1YiZA" association="_VT0YFhE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VWX80RE9EeGOffqMW1YiZA" annotatedElement="_VWX80BE9EeGOffqMW1YiZA">
           <body>References all the Classifiers that are defined (nested) within the Class.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gzpSKdwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gzpSKtwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VWX80hE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VWX80xE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_gzp5MNwbEeCT5O2F6sGn5g" name="ownedAttribute" visibility="public" type="_Jp_1oGveEdq4DLWZOhbdEA" isOrdered="true" aggregation="composite" redefinedProperty="_g2JMhdwbEeCT5O2F6sGn5g" subsettedProperty="_gzuKp9wbEeCT5O2F6sGn5g _g1S4AdwbEeCT5O2F6sGn5g" association="_gyn-fdwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzp5MdwbEeCT5O2F6sGn5g" annotatedElement="_gzp5MNwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VWX81BE9EeGOffqMW1YiZA" name="ownedAttribute" visibility="public" type="_Jp_1oGveEdq4DLWZOhbdEA" isOrdered="true" aggregation="composite" redefinedProperty="_VejocRE9EeGOffqMW1YiZA" subsettedProperty="_Var1EBE9EeGOffqMW1YiZA _VXldxBE9EeGOffqMW1YiZA" association="_VT-wIxE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VWX81RE9EeGOffqMW1YiZA" annotatedElement="_VWX81BE9EeGOffqMW1YiZA">
           <body>The attributes (i.e. the properties) owned by the class.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gzp5MtwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gzp5M9wbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VWX81hE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VWX81xE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_gzp5NNwbEeCT5O2F6sGn5g" name="ownedOperation" visibility="public" type="_M4X2IGveEdq4DLWZOhbdEA" isOrdered="true" aggregation="composite" subsettedProperty="_gzuKr9wbEeCT5O2F6sGn5g _gyxIb9wbEeCT5O2F6sGn5g _g1S4AdwbEeCT5O2F6sGn5g" association="_gypzoNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzp5NdwbEeCT5O2F6sGn5g" annotatedElement="_gzp5NNwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VWZK8BE9EeGOffqMW1YiZA" name="ownedOperation" visibility="public" type="_M4X2IGveEdq4DLWZOhbdEA" isOrdered="true" aggregation="composite" subsettedProperty="_VXmE1BE9EeGOffqMW1YiZA _VUWjlxE9EeGOffqMW1YiZA _Var1EBE9EeGOffqMW1YiZA" association="_VUBzcBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VWZK8RE9EeGOffqMW1YiZA" annotatedElement="_VWZK8BE9EeGOffqMW1YiZA">
           <body>The operations owned by the class.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gzp5NtwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gzp5N9wbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VWZK8hE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VWZK8xE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_gzp5ONwbEeCT5O2F6sGn5g" name="ownedReception" visibility="public" type="_g14t0NwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_gzuKr9wbEeCT5O2F6sGn5g _g1S4AdwbEeCT5O2F6sGn5g" association="_gyqauNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzp5OdwbEeCT5O2F6sGn5g" annotatedElement="_gzp5ONwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VWZyABE9EeGOffqMW1YiZA" name="ownedReception" visibility="public" type="_Vdji4BE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_VXmE1BE9EeGOffqMW1YiZA _Var1EBE9EeGOffqMW1YiZA" association="_VUDooBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VWZyARE9EeGOffqMW1YiZA" annotatedElement="_VWZyABE9EeGOffqMW1YiZA">
           <body>Receptions that objects of this class are willing to accept.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gzp5OtwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gzp5O9wbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VWZyAhE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VWZyAxE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_gzp5PNwbEeCT5O2F6sGn5g" name="superClass" visibility="public" type="_00owUGvdEdq4DLWZOhbdEA" isDerived="true" redefinedProperty="_gzuxs9wbEeCT5O2F6sGn5g" association="_gy8HgNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzp5PdwbEeCT5O2F6sGn5g" annotatedElement="_gzp5PNwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VWaZEBE9EeGOffqMW1YiZA" name="superClass" visibility="public" type="_00owUGvdEdq4DLWZOhbdEA" isDerived="true" redefinedProperty="_VXsygBE9EeGOffqMW1YiZA" association="_VUoQYhE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VWaZERE9EeGOffqMW1YiZA" annotatedElement="_VWaZEBE9EeGOffqMW1YiZA">
           <body>This gives the superclasses of a class.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gzp5PtwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gzp5P9wbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VWaZEhE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VWaZExE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
       <ownedOperation xmi:id="_EpigwGwQEdq14q0ETb1t3g" name="createOwnedOperation">
         <ownedComment xmi:id="_ZFCecOweEdqYHf-imTcTdw" annotatedElement="_EpigwGwQEdq14q0ETb1t3g">
@@ -3625,223 +3625,223 @@
           <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
         </ownedParameter>
       </ownedOperation>
-      <ownedOperation xmi:id="_4xcu4FYKEdqrn7iZ0eqieg" name="extension" visibility="public" bodyCondition="_gzp5QdwbEeCT5O2F6sGn5g" isQuery="true">
-        <ownedComment xmi:id="_gzp5QNwbEeCT5O2F6sGn5g" annotatedElement="_4xcu4FYKEdqrn7iZ0eqieg">
+      <ownedOperation xmi:id="_4xcu4FYKEdqrn7iZ0eqieg" name="extension" visibility="public" bodyCondition="_VWaZFRE9EeGOffqMW1YiZA" isQuery="true">
+        <ownedComment xmi:id="_VWaZFBE9EeGOffqMW1YiZA" annotatedElement="_4xcu4FYKEdqrn7iZ0eqieg">
           <body>Missing derivation for Class::/extension : Extension</body>
         </ownedComment>
-        <ownedRule xmi:id="_gzp5QdwbEeCT5O2F6sGn5g" name="spec" constrainedElement="_4xcu4FYKEdqrn7iZ0eqieg _gzoEDtwbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_gzp5QtwbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VWaZFRE9EeGOffqMW1YiZA" name="spec" constrainedElement="_4xcu4FYKEdqrn7iZ0eqieg _VWXVwhE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VWaZFhE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>true</body>
           </specification>
         </ownedRule>
         <ownedParameter xmi:id="_8-RUoFYKEdqrn7iZ0eqieg" name="result" visibility="public" type="_skHGwGvsEdqG6fBIPwe-mw" direction="return">
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gzqgQNwbEeCT5O2F6sGn5g"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gzqgQdwbEeCT5O2F6sGn5g" value="*"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VWaZFxE9EeGOffqMW1YiZA"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VWcOQBE9EeGOffqMW1YiZA" value="*"/>
         </ownedParameter>
       </ownedOperation>
-      <ownedOperation xmi:id="_gzrHUNwbEeCT5O2F6sGn5g" name="inherit" visibility="public" bodyCondition="_gzrHUtwbEeCT5O2F6sGn5g" isQuery="true" redefinedOperation="_gzxN8NwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzrHUdwbEeCT5O2F6sGn5g" annotatedElement="_gzrHUNwbEeCT5O2F6sGn5g">
+      <ownedOperation xmi:id="_VW5hQBE9EeGOffqMW1YiZA" name="inherit" visibility="public" bodyCondition="_VW5hQhE9EeGOffqMW1YiZA" isQuery="true" redefinedOperation="_VXxD8BE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VW5hQRE9EeGOffqMW1YiZA" annotatedElement="_VW5hQBE9EeGOffqMW1YiZA">
           <body>The inherit operation is overridden to exclude redefined properties.</body>
         </ownedComment>
-        <ownedRule xmi:id="_gzrHUtwbEeCT5O2F6sGn5g" name="spec" constrainedElement="_gzrHUNwbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_gzrHU9wbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VW5hQhE9EeGOffqMW1YiZA" name="spec" constrainedElement="_VW5hQBE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VW5hQxE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = inhs->excluding(inh | ownedMember->select(oclIsKindOf(RedefinableElement))->select(redefinedElement->includes(inh)))</body>
           </specification>
         </ownedRule>
-        <ownedParameter xmi:id="_gzrHVNwbEeCT5O2F6sGn5g" name="result" visibility="public" type="_csVgUGvtEdqG6fBIPwe-mw" direction="return">
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gzrHVdwbEeCT5O2F6sGn5g"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gzrHVtwbEeCT5O2F6sGn5g" value="*"/>
+        <ownedParameter xmi:id="_VW5hRBE9EeGOffqMW1YiZA" name="result" visibility="public" type="_csVgUGvtEdqG6fBIPwe-mw" direction="return">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VW5hRRE9EeGOffqMW1YiZA"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VW5hRhE9EeGOffqMW1YiZA" value="*"/>
         </ownedParameter>
-        <ownedParameter xmi:id="_gzrHV9wbEeCT5O2F6sGn5g" name="inhs" visibility="public" type="_csVgUGvtEdqG6fBIPwe-mw">
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gzrHWNwbEeCT5O2F6sGn5g"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gzrHWdwbEeCT5O2F6sGn5g" value="*"/>
+        <ownedParameter xmi:id="_VW5hRxE9EeGOffqMW1YiZA" name="inhs" visibility="public" type="_csVgUGvtEdqG6fBIPwe-mw">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VW5hSBE9EeGOffqMW1YiZA"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VW5hSRE9EeGOffqMW1YiZA" value="*"/>
         </ownedParameter>
       </ownedOperation>
-      <ownedOperation xmi:id="_hIWcYLLSEeCsYvaJqFFivQ" name="superClass" visibility="public" bodyCondition="_gzrHW9wbEeCT5O2F6sGn5g" isQuery="true">
-        <ownedComment xmi:id="_gzrHWtwbEeCT5O2F6sGn5g" annotatedElement="_hIWcYLLSEeCsYvaJqFFivQ">
+      <ownedOperation xmi:id="_hIWcYLLSEeCsYvaJqFFivQ" name="superClass" visibility="public" bodyCondition="_VW6IUBE9EeGOffqMW1YiZA" isQuery="true">
+        <ownedComment xmi:id="_VW5hShE9EeGOffqMW1YiZA" annotatedElement="_hIWcYLLSEeCsYvaJqFFivQ">
           <body>Missing derivation for Class::/superClass : Class</body>
         </ownedComment>
-        <ownedRule xmi:id="_gzrHW9wbEeCT5O2F6sGn5g" name="spec" constrainedElement="_hIWcYLLSEeCsYvaJqFFivQ _gzp5PNwbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_gzrHXNwbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VW6IUBE9EeGOffqMW1YiZA" name="spec" constrainedElement="_hIWcYLLSEeCsYvaJqFFivQ _VWaZEBE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VW6IURE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>true</body>
           </specification>
         </ownedRule>
         <ownedParameter xmi:id="_kX9L8LLSEeCsYvaJqFFivQ" name="result" visibility="public" type="_00owUGvdEdq4DLWZOhbdEA" direction="return">
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gzrHXdwbEeCT5O2F6sGn5g"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gzrHXtwbEeCT5O2F6sGn5g" value="*"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VW6IUhE9EeGOffqMW1YiZA"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VW6IUxE9EeGOffqMW1YiZA" value="*"/>
         </ownedParameter>
       </ownedOperation>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="_6UV2QGwJEdq7X4sGURiZYA" name="Classifier" isAbstract="true">
-      <ownedComment xmi:id="_gzruYNwbEeCT5O2F6sGn5g" annotatedElement="_6UV2QGwJEdq7X4sGURiZYA">
+      <ownedComment xmi:id="_VXW0QBE9EeGOffqMW1YiZA" annotatedElement="_6UV2QGwJEdq7X4sGURiZYA">
         <body>A classifier is a classification of instances - it describes a set of instances that have features in common. A classifier can specify a generalization hierarchy by referencing its general classifiers.</body>
       </ownedComment>
-      <ownedComment xmi:id="_gzruYdwbEeCT5O2F6sGn5g" annotatedElement="_6UV2QGwJEdq7X4sGURiZYA">
-        <body>A classifier has the capability to own collaboration uses. These collaboration uses link a collaboration with the classifier to give a description of the workings of the classifier.</body>
-      </ownedComment>
-      <ownedComment xmi:id="_gzruYtwbEeCT5O2F6sGn5g" annotatedElement="_6UV2QGwJEdq7X4sGURiZYA">
-        <body>Classifier is defined to be a kind of templateable element so that a classifier can be parameterized. It is also defined to be a kind of parameterable element so that a classifier can be a formal template parameter.</body>
-      </ownedComment>
-      <ownedComment xmi:id="_gzruY9wbEeCT5O2F6sGn5g" annotatedElement="_6UV2QGwJEdq7X4sGURiZYA">
+      <ownedComment xmi:id="_VXW0QRE9EeGOffqMW1YiZA" annotatedElement="_6UV2QGwJEdq7X4sGURiZYA">
         <body>A classifier has the capability to own use cases. Although the owning classifier typically represents the subject to which the owned use cases apply, this is not necessarily the case. In principle, the same use case can be applied to multiple subjects, as identified by the subject association role of a use case.</body>
       </ownedComment>
-      <ownedRule xmi:id="_gzsVcNwbEeCT5O2F6sGn5g" name="specialize_type" constrainedElement="_6UV2QGwJEdq7X4sGURiZYA">
-        <ownedComment xmi:id="_gzsVcdwbEeCT5O2F6sGn5g" annotatedElement="_gzsVcNwbEeCT5O2F6sGn5g">
-          <body>A classifier may only specialize classifiers of a valid type.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_gzsVctwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>self.parents()->forAll(c | self.maySpecializeType(c))</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_gztjkNwbEeCT5O2F6sGn5g" name="maps_to_generalization_set" constrainedElement="_6UV2QGwJEdq7X4sGURiZYA">
-        <ownedComment xmi:id="_gztjkdwbEeCT5O2F6sGn5g" annotatedElement="_gztjkNwbEeCT5O2F6sGn5g">
-          <body>The Classifier that maps to a GeneralizationSet may neither be a specific nor a general Classifier in any of the Generalization relationships defined for that GeneralizationSet. In other words, a power type may not be an instance of itself nor may its instances also be its subclasses.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_gztjktwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>true</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_gztjk9wbEeCT5O2F6sGn5g" name="non_final_parents" constrainedElement="_6UV2QGwJEdq7X4sGURiZYA">
-        <ownedComment xmi:id="_gztjlNwbEeCT5O2F6sGn5g" annotatedElement="_gztjk9wbEeCT5O2F6sGn5g">
+      <ownedComment xmi:id="_VXW0QhE9EeGOffqMW1YiZA" annotatedElement="_6UV2QGwJEdq7X4sGURiZYA">
+        <body>Classifier is defined to be a kind of templateable element so that a classifier can be parameterized. It is also defined to be a kind of parameterable element so that a classifier can be a formal template parameter.</body>
+      </ownedComment>
+      <ownedComment xmi:id="_VXW0QxE9EeGOffqMW1YiZA" annotatedElement="_6UV2QGwJEdq7X4sGURiZYA">
+        <body>A classifier has the capability to own collaboration uses. These collaboration uses link a collaboration with the classifier to give a description of the workings of the classifier.</body>
+      </ownedComment>
+      <ownedRule xmi:id="_VXk2sBE9EeGOffqMW1YiZA" name="non_final_parents" constrainedElement="_6UV2QGwJEdq7X4sGURiZYA">
+        <ownedComment xmi:id="_VXk2sRE9EeGOffqMW1YiZA" annotatedElement="_VXk2sBE9EeGOffqMW1YiZA">
           <body>The parents of a classifier must be non-final.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_gztjldwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VXk2shE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>self.parents()->forAll(not isFinalSpecialization)</body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_gzuKoNwbEeCT5O2F6sGn5g" name="no_cycles_in_generalization" constrainedElement="_6UV2QGwJEdq7X4sGURiZYA">
-        <ownedComment xmi:id="_gzuKodwbEeCT5O2F6sGn5g" annotatedElement="_gzuKoNwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VXk2sxE9EeGOffqMW1YiZA" name="no_cycles_in_generalization" constrainedElement="_6UV2QGwJEdq7X4sGURiZYA">
+        <ownedComment xmi:id="_VXk2tBE9EeGOffqMW1YiZA" annotatedElement="_VXk2sxE9EeGOffqMW1YiZA">
           <body>Generalization hierarchies must be directed and acyclical. A classifier can not be both a transitively general and transitively specific classifier of the same classifier.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_gzuKotwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VXk2tRE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>not self.allParents()->includes(self)</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_gzuKo9wbEeCT5O2F6sGn5g" general="_ZiwkoGwLEdq7X4sGURiZYA"/>
-      <generalization xmi:id="_gzuKpNwbEeCT5O2F6sGn5g" general="_ynRtoGvtEdqG6fBIPwe-mw"/>
-      <generalization xmi:id="_gzuKpdwbEeCT5O2F6sGn5g" general="_g2PTINwbEeCT5O2F6sGn5g"/>
-      <generalization xmi:id="_gzuKptwbEeCT5O2F6sGn5g" general="_uCRA4La-EeCRxrN1JUGuxA"/>
-      <ownedAttribute xmi:id="_gzuKp9wbEeCT5O2F6sGn5g" name="attribute" visibility="public" type="_Jp_1oGveEdq4DLWZOhbdEA" isReadOnly="true" isDerived="true" isDerivedUnion="true" subsettedProperty="_gzuKr9wbEeCT5O2F6sGn5g _gyxIb9wbEeCT5O2F6sGn5g" association="_gySnT9wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzuKqNwbEeCT5O2F6sGn5g" annotatedElement="_gzuKp9wbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VXk2thE9EeGOffqMW1YiZA" name="specialize_type" constrainedElement="_6UV2QGwJEdq7X4sGURiZYA">
+        <ownedComment xmi:id="_VXk2txE9EeGOffqMW1YiZA" annotatedElement="_VXk2thE9EeGOffqMW1YiZA">
+          <body>A classifier may only specialize classifiers of a valid type.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VXk2uBE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>self.parents()->forAll(c | self.maySpecializeType(c))</body>
+        </specification>
+      </ownedRule>
+      <ownedRule xmi:id="_VXk2uRE9EeGOffqMW1YiZA" name="maps_to_generalization_set" constrainedElement="_6UV2QGwJEdq7X4sGURiZYA">
+        <ownedComment xmi:id="_VXk2uhE9EeGOffqMW1YiZA" annotatedElement="_VXk2uRE9EeGOffqMW1YiZA">
+          <body>The Classifier that maps to a GeneralizationSet may neither be a specific nor a general Classifier in any of the Generalization relationships defined for that GeneralizationSet. In other words, a power type may not be an instance of itself nor may its instances also be its subclasses.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VXk2uxE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>true</body>
+        </specification>
+      </ownedRule>
+      <generalization xmi:id="_VXldwBE9EeGOffqMW1YiZA" general="_ZiwkoGwLEdq7X4sGURiZYA"/>
+      <generalization xmi:id="_VXldwRE9EeGOffqMW1YiZA" general="_ynRtoGvtEdqG6fBIPwe-mw"/>
+      <generalization xmi:id="_VXldwhE9EeGOffqMW1YiZA" general="_uCRA4La-EeCRxrN1JUGuxA"/>
+      <generalization xmi:id="_VXldwxE9EeGOffqMW1YiZA" general="_VeuAgBE9EeGOffqMW1YiZA"/>
+      <ownedAttribute xmi:id="_VXldxBE9EeGOffqMW1YiZA" name="attribute" visibility="public" type="_Jp_1oGveEdq4DLWZOhbdEA" isReadOnly="true" isDerived="true" isDerivedUnion="true" subsettedProperty="_VXmE1BE9EeGOffqMW1YiZA _VUWjlxE9EeGOffqMW1YiZA" association="_VS-qkxE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VXldxRE9EeGOffqMW1YiZA" annotatedElement="_VXldxBE9EeGOffqMW1YiZA">
           <body>Refers to all of the Properties that are direct (i.e. not inherited or imported) attributes of the classifier.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gzuKqdwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gzuKqtwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VXldxhE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VXldxxE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_gzuKq9wbEeCT5O2F6sGn5g" name="collaborationUse" visibility="public" type="_gz2tgNwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_g0JocNwbEeCT5O2F6sGn5g" association="_gyVDjNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzuKrNwbEeCT5O2F6sGn5g" annotatedElement="_gzuKq9wbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VXmE0BE9EeGOffqMW1YiZA" name="collaborationUse" visibility="public" type="_VX7cABE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_GDD2YAtAEeGcpbeCPJfCmw" association="_VTExNRE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VXmE0RE9EeGOffqMW1YiZA" annotatedElement="_VXmE0BE9EeGOffqMW1YiZA">
           <body>References the collaboration uses owned by the classifier.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gzuKrdwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gzuKrtwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VXmE0hE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VXmE0xE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_gzuKr9wbEeCT5O2F6sGn5g" name="feature" visibility="public" type="_UL0VYLbAEeCRxrN1JUGuxA" isReadOnly="true" isDerived="true" isDerivedUnion="true" subsettedProperty="_g1S3_dwbEeCT5O2F6sGn5g" association="_gyc_VtwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzuKsNwbEeCT5O2F6sGn5g" annotatedElement="_gzuKr9wbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VXmE1BE9EeGOffqMW1YiZA" name="feature" visibility="public" type="_UL0VYLbAEeCRxrN1JUGuxA" isReadOnly="true" isDerived="true" isDerivedUnion="true" subsettedProperty="_VarOCBE9EeGOffqMW1YiZA" association="_VTavchE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VXmE1RE9EeGOffqMW1YiZA" annotatedElement="_VXmE1BE9EeGOffqMW1YiZA">
           <body>Specifies each feature defined in the classifier.</body>
         </ownedComment>
-        <ownedComment xmi:id="_gzuxsNwbEeCT5O2F6sGn5g" annotatedElement="_gzuKr9wbEeCT5O2F6sGn5g">
+        <ownedComment xmi:id="_VXmE1hE9EeGOffqMW1YiZA" annotatedElement="_VXmE1BE9EeGOffqMW1YiZA">
           <body>Note that there may be members of the Classifier that are of the type Feature but are not included in this association, e.g. inherited features.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gzuxsdwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gzuxstwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VXmE1xE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VXpvMBE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_gzuxs9wbEeCT5O2F6sGn5g" name="general" visibility="public" type="_6UV2QGwJEdq7X4sGURiZYA" isDerived="true" association="_gyeNcNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzuxtNwbEeCT5O2F6sGn5g" annotatedElement="_gzuxs9wbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VXsygBE9EeGOffqMW1YiZA" name="general" visibility="public" type="_6UV2QGwJEdq7X4sGURiZYA" isDerived="true" association="_VTkgcxE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VXsygRE9EeGOffqMW1YiZA" annotatedElement="_VXsygBE9EeGOffqMW1YiZA">
           <body>Specifies the general Classifiers for this Classifier.</body>
         </ownedComment>
-        <ownedComment xmi:id="_gzuxtdwbEeCT5O2F6sGn5g" annotatedElement="_gzuxs9wbEeCT5O2F6sGn5g">
+        <ownedComment xmi:id="_VXsyghE9EeGOffqMW1YiZA" annotatedElement="_VXsygBE9EeGOffqMW1YiZA">
           <body>References the general classifier in the Generalization relationship.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gzuxttwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gzuxt9wbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VXsygxE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VXsyhBE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_gzuxuNwbEeCT5O2F6sGn5g" name="generalization" visibility="public" type="_C7AF4GwREdq14q0ETb1t3g" aggregation="composite" subsettedProperty="_g0JocNwbEeCT5O2F6sGn5g _gy5rStwbEeCT5O2F6sGn5g" association="_gyeNedwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzuxudwbEeCT5O2F6sGn5g" annotatedElement="_gzuxuNwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VXsyhRE9EeGOffqMW1YiZA" name="generalization" visibility="public" type="_C7AF4GwREdq14q0ETb1t3g" aggregation="composite" subsettedProperty="_VUkmBhE9EeGOffqMW1YiZA _GDD2YAtAEeGcpbeCPJfCmw" association="_VTlHhRE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VXsyhhE9EeGOffqMW1YiZA" annotatedElement="_VXsyhRE9EeGOffqMW1YiZA">
           <body>Specifies the Generalization relationships for this Classifier. These Generalizations navigaten to more general classifiers in the generalization hierarchy.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gzuxutwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gzuxu9wbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VXsyhxE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VXsyiBE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_gzuxvNwbEeCT5O2F6sGn5g" name="inheritedMember" visibility="public" type="_csVgUGvtEdqG6fBIPwe-mw" isReadOnly="true" isDerived="true" subsettedProperty="_g1S3_dwbEeCT5O2F6sGn5g" association="_gygCqNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzuxvdwbEeCT5O2F6sGn5g" annotatedElement="_gzuxvNwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VXsyiRE9EeGOffqMW1YiZA" name="inheritedMember" visibility="public" type="_csVgUGvtEdqG6fBIPwe-mw" isReadOnly="true" isDerived="true" subsettedProperty="_VarOCBE9EeGOffqMW1YiZA" association="_VTpY9BE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VXsyihE9EeGOffqMW1YiZA" annotatedElement="_VXsyiRE9EeGOffqMW1YiZA">
           <body>Specifies all elements inherited by this classifier from the general classifiers.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gzuxvtwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gzuxv9wbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VXsyixE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VXsyjBE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_gzuxwNwbEeCT5O2F6sGn5g" name="isAbstract" visibility="public">
-        <ownedComment xmi:id="_gzuxwdwbEeCT5O2F6sGn5g" annotatedElement="_gzuxwNwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VXtZkBE9EeGOffqMW1YiZA" name="isAbstract" visibility="public">
+        <ownedComment xmi:id="_VXtZkRE9EeGOffqMW1YiZA" annotatedElement="_VXtZkBE9EeGOffqMW1YiZA">
           <body>If true, the Classifier does not provide a complete declaration and can typically not be instantiated. An abstract classifier is intended to be used by other classifiers e.g. as the target of general metarelationships or generalization relationships.</body>
         </ownedComment>
         <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
-        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_gzuxwtwbEeCT5O2F6sGn5g"/>
+        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_VXtZkhE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_gzuxw9wbEeCT5O2F6sGn5g" name="isFinalSpecialization" visibility="public">
-        <ownedComment xmi:id="_gzuxxNwbEeCT5O2F6sGn5g" annotatedElement="_gzuxw9wbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VXtZkxE9EeGOffqMW1YiZA" name="isFinalSpecialization" visibility="public">
+        <ownedComment xmi:id="_VXtZlBE9EeGOffqMW1YiZA" annotatedElement="_VXtZkxE9EeGOffqMW1YiZA">
           <body>If true, the Classifier cannot be specialized by generalization. Note that this property is preserved through package merge operations; that is, the capability to specialize a Classifier (i.e., isFinalSpecialization =false) must be preserved in the resulting Classifier of a package merge operation where a Classifier with isFinalSpecialization =false is merged with a matching Classifier with isFinalSpecialization =true: the resulting Classifier will have isFinalSpecialization =false.</body>
         </ownedComment>
         <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
-        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_gzuxxdwbEeCT5O2F6sGn5g"/>
+        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_VXtZlRE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_gzuxxtwbEeCT5O2F6sGn5g" name="ownedTemplateSignature" visibility="public" type="_9keOQGvdEdq4DLWZOhbdEA" aggregation="composite" redefinedProperty="_g2PTI9wbEeCT5O2F6sGn5g" subsettedProperty="_gyxIb9wbEeCT5O2F6sGn5g" association="_gyrBw9wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzuxx9wbEeCT5O2F6sGn5g" annotatedElement="_gzuxxtwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VXtZlhE9EeGOffqMW1YiZA" name="ownedTemplateSignature" visibility="public" type="_9keOQGvdEdq4DLWZOhbdEA" aggregation="composite" redefinedProperty="_VeuAgxE9EeGOffqMW1YiZA" subsettedProperty="_VUWjlxE9EeGOffqMW1YiZA" association="_VUEPsxE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VXtZlxE9EeGOffqMW1YiZA" annotatedElement="_VXtZlhE9EeGOffqMW1YiZA">
           <body>The optional template signature specifying the formal template parameters.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gzuxyNwbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VXtZmBE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_gzvYwNwbEeCT5O2F6sGn5g" name="ownedUseCase" visibility="public" type="_g2WA0NwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_g1S4AdwbEeCT5O2F6sGn5g" association="_gyrBxtwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzvYwdwbEeCT5O2F6sGn5g" annotatedElement="_gzvYwNwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VXtZmRE9EeGOffqMW1YiZA" name="ownedUseCase" visibility="public" type="_VfFM4BE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_Var1EBE9EeGOffqMW1YiZA" association="_VUEPthE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VXtZmhE9EeGOffqMW1YiZA" annotatedElement="_VXtZmRE9EeGOffqMW1YiZA">
           <body>References the use cases owned by this classifier.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gzvYwtwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gzvYw9wbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VXtZmxE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VXtZnBE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_gzvYxNwbEeCT5O2F6sGn5g" name="powertypeExtent" visibility="public" type="_g0XD0NwbEeCT5O2F6sGn5g" association="_gys29twbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzvYxdwbEeCT5O2F6sGn5g" annotatedElement="_gzvYxNwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VXtZnRE9EeGOffqMW1YiZA" name="powertypeExtent" visibility="public" type="_VZgwYBE9EeGOffqMW1YiZA" association="_VUJvRhE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VXtZnhE9EeGOffqMW1YiZA" annotatedElement="_VXtZnRE9EeGOffqMW1YiZA">
           <body>Designates the GeneralizationSet of which the associated Classifier is a power type.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gzvYxtwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gzvYx9wbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VXtZnxE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VXtZoBE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_gzvYyNwbEeCT5O2F6sGn5g" name="redefinedClassifier" visibility="public" type="_6UV2QGwJEdq7X4sGURiZYA" subsettedProperty="_g15U7twbEeCT5O2F6sGn5g" association="_gyv6R9wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzvYydwbEeCT5O2F6sGn5g" annotatedElement="_gzvYyNwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VXuAoBE9EeGOffqMW1YiZA" name="redefinedClassifier" visibility="public" type="_6UV2QGwJEdq7X4sGURiZYA" subsettedProperty="_VdtT4BE9EeGOffqMW1YiZA" association="_VUQc8BE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VXuAoRE9EeGOffqMW1YiZA" annotatedElement="_VXuAoBE9EeGOffqMW1YiZA">
           <body>References the Classifiers that are redefined by this Classifier.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gzvYytwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gzvYy9wbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VXuAohE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VXuAoxE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_gzvYzNwbEeCT5O2F6sGn5g" name="representation" visibility="public" type="_gz2tgNwbEeCT5O2F6sGn5g" subsettedProperty="_gzuKq9wbEeCT5O2F6sGn5g" association="_gyy9nNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzvYzdwbEeCT5O2F6sGn5g" annotatedElement="_gzvYzNwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VXuApBE9EeGOffqMW1YiZA" name="representation" visibility="public" type="_VX7cABE9EeGOffqMW1YiZA" subsettedProperty="_VXmE0BE9EeGOffqMW1YiZA" association="_VUa1ABE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VXuApRE9EeGOffqMW1YiZA" annotatedElement="_VXuApBE9EeGOffqMW1YiZA">
           <body>References a collaboration use which indicates the collaboration that represents this classifier.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gzvYztwbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VXuAphE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_gzvYz9wbEeCT5O2F6sGn5g" name="substitution" visibility="public" type="_g2KaoNwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_g0JocNwbEeCT5O2F6sGn5g _g1QbsNwbEeCT5O2F6sGn5g" association="_gy7gedwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzvY0NwbEeCT5O2F6sGn5g" annotatedElement="_gzvYz9wbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VXuApxE9EeGOffqMW1YiZA" name="substitution" visibility="public" type="_VeldoBE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_GDD2YAtAEeGcpbeCPJfCmw _VaN7ABE9EeGOffqMW1YiZA" association="_VUoQYBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VXuAqBE9EeGOffqMW1YiZA" annotatedElement="_VXuApxE9EeGOffqMW1YiZA">
           <body>References the substitutions that are owned by this Classifier.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gzvY0dwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gzvY0twbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VXuAqRE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VXuAqhE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_gzvY09wbEeCT5O2F6sGn5g" name="templateParameter" visibility="public" type="_gzzqMNwbEeCT5O2F6sGn5g" redefinedProperty="_g1noFtwbEeCT5O2F6sGn5g" association="_gyVDhNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzvY1NwbEeCT5O2F6sGn5g" annotatedElement="_gzvY09wbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VXuAqxE9EeGOffqMW1YiZA" name="templateParameter" visibility="public" type="_VX2jgBE9EeGOffqMW1YiZA" redefinedProperty="_Vc731hE9EeGOffqMW1YiZA" association="_VTEKJBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VXuArBE9EeGOffqMW1YiZA" annotatedElement="_VXuAqxE9EeGOffqMW1YiZA">
           <body>The template parameter that exposes this element as a formal parameter.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gzvY1dwbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VXuArRE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_gzvY1twbEeCT5O2F6sGn5g" name="useCase" visibility="public" type="_g2WA0NwbEeCT5O2F6sGn5g" association="_gy7gctwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzvY19wbEeCT5O2F6sGn5g" annotatedElement="_gzvY1twbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VXunsBE9EeGOffqMW1YiZA" name="useCase" visibility="public" type="_VfFM4BE9EeGOffqMW1YiZA" association="_VUnpURE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VXunsRE9EeGOffqMW1YiZA" annotatedElement="_VXunsBE9EeGOffqMW1YiZA">
           <body>The set of use cases for which this Classifier is the subject.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gzvY2NwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gzvY2dwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VXunshE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VXunsxE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
       <ownedOperation xmi:id="_KjT7EGwREdq14q0ETb1t3g" name="getAllAttributes" isQuery="true">
         <ownedComment xmi:id="_osV7wOwkEdqYHf-imTcTdw" annotatedElement="_KjT7EGwREdq14q0ETb1t3g">
@@ -3958,582 +3958,582 @@
           <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_J92vca6-EdqjppZik4kD8A" value="*"/>
         </ownedParameter>
       </ownedOperation>
-      <ownedOperation xmi:id="_gzv_0NwbEeCT5O2F6sGn5g" name="allFeatures" visibility="public" bodyCondition="_gzv_0twbEeCT5O2F6sGn5g" isQuery="true">
-        <ownedComment xmi:id="_gzv_0dwbEeCT5O2F6sGn5g" annotatedElement="_gzv_0NwbEeCT5O2F6sGn5g">
+      <ownedOperation xmi:id="_VXuntBE9EeGOffqMW1YiZA" name="allFeatures" visibility="public" bodyCondition="_VXunthE9EeGOffqMW1YiZA" isQuery="true">
+        <ownedComment xmi:id="_VXuntRE9EeGOffqMW1YiZA" annotatedElement="_VXuntBE9EeGOffqMW1YiZA">
           <body>The query allFeatures() gives all of the features in the namespace of the classifier. In general, through mechanisms such as inheritance, this will be a larger set than feature.</body>
         </ownedComment>
-        <ownedRule xmi:id="_gzv_0twbEeCT5O2F6sGn5g" name="spec" constrainedElement="_gzv_0NwbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_gzv_09wbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VXunthE9EeGOffqMW1YiZA" name="spec" constrainedElement="_VXuntBE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VXuntxE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = member->select(oclIsKindOf(Feature))</body>
           </specification>
         </ownedRule>
-        <ownedParameter xmi:id="_gzv_1NwbEeCT5O2F6sGn5g" name="result" visibility="public" type="_UL0VYLbAEeCRxrN1JUGuxA" direction="return">
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gzv_1dwbEeCT5O2F6sGn5g"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gzv_1twbEeCT5O2F6sGn5g" value="*"/>
+        <ownedParameter xmi:id="_VXunuBE9EeGOffqMW1YiZA" name="result" visibility="public" type="_UL0VYLbAEeCRxrN1JUGuxA" direction="return">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VXunuRE9EeGOffqMW1YiZA"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VXunuhE9EeGOffqMW1YiZA" value="*"/>
         </ownedParameter>
       </ownedOperation>
-      <ownedOperation xmi:id="_gzv_19wbEeCT5O2F6sGn5g" name="allParents" visibility="public" bodyCondition="_gzv_2dwbEeCT5O2F6sGn5g" isQuery="true">
-        <ownedComment xmi:id="_gzv_2NwbEeCT5O2F6sGn5g" annotatedElement="_gzv_19wbEeCT5O2F6sGn5g">
+      <ownedOperation xmi:id="_VXvOwBE9EeGOffqMW1YiZA" name="allParents" visibility="public" bodyCondition="_VXvOwhE9EeGOffqMW1YiZA" isQuery="true">
+        <ownedComment xmi:id="_VXvOwRE9EeGOffqMW1YiZA" annotatedElement="_VXvOwBE9EeGOffqMW1YiZA">
           <body>The query allParents() gives all of the direct and indirect ancestors of a generalized Classifier.</body>
         </ownedComment>
-        <ownedRule xmi:id="_gzv_2dwbEeCT5O2F6sGn5g" name="spec" constrainedElement="_gzv_19wbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_gzv_2twbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VXvOwhE9EeGOffqMW1YiZA" name="spec" constrainedElement="_VXvOwBE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VXvOwxE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = self.parents()->union(self.parents()->collect(p | p.allParents())</body>
           </specification>
         </ownedRule>
-        <ownedParameter xmi:id="_gzv_29wbEeCT5O2F6sGn5g" name="result" visibility="public" type="_6UV2QGwJEdq7X4sGURiZYA" direction="return">
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gzv_3NwbEeCT5O2F6sGn5g"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gzv_3dwbEeCT5O2F6sGn5g" value="*"/>
+        <ownedParameter xmi:id="_VXvOxBE9EeGOffqMW1YiZA" name="result" visibility="public" type="_6UV2QGwJEdq7X4sGURiZYA" direction="return">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VXvOxRE9EeGOffqMW1YiZA"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VXvOxhE9EeGOffqMW1YiZA" value="*"/>
         </ownedParameter>
       </ownedOperation>
-      <ownedOperation xmi:id="_gzv_3twbEeCT5O2F6sGn5g" name="conformsTo" visibility="public" bodyCondition="_gzv_4NwbEeCT5O2F6sGn5g" isQuery="true" redefinedOperation="_g2ULo9wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzv_39wbEeCT5O2F6sGn5g" annotatedElement="_gzv_3twbEeCT5O2F6sGn5g">
+      <ownedOperation xmi:id="_VXvOxxE9EeGOffqMW1YiZA" name="conformsTo" visibility="public" bodyCondition="_VXvOyRE9EeGOffqMW1YiZA" isQuery="true" redefinedOperation="_VfCwoRE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VXvOyBE9EeGOffqMW1YiZA" annotatedElement="_VXvOxxE9EeGOffqMW1YiZA">
           <body>The query conformsTo() gives true for a classifier that defines a type that conforms to another. This is used, for example, in the specification of signature conformance for operations.</body>
         </ownedComment>
-        <ownedRule xmi:id="_gzv_4NwbEeCT5O2F6sGn5g" name="spec" constrainedElement="_gzv_3twbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_gzv_4dwbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VXvOyRE9EeGOffqMW1YiZA" name="spec" constrainedElement="_VXvOxxE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VXvOyhE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = (self=other) or (self.allParents()->includes(other))</body>
           </specification>
         </ownedRule>
-        <ownedParameter xmi:id="_gzv_4twbEeCT5O2F6sGn5g" name="result" visibility="public" direction="return">
+        <ownedParameter xmi:id="_VXvOyxE9EeGOffqMW1YiZA" name="result" visibility="public" direction="return">
           <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
         </ownedParameter>
-        <ownedParameter xmi:id="_gzv_49wbEeCT5O2F6sGn5g" name="other" visibility="public" type="_6UV2QGwJEdq7X4sGURiZYA"/>
+        <ownedParameter xmi:id="_VXvOzBE9EeGOffqMW1YiZA" name="other" visibility="public" type="_6UV2QGwJEdq7X4sGURiZYA"/>
       </ownedOperation>
-      <ownedOperation xmi:id="_wKRjcLLSEeCsYvaJqFFivQ" name="general" visibility="public" bodyCondition="_gzwm4dwbEeCT5O2F6sGn5g" isQuery="true">
-        <ownedComment xmi:id="_gzwm4NwbEeCT5O2F6sGn5g" annotatedElement="_wKRjcLLSEeCsYvaJqFFivQ">
+      <ownedOperation xmi:id="_wKRjcLLSEeCsYvaJqFFivQ" name="general" visibility="public" bodyCondition="_VXv10RE9EeGOffqMW1YiZA" isQuery="true">
+        <ownedComment xmi:id="_VXv10BE9EeGOffqMW1YiZA" annotatedElement="_wKRjcLLSEeCsYvaJqFFivQ">
           <body>The general classifiers are the classifiers referenced by the generalization relationships.</body>
         </ownedComment>
-        <ownedRule xmi:id="_gzwm4dwbEeCT5O2F6sGn5g" name="spec" constrainedElement="_wKRjcLLSEeCsYvaJqFFivQ _gzuxs9wbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_gzwm4twbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VXv10RE9EeGOffqMW1YiZA" name="spec" constrainedElement="_wKRjcLLSEeCsYvaJqFFivQ _VXsygBE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VXv10hE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = self.parents()</body>
           </specification>
         </ownedRule>
         <ownedParameter xmi:id="_zGh5MLLSEeCsYvaJqFFivQ" name="result" visibility="public" type="_6UV2QGwJEdq7X4sGURiZYA" direction="return">
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gzwm49wbEeCT5O2F6sGn5g"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gzwm5NwbEeCT5O2F6sGn5g" value="*"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VXv10xE9EeGOffqMW1YiZA"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VXv11BE9EeGOffqMW1YiZA" value="*"/>
         </ownedParameter>
       </ownedOperation>
-      <ownedOperation xmi:id="_gzwm5dwbEeCT5O2F6sGn5g" name="hasVisibilityOf" visibility="public" bodyCondition="_gzwm6dwbEeCT5O2F6sGn5g" isQuery="true" precondition="_gzwm59wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzwm5twbEeCT5O2F6sGn5g" annotatedElement="_gzwm5dwbEeCT5O2F6sGn5g">
+      <ownedOperation xmi:id="_VXwc4BE9EeGOffqMW1YiZA" name="hasVisibilityOf" visibility="public" bodyCondition="_VXwc5BE9EeGOffqMW1YiZA" isQuery="true" precondition="_VXwc4hE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VXwc4RE9EeGOffqMW1YiZA" annotatedElement="_VXwc4BE9EeGOffqMW1YiZA">
           <body>The query hasVisibilityOf() determines whether a named element is visible in the classifier. By default all are visible. It is only called when the argument is something owned by a parent.</body>
         </ownedComment>
-        <ownedRule xmi:id="_gzwm59wbEeCT5O2F6sGn5g" name="pre" constrainedElement="_gzwm5dwbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_gzwm6NwbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VXwc4hE9EeGOffqMW1YiZA" name="pre" constrainedElement="_VXwc4BE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VXwc4xE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>self.allParents()->including(self)->collect(c | c.member)->includes(n)</body>
           </specification>
         </ownedRule>
-        <ownedRule xmi:id="_gzwm6dwbEeCT5O2F6sGn5g" name="spec" constrainedElement="_gzwm5dwbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_gzwm6twbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VXwc5BE9EeGOffqMW1YiZA" name="spec" constrainedElement="_VXwc4BE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VXwc5RE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = (n.visibility &lt;> VisibilityKind::private)</body>
           </specification>
         </ownedRule>
-        <ownedParameter xmi:id="_gzwm69wbEeCT5O2F6sGn5g" name="result" visibility="public" direction="return">
+        <ownedParameter xmi:id="_VXwc5hE9EeGOffqMW1YiZA" name="result" visibility="public" direction="return">
           <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
         </ownedParameter>
-        <ownedParameter xmi:id="_gzwm7NwbEeCT5O2F6sGn5g" name="n" visibility="public" type="_csVgUGvtEdqG6fBIPwe-mw"/>
+        <ownedParameter xmi:id="_VXwc5xE9EeGOffqMW1YiZA" name="n" visibility="public" type="_csVgUGvtEdqG6fBIPwe-mw"/>
       </ownedOperation>
-      <ownedOperation xmi:id="_gzxN8NwbEeCT5O2F6sGn5g" name="inherit" visibility="public" bodyCondition="_gzxN89wbEeCT5O2F6sGn5g" isQuery="true">
-        <ownedComment xmi:id="_gzxN8dwbEeCT5O2F6sGn5g" annotatedElement="_gzxN8NwbEeCT5O2F6sGn5g">
-          <body>The query inherit() defines how to inherit a set of elements. Here the operation is defined to inherit them all. It is intended to be redefined in circumstances where inheritance is affected by redefinition.</body>
-        </ownedComment>
-        <ownedComment xmi:id="_gzxN8twbEeCT5O2F6sGn5g" annotatedElement="_gzxN8NwbEeCT5O2F6sGn5g">
+      <ownedOperation xmi:id="_VXxD8BE9EeGOffqMW1YiZA" name="inherit" visibility="public" bodyCondition="_VXxD8xE9EeGOffqMW1YiZA" isQuery="true">
+        <ownedComment xmi:id="_VXxD8RE9EeGOffqMW1YiZA" annotatedElement="_VXxD8BE9EeGOffqMW1YiZA">
           <body>The inherit operation is overridden to exclude redefined properties.</body>
         </ownedComment>
-        <ownedRule xmi:id="_gzxN89wbEeCT5O2F6sGn5g" name="spec" constrainedElement="_gzxN8NwbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_gzxN9NwbEeCT5O2F6sGn5g">
+        <ownedComment xmi:id="_VXxD8hE9EeGOffqMW1YiZA" annotatedElement="_VXxD8BE9EeGOffqMW1YiZA">
+          <body>The query inherit() defines how to inherit a set of elements. Here the operation is defined to inherit them all. It is intended to be redefined in circumstances where inheritance is affected by redefinition.</body>
+        </ownedComment>
+        <ownedRule xmi:id="_VXxD8xE9EeGOffqMW1YiZA" name="spec" constrainedElement="_VXxD8BE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VXxD9BE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = inhs</body>
           </specification>
         </ownedRule>
-        <ownedParameter xmi:id="_gzxN9dwbEeCT5O2F6sGn5g" name="result" visibility="public" type="_csVgUGvtEdqG6fBIPwe-mw" direction="return">
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gzxN9twbEeCT5O2F6sGn5g"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gzxN99wbEeCT5O2F6sGn5g" value="*"/>
+        <ownedParameter xmi:id="_VXxD9RE9EeGOffqMW1YiZA" name="result" visibility="public" type="_csVgUGvtEdqG6fBIPwe-mw" direction="return">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VXxD9hE9EeGOffqMW1YiZA"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VXxD9xE9EeGOffqMW1YiZA" value="*"/>
         </ownedParameter>
-        <ownedParameter xmi:id="_gzxN-NwbEeCT5O2F6sGn5g" name="inhs" visibility="public" type="_csVgUGvtEdqG6fBIPwe-mw">
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gzxN-dwbEeCT5O2F6sGn5g"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gzxN-twbEeCT5O2F6sGn5g" value="*"/>
+        <ownedParameter xmi:id="_VXxD-BE9EeGOffqMW1YiZA" name="inhs" visibility="public" type="_csVgUGvtEdqG6fBIPwe-mw">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VXxD-RE9EeGOffqMW1YiZA"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VXxD-hE9EeGOffqMW1YiZA" value="*"/>
         </ownedParameter>
       </ownedOperation>
-      <ownedOperation xmi:id="_gzxN-9wbEeCT5O2F6sGn5g" name="inheritableMembers" visibility="public" bodyCondition="_gzxN_9wbEeCT5O2F6sGn5g" isQuery="true" precondition="_gzxN_dwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzxN_NwbEeCT5O2F6sGn5g" annotatedElement="_gzxN-9wbEeCT5O2F6sGn5g">
+      <ownedOperation xmi:id="_VXxrABE9EeGOffqMW1YiZA" name="inheritableMembers" visibility="public" bodyCondition="_VXxrBBE9EeGOffqMW1YiZA" isQuery="true" precondition="_VXxrAhE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VXxrARE9EeGOffqMW1YiZA" annotatedElement="_VXxrABE9EeGOffqMW1YiZA">
           <body>The query inheritableMembers() gives all of the members of a classifier that may be inherited in one of its descendants, subject to whatever visibility restrictions apply.</body>
         </ownedComment>
-        <ownedRule xmi:id="_gzxN_dwbEeCT5O2F6sGn5g" name="pre" constrainedElement="_gzxN-9wbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_gzxN_twbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VXxrAhE9EeGOffqMW1YiZA" name="pre" constrainedElement="_VXxrABE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VXxrAxE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>c.allParents()->includes(self)</body>
           </specification>
         </ownedRule>
-        <ownedRule xmi:id="_gzxN_9wbEeCT5O2F6sGn5g" name="spec" constrainedElement="_gzxN-9wbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_gzxOANwbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VXxrBBE9EeGOffqMW1YiZA" name="spec" constrainedElement="_VXxrABE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VXxrBRE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = member->select(m | c.hasVisibilityOf(m))</body>
           </specification>
         </ownedRule>
-        <ownedParameter xmi:id="_gzxOAdwbEeCT5O2F6sGn5g" name="result" visibility="public" type="_csVgUGvtEdqG6fBIPwe-mw" direction="return">
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gzxOAtwbEeCT5O2F6sGn5g"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gzxOA9wbEeCT5O2F6sGn5g" value="*"/>
+        <ownedParameter xmi:id="_VXxrBhE9EeGOffqMW1YiZA" name="result" visibility="public" type="_csVgUGvtEdqG6fBIPwe-mw" direction="return">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VXxrBxE9EeGOffqMW1YiZA"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VXxrCBE9EeGOffqMW1YiZA" value="*"/>
         </ownedParameter>
-        <ownedParameter xmi:id="_gzxOBNwbEeCT5O2F6sGn5g" name="c" visibility="public" type="_6UV2QGwJEdq7X4sGURiZYA"/>
+        <ownedParameter xmi:id="_VXxrCRE9EeGOffqMW1YiZA" name="c" visibility="public" type="_6UV2QGwJEdq7X4sGURiZYA"/>
       </ownedOperation>
-      <ownedOperation xmi:id="_A3QeILLTEeCsYvaJqFFivQ" name="inheritedMember" visibility="public" bodyCondition="_gzx1ANwbEeCT5O2F6sGn5g" isQuery="true">
-        <ownedComment xmi:id="_gzxOBdwbEeCT5O2F6sGn5g" annotatedElement="_A3QeILLTEeCsYvaJqFFivQ">
+      <ownedOperation xmi:id="_A3QeILLTEeCsYvaJqFFivQ" name="inheritedMember" visibility="public" bodyCondition="_VXxrCxE9EeGOffqMW1YiZA" isQuery="true">
+        <ownedComment xmi:id="_VXxrChE9EeGOffqMW1YiZA" annotatedElement="_A3QeILLTEeCsYvaJqFFivQ">
           <body>The inheritedMember association is derived by inheriting the inheritable members of the parents.</body>
         </ownedComment>
-        <ownedRule xmi:id="_gzx1ANwbEeCT5O2F6sGn5g" name="spec" constrainedElement="_A3QeILLTEeCsYvaJqFFivQ _gzuxvNwbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_gzx1AdwbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VXxrCxE9EeGOffqMW1YiZA" name="spec" constrainedElement="_A3QeILLTEeCsYvaJqFFivQ _VXsyiRE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VXxrDBE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = self.inherit(self.parents()->collect(p|p.inheritableMembers(self))->asSet())</body>
           </specification>
         </ownedRule>
         <ownedParameter xmi:id="_DI37cLLTEeCsYvaJqFFivQ" name="result" visibility="public" type="_csVgUGvtEdqG6fBIPwe-mw" direction="return">
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gzx1AtwbEeCT5O2F6sGn5g"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gzx1A9wbEeCT5O2F6sGn5g" value="*"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VXySEBE9EeGOffqMW1YiZA"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VXySERE9EeGOffqMW1YiZA" value="*"/>
         </ownedParameter>
       </ownedOperation>
-      <ownedOperation xmi:id="_gzx1BNwbEeCT5O2F6sGn5g" name="isTemplate" visibility="public" bodyCondition="_gzx1BtwbEeCT5O2F6sGn5g" isQuery="true" redefinedOperation="_g2PTKtwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzx1BdwbEeCT5O2F6sGn5g" annotatedElement="_gzx1BNwbEeCT5O2F6sGn5g">
+      <ownedOperation xmi:id="_VXy5IBE9EeGOffqMW1YiZA" name="isTemplate" visibility="public" bodyCondition="_VXy5IhE9EeGOffqMW1YiZA" isQuery="true" redefinedOperation="_VeuAihE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VXy5IRE9EeGOffqMW1YiZA" annotatedElement="_VXy5IBE9EeGOffqMW1YiZA">
           <body>The query isTemplate() returns whether this templateable element is actually a template.</body>
         </ownedComment>
-        <ownedRule xmi:id="_gzx1BtwbEeCT5O2F6sGn5g" name="spec" constrainedElement="_gzx1BNwbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_gzx1B9wbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VXy5IhE9EeGOffqMW1YiZA" name="spec" constrainedElement="_VXy5IBE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VXy5IxE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = oclAsType(TemplatableElement).isTemplate() or general->exists(g | g.isTemplate())</body>
           </specification>
         </ownedRule>
-        <ownedParameter xmi:id="_gzx1CNwbEeCT5O2F6sGn5g" name="result" visibility="public" direction="return">
+        <ownedParameter xmi:id="_VXy5JBE9EeGOffqMW1YiZA" name="result" visibility="public" direction="return">
           <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
         </ownedParameter>
       </ownedOperation>
-      <ownedOperation xmi:id="_gzycENwbEeCT5O2F6sGn5g" name="maySpecializeType" visibility="public" bodyCondition="_gzycEtwbEeCT5O2F6sGn5g" isQuery="true">
-        <ownedComment xmi:id="_gzycEdwbEeCT5O2F6sGn5g" annotatedElement="_gzycENwbEeCT5O2F6sGn5g">
+      <ownedOperation xmi:id="_VXzgMBE9EeGOffqMW1YiZA" name="maySpecializeType" visibility="public" bodyCondition="_VXzgMhE9EeGOffqMW1YiZA" isQuery="true">
+        <ownedComment xmi:id="_VXzgMRE9EeGOffqMW1YiZA" annotatedElement="_VXzgMBE9EeGOffqMW1YiZA">
           <body>The query maySpecializeType() determines whether this classifier may have a generalization relationship to classifiers of the specified type. By default a classifier may specialize classifiers of the same or a more general type. It is intended to be redefined by classifiers that have different specialization constraints.</body>
         </ownedComment>
-        <ownedRule xmi:id="_gzycEtwbEeCT5O2F6sGn5g" name="spec" constrainedElement="_gzycENwbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_gzycE9wbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VXzgMhE9EeGOffqMW1YiZA" name="spec" constrainedElement="_VXzgMBE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VXzgMxE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = self.oclIsKindOf(c.oclType)</body>
           </specification>
         </ownedRule>
-        <ownedParameter xmi:id="_gzycFNwbEeCT5O2F6sGn5g" name="result" visibility="public" direction="return">
+        <ownedParameter xmi:id="_VXzgNBE9EeGOffqMW1YiZA" name="result" visibility="public" direction="return">
           <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
         </ownedParameter>
-        <ownedParameter xmi:id="_gzycFdwbEeCT5O2F6sGn5g" name="c" visibility="public" type="_6UV2QGwJEdq7X4sGURiZYA"/>
+        <ownedParameter xmi:id="_VXzgNRE9EeGOffqMW1YiZA" name="c" visibility="public" type="_6UV2QGwJEdq7X4sGURiZYA"/>
       </ownedOperation>
-      <ownedOperation xmi:id="_gzycFtwbEeCT5O2F6sGn5g" name="parents" visibility="public" bodyCondition="_gzycGNwbEeCT5O2F6sGn5g" isQuery="true">
-        <ownedComment xmi:id="_gzycF9wbEeCT5O2F6sGn5g" annotatedElement="_gzycFtwbEeCT5O2F6sGn5g">
+      <ownedOperation xmi:id="_VXzgNhE9EeGOffqMW1YiZA" name="parents" visibility="public" bodyCondition="_VXzgOBE9EeGOffqMW1YiZA" isQuery="true">
+        <ownedComment xmi:id="_VXzgNxE9EeGOffqMW1YiZA" annotatedElement="_VXzgNhE9EeGOffqMW1YiZA">
           <body>The query parents() gives all of the immediate ancestors of a generalized Classifier.</body>
         </ownedComment>
-        <ownedRule xmi:id="_gzycGNwbEeCT5O2F6sGn5g" name="spec" constrainedElement="_gzycFtwbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_gzycGdwbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VXzgOBE9EeGOffqMW1YiZA" name="spec" constrainedElement="_VXzgNhE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VXzgORE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = generalization.general</body>
           </specification>
         </ownedRule>
-        <ownedParameter xmi:id="_gzycGtwbEeCT5O2F6sGn5g" name="result" visibility="public" type="_6UV2QGwJEdq7X4sGURiZYA" direction="return">
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gzycG9wbEeCT5O2F6sGn5g"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gzycHNwbEeCT5O2F6sGn5g" value="*"/>
+        <ownedParameter xmi:id="_VXzgOhE9EeGOffqMW1YiZA" name="result" visibility="public" type="_6UV2QGwJEdq7X4sGURiZYA" direction="return">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VXzgOxE9EeGOffqMW1YiZA"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VXzgPBE9EeGOffqMW1YiZA" value="*"/>
         </ownedParameter>
       </ownedOperation>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_gzzqMNwbEeCT5O2F6sGn5g" name="ClassifierTemplateParameter">
-      <ownedComment xmi:id="_gzzqMdwbEeCT5O2F6sGn5g" annotatedElement="_gzzqMNwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VX2jgBE9EeGOffqMW1YiZA" name="ClassifierTemplateParameter">
+      <ownedComment xmi:id="_VX2jgRE9EeGOffqMW1YiZA" annotatedElement="_VX2jgBE9EeGOffqMW1YiZA">
         <body>A classifier template parameter exposes a classifier as a formal template parameter.</body>
       </ownedComment>
-      <ownedRule xmi:id="_gzzqMtwbEeCT5O2F6sGn5g" name="has_constraining_classifier" constrainedElement="_gzzqMNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzzqM9wbEeCT5O2F6sGn5g" annotatedElement="_gzzqMtwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VX2jghE9EeGOffqMW1YiZA" name="has_constraining_classifier" constrainedElement="_VX2jgBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VX2jgxE9EeGOffqMW1YiZA" annotatedElement="_VX2jghE9EeGOffqMW1YiZA">
           <body>If &quot;allowSubstitutable&quot; is true, then there must be a constrainingClassifier.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_gzzqNNwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VX2jhBE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>allowSubstitutable implies constrainingClassifier->notEmpty()</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_gzzqNdwbEeCT5O2F6sGn5g" general="_KxRzgGvuEdqG6fBIPwe-mw"/>
-      <ownedAttribute xmi:id="_gzzqNtwbEeCT5O2F6sGn5g" name="allowSubstitutable" visibility="public">
-        <ownedComment xmi:id="_gzzqN9wbEeCT5O2F6sGn5g" annotatedElement="_gzzqNtwbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_VX2jhRE9EeGOffqMW1YiZA" general="_KxRzgGvuEdqG6fBIPwe-mw"/>
+      <ownedAttribute xmi:id="_VX2jhhE9EeGOffqMW1YiZA" name="allowSubstitutable" visibility="public">
+        <ownedComment xmi:id="_VX2jhxE9EeGOffqMW1YiZA" annotatedElement="_VX2jhhE9EeGOffqMW1YiZA">
           <body>Constrains the required relationship between an actual parameter and the parameteredElement for this formal parameter.</body>
         </ownedComment>
         <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
-        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_gzzqONwbEeCT5O2F6sGn5g" value="true"/>
+        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_VX2jiBE9EeGOffqMW1YiZA" value="true"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_gzzqOdwbEeCT5O2F6sGn5g" name="constrainingClassifier" visibility="public" type="_6UV2QGwJEdq7X4sGURiZYA" association="_gyWRpNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzzqOtwbEeCT5O2F6sGn5g" annotatedElement="_gzzqOdwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VX2jiRE9EeGOffqMW1YiZA" name="constrainingClassifier" visibility="public" type="_6UV2QGwJEdq7X4sGURiZYA" association="_VTHNeBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VX2jihE9EeGOffqMW1YiZA" annotatedElement="_VX2jiRE9EeGOffqMW1YiZA">
           <body>The classifiers that constrain the argument that can be used for the parameter. If the allowSubstitutable attribute is true, then any classifier that is compatible with this constraining classifier can be substituted; otherwise, it must be either this classifier or one of its subclasses. If this property is empty, there are no constraints on the classifier that can be used as an argument.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gzzqO9wbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gzzqPNwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VX2jixE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VX2jjBE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_gzzqPdwbEeCT5O2F6sGn5g" name="parameteredElement" visibility="public" type="_6UV2QGwJEdq7X4sGURiZYA" redefinedProperty="_g2M25twbEeCT5O2F6sGn5g" association="_gyVDhNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gzzqPtwbEeCT5O2F6sGn5g" annotatedElement="_gzzqPdwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VX2jjRE9EeGOffqMW1YiZA" name="parameteredElement" visibility="public" type="_6UV2QGwJEdq7X4sGURiZYA" redefinedProperty="_Veq9MxE9EeGOffqMW1YiZA" association="_VTEKJBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VX2jjhE9EeGOffqMW1YiZA" annotatedElement="_VX2jjRE9EeGOffqMW1YiZA">
           <body>The parameterable classifier for this template parameter.</body>
         </ownedComment>
       </ownedAttribute>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_gz0RQNwbEeCT5O2F6sGn5g" name="Clause">
-      <ownedComment xmi:id="_gz0RQdwbEeCT5O2F6sGn5g" annotatedElement="_gz0RQNwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VX3xoBE9EeGOffqMW1YiZA" name="Clause">
+      <ownedComment xmi:id="_VX3xoRE9EeGOffqMW1YiZA" annotatedElement="_VX3xoBE9EeGOffqMW1YiZA">
         <body>A clause is an element that represents a single branch of a conditional construct, including a test and a body section. The body section is executed only if (but not necessarily if) the test section evaluates true.</body>
       </ownedComment>
-      <ownedRule xmi:id="_gz0RQtwbEeCT5O2F6sGn5g" name="body_output_pins" constrainedElement="_gz0RQNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gz0RQ9wbEeCT5O2F6sGn5g" annotatedElement="_gz0RQtwbEeCT5O2F6sGn5g">
-          <body>The bodyOutput pins are output pins on actions in the body of the clause.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_gz0RRNwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>true</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_gz0RRdwbEeCT5O2F6sGn5g" name="decider_output" constrainedElement="_gz0RQNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gz0RRtwbEeCT5O2F6sGn5g" annotatedElement="_gz0RRdwbEeCT5O2F6sGn5g">
-          <body>The decider output pin must be for the test body or a node contained by the test body as a structured node.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_gz0RR9wbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>true</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_gz0RSNwbEeCT5O2F6sGn5g" name="test_and_body" constrainedElement="_gz0RQNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gz0RSdwbEeCT5O2F6sGn5g" annotatedElement="_gz0RSNwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VX3xohE9EeGOffqMW1YiZA" name="test_and_body" constrainedElement="_VX3xoBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VX3xoxE9EeGOffqMW1YiZA" annotatedElement="_VX3xohE9EeGOffqMW1YiZA">
           <body>The test and body parts must be disjoint.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_gz0RStwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VX3xpBE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>true</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_gz0RS9wbEeCT5O2F6sGn5g" general="_kl90MGvbEdq4DLWZOhbdEA"/>
-      <ownedAttribute xmi:id="_gz0RTNwbEeCT5O2F6sGn5g" name="body" visibility="public" type="_g0OhCNwbEeCT5O2F6sGn5g" association="_gyT1Z9wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gz0RTdwbEeCT5O2F6sGn5g" annotatedElement="_gz0RTNwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VX3xpRE9EeGOffqMW1YiZA" name="body_output_pins" constrainedElement="_VX3xoBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VX3xphE9EeGOffqMW1YiZA" annotatedElement="_VX3xpRE9EeGOffqMW1YiZA">
+          <body>The bodyOutput pins are output pins on actions in the body of the clause.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VX3xpxE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>true</body>
+        </specification>
+      </ownedRule>
+      <ownedRule xmi:id="_VX3xqBE9EeGOffqMW1YiZA" name="decider_output" constrainedElement="_VX3xoBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VX3xqRE9EeGOffqMW1YiZA" annotatedElement="_VX3xqBE9EeGOffqMW1YiZA">
+          <body>The decider output pin must be for the test body or a node contained by the test body as a structured node.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VX3xqhE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>true</body>
+        </specification>
+      </ownedRule>
+      <generalization xmi:id="_VX3xqxE9EeGOffqMW1YiZA" general="_kl90MGvbEdq4DLWZOhbdEA"/>
+      <ownedAttribute xmi:id="_VX3xrBE9EeGOffqMW1YiZA" name="body" visibility="public" type="_VZPqoBE9EeGOffqMW1YiZA" association="_VTBG0xE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VX3xrRE9EeGOffqMW1YiZA" annotatedElement="_VX3xrBE9EeGOffqMW1YiZA">
           <body>A nested activity fragment that is executed if the test evaluates to true and the clause is chosen over any concurrent clauses that also evaluate to true.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gz0RTtwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gz04UNwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VX3xrhE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VX3xrxE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_gz04UdwbEeCT5O2F6sGn5g" name="bodyOutput" visibility="public" type="_g1fsRdwbEeCT5O2F6sGn5g" isOrdered="true" association="_gyTOX9wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gz04UtwbEeCT5O2F6sGn5g" annotatedElement="_gz04UdwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VX3xsBE9EeGOffqMW1YiZA" name="bodyOutput" visibility="public" type="_VcHYcBE9EeGOffqMW1YiZA" isOrdered="true" association="_VTAfwBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VX3xsRE9EeGOffqMW1YiZA" annotatedElement="_VX3xsBE9EeGOffqMW1YiZA">
           <body>A list of output pins within the body fragment whose values are moved to the result pins of the containing conditional node after execution of the clause body.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gz04U9wbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gz04VNwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VX3xshE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VX3xsxE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_gz04VdwbEeCT5O2F6sGn5g" name="decider" visibility="public" type="_g1fsRdwbEeCT5O2F6sGn5g" association="_gyXfyNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gz04VtwbEeCT5O2F6sGn5g" annotatedElement="_gz04VdwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VX3xtBE9EeGOffqMW1YiZA" name="decider" visibility="public" type="_VcHYcBE9EeGOffqMW1YiZA" association="_VTLe5BE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VX3xtRE9EeGOffqMW1YiZA" annotatedElement="_VX3xtBE9EeGOffqMW1YiZA">
           <body>An output pin within the test fragment the value of which is examined after execution of the test to determine whether the body should be executed.</body>
         </ownedComment>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_gz04V9wbEeCT5O2F6sGn5g" name="predecessorClause" visibility="public" type="_gz0RQNwbEeCT5O2F6sGn5g" association="_gyteANwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gz04WNwbEeCT5O2F6sGn5g" annotatedElement="_gz04V9wbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VX3xthE9EeGOffqMW1YiZA" name="predecessorClause" visibility="public" type="_VX3xoBE9EeGOffqMW1YiZA" association="_VUKWWhE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VX3xtxE9EeGOffqMW1YiZA" annotatedElement="_VX3xthE9EeGOffqMW1YiZA">
           <body>A set of clauses whose tests must all evaluate false before the current clause can be tested.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gz04WdwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gz04WtwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VX3xuBE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VX3xuRE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_gz04W9wbEeCT5O2F6sGn5g" name="successorClause" visibility="public" type="_gz0RQNwbEeCT5O2F6sGn5g" association="_gyteANwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gz04XNwbEeCT5O2F6sGn5g" annotatedElement="_gz04W9wbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VX3xuhE9EeGOffqMW1YiZA" name="successorClause" visibility="public" type="_VX3xoBE9EeGOffqMW1YiZA" association="_VUKWWhE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VX3xuxE9EeGOffqMW1YiZA" annotatedElement="_VX3xuhE9EeGOffqMW1YiZA">
           <body>A set of clauses which may not be tested unless the current clause tests false.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gz04XdwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gz04XtwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VX3xvBE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VX3xvRE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_gz04X9wbEeCT5O2F6sGn5g" name="test" visibility="public" type="_g0OhCNwbEeCT5O2F6sGn5g" association="_gy8um9wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gz04YNwbEeCT5O2F6sGn5g" annotatedElement="_gz04X9wbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VX3xvhE9EeGOffqMW1YiZA" name="test" visibility="public" type="_VZPqoBE9EeGOffqMW1YiZA" association="_VUqFkRE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VX3xvxE9EeGOffqMW1YiZA" annotatedElement="_VX3xvhE9EeGOffqMW1YiZA">
           <body>A nested activity fragment with a designated output pin that specifies the result of the test.</body>
         </ownedComment>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gz04YdwbEeCT5O2F6sGn5g" value="*"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VX3xwBE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_gz04YtwbEeCT5O2F6sGn5g" name="ClearAssociationAction">
-      <ownedComment xmi:id="_gz04Y9wbEeCT5O2F6sGn5g" annotatedElement="_gz04YtwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VX4_wBE9EeGOffqMW1YiZA" name="ClearAssociationAction">
+      <ownedComment xmi:id="_VX4_wRE9EeGOffqMW1YiZA" annotatedElement="_VX4_wBE9EeGOffqMW1YiZA">
         <body>A clear association action is an action that destroys all links of an association in which a particular object participates.</body>
       </ownedComment>
-      <ownedRule xmi:id="_gz04ZNwbEeCT5O2F6sGn5g" name="multiplicity" constrainedElement="_gz04YtwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gz04ZdwbEeCT5O2F6sGn5g" annotatedElement="_gz04ZNwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VX4_whE9EeGOffqMW1YiZA" name="multiplicity" constrainedElement="_VX4_wBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VX4_wxE9EeGOffqMW1YiZA" annotatedElement="_VX4_whE9EeGOffqMW1YiZA">
           <body>The multiplicity of the input pin is 1..1.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_gz04ZtwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VX4_xBE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>self.object.multiplicity.is(1,1)</body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_gz04Z9wbEeCT5O2F6sGn5g" name="same_type" constrainedElement="_gz04YtwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gz04aNwbEeCT5O2F6sGn5g" annotatedElement="_gz04Z9wbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VX4_xRE9EeGOffqMW1YiZA" name="same_type" constrainedElement="_VX4_wBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VX4_xhE9EeGOffqMW1YiZA" annotatedElement="_VX4_xRE9EeGOffqMW1YiZA">
           <body>The type of the input pin must be the same as the type of at least one of the association ends of the association.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_gz04adwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VX4_xxE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>self.association->exists(end.type = self.object.type)</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_gz04atwbEeCT5O2F6sGn5g" general="_6WKakLLQEeCsYvaJqFFivQ"/>
-      <ownedAttribute xmi:id="_gz04a9wbEeCT5O2F6sGn5g" name="association" visibility="public" type="_AwvxoGwNEdq7X4sGURiZYA" association="_gySnTNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gz04bNwbEeCT5O2F6sGn5g" annotatedElement="_gz04a9wbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_VX4_yBE9EeGOffqMW1YiZA" general="_6WKakLLQEeCsYvaJqFFivQ"/>
+      <ownedAttribute xmi:id="_VX4_yRE9EeGOffqMW1YiZA" name="association" visibility="public" type="_AwvxoGwNEdq7X4sGURiZYA" association="_VS-qkBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VX4_yhE9EeGOffqMW1YiZA" annotatedElement="_VX4_yRE9EeGOffqMW1YiZA">
           <body>Association to be cleared.</body>
         </ownedComment>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_gz04bdwbEeCT5O2F6sGn5g" name="object" visibility="public" type="_g0aHKdwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_gzBnMNwbEeCT5O2F6sGn5g" association="_gyliMdwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gz04btwbEeCT5O2F6sGn5g" annotatedElement="_gz04bdwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VX4_yxE9EeGOffqMW1YiZA" name="object" visibility="public" type="_VZp6WRE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_VU4IABE9EeGOffqMW1YiZA" association="_VT2NQBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VX4_zBE9EeGOffqMW1YiZA" annotatedElement="_VX4_yxE9EeGOffqMW1YiZA">
           <body>Gives the input pin from which is obtained the object whose participation in the association is to be cleared.</body>
         </ownedComment>
       </ownedAttribute>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_gz1fYNwbEeCT5O2F6sGn5g" name="ClearStructuralFeatureAction">
-      <ownedComment xmi:id="_gz2GcNwbEeCT5O2F6sGn5g" annotatedElement="_gz1fYNwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VX5m0BE9EeGOffqMW1YiZA" name="ClearStructuralFeatureAction">
+      <ownedComment xmi:id="_VX5m0RE9EeGOffqMW1YiZA" annotatedElement="_VX5m0BE9EeGOffqMW1YiZA">
         <body>A clear structural feature action is a structural feature action that removes all values of a structural feature.</body>
       </ownedComment>
-      <ownedRule xmi:id="_gz2GcdwbEeCT5O2F6sGn5g" name="type_of_result" constrainedElement="_gz1fYNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gz2GctwbEeCT5O2F6sGn5g" annotatedElement="_gz2GcdwbEeCT5O2F6sGn5g">
-          <body>The type of the result output pin is the same as the type of the inherited object input pin.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_gz2Gc9wbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>result->notEmpty() implies self.result.type = self.object.type</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_gz2GdNwbEeCT5O2F6sGn5g" name="multiplicity_of_result" constrainedElement="_gz1fYNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gz2GddwbEeCT5O2F6sGn5g" annotatedElement="_gz2GdNwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VX5m0hE9EeGOffqMW1YiZA" name="multiplicity_of_result" constrainedElement="_VX5m0BE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VX5m0xE9EeGOffqMW1YiZA" annotatedElement="_VX5m0hE9EeGOffqMW1YiZA">
           <body>The multiplicity of the result output pin must be 1..1.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_gz2GdtwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VX5m1BE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>result->notEmpty() implies self.result.multiplicity.is(1,1)</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_gz2Gd9wbEeCT5O2F6sGn5g" general="_g2H-YNwbEeCT5O2F6sGn5g"/>
-      <ownedAttribute xmi:id="_gz2GeNwbEeCT5O2F6sGn5g" name="result" visibility="public" type="_g1fsRdwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_gzCOK9wbEeCT5O2F6sGn5g" association="_gy0LvtwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gz2GedwbEeCT5O2F6sGn5g" annotatedElement="_gz2GeNwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VX5m1RE9EeGOffqMW1YiZA" name="type_of_result" constrainedElement="_VX5m0BE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VX5m1hE9EeGOffqMW1YiZA" annotatedElement="_VX5m1RE9EeGOffqMW1YiZA">
+          <body>The type of the result output pin is the same as the type of the inherited object input pin.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VX5m1xE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>result->notEmpty() implies self.result.type = self.object.type</body>
+        </specification>
+      </ownedRule>
+      <generalization xmi:id="_VX5m2BE9EeGOffqMW1YiZA" general="_VehMMBE9EeGOffqMW1YiZA"/>
+      <ownedAttribute xmi:id="_VX5m2RE9EeGOffqMW1YiZA" name="result" visibility="public" type="_VcHYcBE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_VU4vEBE9EeGOffqMW1YiZA" association="_VUcqMxE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VX5m2hE9EeGOffqMW1YiZA" annotatedElement="_VX5m2RE9EeGOffqMW1YiZA">
           <body>Gives the output pin on which the result is put.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gz2GetwbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VX5m2xE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_gz2Ge9wbEeCT5O2F6sGn5g" name="ClearVariableAction">
-      <ownedComment xmi:id="_gz2GfNwbEeCT5O2F6sGn5g" annotatedElement="_gz2Ge9wbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VX6N4BE9EeGOffqMW1YiZA" name="ClearVariableAction">
+      <ownedComment xmi:id="_VX6N4RE9EeGOffqMW1YiZA" annotatedElement="_VX6N4BE9EeGOffqMW1YiZA">
         <body>A clear variable action is a variable action that removes all values of a variable.</body>
       </ownedComment>
-      <generalization xmi:id="_gz2GfdwbEeCT5O2F6sGn5g" general="_g2ZrMNwbEeCT5O2F6sGn5g"/>
+      <generalization xmi:id="_VX6N4hE9EeGOffqMW1YiZA" general="_VfIQRBE9EeGOffqMW1YiZA"/>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_gz2GftwbEeCT5O2F6sGn5g" name="Collaboration">
-      <ownedComment xmi:id="_gz2Gf9wbEeCT5O2F6sGn5g" annotatedElement="_gz2GftwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VX608BE9EeGOffqMW1YiZA" name="Collaboration">
+      <ownedComment xmi:id="_VX608RE9EeGOffqMW1YiZA" annotatedElement="_VX608BE9EeGOffqMW1YiZA">
         <body>A collaboration use represents the application of the pattern described by a collaboration to a specific situation involving specific classes or instances playing the roles of the collaboration.</body>
       </ownedComment>
-      <generalization xmi:id="_gz2GgNwbEeCT5O2F6sGn5g" general="_FQiVsGwYEdqHKKVoxc0dlA"/>
-      <generalization xmi:id="_gz2GgdwbEeCT5O2F6sGn5g" general="_iY7sMGvsEdqG6fBIPwe-mw"/>
-      <ownedAttribute xmi:id="_gz2GgtwbEeCT5O2F6sGn5g" name="collaborationRole" visibility="public" type="_0dB44PnhEdunWsS3se92JQ" subsettedProperty="_g2JMkdwbEeCT5O2F6sGn5g" association="_gyVDiNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gz2Gg9wbEeCT5O2F6sGn5g" annotatedElement="_gz2GgtwbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_VX608hE9EeGOffqMW1YiZA" general="_FQiVsGwYEdqHKKVoxc0dlA"/>
+      <generalization xmi:id="_VX608xE9EeGOffqMW1YiZA" general="_iY7sMGvsEdqG6fBIPwe-mw"/>
+      <ownedAttribute xmi:id="_VX609BE9EeGOffqMW1YiZA" name="collaborationRole" visibility="public" type="_0dB44PnhEdunWsS3se92JQ" subsettedProperty="_VekPgBE9EeGOffqMW1YiZA" association="_VTExMRE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VX609RE9EeGOffqMW1YiZA" annotatedElement="_VX609BE9EeGOffqMW1YiZA">
           <body>References connectable elements (possibly owned by other classifiers) which represent roles that instances may play in this collaboration.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gz2GhNwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gz2GhdwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VX609hE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VX609xE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_gz2tgNwbEeCT5O2F6sGn5g" name="CollaborationUse">
-      <ownedComment xmi:id="_gz2tgdwbEeCT5O2F6sGn5g" annotatedElement="_gz2tgNwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VX7cABE9EeGOffqMW1YiZA" name="CollaborationUse">
+      <ownedComment xmi:id="_VX7cARE9EeGOffqMW1YiZA" annotatedElement="_VX7cABE9EeGOffqMW1YiZA">
         <body>A collaboration use represents one particular use of a collaboration to explain the relationships between the properties of a classifier. A collaboration use shows how the pattern described by a collaboration is applied in a given context, by binding specific entities from that context to the roles of the collaboration. Depending on the context, these entities could be structural features of a classifier, instance specifications, or even roles in some containing collaboration. There may be multiple occurrences of a given collaboration within a classifier, each involving a different set of roles and connectors. A given role or connector may be involved in multiple occurrences of the same or different collaborations. Associated dependencies map features of the collaboration type to features in the classifier. These dependencies indicate which role in the classifier plays which role in the collaboration.</body>
       </ownedComment>
-      <ownedRule xmi:id="_gz2tgtwbEeCT5O2F6sGn5g" name="client_elements" constrainedElement="_gz2tgNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gz2tg9wbEeCT5O2F6sGn5g" annotatedElement="_gz2tgtwbEeCT5O2F6sGn5g">
-          <body>All the client elements of a roleBinding are in one classifier and all supplier elements of a roleBinding are in one collaboration and they are compatible.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_gz2thNwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>true</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_gz2thdwbEeCT5O2F6sGn5g" name="every_role" constrainedElement="_gz2tgNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gz2thtwbEeCT5O2F6sGn5g" annotatedElement="_gz2thdwbEeCT5O2F6sGn5g">
-          <body>Every role in the collaboration is bound within the collaboration use to a connectable element within the owning classifier.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_gz2th9wbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>true</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_gz2tiNwbEeCT5O2F6sGn5g" name="connectors" constrainedElement="_gz2tgNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gz2tidwbEeCT5O2F6sGn5g" annotatedElement="_gz2tiNwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VX7cAhE9EeGOffqMW1YiZA" name="connectors" constrainedElement="_VX7cABE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VX7cAxE9EeGOffqMW1YiZA" annotatedElement="_VX7cAhE9EeGOffqMW1YiZA">
           <body>The connectors in the classifier connect according to the connectors in the collaboration</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_gz2titwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VX7cBBE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>true</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_gz2ti9wbEeCT5O2F6sGn5g" general="_csVgUGvtEdqG6fBIPwe-mw"/>
-      <ownedAttribute xmi:id="_gz2tjNwbEeCT5O2F6sGn5g" name="roleBinding" visibility="public" type="_rEDGkGwKEdq7X4sGURiZYA" aggregation="composite" subsettedProperty="_g0JocNwbEeCT5O2F6sGn5g" association="_gy32E9wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gz2tjdwbEeCT5O2F6sGn5g" annotatedElement="_gz2tjNwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VX7cBRE9EeGOffqMW1YiZA" name="every_role" constrainedElement="_VX7cABE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VX7cBhE9EeGOffqMW1YiZA" annotatedElement="_VX7cBRE9EeGOffqMW1YiZA">
+          <body>Every role in the collaboration is bound within the collaboration use to a connectable element within the owning classifier.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VX7cBxE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>true</body>
+        </specification>
+      </ownedRule>
+      <ownedRule xmi:id="_VX7cCBE9EeGOffqMW1YiZA" name="client_elements" constrainedElement="_VX7cABE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VX7cCRE9EeGOffqMW1YiZA" annotatedElement="_VX7cCBE9EeGOffqMW1YiZA">
+          <body>All the client elements of a roleBinding are in one classifier and all supplier elements of a roleBinding are in one collaboration and they are compatible.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VX7cChE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>true</body>
+        </specification>
+      </ownedRule>
+      <generalization xmi:id="_VX7cCxE9EeGOffqMW1YiZA" general="_csVgUGvtEdqG6fBIPwe-mw"/>
+      <ownedAttribute xmi:id="_VX7cDBE9EeGOffqMW1YiZA" name="roleBinding" visibility="public" type="_rEDGkGwKEdq7X4sGURiZYA" aggregation="composite" subsettedProperty="_GDD2YAtAEeGcpbeCPJfCmw" association="_VUhisBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VX7cDRE9EeGOffqMW1YiZA" annotatedElement="_VX7cDBE9EeGOffqMW1YiZA">
           <body>A mapping between features of the collaboration type and features of the owning classifier. This mapping indicates which connectable element of the classifier plays which role(s) in the collaboration. A connectable element may be bound to multiple roles in the same collaboration use (that is, it may play multiple roles).</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gz2tjtwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gz2tj9wbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VX7cDhE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VX7cDxE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_gz2tkNwbEeCT5O2F6sGn5g" name="type" visibility="public" type="_gz2GftwbEeCT5O2F6sGn5g" association="_gy98sNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gz2tkdwbEeCT5O2F6sGn5g" annotatedElement="_gz2tkNwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VX7cEBE9EeGOffqMW1YiZA" name="type" visibility="public" type="_VX608BE9EeGOffqMW1YiZA" association="_VUrTsxE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VX7cERE9EeGOffqMW1YiZA" annotatedElement="_VX7cEBE9EeGOffqMW1YiZA">
           <body>The collaboration which is used in this occurrence. The collaboration defines the cooperation between its roles which are mapped to properties of the classifier owning the collaboration use.</body>
         </ownedComment>
       </ownedAttribute>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_gz3UkNwbEeCT5O2F6sGn5g" name="CombinedFragment">
-      <ownedComment xmi:id="_gz3UkdwbEeCT5O2F6sGn5g" annotatedElement="_gz3UkNwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VX8qIBE9EeGOffqMW1YiZA" name="CombinedFragment">
+      <ownedComment xmi:id="_VX8qIRE9EeGOffqMW1YiZA" annotatedElement="_VX8qIBE9EeGOffqMW1YiZA">
         <body>A combined fragment defines an expression of interaction fragments. A combined fragment is defined by an interaction operator and corresponding interaction operands. Through the use of combined fragments the user will be able to describe a number of traces in a compact and concise manner.</body>
       </ownedComment>
-      <ownedRule xmi:id="_gz3UktwbEeCT5O2F6sGn5g" name="minint_and_maxint" constrainedElement="_gz3UkNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gz3Uk9wbEeCT5O2F6sGn5g" annotatedElement="_gz3UktwbEeCT5O2F6sGn5g">
-          <body>The InteractionConstraint with minint and maxint only apply when attached to an InteractionOperand where the interactionOperator is loop.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_gz3UlNwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>true</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_gz3UldwbEeCT5O2F6sGn5g" name="break" constrainedElement="_gz3UkNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gz3UltwbEeCT5O2F6sGn5g" annotatedElement="_gz3UldwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VX8qIhE9EeGOffqMW1YiZA" name="break" constrainedElement="_VX8qIBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VX8qIxE9EeGOffqMW1YiZA" annotatedElement="_VX8qIhE9EeGOffqMW1YiZA">
           <body>If the interactionOperator is break, the corresponding InteractionOperand must cover all Lifelines within the enclosing InteractionFragment.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_gz3Ul9wbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VX8qJBE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>true</body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_gz3UmNwbEeCT5O2F6sGn5g" name="consider_and_ignore" constrainedElement="_gz3UkNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gz3UmdwbEeCT5O2F6sGn5g" annotatedElement="_gz3UmNwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VX8qJRE9EeGOffqMW1YiZA" name="opt_loop_break_neg" constrainedElement="_VX8qIBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VX8qJhE9EeGOffqMW1YiZA" annotatedElement="_VX8qJRE9EeGOffqMW1YiZA">
+          <body>If the interactionOperator is opt, loop, break, assert or neg, there must be exactly one operand.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VX8qJxE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>true</body>
+        </specification>
+      </ownedRule>
+      <ownedRule xmi:id="_VX8qKBE9EeGOffqMW1YiZA" name="consider_and_ignore" constrainedElement="_VX8qIBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VX8qKRE9EeGOffqMW1YiZA" annotatedElement="_VX8qKBE9EeGOffqMW1YiZA">
           <body>The interaction operators 'consider' and 'ignore' can only be used for the CombineIgnoreFragment subtype of CombinedFragment</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_gz3UmtwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VX8qKhE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>((interactionOperator = #consider) or (interactionOperator = #ignore)) implies oclsisTypeOf(CombineIgnoreFragment)</body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_gz3Um9wbEeCT5O2F6sGn5g" name="opt_loop_break_neg" constrainedElement="_gz3UkNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gz3UnNwbEeCT5O2F6sGn5g" annotatedElement="_gz3Um9wbEeCT5O2F6sGn5g">
-          <body>If the interactionOperator is opt, loop, break, assert or neg, there must be exactly one operand.</body>
+      <ownedRule xmi:id="_VX8qKxE9EeGOffqMW1YiZA" name="minint_and_maxint" constrainedElement="_VX8qIBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VX8qLBE9EeGOffqMW1YiZA" annotatedElement="_VX8qKxE9EeGOffqMW1YiZA">
+          <body>The InteractionConstraint with minint and maxint only apply when attached to an InteractionOperand where the interactionOperator is loop.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_gz3UndwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VX8qLRE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>true</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_gz3UntwbEeCT5O2F6sGn5g" general="_g0cjYNwbEeCT5O2F6sGn5g"/>
-      <ownedAttribute xmi:id="_gz3Un9wbEeCT5O2F6sGn5g" name="cfragmentGate" visibility="public" type="_g0V1sNwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_g0JocNwbEeCT5O2F6sGn5g" association="_gyT1atwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gz3UoNwbEeCT5O2F6sGn5g" annotatedElement="_gz3Un9wbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_VX8qLhE9EeGOffqMW1YiZA" general="_VZuLwBE9EeGOffqMW1YiZA"/>
+      <ownedAttribute xmi:id="_VX8qLxE9EeGOffqMW1YiZA" name="cfragmentGate" visibility="public" type="_VZeUIBE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_GDD2YAtAEeGcpbeCPJfCmw" association="_VTBG1hE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VX8qMBE9EeGOffqMW1YiZA" annotatedElement="_VX8qLxE9EeGOffqMW1YiZA">
           <body>Specifies the gates that form the interface between this CombinedFragment and its surroundings</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gz3UodwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gz3UotwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VX8qMRE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VX8qMhE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_gz3Uo9wbEeCT5O2F6sGn5g" name="interactionOperator" visibility="public" type="_g2dVkNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gz3UpNwbEeCT5O2F6sGn5g" annotatedElement="_gz3Uo9wbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VX8qMxE9EeGOffqMW1YiZA" name="interactionOperator" visibility="public" type="_VfOW0BE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VX8qNBE9EeGOffqMW1YiZA" annotatedElement="_VX8qMxE9EeGOffqMW1YiZA">
           <body>Specifies the operation which defines the semantics of this combination of InteractionFragments.</body>
         </ownedComment>
-        <defaultValue xmi:type="uml:InstanceValue" xmi:id="_gz3UpdwbEeCT5O2F6sGn5g" type="_g2dVkNwbEeCT5O2F6sGn5g" instance="_g2dVktwbEeCT5O2F6sGn5g"/>
+        <defaultValue xmi:type="uml:InstanceValue" xmi:id="_VX8qNRE9EeGOffqMW1YiZA" type="_VfOW0BE9EeGOffqMW1YiZA" instance="_VfOW0hE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_gz3UptwbEeCT5O2F6sGn5g" name="operand" visibility="public" type="_g0dKcNwbEeCT5O2F6sGn5g" isOrdered="true" aggregation="composite" subsettedProperty="_g0JocNwbEeCT5O2F6sGn5g" association="_gymwW9wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gz3Up9wbEeCT5O2F6sGn5g" annotatedElement="_gz3UptwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VX8qNhE9EeGOffqMW1YiZA" name="operand" visibility="public" type="_VZuy0BE9EeGOffqMW1YiZA" isOrdered="true" aggregation="composite" subsettedProperty="_GDD2YAtAEeGcpbeCPJfCmw" association="_VT8T5BE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VX8qNxE9EeGOffqMW1YiZA" annotatedElement="_VX8qNhE9EeGOffqMW1YiZA">
           <body>The set of operands of the combined fragment.</body>
         </ownedComment>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gz3UqNwbEeCT5O2F6sGn5g" value="*"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VX8qOBE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="_Q8DcULGzEeCDe8CO90iVKQ" name="Comment">
-      <ownedComment xmi:id="_gz3UqdwbEeCT5O2F6sGn5g" annotatedElement="_Q8DcULGzEeCDe8CO90iVKQ">
+      <ownedComment xmi:id="_VX9RMBE9EeGOffqMW1YiZA" annotatedElement="_Q8DcULGzEeCDe8CO90iVKQ">
         <body>A comment is a textual annotation that can be attached to a set of elements.</body>
       </ownedComment>
-      <generalization xmi:id="_gz3UqtwbEeCT5O2F6sGn5g" general="_kl90MGvbEdq4DLWZOhbdEA"/>
-      <ownedAttribute xmi:id="_gz3Uq9wbEeCT5O2F6sGn5g" name="annotatedElement" visibility="public" type="_kl90MGvbEdq4DLWZOhbdEA" association="_gySAPtwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gz3UrNwbEeCT5O2F6sGn5g" annotatedElement="_gz3Uq9wbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_VX9RMRE9EeGOffqMW1YiZA" general="_kl90MGvbEdq4DLWZOhbdEA"/>
+      <ownedAttribute xmi:id="_VX94QBE9EeGOffqMW1YiZA" name="annotatedElement" visibility="public" type="_kl90MGvbEdq4DLWZOhbdEA" association="_VS9ccBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VX94QRE9EeGOffqMW1YiZA" annotatedElement="_VX94QBE9EeGOffqMW1YiZA">
           <body>References the Element(s) being commented.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gz3UrdwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gz3UrtwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VX94QhE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VX94QxE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
       <ownedAttribute xmi:id="_WiuJ4LGzEeCDe8CO90iVKQ" name="body" visibility="public">
-        <ownedComment xmi:id="_gz3Ur9wbEeCT5O2F6sGn5g" annotatedElement="_WiuJ4LGzEeCDe8CO90iVKQ">
+        <ownedComment xmi:id="_VX94RBE9EeGOffqMW1YiZA" annotatedElement="_WiuJ4LGzEeCDe8CO90iVKQ">
           <body>Specifies a string that is the comment.</body>
         </ownedComment>
         <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gz3UsNwbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VX94RRE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="_E-7IoKJ9EdywJr5C4uHLKw" name="CommunicationPath">
-      <ownedComment xmi:id="_gz37oNwbEeCT5O2F6sGn5g" annotatedElement="_E-7IoKJ9EdywJr5C4uHLKw">
+      <ownedComment xmi:id="_VX-fUBE9EeGOffqMW1YiZA" annotatedElement="_E-7IoKJ9EdywJr5C4uHLKw">
         <body>A communication path is an association between two deployment targets, through which they are able to exchange signals and messages.</body>
       </ownedComment>
-      <ownedRule xmi:id="_gz37odwbEeCT5O2F6sGn5g" name="association_ends" constrainedElement="_E-7IoKJ9EdywJr5C4uHLKw">
-        <ownedComment xmi:id="_gz37otwbEeCT5O2F6sGn5g" annotatedElement="_gz37odwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VX_GYBE9EeGOffqMW1YiZA" name="association_ends" constrainedElement="_E-7IoKJ9EdywJr5C4uHLKw">
+        <ownedComment xmi:id="_VX_GYRE9EeGOffqMW1YiZA" annotatedElement="_VX_GYBE9EeGOffqMW1YiZA">
           <body>The association ends of a CommunicationPath are typed by DeploymentTargets.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_gz37o9wbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VX_GYhE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>self.endType->forAll (t | t.oclIsKindOf(DeploymentTarget))</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_gz37pNwbEeCT5O2F6sGn5g" general="_AwvxoGwNEdq7X4sGURiZYA"/>
+      <generalization xmi:id="_VX_GYxE9EeGOffqMW1YiZA" general="_AwvxoGwNEdq7X4sGURiZYA"/>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="_DAbfwa69EdqjppZik4kD8A" name="Component">
-      <ownedComment xmi:id="_gz37pdwbEeCT5O2F6sGn5g" annotatedElement="_DAbfwa69EdqjppZik4kD8A">
-        <body>A component represents a modular part of a system that encapsulates its contents and whose manifestation is replaceable within its environment.</body>
-      </ownedComment>
-      <ownedComment xmi:id="_gz4isNwbEeCT5O2F6sGn5g" annotatedElement="_DAbfwa69EdqjppZik4kD8A">
+      <ownedComment xmi:id="_VX_GZBE9EeGOffqMW1YiZA" annotatedElement="_DAbfwa69EdqjppZik4kD8A">
         <body>In the namespace of a component, all model elements that are involved in or related to its definition are either owned or imported explicitly. This may include, for example, use cases and dependencies (e.g. mappings), packages, components, and artifacts.</body>
       </ownedComment>
-      <ownedRule xmi:id="_gz4isdwbEeCT5O2F6sGn5g" name="no_nested_classifiers" constrainedElement="_DAbfwa69EdqjppZik4kD8A">
-        <ownedComment xmi:id="_gz4istwbEeCT5O2F6sGn5g" annotatedElement="_gz4isdwbEeCT5O2F6sGn5g">
-          <body>A component cannot nest classifiers.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_gz4is9wbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>self.nestedClassifier->isEmpty()</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_gz4itNwbEeCT5O2F6sGn5g" name="no_packaged_elements" constrainedElement="_DAbfwa69EdqjppZik4kD8A">
-        <ownedComment xmi:id="_gz4itdwbEeCT5O2F6sGn5g" annotatedElement="_gz4itNwbEeCT5O2F6sGn5g">
+      <ownedComment xmi:id="_VX_tcBE9EeGOffqMW1YiZA" annotatedElement="_DAbfwa69EdqjppZik4kD8A">
+        <body>A component represents a modular part of a system that encapsulates its contents and whose manifestation is replaceable within its environment.</body>
+      </ownedComment>
+      <ownedRule xmi:id="_VX_tcRE9EeGOffqMW1YiZA" name="no_packaged_elements" constrainedElement="_DAbfwa69EdqjppZik4kD8A">
+        <ownedComment xmi:id="_VX_tchE9EeGOffqMW1YiZA" annotatedElement="_VX_tcRE9EeGOffqMW1YiZA">
           <body>component nested in a Class cannot have any packaged elements.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_gz4ittwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VX_tcxE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>(not self.class->isEmpty()) implies self.packagedElement->isEmpty()</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_gz4it9wbEeCT5O2F6sGn5g" general="_00owUGvdEdq4DLWZOhbdEA"/>
-      <ownedAttribute xmi:id="_gz4iuNwbEeCT5O2F6sGn5g" name="isIndirectlyInstantiated" visibility="public">
-        <ownedComment xmi:id="_gz4iudwbEeCT5O2F6sGn5g" annotatedElement="_gz4iuNwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VX_tdBE9EeGOffqMW1YiZA" name="no_nested_classifiers" constrainedElement="_DAbfwa69EdqjppZik4kD8A">
+        <ownedComment xmi:id="_VX_tdRE9EeGOffqMW1YiZA" annotatedElement="_VX_tdBE9EeGOffqMW1YiZA">
+          <body>A component cannot nest classifiers.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VX_tdhE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>self.nestedClassifier->isEmpty()</body>
+        </specification>
+      </ownedRule>
+      <generalization xmi:id="_VX_tdxE9EeGOffqMW1YiZA" general="_00owUGvdEdq4DLWZOhbdEA"/>
+      <ownedAttribute xmi:id="_VYAUgBE9EeGOffqMW1YiZA" name="isIndirectlyInstantiated" visibility="public">
+        <ownedComment xmi:id="_VYAUgRE9EeGOffqMW1YiZA" annotatedElement="_VYAUgBE9EeGOffqMW1YiZA">
           <body>isIndirectlyInstantiated : Boolean {default = true} The kind of instantiation that applies to a Component. If false, the component is instantiated as an addressable object. If true, the Component is defined at design-time, but at run-time (or execution-time) an object specified by the Component does not exist, that is, the component is instantiated indirectly, through the instantiation of its realizing classifiers or parts. Several standard stereotypes use this meta attribute (e.g., «specification», «focus», «subsystem»).</body>
         </ownedComment>
         <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
-        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_gz4iutwbEeCT5O2F6sGn5g" value="true"/>
+        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_VYAUghE9EeGOffqMW1YiZA" value="true"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_gz4iu9wbEeCT5O2F6sGn5g" name="packagedElement" visibility="public" type="_jKxnwGwLEdq7X4sGURiZYA" aggregation="composite" subsettedProperty="_g1S4AdwbEeCT5O2F6sGn5g" association="_gyrBy9wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gz4ivNwbEeCT5O2F6sGn5g" annotatedElement="_gz4iu9wbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VYAUgxE9EeGOffqMW1YiZA" name="packagedElement" visibility="public" type="_jKxnwGwLEdq7X4sGURiZYA" aggregation="composite" subsettedProperty="_Var1EBE9EeGOffqMW1YiZA" association="_VUGr8BE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VYAUhBE9EeGOffqMW1YiZA" annotatedElement="_VYAUgxE9EeGOffqMW1YiZA">
           <body>The set of PackageableElements that a Component owns. In the namespace of a component, all model elements that are involved in or related to its definition may be owned or imported explicitly. These may include e.g. Classes, Interfaces, Components, Packages, Use cases, Dependencies (e.g. mappings), and Artifacts.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gz4ivdwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gz4ivtwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VYAUhRE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VYAUhhE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_gz4iv9wbEeCT5O2F6sGn5g" name="provided" visibility="public" type="_8Ugn8GvtEdqG6fBIPwe-mw" isReadOnly="true" isDerived="true" association="_gyuFENwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gz4iwNwbEeCT5O2F6sGn5g" annotatedElement="_gz4iv9wbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VYAUhxE9EeGOffqMW1YiZA" name="provided" visibility="public" type="_8Ugn8GvtEdqG6fBIPwe-mw" isReadOnly="true" isDerived="true" association="_VULkdBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VYAUiBE9EeGOffqMW1YiZA" annotatedElement="_VYAUhxE9EeGOffqMW1YiZA">
           <body>The interfaces that the component exposes to its environment. These interfaces may be Realized by the Component or any of its realizingClassifiers, or they may be the Interfaces that are provided by its public Ports.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gz4iwdwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gz4iwtwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VYAUiRE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VYAUihE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_gz4iw9wbEeCT5O2F6sGn5g" name="realization" visibility="public" type="_gz6-8NwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_g0JocNwbEeCT5O2F6sGn5g _gy8HhdwbEeCT5O2F6sGn5g" association="_gyusK9wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gz4ixNwbEeCT5O2F6sGn5g" annotatedElement="_gz4iw9wbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VYAUixE9EeGOffqMW1YiZA" name="realization" visibility="public" type="_VYEl8BE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_VUo3cRE9EeGOffqMW1YiZA _GDD2YAtAEeGcpbeCPJfCmw" association="_VUNZpBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VYAUjBE9EeGOffqMW1YiZA" annotatedElement="_VYAUixE9EeGOffqMW1YiZA">
           <body>The set of Realizations owned by the Component. Realizations reference the Classifiers of which the Component is an abstraction; i.e., that realize its behavior.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gz4ixdwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gz4ixtwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VYAUjRE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VYAUjhE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_gz5JwNwbEeCT5O2F6sGn5g" name="required" visibility="public" type="_8Ugn8GvtEdqG6fBIPwe-mw" isReadOnly="true" isDerived="true" association="_gy0LsNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gz5JwdwbEeCT5O2F6sGn5g" annotatedElement="_gz5JwNwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VYA7kBE9EeGOffqMW1YiZA" name="required" visibility="public" type="_8Ugn8GvtEdqG6fBIPwe-mw" isReadOnly="true" isDerived="true" association="_VUcDIBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VYA7kRE9EeGOffqMW1YiZA" annotatedElement="_VYA7kBE9EeGOffqMW1YiZA">
           <body>The interfaces that the component requires from other components in its environment in order to be able to offer its full set of provided functionality. These interfaces may be used by the Component or any of its realizingClassifiers, or they may be the Interfaces that are required by its public Ports.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gz5JwtwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gz5Jw9wbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VYA7khE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VYA7kxE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
       <ownedOperation xmi:id="_IJwKAK69EdqjppZik4kD8A" name="createOwnedClass">
         <ownedComment xmi:id="_gykdUPZPEdqYHf-imTcTdw" annotatedElement="_IJwKAK69EdqjppZik4kD8A">
@@ -4589,12 +4589,12 @@
           <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
         </ownedParameter>
       </ownedOperation>
-      <ownedOperation xmi:id="_PGB0gLLUEeCsYvaJqFFivQ" name="provided" visibility="public" bodyCondition="_gz5JxdwbEeCT5O2F6sGn5g" isQuery="true">
-        <ownedComment xmi:id="_gz5JxNwbEeCT5O2F6sGn5g" annotatedElement="_PGB0gLLUEeCsYvaJqFFivQ">
+      <ownedOperation xmi:id="_PGB0gLLUEeCsYvaJqFFivQ" name="provided" visibility="public" bodyCondition="_VYA7lRE9EeGOffqMW1YiZA" isQuery="true">
+        <ownedComment xmi:id="_VYA7lBE9EeGOffqMW1YiZA" annotatedElement="_PGB0gLLUEeCsYvaJqFFivQ">
           <body>Missing derivation for Component::/provided : Interface</body>
         </ownedComment>
-        <ownedRule xmi:id="_gz5JxdwbEeCT5O2F6sGn5g" name="spec" constrainedElement="_PGB0gLLUEeCsYvaJqFFivQ _gz4iv9wbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_gz5JxtwbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VYA7lRE9EeGOffqMW1YiZA" name="spec" constrainedElement="_PGB0gLLUEeCsYvaJqFFivQ _VYAUhxE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VYA7lhE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result =
 let 	realizedInterfaces : Set(Interface) = RealizedInterfaces(self) ,
@@ -4608,34 +4608,34 @@
           </specification>
         </ownedRule>
         <ownedParameter xmi:id="_R-77ULLUEeCsYvaJqFFivQ" name="result" visibility="public" type="_8Ugn8GvtEdqG6fBIPwe-mw" direction="return">
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gz5Jx9wbEeCT5O2F6sGn5g"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gz5JyNwbEeCT5O2F6sGn5g" value="*"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VYA7lxE9EeGOffqMW1YiZA"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VYA7mBE9EeGOffqMW1YiZA" value="*"/>
         </ownedParameter>
       </ownedOperation>
-      <ownedOperation xmi:id="_gz5JydwbEeCT5O2F6sGn5g" name="realizedInterfaces" visibility="public" bodyCondition="_gz5w0NwbEeCT5O2F6sGn5g" isQuery="true">
-        <ownedComment xmi:id="_gz5JytwbEeCT5O2F6sGn5g" annotatedElement="_gz5JydwbEeCT5O2F6sGn5g">
+      <ownedOperation xmi:id="_VYCJsBE9EeGOffqMW1YiZA" name="realizedInterfaces" visibility="public" bodyCondition="_VYCJshE9EeGOffqMW1YiZA" isQuery="true">
+        <ownedComment xmi:id="_VYCJsRE9EeGOffqMW1YiZA" annotatedElement="_VYCJsBE9EeGOffqMW1YiZA">
           <body>Utility returning the set of realized interfaces of a component.</body>
         </ownedComment>
-        <ownedRule xmi:id="_gz5w0NwbEeCT5O2F6sGn5g" name="spec" constrainedElement="_gz5JydwbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_gz5w0dwbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VYCJshE9EeGOffqMW1YiZA" name="spec" constrainedElement="_VYCJsBE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VYCJsxE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = (classifier.clientDependency->
 select(dependency|dependency.oclIsKindOf(Realization) and dependency.supplier.oclIsKindOf(Interface)))->
 collect(dependency|dependency.client)</body>
           </specification>
         </ownedRule>
-        <ownedParameter xmi:id="_gz5w0twbEeCT5O2F6sGn5g" name="result" visibility="public" type="_8Ugn8GvtEdqG6fBIPwe-mw" direction="return">
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gz5w09wbEeCT5O2F6sGn5g"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gz5w1NwbEeCT5O2F6sGn5g" value="*"/>
+        <ownedParameter xmi:id="_VYCJtBE9EeGOffqMW1YiZA" name="result" visibility="public" type="_8Ugn8GvtEdqG6fBIPwe-mw" direction="return">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VYCJtRE9EeGOffqMW1YiZA"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VYCJthE9EeGOffqMW1YiZA" value="*"/>
         </ownedParameter>
-        <ownedParameter xmi:id="_gz5w1dwbEeCT5O2F6sGn5g" name="classifier" visibility="public" type="_6UV2QGwJEdq7X4sGURiZYA"/>
+        <ownedParameter xmi:id="_VYCJtxE9EeGOffqMW1YiZA" name="classifier" visibility="public" type="_6UV2QGwJEdq7X4sGURiZYA"/>
       </ownedOperation>
-      <ownedOperation xmi:id="_lHjyALLUEeCsYvaJqFFivQ" name="required" visibility="public" bodyCondition="_gz5w19wbEeCT5O2F6sGn5g" isQuery="true">
-        <ownedComment xmi:id="_gz5w1twbEeCT5O2F6sGn5g" annotatedElement="_lHjyALLUEeCsYvaJqFFivQ">
+      <ownedOperation xmi:id="_lHjyALLUEeCsYvaJqFFivQ" name="required" visibility="public" bodyCondition="_VYCJuRE9EeGOffqMW1YiZA" isQuery="true">
+        <ownedComment xmi:id="_VYCJuBE9EeGOffqMW1YiZA" annotatedElement="_lHjyALLUEeCsYvaJqFFivQ">
           <body>Missing derivation for Component::/required : Interface</body>
         </ownedComment>
-        <ownedRule xmi:id="_gz5w19wbEeCT5O2F6sGn5g" name="spec" constrainedElement="_lHjyALLUEeCsYvaJqFFivQ _gz5JwNwbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_gz5w2NwbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VYCJuRE9EeGOffqMW1YiZA" name="spec" constrainedElement="_lHjyALLUEeCsYvaJqFFivQ _VYA7kBE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VYCJuhE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = 
 let 	usedInterfaces : Set(Interface) = UsedInterfaces(self),
@@ -4649,309 +4649,309 @@
           </specification>
         </ownedRule>
         <ownedParameter xmi:id="_lHjyAbLUEeCsYvaJqFFivQ" name="result" visibility="public" type="_8Ugn8GvtEdqG6fBIPwe-mw" direction="return">
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gz5w2dwbEeCT5O2F6sGn5g"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gz5w2twbEeCT5O2F6sGn5g" value="*"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VYCJuxE9EeGOffqMW1YiZA"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VYCJvBE9EeGOffqMW1YiZA" value="*"/>
         </ownedParameter>
       </ownedOperation>
-      <ownedOperation xmi:id="_gz5w29wbEeCT5O2F6sGn5g" name="usedInterfaces" visibility="public" bodyCondition="_gz5w3dwbEeCT5O2F6sGn5g" isQuery="true">
-        <ownedComment xmi:id="_gz5w3NwbEeCT5O2F6sGn5g" annotatedElement="_gz5w29wbEeCT5O2F6sGn5g">
+      <ownedOperation xmi:id="_VYDX0BE9EeGOffqMW1YiZA" name="usedInterfaces" visibility="public" bodyCondition="_VYDX0hE9EeGOffqMW1YiZA" isQuery="true">
+        <ownedComment xmi:id="_VYDX0RE9EeGOffqMW1YiZA" annotatedElement="_VYDX0BE9EeGOffqMW1YiZA">
           <body>Utility returning the set of used interfaces of a component.</body>
         </ownedComment>
-        <ownedRule xmi:id="_gz5w3dwbEeCT5O2F6sGn5g" name="spec" constrainedElement="_gz5w29wbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_gz5w3twbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VYDX0hE9EeGOffqMW1YiZA" name="spec" constrainedElement="_VYDX0BE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VYDX0xE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = (classifier.supplierDependency->
 select(dependency|dependency.oclIsKindOf(Usage) and dependency.supplier.oclIsKindOf(interface)))->
 collect(dependency|dependency.supplier)</body>
           </specification>
         </ownedRule>
-        <ownedParameter xmi:id="_gz5w39wbEeCT5O2F6sGn5g" name="result" visibility="public" type="_8Ugn8GvtEdqG6fBIPwe-mw" direction="return">
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gz5w4NwbEeCT5O2F6sGn5g"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gz5w4dwbEeCT5O2F6sGn5g" value="*"/>
+        <ownedParameter xmi:id="_VYDX1BE9EeGOffqMW1YiZA" name="result" visibility="public" type="_8Ugn8GvtEdqG6fBIPwe-mw" direction="return">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VYDX1RE9EeGOffqMW1YiZA"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VYDX1hE9EeGOffqMW1YiZA" value="*"/>
         </ownedParameter>
-        <ownedParameter xmi:id="_gz5w4twbEeCT5O2F6sGn5g" name="classifier" visibility="public" type="_6UV2QGwJEdq7X4sGURiZYA"/>
+        <ownedParameter xmi:id="_VYDX1xE9EeGOffqMW1YiZA" name="classifier" visibility="public" type="_6UV2QGwJEdq7X4sGURiZYA"/>
       </ownedOperation>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_gz6-8NwbEeCT5O2F6sGn5g" name="ComponentRealization">
-      <ownedComment xmi:id="_gz6-8dwbEeCT5O2F6sGn5g" annotatedElement="_gz6-8NwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VYEl8BE9EeGOffqMW1YiZA" name="ComponentRealization">
+      <ownedComment xmi:id="_VYEl8RE9EeGOffqMW1YiZA" annotatedElement="_VYEl8BE9EeGOffqMW1YiZA">
         <body>The realization concept is specialized to (optionally) define the classifiers that realize the contract offered by a component in terms of its provided and required interfaces. The component forms an abstraction from these various classifiers.</body>
       </ownedComment>
-      <generalization xmi:id="_gz6-8twbEeCT5O2F6sGn5g" general="_g14Gx9wbEeCT5O2F6sGn5g"/>
-      <ownedAttribute xmi:id="_gz6-89wbEeCT5O2F6sGn5g" name="abstraction" visibility="public" type="_DAbfwa69EdqjppZik4kD8A" subsettedProperty="_g0EI5twbEeCT5O2F6sGn5g _g0JodNwbEeCT5O2F6sGn5g" association="_gyusK9wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gz6-9NwbEeCT5O2F6sGn5g" annotatedElement="_gz6-89wbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_VYEl8hE9EeGOffqMW1YiZA" general="_Vdi72xE9EeGOffqMW1YiZA"/>
+      <ownedAttribute xmi:id="_VYEl8xE9EeGOffqMW1YiZA" name="abstraction" visibility="public" type="_DAbfwa69EdqjppZik4kD8A" subsettedProperty="_VYyXoxE9EeGOffqMW1YiZA _N3hRMAtAEeGcpbeCPJfCmw" association="_VUNZpBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VYEl9BE9EeGOffqMW1YiZA" annotatedElement="_VYEl8xE9EeGOffqMW1YiZA">
           <body>The Component that owns this ComponentRealization and which is implemented by its realizing classifiers.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gz6-9dwbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VYEl9RE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_gz6-9twbEeCT5O2F6sGn5g" name="realizingClassifier" visibility="public" type="_6UV2QGwJEdq7X4sGURiZYA" subsettedProperty="_g0EI49wbEeCT5O2F6sGn5g" association="_gyvTNNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gz6-99wbEeCT5O2F6sGn5g" annotatedElement="_gz6-9twbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VYEl9hE9EeGOffqMW1YiZA" name="realizingClassifier" visibility="public" type="_6UV2QGwJEdq7X4sGURiZYA" subsettedProperty="_VYyXoBE9EeGOffqMW1YiZA" association="_VUPO0BE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VYEl9xE9EeGOffqMW1YiZA" annotatedElement="_VYEl9hE9EeGOffqMW1YiZA">
           <body>The classifiers that are involved in the implementation of the Component that owns this Realization.</body>
         </ownedComment>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gz6--NwbEeCT5O2F6sGn5g" value="*"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VYEl-BE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_gz7mANwbEeCT5O2F6sGn5g" name="ConditionalNode">
-      <ownedComment xmi:id="_gz7mAdwbEeCT5O2F6sGn5g" annotatedElement="_gz7mANwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VYGbIBE9EeGOffqMW1YiZA" name="ConditionalNode">
+      <ownedComment xmi:id="_VYGbIRE9EeGOffqMW1YiZA" annotatedElement="_VYGbIBE9EeGOffqMW1YiZA">
         <body>A conditional node is a structured activity node that represents an exclusive choice among some number of alternatives.</body>
       </ownedComment>
-      <ownedRule xmi:id="_gz7mAtwbEeCT5O2F6sGn5g" name="result_no_incoming" constrainedElement="_gz7mANwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gz7mA9wbEeCT5O2F6sGn5g" annotatedElement="_gz7mAtwbEeCT5O2F6sGn5g">
-          <body>The result output pins have no incoming edges.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_gz7mBNwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>true</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_gz7mBdwbEeCT5O2F6sGn5g" name="no_input_pins" constrainedElement="_gz7mANwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gz7mBtwbEeCT5O2F6sGn5g" annotatedElement="_gz7mBdwbEeCT5O2F6sGn5g">
-          <body>A conditional node has no input pins.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_gz7mB9wbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>true</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_gz7mCNwbEeCT5O2F6sGn5g" name="one_clause_with_executable_node" constrainedElement="_gz7mANwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gz7mCdwbEeCT5O2F6sGn5g" annotatedElement="_gz7mCNwbEeCT5O2F6sGn5g">
-          <body>No ExecutableNode may appear in the test or body part of more than one clause of a conditional node.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_gz7mCtwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>true</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_gz7mC9wbEeCT5O2F6sGn5g" name="matching_output_pins" constrainedElement="_gz7mANwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gz7mDNwbEeCT5O2F6sGn5g" annotatedElement="_gz7mC9wbEeCT5O2F6sGn5g">
-          <body>Each clause of a conditional node must have the same number of bodyOutput pins as the conditional node has result output pins, and each clause bodyOutput pin must be compatible with the corresponding result pin (by positional order) in type, multiplicity, ordering and uniqueness.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_gz7mDdwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>true</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_gz7mDtwbEeCT5O2F6sGn5g" name="executable_nodes" constrainedElement="_gz7mANwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gz7mD9wbEeCT5O2F6sGn5g" annotatedElement="_gz7mDtwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VYGbIhE9EeGOffqMW1YiZA" name="executable_nodes" constrainedElement="_VYGbIBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VYGbIxE9EeGOffqMW1YiZA" annotatedElement="_VYGbIhE9EeGOffqMW1YiZA">
           <body>The union of the ExecutabledNodes in the test and body parts of all clauses must be the same as the subset of nodes contained in the ConditionalNode (considered as a StructuredActivityNode) that are ExecutableNodes.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_gz7mENwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VYGbJBE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>true</body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_gz7mEdwbEeCT5O2F6sGn5g" name="clause_no_predecessor" constrainedElement="_gz7mANwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gz7mEtwbEeCT5O2F6sGn5g" annotatedElement="_gz7mEdwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VYGbJRE9EeGOffqMW1YiZA" name="clause_no_predecessor" constrainedElement="_VYGbIBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VYGbJhE9EeGOffqMW1YiZA" annotatedElement="_VYGbJRE9EeGOffqMW1YiZA">
           <body>No two clauses within a ConditionalNode maybe predecessor clauses of each other, either directly or indirectly.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_gz7mE9wbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VYGbJxE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>true</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_gz7mFNwbEeCT5O2F6sGn5g" general="_w1_2cLLREeCsYvaJqFFivQ"/>
-      <ownedAttribute xmi:id="_gz7mFdwbEeCT5O2F6sGn5g" name="clause" visibility="public" type="_gz0RQNwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_g0JocNwbEeCT5O2F6sGn5g" association="_gyVDhdwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gz7mFtwbEeCT5O2F6sGn5g" annotatedElement="_gz7mFdwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VYGbKBE9EeGOffqMW1YiZA" name="matching_output_pins" constrainedElement="_VYGbIBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VYGbKRE9EeGOffqMW1YiZA" annotatedElement="_VYGbKBE9EeGOffqMW1YiZA">
+          <body>Each clause of a conditional node must have the same number of bodyOutput pins as the conditional node has result output pins, and each clause bodyOutput pin must be compatible with the corresponding result pin (by positional order) in type, multiplicity, ordering and uniqueness.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VYGbKhE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>true</body>
+        </specification>
+      </ownedRule>
+      <ownedRule xmi:id="_VYGbKxE9EeGOffqMW1YiZA" name="one_clause_with_executable_node" constrainedElement="_VYGbIBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VYGbLBE9EeGOffqMW1YiZA" annotatedElement="_VYGbKxE9EeGOffqMW1YiZA">
+          <body>No ExecutableNode may appear in the test or body part of more than one clause of a conditional node.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VYGbLRE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>true</body>
+        </specification>
+      </ownedRule>
+      <ownedRule xmi:id="_VYGbLhE9EeGOffqMW1YiZA" name="result_no_incoming" constrainedElement="_VYGbIBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VYGbLxE9EeGOffqMW1YiZA" annotatedElement="_VYGbLhE9EeGOffqMW1YiZA">
+          <body>The result output pins have no incoming edges.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VYGbMBE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>true</body>
+        </specification>
+      </ownedRule>
+      <ownedRule xmi:id="_VYGbMRE9EeGOffqMW1YiZA" name="no_input_pins" constrainedElement="_VYGbIBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VYGbMhE9EeGOffqMW1YiZA" annotatedElement="_VYGbMRE9EeGOffqMW1YiZA">
+          <body>A conditional node has no input pins.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VYGbMxE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>true</body>
+        </specification>
+      </ownedRule>
+      <generalization xmi:id="_VYGbNBE9EeGOffqMW1YiZA" general="_w1_2cLLREeCsYvaJqFFivQ"/>
+      <ownedAttribute xmi:id="_VYGbNRE9EeGOffqMW1YiZA" name="clause" visibility="public" type="_VX3xoBE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_GDD2YAtAEeGcpbeCPJfCmw" association="_VTEKJRE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VYGbNhE9EeGOffqMW1YiZA" annotatedElement="_VYGbNRE9EeGOffqMW1YiZA">
           <body>Set of clauses composing the conditional.</body>
         </ownedComment>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gz7mF9wbEeCT5O2F6sGn5g" value="*"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VYGbNxE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_gz7mGNwbEeCT5O2F6sGn5g" name="isAssured" visibility="public">
-        <ownedComment xmi:id="_gz7mGdwbEeCT5O2F6sGn5g" annotatedElement="_gz7mGNwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VYGbOBE9EeGOffqMW1YiZA" name="isAssured" visibility="public">
+        <ownedComment xmi:id="_VYGbORE9EeGOffqMW1YiZA" annotatedElement="_VYGbOBE9EeGOffqMW1YiZA">
           <body>If true, the modeler asserts that at least one test will succeed.</body>
         </ownedComment>
         <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
-        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_gz7mGtwbEeCT5O2F6sGn5g"/>
+        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_VYGbOhE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_gz7mG9wbEeCT5O2F6sGn5g" name="isDeterminate" visibility="public">
-        <ownedComment xmi:id="_gz7mHNwbEeCT5O2F6sGn5g" annotatedElement="_gz7mG9wbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VYGbOxE9EeGOffqMW1YiZA" name="isDeterminate" visibility="public">
+        <ownedComment xmi:id="_VYGbPBE9EeGOffqMW1YiZA" annotatedElement="_VYGbOxE9EeGOffqMW1YiZA">
           <body>If true, the modeler asserts that at most one test will succeed.</body>
         </ownedComment>
         <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
-        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_gz7mHdwbEeCT5O2F6sGn5g"/>
+        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_VYGbPRE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_gz7mHtwbEeCT5O2F6sGn5g" name="result" visibility="public" type="_g1fsRdwbEeCT5O2F6sGn5g" isOrdered="true" aggregation="composite" redefinedProperty="_g2IlgdwbEeCT5O2F6sGn5g" association="_gy0ywNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gz7mH9wbEeCT5O2F6sGn5g" annotatedElement="_gz7mHtwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VYGbPhE9EeGOffqMW1YiZA" name="result" visibility="public" type="_VcHYcBE9EeGOffqMW1YiZA" isOrdered="true" aggregation="composite" redefinedProperty="_VeiaWhE9EeGOffqMW1YiZA" association="_VUcqNhE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VYGbPxE9EeGOffqMW1YiZA" annotatedElement="_VYGbPhE9EeGOffqMW1YiZA">
           <body>A list of output pins that constitute the data flow outputs of the conditional.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gz7mINwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gz7mIdwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VYGbQBE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VYGbQRE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="_0dB44PnhEdunWsS3se92JQ" name="ConnectableElement" isAbstract="true">
-      <ownedComment xmi:id="_gz7mItwbEeCT5O2F6sGn5g" annotatedElement="_0dB44PnhEdunWsS3se92JQ">
+      <ownedComment xmi:id="_VYHpQBE9EeGOffqMW1YiZA" annotatedElement="_0dB44PnhEdunWsS3se92JQ">
         <body>ConnectableElement is an abstract metaclass representing a set of instances that play roles of a classifier. Connectable elements may be joined by attached connectors and specify configurations of linked instances to be created within an instance of the containing classifier.</body>
       </ownedComment>
-      <ownedComment xmi:id="_gz7mI9wbEeCT5O2F6sGn5g" annotatedElement="_0dB44PnhEdunWsS3se92JQ">
+      <ownedComment xmi:id="_VYHpQRE9EeGOffqMW1YiZA" annotatedElement="_0dB44PnhEdunWsS3se92JQ">
         <body>A connectable element may be exposed as a connectable element template parameter.</body>
       </ownedComment>
-      <generalization xmi:id="_gz7mJNwbEeCT5O2F6sGn5g" general="_g2UysNwbEeCT5O2F6sGn5g"/>
-      <generalization xmi:id="_gz7mJdwbEeCT5O2F6sGn5g" general="_g1noENwbEeCT5O2F6sGn5g"/>
-      <ownedAttribute xmi:id="_gz7mJtwbEeCT5O2F6sGn5g" name="end" visibility="public" type="_aOgw0GveEdq4DLWZOhbdEA" isOrdered="true" isReadOnly="true" isDerived="true" association="_81UZgPnhEdunWsS3se92JQ">
-        <ownedComment xmi:id="_gz7mJ9wbEeCT5O2F6sGn5g" annotatedElement="_gz7mJtwbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_VYHpQhE9EeGOffqMW1YiZA" general="_VfDXsBE9EeGOffqMW1YiZA"/>
+      <generalization xmi:id="_VYHpQxE9EeGOffqMW1YiZA" general="_Vc730BE9EeGOffqMW1YiZA"/>
+      <ownedAttribute xmi:id="_VYIQUBE9EeGOffqMW1YiZA" name="end" visibility="public" type="_aOgw0GveEdq4DLWZOhbdEA" isOrdered="true" isReadOnly="true" isDerived="true" association="_81UZgPnhEdunWsS3se92JQ">
+        <ownedComment xmi:id="_VYIQURE9EeGOffqMW1YiZA" annotatedElement="_VYIQUBE9EeGOffqMW1YiZA">
           <body>Denotes a set of connector ends that attaches to this connectable element.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gz7mKNwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gz7mKdwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VYIQUhE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VYIQUxE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_gz7mKtwbEeCT5O2F6sGn5g" name="templateParameter" visibility="public" type="_gz80INwbEeCT5O2F6sGn5g" redefinedProperty="_g1noFtwbEeCT5O2F6sGn5g" association="_gyVqmNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gz7mK9wbEeCT5O2F6sGn5g" annotatedElement="_gz7mKtwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VYIQVBE9EeGOffqMW1YiZA" name="templateParameter" visibility="public" type="_VYJecBE9EeGOffqMW1YiZA" redefinedProperty="_Vc731hE9EeGOffqMW1YiZA" association="_VTF_VRE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VYIQVRE9EeGOffqMW1YiZA" annotatedElement="_VYIQVBE9EeGOffqMW1YiZA">
           <body>The ConnectableElementTemplateParameter for this ConnectableElement parameter.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gz7mLNwbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VYIQVhE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedOperation xmi:id="_ETr20LLVEeCsYvaJqFFivQ" name="end" visibility="public" bodyCondition="_gz8NEdwbEeCT5O2F6sGn5g" isQuery="true">
-        <ownedComment xmi:id="_gz8NENwbEeCT5O2F6sGn5g" annotatedElement="_ETr20LLVEeCsYvaJqFFivQ">
+      <ownedOperation xmi:id="_ETr20LLVEeCsYvaJqFFivQ" name="end" visibility="public" bodyCondition="_VYIQWBE9EeGOffqMW1YiZA" isQuery="true">
+        <ownedComment xmi:id="_VYIQVxE9EeGOffqMW1YiZA" annotatedElement="_ETr20LLVEeCsYvaJqFFivQ">
           <body>Missing derivation for ConnectableElement::/end : ConnectorEnd</body>
         </ownedComment>
-        <ownedRule xmi:id="_gz8NEdwbEeCT5O2F6sGn5g" name="spec" constrainedElement="_ETr20LLVEeCsYvaJqFFivQ _gz7mJtwbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_gz8NEtwbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VYIQWBE9EeGOffqMW1YiZA" name="spec" constrainedElement="_ETr20LLVEeCsYvaJqFFivQ _VYIQUBE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VYIQWRE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>true</body>
           </specification>
         </ownedRule>
         <ownedParameter xmi:id="_Hrm04LLVEeCsYvaJqFFivQ" name="result" visibility="public" type="_aOgw0GveEdq4DLWZOhbdEA" direction="return">
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gz8NE9wbEeCT5O2F6sGn5g"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gz8NFNwbEeCT5O2F6sGn5g" value="*"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VYI3YBE9EeGOffqMW1YiZA"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VYI3YRE9EeGOffqMW1YiZA" value="*"/>
         </ownedParameter>
       </ownedOperation>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_gz80INwbEeCT5O2F6sGn5g" name="ConnectableElementTemplateParameter">
-      <ownedComment xmi:id="_gz80IdwbEeCT5O2F6sGn5g" annotatedElement="_gz80INwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VYJecBE9EeGOffqMW1YiZA" name="ConnectableElementTemplateParameter">
+      <ownedComment xmi:id="_VYJecRE9EeGOffqMW1YiZA" annotatedElement="_VYJecBE9EeGOffqMW1YiZA">
         <body>A connectable element template parameter exposes a connectable element as a formal parameter for a template.</body>
       </ownedComment>
-      <generalization xmi:id="_gz80ItwbEeCT5O2F6sGn5g" general="_KxRzgGvuEdqG6fBIPwe-mw"/>
-      <ownedAttribute xmi:id="_gz80I9wbEeCT5O2F6sGn5g" name="parameteredElement" visibility="public" type="_0dB44PnhEdunWsS3se92JQ" redefinedProperty="_g2M25twbEeCT5O2F6sGn5g" association="_gyVqmNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gz80JNwbEeCT5O2F6sGn5g" annotatedElement="_gz80I9wbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_VYJechE9EeGOffqMW1YiZA" general="_KxRzgGvuEdqG6fBIPwe-mw"/>
+      <ownedAttribute xmi:id="_VYJecxE9EeGOffqMW1YiZA" name="parameteredElement" visibility="public" type="_0dB44PnhEdunWsS3se92JQ" redefinedProperty="_Veq9MxE9EeGOffqMW1YiZA" association="_VTF_VRE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VYJedBE9EeGOffqMW1YiZA" annotatedElement="_VYJecxE9EeGOffqMW1YiZA">
           <body>The ConnectableElement for this template parameter.</body>
         </ownedComment>
       </ownedAttribute>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_gz80JdwbEeCT5O2F6sGn5g" name="ConnectionPointReference">
-      <ownedComment xmi:id="_gz80JtwbEeCT5O2F6sGn5g" annotatedElement="_gz80JdwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VYKskBE9EeGOffqMW1YiZA" name="ConnectionPointReference">
+      <ownedComment xmi:id="_VYKskRE9EeGOffqMW1YiZA" annotatedElement="_VYKskBE9EeGOffqMW1YiZA">
         <body>A connection point reference represents a usage (as part of a submachine state) of an entry/exit point defined in the statemachine reference by the submachine state.</body>
       </ownedComment>
-      <ownedRule xmi:id="_gz80J9wbEeCT5O2F6sGn5g" name="exit_pseudostates" constrainedElement="_gz80JdwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gz80KNwbEeCT5O2F6sGn5g" annotatedElement="_gz80J9wbEeCT5O2F6sGn5g">
-          <body>The exit Pseudostates must be Pseudostates with kind exitPoint.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_gz80KdwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>exit->notEmpty() implies exit->forAll(e | e.kind = #exitPoint)</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_gz80KtwbEeCT5O2F6sGn5g" name="entry_pseudostates" constrainedElement="_gz80JdwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gz80K9wbEeCT5O2F6sGn5g" annotatedElement="_gz80KtwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VYKskhE9EeGOffqMW1YiZA" name="entry_pseudostates" constrainedElement="_VYKskBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VYKskxE9EeGOffqMW1YiZA" annotatedElement="_VYKskhE9EeGOffqMW1YiZA">
           <body>The entry Pseudostates must be Pseudostates with kind entryPoint.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_gz80LNwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VYKslBE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>entry->notEmpty() implies entry->forAll(e | e.kind = #entryPoint)</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_gz80LdwbEeCT5O2F6sGn5g" general="_xM1WoPnlEdunWsS3se92JQ"/>
-      <ownedAttribute xmi:id="_gz80LtwbEeCT5O2F6sGn5g" name="entry" visibility="public" type="_g1zOQNwbEeCT5O2F6sGn5g" association="_gyajE9wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gz80L9wbEeCT5O2F6sGn5g" annotatedElement="_gz80LtwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VYKslRE9EeGOffqMW1YiZA" name="exit_pseudostates" constrainedElement="_VYKskBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VYKslhE9EeGOffqMW1YiZA" annotatedElement="_VYKslRE9EeGOffqMW1YiZA">
+          <body>The exit Pseudostates must be Pseudostates with kind exitPoint.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VYKslxE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>exit->notEmpty() implies exit->forAll(e | e.kind = #exitPoint)</body>
+        </specification>
+      </ownedRule>
+      <generalization xmi:id="_VYKsmBE9EeGOffqMW1YiZA" general="_xM1WoPnlEdunWsS3se92JQ"/>
+      <ownedAttribute xmi:id="_VYKsmRE9EeGOffqMW1YiZA" name="entry" visibility="public" type="_VdaY8BE9EeGOffqMW1YiZA" association="_VTUBwBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VYKsmhE9EeGOffqMW1YiZA" annotatedElement="_VYKsmRE9EeGOffqMW1YiZA">
           <body>The entryPoint kind pseudo states corresponding to this connection point.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gz80MNwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gz80MdwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VYKsmxE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VYKsnBE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_gz80MtwbEeCT5O2F6sGn5g" name="exit" visibility="public" type="_g1zOQNwbEeCT5O2F6sGn5g" association="_gybxN9wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gz80M9wbEeCT5O2F6sGn5g" annotatedElement="_gz80MtwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VYKsnRE9EeGOffqMW1YiZA" name="exit" visibility="public" type="_VdaY8BE9EeGOffqMW1YiZA" association="_VTXFFBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VYKsnhE9EeGOffqMW1YiZA" annotatedElement="_VYKsnRE9EeGOffqMW1YiZA">
           <body>The exitPoints kind pseudo states corresponding to this connection point.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gz80NNwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gz80NdwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VYKsnxE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VYKsoBE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_gz80NtwbEeCT5O2F6sGn5g" name="state" visibility="public" type="_g2Ce0NwbEeCT5O2F6sGn5g" subsettedProperty="_1vzv0LbIEeCRxrN1JUGuxA" association="_gyVqm9wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gz80N9wbEeCT5O2F6sGn5g" annotatedElement="_gz80NtwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VYKsoRE9EeGOffqMW1YiZA" name="state" visibility="public" type="_VeRUkBE9EeGOffqMW1YiZA" subsettedProperty="_1vzv0LbIEeCRxrN1JUGuxA" association="_VTGmYhE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VYKsohE9EeGOffqMW1YiZA" annotatedElement="_VYKsoRE9EeGOffqMW1YiZA">
           <body>The State in which the connection point refreshens are defined.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gz80ONwbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VYKsoxE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="_YxC2YLLWEeCsYvaJqFFivQ" name="Connector">
-      <ownedComment xmi:id="_gz9bMNwbEeCT5O2F6sGn5g" annotatedElement="_YxC2YLLWEeCsYvaJqFFivQ">
+      <ownedComment xmi:id="_VYKspBE9EeGOffqMW1YiZA" annotatedElement="_YxC2YLLWEeCsYvaJqFFivQ">
         <body>A delegation connector is a connector that links the external contract of a component (as specified by its ports) to the realization of that behavior. It represents the forwarding of events (operation requests and events): a signal that arrives at a port that has a delegation connector to one or more parts or ports on parts will be passed on to those targets for handling. An assembly connector is a connector between two or more parts or ports on parts that defines that one or more parts provide the services that other parts use.</body>
       </ownedComment>
-      <ownedComment xmi:id="_gz9bMdwbEeCT5O2F6sGn5g" annotatedElement="_YxC2YLLWEeCsYvaJqFFivQ">
+      <ownedComment xmi:id="_VYLToBE9EeGOffqMW1YiZA" annotatedElement="_YxC2YLLWEeCsYvaJqFFivQ">
         <body>Specifies a link that enables communication between two or more instances. This link may be an instance of an association, or it may represent the possibility of the instances being able to communicate because their identities are known by virtue of being passed in as parameters, held in variables or slots, or because the communicating instances are the same instance. The link may be realized by something as simple as a pointer or by something as complex as a network connection. In contrast to associations, which specify links between any instance of the associated classifiers, connectors specify links between instances playing the connected parts only.</body>
       </ownedComment>
-      <ownedRule xmi:id="_gz9bMtwbEeCT5O2F6sGn5g" name="types" constrainedElement="_YxC2YLLWEeCsYvaJqFFivQ">
-        <ownedComment xmi:id="_gz9bM9wbEeCT5O2F6sGn5g" annotatedElement="_gz9bMtwbEeCT5O2F6sGn5g">
-          <body>The types of the connectable elements that the ends of a connector are attached to must conform to the types of the association ends of the association that types the connector, if any.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_gz9bNNwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>true</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_gz9bNdwbEeCT5O2F6sGn5g" name="roles" constrainedElement="_YxC2YLLWEeCsYvaJqFFivQ">
-        <ownedComment xmi:id="_gz9bNtwbEeCT5O2F6sGn5g" annotatedElement="_gz9bNdwbEeCT5O2F6sGn5g">
-          <body>The ConnectableElements attached as roles to each ConnectorEnd owned by a Connector must be roles of the Classifier that owned the Connector, or they must be ports of such roles.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_gz9bN9wbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>true</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_gz9bONwbEeCT5O2F6sGn5g" name="between_interfaces_ports" constrainedElement="_YxC2YLLWEeCsYvaJqFFivQ">
-        <ownedComment xmi:id="_gz9bOdwbEeCT5O2F6sGn5g" annotatedElement="_gz9bONwbEeCT5O2F6sGn5g">
-          <body>Each feature of each of the required interfaces of each Port or Part at the end of a connector must have at least one compatible feature among the features of the provided interfaces of Ports or Parts at the other ends, where the required set of (interface) features of a delegating port from the context of the delegating connector is the set of features that exist in the port's provided interfaces, and the provided set of (interface) features of a delegating port from the context of the delegating connector is the set of features that exist in the port's required interfaces.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_gz9bOtwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>true</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_gz9bO9wbEeCT5O2F6sGn5g" name="compatible" constrainedElement="_YxC2YLLWEeCsYvaJqFFivQ">
-        <ownedComment xmi:id="_gz9bPNwbEeCT5O2F6sGn5g" annotatedElement="_gz9bO9wbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VYLToRE9EeGOffqMW1YiZA" name="compatible" constrainedElement="_YxC2YLLWEeCsYvaJqFFivQ">
+        <ownedComment xmi:id="_VYLTohE9EeGOffqMW1YiZA" annotatedElement="_VYLToRE9EeGOffqMW1YiZA">
           <body>The connectable elements attached to the ends of a connector must be compatible.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_gz9bPdwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VYLToxE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>true</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_gz9bPtwbEeCT5O2F6sGn5g" general="_UL0VYLbAEeCRxrN1JUGuxA"/>
-      <ownedAttribute xmi:id="_gz9bP9wbEeCT5O2F6sGn5g" name="contract" visibility="public" type="_TUPtYGveEdq4DLWZOhbdEA" association="_gyW4sNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gz9bQNwbEeCT5O2F6sGn5g" annotatedElement="_gz9bP9wbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VYLTpBE9EeGOffqMW1YiZA" name="roles" constrainedElement="_YxC2YLLWEeCsYvaJqFFivQ">
+        <ownedComment xmi:id="_VYLTpRE9EeGOffqMW1YiZA" annotatedElement="_VYLTpBE9EeGOffqMW1YiZA">
+          <body>The ConnectableElements attached as roles to each ConnectorEnd owned by a Connector must be roles of the Classifier that owned the Connector, or they must be ports of such roles.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VYLTphE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>true</body>
+        </specification>
+      </ownedRule>
+      <ownedRule xmi:id="_VYLTpxE9EeGOffqMW1YiZA" name="between_interfaces_ports" constrainedElement="_YxC2YLLWEeCsYvaJqFFivQ">
+        <ownedComment xmi:id="_VYLTqBE9EeGOffqMW1YiZA" annotatedElement="_VYLTpxE9EeGOffqMW1YiZA">
+          <body>Each feature of each of the required interfaces of each Port or Part at the end of a connector must have at least one compatible feature among the features of the provided interfaces of Ports or Parts at the other ends, where the required set of (interface) features of a delegating port from the context of the delegating connector is the set of features that exist in the port's provided interfaces, and the provided set of (interface) features of a delegating port from the context of the delegating connector is the set of features that exist in the port's required interfaces.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VYLTqRE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>true</body>
+        </specification>
+      </ownedRule>
+      <ownedRule xmi:id="_VYL6sBE9EeGOffqMW1YiZA" name="types" constrainedElement="_YxC2YLLWEeCsYvaJqFFivQ">
+        <ownedComment xmi:id="_VYL6sRE9EeGOffqMW1YiZA" annotatedElement="_VYL6sBE9EeGOffqMW1YiZA">
+          <body>The types of the connectable elements that the ends of a connector are attached to must conform to the types of the association ends of the association that types the connector, if any.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VYL6shE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>true</body>
+        </specification>
+      </ownedRule>
+      <generalization xmi:id="_VYL6sxE9EeGOffqMW1YiZA" general="_UL0VYLbAEeCRxrN1JUGuxA"/>
+      <ownedAttribute xmi:id="_VYL6tBE9EeGOffqMW1YiZA" name="contract" visibility="public" type="_TUPtYGveEdq4DLWZOhbdEA" association="_VTJCoBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VYL6tRE9EeGOffqMW1YiZA" annotatedElement="_VYL6tBE9EeGOffqMW1YiZA">
           <body>The set of Behaviors that specify the valid interaction patterns across the connector.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gz9bQdwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gz9bQtwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VYL6thE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VYL6txE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_gz9bQ9wbEeCT5O2F6sGn5g" name="end" visibility="public" type="_aOgw0GveEdq4DLWZOhbdEA" isOrdered="true" aggregation="composite" subsettedProperty="_g0JocNwbEeCT5O2F6sGn5g" association="_gyZ8CdwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gz9bRNwbEeCT5O2F6sGn5g" annotatedElement="_gz9bQ9wbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VYL6uBE9EeGOffqMW1YiZA" name="end" visibility="public" type="_aOgw0GveEdq4DLWZOhbdEA" isOrdered="true" aggregation="composite" subsettedProperty="_GDD2YAtAEeGcpbeCPJfCmw" association="_VTSMlBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VYL6uRE9EeGOffqMW1YiZA" annotatedElement="_VYL6uBE9EeGOffqMW1YiZA">
           <body>A connector consists of at least two connector ends, each representing the participation of instances of the classifiers typing the connectable elements attached to this end. The set of connector ends is ordered.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gz9bRdwbEeCT5O2F6sGn5g" value="2"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gz9bRtwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VYL6uhE9EeGOffqMW1YiZA" value="2"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VYL6uxE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_gz-CQNwbEeCT5O2F6sGn5g" name="kind" visibility="public" type="_echygLLWEeCsYvaJqFFivQ" isReadOnly="true" isDerived="true">
-        <ownedComment xmi:id="_gz-CQdwbEeCT5O2F6sGn5g" annotatedElement="_gz-CQNwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VYL6vBE9EeGOffqMW1YiZA" name="kind" visibility="public" type="_echygLLWEeCsYvaJqFFivQ" isReadOnly="true" isDerived="true">
+        <ownedComment xmi:id="_VYL6vRE9EeGOffqMW1YiZA" annotatedElement="_VYL6vBE9EeGOffqMW1YiZA">
           <body>Indicates the kind of connector. This is derived: a connector with one or more ends connected to a Port which is not on a Part and which is not a behavior port is a delegation; otherwise it is an assembly.</body>
         </ownedComment>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_gz-CQtwbEeCT5O2F6sGn5g" name="redefinedConnector" visibility="public" type="_YxC2YLLWEeCsYvaJqFFivQ" subsettedProperty="_g15U7twbEeCT5O2F6sGn5g" association="_gyv6S9wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gz-CQ9wbEeCT5O2F6sGn5g" annotatedElement="_gz-CQtwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VYMhwBE9EeGOffqMW1YiZA" name="redefinedConnector" visibility="public" type="_YxC2YLLWEeCsYvaJqFFivQ" subsettedProperty="_VdtT4BE9EeGOffqMW1YiZA" association="_VUQc9BE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VYMhwRE9EeGOffqMW1YiZA" annotatedElement="_VYMhwBE9EeGOffqMW1YiZA">
           <body>A connector may be redefined when its containing classifier is specialized. The redefining connector may have a type that specializes the type of the redefined connector. The types of the connector ends of the redefining connector may specialize the types of the connector ends of the redefined connector. The properties of the connector ends of the redefining connector may be replaced.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gz-CRNwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gz-CRdwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VYMhwhE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VYMhwxE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_gz-CRtwbEeCT5O2F6sGn5g" name="type" visibility="public" type="_AwvxoGwNEdq7X4sGURiZYA" association="_gy98tNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gz-CR9wbEeCT5O2F6sGn5g" annotatedElement="_gz-CRtwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VYOW8BE9EeGOffqMW1YiZA" name="type" visibility="public" type="_AwvxoGwNEdq7X4sGURiZYA" association="_VUr6wBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VYOW8RE9EeGOffqMW1YiZA" annotatedElement="_VYOW8BE9EeGOffqMW1YiZA">
           <body>An optional association that specifies the link corresponding to this connector.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gz-CSNwbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VYOW8hE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedOperation xmi:id="_lgjO4LLWEeCsYvaJqFFivQ" name="kind" visibility="public" bodyCondition="_gz-CStwbEeCT5O2F6sGn5g" isQuery="true">
-        <ownedComment xmi:id="_gz-CSdwbEeCT5O2F6sGn5g" annotatedElement="_lgjO4LLWEeCsYvaJqFFivQ">
+      <ownedOperation xmi:id="_lgjO4LLWEeCsYvaJqFFivQ" name="kind" visibility="public" bodyCondition="_VYO-ABE9EeGOffqMW1YiZA" isQuery="true">
+        <ownedComment xmi:id="_VYOW8xE9EeGOffqMW1YiZA" annotatedElement="_lgjO4LLWEeCsYvaJqFFivQ">
           <body>Missing derivation for Connector::/kind : ConnectorKind</body>
         </ownedComment>
-        <ownedRule xmi:id="_gz-CStwbEeCT5O2F6sGn5g" name="spec" constrainedElement="_lgjO4LLWEeCsYvaJqFFivQ _gz-CQNwbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_gz-CS9wbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VYO-ABE9EeGOffqMW1YiZA" name="spec" constrainedElement="_lgjO4LLWEeCsYvaJqFFivQ _VYL6vBE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VYO-ARE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result =
 if end->exists(
@@ -4967,368 +4967,368 @@
       </ownedOperation>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="_aOgw0GveEdq4DLWZOhbdEA" name="ConnectorEnd">
-      <ownedComment xmi:id="_gz-pUNwbEeCT5O2F6sGn5g" annotatedElement="_aOgw0GveEdq4DLWZOhbdEA">
+      <ownedComment xmi:id="_VYPlEBE9EeGOffqMW1YiZA" annotatedElement="_aOgw0GveEdq4DLWZOhbdEA">
         <body>A connector end is an endpoint of a connector, which attaches the connector to a connectable element. Each connector end is part of one connector.</body>
       </ownedComment>
-      <ownedRule xmi:id="_gz-pUdwbEeCT5O2F6sGn5g" name="role_and_part_with_port" constrainedElement="_aOgw0GveEdq4DLWZOhbdEA">
-        <ownedComment xmi:id="_gz-pUtwbEeCT5O2F6sGn5g" annotatedElement="_gz-pUdwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VYPlERE9EeGOffqMW1YiZA" name="role_and_part_with_port" constrainedElement="_aOgw0GveEdq4DLWZOhbdEA">
+        <ownedComment xmi:id="_VYPlEhE9EeGOffqMW1YiZA" annotatedElement="_VYPlERE9EeGOffqMW1YiZA">
           <body>If a connector end references a partWithPort, then the role must be a port that is defined by the type of the partWithPort.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_gz-pU9wbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VYPlExE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>true</body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_gz-pVNwbEeCT5O2F6sGn5g" name="part_with_port_empty" constrainedElement="_aOgw0GveEdq4DLWZOhbdEA">
-        <ownedComment xmi:id="_gz-pVdwbEeCT5O2F6sGn5g" annotatedElement="_gz-pVNwbEeCT5O2F6sGn5g">
-          <body>If a connector end is attached to a port of the containing classifier, partWithPort will be empty.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_gz-pVtwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>true</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_gz-pV9wbEeCT5O2F6sGn5g" name="multiplicity" constrainedElement="_aOgw0GveEdq4DLWZOhbdEA">
-        <ownedComment xmi:id="_gz-pWNwbEeCT5O2F6sGn5g" annotatedElement="_gz-pV9wbEeCT5O2F6sGn5g">
-          <body>The multiplicity of the connector end may not be more general than the multiplicity of the association typing the owning connector.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_gz-pWdwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>true</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_gz-pWtwbEeCT5O2F6sGn5g" name="self_part_with_port" constrainedElement="_aOgw0GveEdq4DLWZOhbdEA">
-        <ownedComment xmi:id="_gz-pW9wbEeCT5O2F6sGn5g" annotatedElement="_gz-pWtwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VYQMIBE9EeGOffqMW1YiZA" name="self_part_with_port" constrainedElement="_aOgw0GveEdq4DLWZOhbdEA">
+        <ownedComment xmi:id="_VYQMIRE9EeGOffqMW1YiZA" annotatedElement="_VYQMIBE9EeGOffqMW1YiZA">
           <body>The property held in self.partWithPort must not be a Port.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_gz-pXNwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VYQMIhE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>true</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_gz-pXdwbEeCT5O2F6sGn5g" general="_Gjgl0GveEdq4DLWZOhbdEA"/>
-      <ownedAttribute xmi:id="_gz-pXtwbEeCT5O2F6sGn5g" name="definingEnd" visibility="public" type="_Jp_1oGveEdq4DLWZOhbdEA" isReadOnly="true" isDerived="true" association="_gyYt4NwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gz-pX9wbEeCT5O2F6sGn5g" annotatedElement="_gz-pXtwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VYQMIxE9EeGOffqMW1YiZA" name="multiplicity" constrainedElement="_aOgw0GveEdq4DLWZOhbdEA">
+        <ownedComment xmi:id="_VYQMJBE9EeGOffqMW1YiZA" annotatedElement="_VYQMIxE9EeGOffqMW1YiZA">
+          <body>The multiplicity of the connector end may not be more general than the multiplicity of the association typing the owning connector.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VYQMJRE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>true</body>
+        </specification>
+      </ownedRule>
+      <ownedRule xmi:id="_VYQMJhE9EeGOffqMW1YiZA" name="part_with_port_empty" constrainedElement="_aOgw0GveEdq4DLWZOhbdEA">
+        <ownedComment xmi:id="_VYQMJxE9EeGOffqMW1YiZA" annotatedElement="_VYQMJhE9EeGOffqMW1YiZA">
+          <body>If a connector end is attached to a port of the containing classifier, partWithPort will be empty.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VYQMKBE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>true</body>
+        </specification>
+      </ownedRule>
+      <generalization xmi:id="_VYQMKRE9EeGOffqMW1YiZA" general="_Gjgl0GveEdq4DLWZOhbdEA"/>
+      <ownedAttribute xmi:id="_VYSBUBE9EeGOffqMW1YiZA" name="definingEnd" visibility="public" type="_Jp_1oGveEdq4DLWZOhbdEA" isReadOnly="true" isDerived="true" association="_VTN7IxE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VYSBURE9EeGOffqMW1YiZA" annotatedElement="_VYSBUBE9EeGOffqMW1YiZA">
           <body>A derived association referencing the corresponding association end on the association which types the connector owing this connector end. This association is derived by selecting the association end at the same place in the ordering of association ends as this connector end.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gz-pYNwbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VYSBUhE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_gz_QYNwbEeCT5O2F6sGn5g" name="partWithPort" visibility="public" type="_Jp_1oGveEdq4DLWZOhbdEA" association="_gysP4NwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gz_QYdwbEeCT5O2F6sGn5g" annotatedElement="_gz_QYNwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VYSoYBE9EeGOffqMW1YiZA" name="partWithPort" visibility="public" type="_Jp_1oGveEdq4DLWZOhbdEA" association="_VUH6FRE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VYSoYRE9EeGOffqMW1YiZA" annotatedElement="_VYSoYBE9EeGOffqMW1YiZA">
           <body>Indicates the role of the internal structure of a classifier with the port to which the connector end is attached.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gz_QYtwbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VYSoYhE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
       <ownedAttribute xmi:id="_81UZgfnhEdunWsS3se92JQ" name="role" visibility="public" type="_0dB44PnhEdunWsS3se92JQ" association="_81UZgPnhEdunWsS3se92JQ">
-        <ownedComment xmi:id="_gz_QY9wbEeCT5O2F6sGn5g" annotatedElement="_81UZgfnhEdunWsS3se92JQ">
+        <ownedComment xmi:id="_VYSoYxE9EeGOffqMW1YiZA" annotatedElement="_81UZgfnhEdunWsS3se92JQ">
           <body>The connectable element attached at this connector end. When an instance of the containing classifier is created, a link may (depending on the multiplicities) be created to an instance of the classifier that types this connectable element.</body>
         </ownedComment>
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_81UZgvnhEdunWsS3se92JQ" value="1"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_81UZg_nhEdunWsS3se92JQ" value="1"/>
       </ownedAttribute>
-      <ownedOperation xmi:id="_QT7XMFYKEdqrn7iZ0eqieg" name="definingEnd" visibility="public" bodyCondition="_gz_QZdwbEeCT5O2F6sGn5g" isQuery="true">
-        <ownedComment xmi:id="_gz_QZNwbEeCT5O2F6sGn5g" annotatedElement="_QT7XMFYKEdqrn7iZ0eqieg">
+      <ownedOperation xmi:id="_QT7XMFYKEdqrn7iZ0eqieg" name="definingEnd" visibility="public" bodyCondition="_VYVrsBE9EeGOffqMW1YiZA" isQuery="true">
+        <ownedComment xmi:id="_VYT2gBE9EeGOffqMW1YiZA" annotatedElement="_QT7XMFYKEdqrn7iZ0eqieg">
           <body>Missing derivation for ConnectorEnd::/definingEnd : Property</body>
         </ownedComment>
-        <ownedRule xmi:id="_gz_QZdwbEeCT5O2F6sGn5g" name="spec" constrainedElement="_QT7XMFYKEdqrn7iZ0eqieg _gz-pXtwbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_gz_QZtwbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VYVrsBE9EeGOffqMW1YiZA" name="spec" constrainedElement="_QT7XMFYKEdqrn7iZ0eqieg _VYSBUBE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VYVrsRE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>true</body>
           </specification>
         </ownedRule>
         <ownedParameter xmi:id="_VkstQFYKEdqrn7iZ0eqieg" name="result" visibility="public" type="_Jp_1oGveEdq4DLWZOhbdEA" direction="return">
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gz_QZ9wbEeCT5O2F6sGn5g"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VYVrshE9EeGOffqMW1YiZA"/>
         </ownedParameter>
       </ownedOperation>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_gz_3cNwbEeCT5O2F6sGn5g" name="ConsiderIgnoreFragment">
-      <ownedComment xmi:id="_gz_3cdwbEeCT5O2F6sGn5g" annotatedElement="_gz_3cNwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VYZ9IBE9EeGOffqMW1YiZA" name="ConsiderIgnoreFragment">
+      <ownedComment xmi:id="_VYZ9IRE9EeGOffqMW1YiZA" annotatedElement="_VYZ9IBE9EeGOffqMW1YiZA">
         <body>A consider ignore fragment is a kind of combined fragment that is used for the consider and ignore cases, which require lists of pertinent messages to be specified.</body>
       </ownedComment>
-      <ownedRule xmi:id="_gz_3ctwbEeCT5O2F6sGn5g" name="consider_or_ignore" constrainedElement="_gz_3cNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gz_3c9wbEeCT5O2F6sGn5g" annotatedElement="_gz_3ctwbEeCT5O2F6sGn5g">
-          <body>The interaction operator of a ConsiderIgnoreFragment must be either 'consider' or 'ignore'.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_gz_3dNwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>(interactionOperator = #consider) or (interactionOperator = #ignore)</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_gz_3ddwbEeCT5O2F6sGn5g" name="type" constrainedElement="_gz_3cNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gz_3dtwbEeCT5O2F6sGn5g" annotatedElement="_gz_3ddwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VYZ9IhE9EeGOffqMW1YiZA" name="type" constrainedElement="_VYZ9IBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VYZ9IxE9EeGOffqMW1YiZA" annotatedElement="_VYZ9IhE9EeGOffqMW1YiZA">
           <body>The NamedElements must be of a type of element that identifies a message (e.g., an Operation, Reception, or a Signal).</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_gz_3d9wbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VYZ9JBE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>message->forAll(m | m.oclIsKindOf(Operation) or m.oclIsKindOf(Reception) or m.oclIsKindOf(Signal))</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_gz_3eNwbEeCT5O2F6sGn5g" general="_gz3UkNwbEeCT5O2F6sGn5g"/>
-      <ownedAttribute xmi:id="_gz_3edwbEeCT5O2F6sGn5g" name="message" visibility="public" type="_csVgUGvtEdqG6fBIPwe-mw" association="_gyjF-9wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_gz_3etwbEeCT5O2F6sGn5g" annotatedElement="_gz_3edwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VYZ9JRE9EeGOffqMW1YiZA" name="consider_or_ignore" constrainedElement="_VYZ9IBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VYZ9JhE9EeGOffqMW1YiZA" annotatedElement="_VYZ9JRE9EeGOffqMW1YiZA">
+          <body>The interaction operator of a ConsiderIgnoreFragment must be either 'consider' or 'ignore'.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VYZ9JxE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>(interactionOperator = #consider) or (interactionOperator = #ignore)</body>
+        </specification>
+      </ownedRule>
+      <generalization xmi:id="_VYZ9KBE9EeGOffqMW1YiZA" general="_VX8qIBE9EeGOffqMW1YiZA"/>
+      <ownedAttribute xmi:id="_VYZ9KRE9EeGOffqMW1YiZA" name="message" visibility="public" type="_csVgUGvtEdqG6fBIPwe-mw" association="_VTxUxBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VYZ9KhE9EeGOffqMW1YiZA" annotatedElement="_VYZ9KRE9EeGOffqMW1YiZA">
           <body>The set of messages that apply to this fragment</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gz_3e9wbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gz_3fNwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VYZ9KxE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VYZ9LBE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g0AegNwbEeCT5O2F6sGn5g" name="Constraint">
-      <ownedComment xmi:id="_g0AegdwbEeCT5O2F6sGn5g" annotatedElement="_g0AegNwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VYbLQBE9EeGOffqMW1YiZA" name="Constraint">
+      <ownedComment xmi:id="_VYbLQRE9EeGOffqMW1YiZA" annotatedElement="_VYbLQBE9EeGOffqMW1YiZA">
         <body>A constraint is a condition or restriction expressed in natural language text or in a machine readable language for the purpose of declaring some of the semantics of an element.</body>
       </ownedComment>
-      <ownedRule xmi:id="_g0AegtwbEeCT5O2F6sGn5g" name="boolean_value" constrainedElement="_g0AegNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0Aeg9wbEeCT5O2F6sGn5g" annotatedElement="_g0AegtwbEeCT5O2F6sGn5g">
-          <body>The value specification for a constraint must evaluate to a Boolean value.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0AehNwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>true</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_g0AehdwbEeCT5O2F6sGn5g" name="no_side_effects" constrainedElement="_g0AegNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0AehtwbEeCT5O2F6sGn5g" annotatedElement="_g0AehdwbEeCT5O2F6sGn5g">
-          <body>Evaluating the value specification for a constraint must not have side effects.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0Aeh9wbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>true</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_g0AeiNwbEeCT5O2F6sGn5g" name="not_apply_to_self" constrainedElement="_g0AegNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0AeidwbEeCT5O2F6sGn5g" annotatedElement="_g0AeiNwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VYbLQhE9EeGOffqMW1YiZA" name="not_apply_to_self" constrainedElement="_VYbLQBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VYbLQxE9EeGOffqMW1YiZA" annotatedElement="_VYbLQhE9EeGOffqMW1YiZA">
           <body>A constraint cannot be applied to itself.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0AeitwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VYbLRBE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>not constrainedElement->includes(self)</body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_g0Aei9wbEeCT5O2F6sGn5g" name="value_specification_boolean" constrainedElement="_g0AegNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0AejNwbEeCT5O2F6sGn5g" annotatedElement="_g0Aei9wbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VYbLRRE9EeGOffqMW1YiZA" name="no_side_effects" constrainedElement="_VYbLQBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VYbLRhE9EeGOffqMW1YiZA" annotatedElement="_VYbLRRE9EeGOffqMW1YiZA">
+          <body>Evaluating the value specification for a constraint must not have side effects.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VYbLRxE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>true</body>
+        </specification>
+      </ownedRule>
+      <ownedRule xmi:id="_VYbLSBE9EeGOffqMW1YiZA" name="boolean_value" constrainedElement="_VYbLQBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VYbLSRE9EeGOffqMW1YiZA" annotatedElement="_VYbLSBE9EeGOffqMW1YiZA">
           <body>The value specification for a constraint must evaluate to a Boolean value.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0AejdwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VYbLShE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>true</body>
+        </specification>
+      </ownedRule>
+      <ownedRule xmi:id="_VYbLSxE9EeGOffqMW1YiZA" name="value_specification_boolean" constrainedElement="_VYbLQBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VYbLTBE9EeGOffqMW1YiZA" annotatedElement="_VYbLSxE9EeGOffqMW1YiZA">
+          <body>The value specification for a constraint must evaluate to a Boolean value.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VYbLTRE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>self.specification().booleanValue().isOclKindOf(Boolean)</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_g0AejtwbEeCT5O2F6sGn5g" general="_jKxnwGwLEdq7X4sGURiZYA"/>
-      <ownedAttribute xmi:id="_g0Aej9wbEeCT5O2F6sGn5g" name="constrainedElement" visibility="public" type="_kl90MGvbEdq4DLWZOhbdEA" isOrdered="true" association="_gyWRoNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0AekNwbEeCT5O2F6sGn5g" annotatedElement="_g0Aej9wbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_VYbLThE9EeGOffqMW1YiZA" general="_jKxnwGwLEdq7X4sGURiZYA"/>
+      <ownedAttribute xmi:id="_VYbLTxE9EeGOffqMW1YiZA" name="constrainedElement" visibility="public" type="_kl90MGvbEdq4DLWZOhbdEA" isOrdered="true" association="_VTHNdBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VYbLUBE9EeGOffqMW1YiZA" annotatedElement="_VYbLTxE9EeGOffqMW1YiZA">
           <body>The ordered set of Elements referenced by this Constraint.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g0AekdwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g0AektwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VYbLURE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VYbLUhE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g0Aek9wbEeCT5O2F6sGn5g" name="context" visibility="public" type="_ZiwkoGwLEdq7X4sGURiZYA" subsettedProperty="_1vzv0LbIEeCRxrN1JUGuxA" association="_gyqavtwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0AelNwbEeCT5O2F6sGn5g" annotatedElement="_g0Aek9wbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VYbLUxE9EeGOffqMW1YiZA" name="context" visibility="public" type="_ZiwkoGwLEdq7X4sGURiZYA" subsettedProperty="_1vzv0LbIEeCRxrN1JUGuxA" association="_VUDophE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VYbLVBE9EeGOffqMW1YiZA" annotatedElement="_VYbLUxE9EeGOffqMW1YiZA">
           <body>Specifies the namespace that owns the NamedElement.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g0AeldwbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VYbLVRE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g0AeltwbEeCT5O2F6sGn5g" name="specification" visibility="public" type="_g2YdENwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_g0JocNwbEeCT5O2F6sGn5g" association="_gy6SVNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0Ael9wbEeCT5O2F6sGn5g" annotatedElement="_g0AeltwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VYbLVhE9EeGOffqMW1YiZA" name="specification" visibility="public" type="_VfGbABE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_GDD2YAtAEeGcpbeCPJfCmw" association="_VUl0IBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VYbLVxE9EeGOffqMW1YiZA" annotatedElement="_VYbLVhE9EeGOffqMW1YiZA">
           <body>A condition that must be true when evaluated in order for the constraint to be satisfied.</body>
         </ownedComment>
       </ownedAttribute>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g0AemNwbEeCT5O2F6sGn5g" name="Continuation">
-      <ownedComment xmi:id="_g0AemdwbEeCT5O2F6sGn5g" annotatedElement="_g0AemNwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VYbyUBE9EeGOffqMW1YiZA" name="Continuation">
+      <ownedComment xmi:id="_VYbyURE9EeGOffqMW1YiZA" annotatedElement="_VYbyUBE9EeGOffqMW1YiZA">
         <body>A continuation is a syntactic way to define continuations of different branches of an alternative combined fragment. Continuations is intuitively similar to labels representing intermediate points in a flow of control.</body>
       </ownedComment>
-      <ownedRule xmi:id="_g0AemtwbEeCT5O2F6sGn5g" name="first_or_last_interaction_fragment" constrainedElement="_g0AemNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0Aem9wbEeCT5O2F6sGn5g" annotatedElement="_g0AemtwbEeCT5O2F6sGn5g">
-          <body>Continuations always occur as the very first InteractionFragment or the very last InteractionFragment of the enclosing InteractionFragment.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0AenNwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>true</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_g0AendwbEeCT5O2F6sGn5g" name="same_name" constrainedElement="_g0AemNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0AentwbEeCT5O2F6sGn5g" annotatedElement="_g0AendwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VYbyUhE9EeGOffqMW1YiZA" name="same_name" constrainedElement="_VYbyUBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VYbyUxE9EeGOffqMW1YiZA" annotatedElement="_VYbyUhE9EeGOffqMW1YiZA">
           <body>Continuations with the same name may only cover the same set of Lifelines (within one Classifier).</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0Aen9wbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VYbyVBE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>true</body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_g0BFkNwbEeCT5O2F6sGn5g" name="global" constrainedElement="_g0AemNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0BFkdwbEeCT5O2F6sGn5g" annotatedElement="_g0BFkNwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VYbyVRE9EeGOffqMW1YiZA" name="first_or_last_interaction_fragment" constrainedElement="_VYbyUBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VYbyVhE9EeGOffqMW1YiZA" annotatedElement="_VYbyVRE9EeGOffqMW1YiZA">
+          <body>Continuations always occur as the very first InteractionFragment or the very last InteractionFragment of the enclosing InteractionFragment.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VYbyVxE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>true</body>
+        </specification>
+      </ownedRule>
+      <ownedRule xmi:id="_VYbyWBE9EeGOffqMW1YiZA" name="global" constrainedElement="_VYbyUBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VYbyWRE9EeGOffqMW1YiZA" annotatedElement="_VYbyWBE9EeGOffqMW1YiZA">
           <body>Continuations are always global in the enclosing InteractionFragment e.g. it always covers all Lifelines covered by the enclosing InteractionFragment.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0BFktwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VYbyWhE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>true</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_g0BFk9wbEeCT5O2F6sGn5g" general="_g0cjYNwbEeCT5O2F6sGn5g"/>
-      <ownedAttribute xmi:id="_g0BFlNwbEeCT5O2F6sGn5g" name="setting" visibility="public">
-        <ownedComment xmi:id="_g0BFldwbEeCT5O2F6sGn5g" annotatedElement="_g0BFlNwbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_VYbyWxE9EeGOffqMW1YiZA" general="_VZuLwBE9EeGOffqMW1YiZA"/>
+      <ownedAttribute xmi:id="_VYbyXBE9EeGOffqMW1YiZA" name="setting" visibility="public">
+        <ownedComment xmi:id="_VYbyXRE9EeGOffqMW1YiZA" annotatedElement="_VYbyXBE9EeGOffqMW1YiZA">
           <body>True: when the Continuation is at the end of the enclosing InteractionFragment and False when it is in the beginning.</body>
         </ownedComment>
         <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
-        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_g0BFltwbEeCT5O2F6sGn5g" value="true"/>
+        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_VYbyXhE9EeGOffqMW1YiZA" value="true"/>
       </ownedAttribute>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g0BFl9wbEeCT5O2F6sGn5g" name="ControlFlow">
-      <ownedComment xmi:id="_g0BFmNwbEeCT5O2F6sGn5g" annotatedElement="_g0BFl9wbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VYcZYBE9EeGOffqMW1YiZA" name="ControlFlow">
+      <ownedComment xmi:id="_VYcZYRE9EeGOffqMW1YiZA" annotatedElement="_VYcZYBE9EeGOffqMW1YiZA">
         <body>A control flow is an edge that starts an activity node after the previous one is finished.</body>
       </ownedComment>
-      <ownedRule xmi:id="_g0BFmdwbEeCT5O2F6sGn5g" name="object_nodes" constrainedElement="_g0BFl9wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0BFmtwbEeCT5O2F6sGn5g" annotatedElement="_g0BFmdwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VYcZYhE9EeGOffqMW1YiZA" name="object_nodes" constrainedElement="_VYcZYBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VYcZYxE9EeGOffqMW1YiZA" annotatedElement="_VYcZYhE9EeGOffqMW1YiZA">
           <body>Control flows may not have object nodes at either end, except for object nodes with control type.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0BFm9wbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VYcZZBE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>true</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_g0BFnNwbEeCT5O2F6sGn5g" general="_gzZagNwbEeCT5O2F6sGn5g"/>
+      <generalization xmi:id="_VYcZZRE9EeGOffqMW1YiZA" general="_VVcIsBE9EeGOffqMW1YiZA"/>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g0BFndwbEeCT5O2F6sGn5g" name="ControlNode" isAbstract="true">
-      <ownedComment xmi:id="_g0BFntwbEeCT5O2F6sGn5g" annotatedElement="_g0BFndwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VYdAcBE9EeGOffqMW1YiZA" name="ControlNode" isAbstract="true">
+      <ownedComment xmi:id="_VYdAcRE9EeGOffqMW1YiZA" annotatedElement="_VYdAcBE9EeGOffqMW1YiZA">
         <body>A control node is an abstract activity node that coordinates flows in an activity.</body>
       </ownedComment>
-      <generalization xmi:id="_g0BFn9wbEeCT5O2F6sGn5g" general="_gzbPsNwbEeCT5O2F6sGn5g"/>
+      <generalization xmi:id="_VYdAchE9EeGOffqMW1YiZA" general="_WpiyYAs-EeGcpbeCPJfCmw"/>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g0BFoNwbEeCT5O2F6sGn5g" name="CreateLinkAction">
-      <ownedComment xmi:id="_g0BFodwbEeCT5O2F6sGn5g" annotatedElement="_g0BFoNwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VYdAcxE9EeGOffqMW1YiZA" name="CreateLinkAction">
+      <ownedComment xmi:id="_VYdAdBE9EeGOffqMW1YiZA" annotatedElement="_VYdAcxE9EeGOffqMW1YiZA">
         <body>A create link action is a write link action for creating links.</body>
       </ownedComment>
-      <ownedRule xmi:id="_g0BFotwbEeCT5O2F6sGn5g" name="association_not_abstract" constrainedElement="_g0BFoNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0BFo9wbEeCT5O2F6sGn5g" annotatedElement="_g0BFotwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VYdAdRE9EeGOffqMW1YiZA" name="association_not_abstract" constrainedElement="_VYdAcxE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VYdAdhE9EeGOffqMW1YiZA" annotatedElement="_VYdAdRE9EeGOffqMW1YiZA">
           <body>The association cannot be an abstract classifier.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0BFpNwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VYdAdxE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>self.association().isAbstract = #false</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_g0BFpdwbEeCT5O2F6sGn5g" general="_g2a5UdwbEeCT5O2F6sGn5g"/>
-      <ownedAttribute xmi:id="_g0BsoNwbEeCT5O2F6sGn5g" name="endData" visibility="public" type="_g0iqANwbEeCT5O2F6sGn5g" aggregation="composite" redefinedProperty="_g0iC_NwbEeCT5O2F6sGn5g" association="_gyZU-twbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0BsodwbEeCT5O2F6sGn5g" annotatedElement="_g0BsoNwbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_VYdAeBE9EeGOffqMW1YiZA" general="_VfKFYBE9EeGOffqMW1YiZA"/>
+      <ownedAttribute xmi:id="_VYdAeRE9EeGOffqMW1YiZA" name="endData" visibility="public" type="_VZ2HkBE9EeGOffqMW1YiZA" aggregation="composite" redefinedProperty="_VZ1gjBE9EeGOffqMW1YiZA" association="_VTRlgBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VYdAehE9EeGOffqMW1YiZA" annotatedElement="_VYdAeRE9EeGOffqMW1YiZA">
           <body>Specifies ends of association and inputs.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g0BsotwbEeCT5O2F6sGn5g" value="2"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g0Bso9wbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VYdAexE9EeGOffqMW1YiZA" value="2"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VYdAfBE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g0BspNwbEeCT5O2F6sGn5g" name="CreateLinkObjectAction">
-      <ownedComment xmi:id="_g0BspdwbEeCT5O2F6sGn5g" annotatedElement="_g0BspNwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VYgDwBE9EeGOffqMW1YiZA" name="CreateLinkObjectAction">
+      <ownedComment xmi:id="_VYgDwRE9EeGOffqMW1YiZA" annotatedElement="_VYgDwBE9EeGOffqMW1YiZA">
         <body>A create link object action creates a link object.</body>
       </ownedComment>
-      <ownedRule xmi:id="_g0BsptwbEeCT5O2F6sGn5g" name="multiplicity" constrainedElement="_g0BspNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0Bsp9wbEeCT5O2F6sGn5g" annotatedElement="_g0BsptwbEeCT5O2F6sGn5g">
-          <body>The multiplicity of the output pin is 1..1.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0BsqNwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>self.result.multiplicity.is(1,1)</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_g0BsqdwbEeCT5O2F6sGn5g" name="type_of_result" constrainedElement="_g0BspNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0BsqtwbEeCT5O2F6sGn5g" annotatedElement="_g0BsqdwbEeCT5O2F6sGn5g">
-          <body>The type of the result pin must be the same as the association of the action.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0Bsq9wbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>self.result.type = self.association()</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_g0BsrNwbEeCT5O2F6sGn5g" name="association_class" constrainedElement="_g0BspNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0BsrdwbEeCT5O2F6sGn5g" annotatedElement="_g0BsrNwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VYgDwhE9EeGOffqMW1YiZA" name="association_class" constrainedElement="_VYgDwBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VYgDwxE9EeGOffqMW1YiZA" annotatedElement="_VYgDwhE9EeGOffqMW1YiZA">
           <body>The association must be an association class.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0BsrtwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VYgDxBE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>self.association().oclIsKindOf(Class)</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_g0Bsr9wbEeCT5O2F6sGn5g" general="_g0BFoNwbEeCT5O2F6sGn5g"/>
-      <ownedAttribute xmi:id="_g0BssNwbEeCT5O2F6sGn5g" name="result" visibility="public" type="_g1fsRdwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_gzCOK9wbEeCT5O2F6sGn5g" association="_gy0yw9wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0BssdwbEeCT5O2F6sGn5g" annotatedElement="_g0BssNwbEeCT5O2F6sGn5g">
-          <body>Gives the output pin on which the result is put.</body>
+      <ownedRule xmi:id="_VYgDxRE9EeGOffqMW1YiZA" name="type_of_result" constrainedElement="_VYgDwBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VYgDxhE9EeGOffqMW1YiZA" annotatedElement="_VYgDxRE9EeGOffqMW1YiZA">
+          <body>The type of the result pin must be the same as the association of the action.</body>
         </ownedComment>
-      </ownedAttribute>
-    </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g0CTsNwbEeCT5O2F6sGn5g" name="CreateObjectAction">
-      <ownedComment xmi:id="_g0CTsdwbEeCT5O2F6sGn5g" annotatedElement="_g0CTsNwbEeCT5O2F6sGn5g">
-        <body>A create object action is an action that creates an object that conforms to a statically specified classifier and puts it on an output pin at runtime.</body>
-      </ownedComment>
-      <ownedRule xmi:id="_g0CTstwbEeCT5O2F6sGn5g" name="classifier_not_abstract" constrainedElement="_g0CTsNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0CTs9wbEeCT5O2F6sGn5g" annotatedElement="_g0CTstwbEeCT5O2F6sGn5g">
-          <body>The classifier cannot be abstract.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0CTtNwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VYgDxxE9EeGOffqMW1YiZA">
           <language>OCL</language>
-          <body>not (self.classifier.isAbstract = #true)</body>
+          <body>self.result.type = self.association()</body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_g0CTtdwbEeCT5O2F6sGn5g" name="multiplicity" constrainedElement="_g0CTsNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0CTttwbEeCT5O2F6sGn5g" annotatedElement="_g0CTtdwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VYgDyBE9EeGOffqMW1YiZA" name="multiplicity" constrainedElement="_VYgDwBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VYgDyRE9EeGOffqMW1YiZA" annotatedElement="_VYgDyBE9EeGOffqMW1YiZA">
           <body>The multiplicity of the output pin is 1..1.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0CTt9wbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VYgDyhE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>self.result.multiplicity.is(1,1)</body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_g0CTuNwbEeCT5O2F6sGn5g" name="classifier_not_association_class" constrainedElement="_g0CTsNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0CTudwbEeCT5O2F6sGn5g" annotatedElement="_g0CTuNwbEeCT5O2F6sGn5g">
-          <body>The classifier cannot be an association class</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0CTutwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>not self.classifier.oclIsKindOf(AssociationClass)</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_g0CTu9wbEeCT5O2F6sGn5g" name="same_type" constrainedElement="_g0CTsNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0CTvNwbEeCT5O2F6sGn5g" annotatedElement="_g0CTu9wbEeCT5O2F6sGn5g">
-          <body>The type of the result pin must be the same as the classifier of the action.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0CTvdwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>self.result.type = self.classifier</body>
-        </specification>
-      </ownedRule>
-      <generalization xmi:id="_g0CTvtwbEeCT5O2F6sGn5g" general="_6WKakLLQEeCsYvaJqFFivQ"/>
-      <ownedAttribute xmi:id="_g0CTv9wbEeCT5O2F6sGn5g" name="classifier" visibility="public" type="_6UV2QGwJEdq7X4sGURiZYA" association="_gyUcdNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0CTwNwbEeCT5O2F6sGn5g" annotatedElement="_g0CTv9wbEeCT5O2F6sGn5g">
-          <body>Classifier to be instantiated.</body>
-        </ownedComment>
-      </ownedAttribute>
-      <ownedAttribute xmi:id="_g0CTwdwbEeCT5O2F6sGn5g" name="result" visibility="public" type="_g1fsRdwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_gzCOK9wbEeCT5O2F6sGn5g" association="_gy0yxtwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0CTwtwbEeCT5O2F6sGn5g" annotatedElement="_g0CTwdwbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_VYgDyxE9EeGOffqMW1YiZA" general="_VYdAcxE9EeGOffqMW1YiZA"/>
+      <ownedAttribute xmi:id="_VYgDzBE9EeGOffqMW1YiZA" name="result" visibility="public" type="_VcHYcBE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_VU4vEBE9EeGOffqMW1YiZA" association="_VUdRQBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VYgDzRE9EeGOffqMW1YiZA" annotatedElement="_VYgDzBE9EeGOffqMW1YiZA">
           <body>Gives the output pin on which the result is put.</body>
         </ownedComment>
       </ownedAttribute>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g0CTw9wbEeCT5O2F6sGn5g" name="DataStoreNode">
-      <ownedComment xmi:id="_g0CTxNwbEeCT5O2F6sGn5g" annotatedElement="_g0CTw9wbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VYgq0BE9EeGOffqMW1YiZA" name="CreateObjectAction">
+      <ownedComment xmi:id="_VYgq0RE9EeGOffqMW1YiZA" annotatedElement="_VYgq0BE9EeGOffqMW1YiZA">
+        <body>A create object action is an action that creates an object that conforms to a statically specified classifier and puts it on an output pin at runtime.</body>
+      </ownedComment>
+      <ownedRule xmi:id="_VYgq0hE9EeGOffqMW1YiZA" name="classifier_not_association_class" constrainedElement="_VYgq0BE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VYgq0xE9EeGOffqMW1YiZA" annotatedElement="_VYgq0hE9EeGOffqMW1YiZA">
+          <body>The classifier cannot be an association class</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VYgq1BE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>not self.classifier.oclIsKindOf(AssociationClass)</body>
+        </specification>
+      </ownedRule>
+      <ownedRule xmi:id="_VYgq1RE9EeGOffqMW1YiZA" name="classifier_not_abstract" constrainedElement="_VYgq0BE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VYgq1hE9EeGOffqMW1YiZA" annotatedElement="_VYgq1RE9EeGOffqMW1YiZA">
+          <body>The classifier cannot be abstract.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VYgq1xE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>not (self.classifier.isAbstract = #true)</body>
+        </specification>
+      </ownedRule>
+      <ownedRule xmi:id="_VYgq2BE9EeGOffqMW1YiZA" name="same_type" constrainedElement="_VYgq0BE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VYgq2RE9EeGOffqMW1YiZA" annotatedElement="_VYgq2BE9EeGOffqMW1YiZA">
+          <body>The type of the result pin must be the same as the classifier of the action.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VYgq2hE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>self.result.type = self.classifier</body>
+        </specification>
+      </ownedRule>
+      <ownedRule xmi:id="_VYgq2xE9EeGOffqMW1YiZA" name="multiplicity" constrainedElement="_VYgq0BE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VYgq3BE9EeGOffqMW1YiZA" annotatedElement="_VYgq2xE9EeGOffqMW1YiZA">
+          <body>The multiplicity of the output pin is 1..1.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VYgq3RE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>self.result.multiplicity.is(1,1)</body>
+        </specification>
+      </ownedRule>
+      <generalization xmi:id="_VYgq3hE9EeGOffqMW1YiZA" general="_6WKakLLQEeCsYvaJqFFivQ"/>
+      <ownedAttribute xmi:id="_VYgq3xE9EeGOffqMW1YiZA" name="classifier" visibility="public" type="_6UV2QGwJEdq7X4sGURiZYA" association="_VTCU8BE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VYgq4BE9EeGOffqMW1YiZA" annotatedElement="_VYgq3xE9EeGOffqMW1YiZA">
+          <body>Classifier to be instantiated.</body>
+        </ownedComment>
+      </ownedAttribute>
+      <ownedAttribute xmi:id="_VYgq4RE9EeGOffqMW1YiZA" name="result" visibility="public" type="_VcHYcBE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_VU4vEBE9EeGOffqMW1YiZA" association="_VUdRQxE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VYgq4hE9EeGOffqMW1YiZA" annotatedElement="_VYgq4RE9EeGOffqMW1YiZA">
+          <body>Gives the output pin on which the result is put.</body>
+        </ownedComment>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Class" xmi:id="_VYhR4BE9EeGOffqMW1YiZA" name="DataStoreNode">
+      <ownedComment xmi:id="_VYhR4RE9EeGOffqMW1YiZA" annotatedElement="_VYhR4BE9EeGOffqMW1YiZA">
         <body>A data store node is a central buffer node for non-transient information.</body>
       </ownedComment>
-      <generalization xmi:id="_g0CTxdwbEeCT5O2F6sGn5g" general="_gzndA9wbEeCT5O2F6sGn5g"/>
+      <generalization xmi:id="_VYhR4hE9EeGOffqMW1YiZA" general="_VWWHoBE9EeGOffqMW1YiZA"/>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="__1ap4HLzEdqziYxiZo0YtA" name="DataType">
-      <ownedComment xmi:id="_g0CTxtwbEeCT5O2F6sGn5g" annotatedElement="__1ap4HLzEdqziYxiZo0YtA">
+      <ownedComment xmi:id="_VYhR4xE9EeGOffqMW1YiZA" annotatedElement="__1ap4HLzEdqziYxiZo0YtA">
         <body>A data type is a type whose instances are identified only by their value. A data type may contain attributes to support the modeling of structured data types.</body>
       </ownedComment>
-      <generalization xmi:id="_g0CTx9wbEeCT5O2F6sGn5g" general="_6UV2QGwJEdq7X4sGURiZYA"/>
-      <ownedAttribute xmi:id="_g0CTyNwbEeCT5O2F6sGn5g" name="ownedAttribute" visibility="public" type="_Jp_1oGveEdq4DLWZOhbdEA" isOrdered="true" aggregation="composite" subsettedProperty="_gzuKp9wbEeCT5O2F6sGn5g _g1S4AdwbEeCT5O2F6sGn5g" association="_gyn-ftwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0CTydwbEeCT5O2F6sGn5g" annotatedElement="_g0CTyNwbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_VYuGMBE9EeGOffqMW1YiZA" general="_6UV2QGwJEdq7X4sGURiZYA"/>
+      <ownedAttribute xmi:id="_VYuGMRE9EeGOffqMW1YiZA" name="ownedAttribute" visibility="public" type="_Jp_1oGveEdq4DLWZOhbdEA" isOrdered="true" aggregation="composite" subsettedProperty="_Var1EBE9EeGOffqMW1YiZA _VXldxBE9EeGOffqMW1YiZA" association="_VT-wJBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VYuGMhE9EeGOffqMW1YiZA" annotatedElement="_VYuGMRE9EeGOffqMW1YiZA">
           <body>The Attributes owned by the DataType.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g0CTytwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g0CTy9wbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VYuGMxE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VYuGNBE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g0C6wNwbEeCT5O2F6sGn5g" name="ownedOperation" visibility="public" type="_M4X2IGveEdq4DLWZOhbdEA" isOrdered="true" aggregation="composite" subsettedProperty="_gzuKr9wbEeCT5O2F6sGn5g _gyxIb9wbEeCT5O2F6sGn5g _g1S4AdwbEeCT5O2F6sGn5g" association="_gypzodwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0C6wdwbEeCT5O2F6sGn5g" annotatedElement="_g0C6wNwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VYutQBE9EeGOffqMW1YiZA" name="ownedOperation" visibility="public" type="_M4X2IGveEdq4DLWZOhbdEA" isOrdered="true" aggregation="composite" subsettedProperty="_VXmE1BE9EeGOffqMW1YiZA _VUWjlxE9EeGOffqMW1YiZA _Var1EBE9EeGOffqMW1YiZA" association="_VUBzcRE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VYutQRE9EeGOffqMW1YiZA" annotatedElement="_VYutQBE9EeGOffqMW1YiZA">
           <body>The Operations owned by the DataType.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g0C6wtwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g0C6w9wbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VYutQhE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VYutQxE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
       <ownedOperation xmi:id="_WJZCQHL0EdqziYxiZo0YtA" name="createOwnedAttribute">
         <ownedComment xmi:id="_I4T3gOwmEdqYHf-imTcTdw" annotatedElement="_WJZCQHL0EdqziYxiZo0YtA">
@@ -5399,361 +5399,361 @@
           <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_yc2vUaOxEdqi_5gqUMOQtA" value="1"/>
         </ownedParameter>
       </ownedOperation>
-      <ownedOperation xmi:id="_g0C6xNwbEeCT5O2F6sGn5g" name="inherit" visibility="public" bodyCondition="_g0C6xtwbEeCT5O2F6sGn5g" isQuery="true" redefinedOperation="_gzxN8NwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0C6xdwbEeCT5O2F6sGn5g" annotatedElement="_g0C6xNwbEeCT5O2F6sGn5g">
+      <ownedOperation xmi:id="_VYutRBE9EeGOffqMW1YiZA" name="inherit" visibility="public" bodyCondition="_VYutRhE9EeGOffqMW1YiZA" isQuery="true" redefinedOperation="_VXxD8BE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VYutRRE9EeGOffqMW1YiZA" annotatedElement="_VYutRBE9EeGOffqMW1YiZA">
           <body>The inherit operation is overridden to exclude redefined properties.</body>
         </ownedComment>
-        <ownedRule xmi:id="_g0C6xtwbEeCT5O2F6sGn5g" name="spec" constrainedElement="_g0C6xNwbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0C6x9wbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VYutRhE9EeGOffqMW1YiZA" name="spec" constrainedElement="_VYutRBE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VYutRxE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = inhs->excluding(inh | ownedMember->select(oclIsKindOf(RedefinableElement))->select(redefinedElement->includes(inh)))</body>
           </specification>
         </ownedRule>
-        <ownedParameter xmi:id="_g0C6yNwbEeCT5O2F6sGn5g" name="result" visibility="public" type="_csVgUGvtEdqG6fBIPwe-mw" direction="return">
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g0C6ydwbEeCT5O2F6sGn5g"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g0C6ytwbEeCT5O2F6sGn5g" value="*"/>
+        <ownedParameter xmi:id="_VYutSBE9EeGOffqMW1YiZA" name="result" visibility="public" type="_csVgUGvtEdqG6fBIPwe-mw" direction="return">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VYutSRE9EeGOffqMW1YiZA"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VYutShE9EeGOffqMW1YiZA" value="*"/>
         </ownedParameter>
-        <ownedParameter xmi:id="_g0C6y9wbEeCT5O2F6sGn5g" name="inhs" visibility="public" type="_csVgUGvtEdqG6fBIPwe-mw">
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g0C6zNwbEeCT5O2F6sGn5g"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g0C6zdwbEeCT5O2F6sGn5g" value="*"/>
+        <ownedParameter xmi:id="_VYutSxE9EeGOffqMW1YiZA" name="inhs" visibility="public" type="_csVgUGvtEdqG6fBIPwe-mw">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VYutTBE9EeGOffqMW1YiZA"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VYutTRE9EeGOffqMW1YiZA" value="*"/>
         </ownedParameter>
       </ownedOperation>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g0Dh0NwbEeCT5O2F6sGn5g" name="DecisionNode">
-      <ownedComment xmi:id="_g0Dh0dwbEeCT5O2F6sGn5g" annotatedElement="_g0Dh0NwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VYxwkBE9EeGOffqMW1YiZA" name="DecisionNode">
+      <ownedComment xmi:id="_VYxwkRE9EeGOffqMW1YiZA" annotatedElement="_VYxwkBE9EeGOffqMW1YiZA">
         <body>A decision node is a control node that chooses between outgoing flows.</body>
       </ownedComment>
-      <ownedRule xmi:id="_g0Dh0twbEeCT5O2F6sGn5g" name="zero_input_parameters" constrainedElement="_g0Dh0NwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0Dh09wbEeCT5O2F6sGn5g" annotatedElement="_g0Dh0twbEeCT5O2F6sGn5g">
-          <body>If the decision node has no decision input flow and an incoming control flow, then a decision input behavior has zero input parameters.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0Dh1NwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>true</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_g0Dh1dwbEeCT5O2F6sGn5g" name="edges" constrainedElement="_g0Dh0NwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0Dh1twbEeCT5O2F6sGn5g" annotatedElement="_g0Dh1dwbEeCT5O2F6sGn5g">
-          <body>The edges coming into and out of a decision node, other than the decision input flow (if any), must be either all object flows or all control flows.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0Dh19wbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>true</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_g0Dh2NwbEeCT5O2F6sGn5g" name="decision_input_flow_incoming" constrainedElement="_g0Dh0NwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0Dh2dwbEeCT5O2F6sGn5g" annotatedElement="_g0Dh2NwbEeCT5O2F6sGn5g">
-          <body>The decisionInputFlow of a decision node must be an incoming edge of the decision node.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0Dh2twbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>true</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_g0Dh29wbEeCT5O2F6sGn5g" name="two_input_parameters" constrainedElement="_g0Dh0NwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0Dh3NwbEeCT5O2F6sGn5g" annotatedElement="_g0Dh29wbEeCT5O2F6sGn5g">
-          <body>If the decision node has a decision input flow and an second incoming object flow, then a decision input behavior has two input parameters, the first of which has a type that is the same as or a supertype of the type of the type of object tokens offered on the nondecision input flow and the second of which has a type that is the same as or a supertype of the type of object tokens offered on the decision input flow.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0Dh3dwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>true</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_g0Dh3twbEeCT5O2F6sGn5g" name="incoming_outgoing_edges" constrainedElement="_g0Dh0NwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0Dh39wbEeCT5O2F6sGn5g" annotatedElement="_g0Dh3twbEeCT5O2F6sGn5g">
-          <body>A decision node has one or two incoming edges and at least one outgoing edge.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0Dh4NwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>true</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_g0Dh4dwbEeCT5O2F6sGn5g" name="incoming_control_one_input_parameter" constrainedElement="_g0Dh0NwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0Dh4twbEeCT5O2F6sGn5g" annotatedElement="_g0Dh4dwbEeCT5O2F6sGn5g">
-          <body>If the decision node has a decision input flow and an incoming control flow, then a decision input behavior has one input parameter whose type is the same as or a supertype of the type of object tokens offered on the decision input flow.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0Dh49wbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>true</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_g0Dh5NwbEeCT5O2F6sGn5g" name="parameters" constrainedElement="_g0Dh0NwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0Dh5dwbEeCT5O2F6sGn5g" annotatedElement="_g0Dh5NwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VYxwkhE9EeGOffqMW1YiZA" name="parameters" constrainedElement="_VYxwkBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VYxwkxE9EeGOffqMW1YiZA" annotatedElement="_VYxwkhE9EeGOffqMW1YiZA">
           <body>A decision input behavior has no output parameters, no in-out parameters and one return parameter.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0Dh5twbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VYxwlBE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>true</body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_g0Dh59wbEeCT5O2F6sGn5g" name="incoming_object_one_input_parameter" constrainedElement="_g0Dh0NwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0Dh6NwbEeCT5O2F6sGn5g" annotatedElement="_g0Dh59wbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VYxwlRE9EeGOffqMW1YiZA" name="incoming_object_one_input_parameter" constrainedElement="_VYxwkBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VYxwlhE9EeGOffqMW1YiZA" annotatedElement="_VYxwlRE9EeGOffqMW1YiZA">
           <body>If the decision node has no decision input flow and an incoming object flow, then a decision input behavior has one input parameter whose type is the same as or a supertype of the type of object tokens offered on the incoming edge.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0Dh6dwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VYxwlxE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>true</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_g0Dh6twbEeCT5O2F6sGn5g" general="_g0BFndwbEeCT5O2F6sGn5g"/>
-      <ownedAttribute xmi:id="_g0Dh69wbEeCT5O2F6sGn5g" name="decisionInput" visibility="public" type="_TUPtYGveEdq4DLWZOhbdEA" association="_gyXf0dwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0Dh7NwbEeCT5O2F6sGn5g" annotatedElement="_g0Dh69wbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VYxwmBE9EeGOffqMW1YiZA" name="incoming_outgoing_edges" constrainedElement="_VYxwkBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VYxwmRE9EeGOffqMW1YiZA" annotatedElement="_VYxwmBE9EeGOffqMW1YiZA">
+          <body>A decision node has one or two incoming edges and at least one outgoing edge.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VYxwmhE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>true</body>
+        </specification>
+      </ownedRule>
+      <ownedRule xmi:id="_VYxwmxE9EeGOffqMW1YiZA" name="incoming_control_one_input_parameter" constrainedElement="_VYxwkBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VYxwnBE9EeGOffqMW1YiZA" annotatedElement="_VYxwmxE9EeGOffqMW1YiZA">
+          <body>If the decision node has a decision input flow and an incoming control flow, then a decision input behavior has one input parameter whose type is the same as or a supertype of the type of object tokens offered on the decision input flow.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VYxwnRE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>true</body>
+        </specification>
+      </ownedRule>
+      <ownedRule xmi:id="_VYxwnhE9EeGOffqMW1YiZA" name="two_input_parameters" constrainedElement="_VYxwkBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VYxwnxE9EeGOffqMW1YiZA" annotatedElement="_VYxwnhE9EeGOffqMW1YiZA">
+          <body>If the decision node has a decision input flow and an second incoming object flow, then a decision input behavior has two input parameters, the first of which has a type that is the same as or a supertype of the type of the type of object tokens offered on the nondecision input flow and the second of which has a type that is the same as or a supertype of the type of object tokens offered on the decision input flow.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VYxwoBE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>true</body>
+        </specification>
+      </ownedRule>
+      <ownedRule xmi:id="_VYxwoRE9EeGOffqMW1YiZA" name="decision_input_flow_incoming" constrainedElement="_VYxwkBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VYxwohE9EeGOffqMW1YiZA" annotatedElement="_VYxwoRE9EeGOffqMW1YiZA">
+          <body>The decisionInputFlow of a decision node must be an incoming edge of the decision node.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VYxwoxE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>true</body>
+        </specification>
+      </ownedRule>
+      <ownedRule xmi:id="_VYxwpBE9EeGOffqMW1YiZA" name="zero_input_parameters" constrainedElement="_VYxwkBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VYxwpRE9EeGOffqMW1YiZA" annotatedElement="_VYxwpBE9EeGOffqMW1YiZA">
+          <body>If the decision node has no decision input flow and an incoming control flow, then a decision input behavior has zero input parameters.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VYxwphE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>true</body>
+        </specification>
+      </ownedRule>
+      <ownedRule xmi:id="_VYxwpxE9EeGOffqMW1YiZA" name="edges" constrainedElement="_VYxwkBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VYxwqBE9EeGOffqMW1YiZA" annotatedElement="_VYxwpxE9EeGOffqMW1YiZA">
+          <body>The edges coming into and out of a decision node, other than the decision input flow (if any), must be either all object flows or all control flows.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VYxwqRE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>true</body>
+        </specification>
+      </ownedRule>
+      <generalization xmi:id="_VYxwqhE9EeGOffqMW1YiZA" general="_VYdAcBE9EeGOffqMW1YiZA"/>
+      <ownedAttribute xmi:id="_VYxwqxE9EeGOffqMW1YiZA" name="decisionInput" visibility="public" type="_TUPtYGveEdq4DLWZOhbdEA" association="_VTMF8xE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VYxwrBE9EeGOffqMW1YiZA" annotatedElement="_VYxwqxE9EeGOffqMW1YiZA">
           <body>Provides input to guard specifications on edges outgoing from the decision node.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g0Dh7dwbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VYxwrRE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g0Dh7twbEeCT5O2F6sGn5g" name="decisionInputFlow" visibility="public" type="_g1WiUNwbEeCT5O2F6sGn5g" association="_gyXfztwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0Dh79wbEeCT5O2F6sGn5g" annotatedElement="_g0Dh7twbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VYxwrhE9EeGOffqMW1YiZA" name="decisionInputFlow" visibility="public" type="_VbVVUBE9EeGOffqMW1YiZA" association="_VTMF8BE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VYxwrxE9EeGOffqMW1YiZA" annotatedElement="_VYxwrhE9EeGOffqMW1YiZA">
           <body>An additional edge incoming to the decision node that provides a decision input value.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g0Dh8NwbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VYxwsBE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="_rEDGkGwKEdq7X4sGURiZYA" name="Dependency">
-      <ownedComment xmi:id="_g0EI4NwbEeCT5O2F6sGn5g" annotatedElement="_rEDGkGwKEdq7X4sGURiZYA">
+      <ownedComment xmi:id="_VYxwsRE9EeGOffqMW1YiZA" annotatedElement="_rEDGkGwKEdq7X4sGURiZYA">
         <body>A dependency is a relationship that signifies that a single or a set of model elements requires other model elements for their specification or implementation. This means that the complete semantics of the depending elements is either semantically or structurally dependent on the definition of the supplier element(s).</body>
       </ownedComment>
-      <generalization xmi:id="_g0EI4dwbEeCT5O2F6sGn5g" general="_JBgfoKPAEdqi_5gqUMOQtA"/>
-      <generalization xmi:id="_g0EI4twbEeCT5O2F6sGn5g" general="_jKxnwGwLEdq7X4sGURiZYA"/>
-      <ownedAttribute xmi:id="_g0EI49wbEeCT5O2F6sGn5g" name="client" visibility="public" type="_csVgUGvtEdqG6fBIPwe-mw" subsettedProperty="_g0HzQdwbEeCT5O2F6sGn5g" association="_gyVDh9wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0EI5NwbEeCT5O2F6sGn5g" annotatedElement="_g0EI49wbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_VYxwshE9EeGOffqMW1YiZA" general="_jKxnwGwLEdq7X4sGURiZYA"/>
+      <generalization xmi:id="_VYxwsxE9EeGOffqMW1YiZA" general="_JBgfoKPAEdqi_5gqUMOQtA"/>
+      <ownedAttribute xmi:id="_VYyXoBE9EeGOffqMW1YiZA" name="client" visibility="public" type="_csVgUGvtEdqG6fBIPwe-mw" subsettedProperty="_VY66hRE9EeGOffqMW1YiZA" association="_VTExMBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VYyXoRE9EeGOffqMW1YiZA" annotatedElement="_VYyXoBE9EeGOffqMW1YiZA">
           <body>The element(s) dependent on the supplier element(s). In some cases (such as a Trace Abstraction) the assignment of direction (that is, the designation of the client element) is at the discretion of the modeler, and is a stipulation.</body>
         </ownedComment>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g0EI5dwbEeCT5O2F6sGn5g" value="*"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VYyXohE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g0EI5twbEeCT5O2F6sGn5g" name="supplier" visibility="public" type="_csVgUGvtEdqG6fBIPwe-mw" subsettedProperty="_g0HzRNwbEeCT5O2F6sGn5g" association="_gy8HhNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0EI59wbEeCT5O2F6sGn5g" annotatedElement="_g0EI5twbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VYyXoxE9EeGOffqMW1YiZA" name="supplier" visibility="public" type="_csVgUGvtEdqG6fBIPwe-mw" subsettedProperty="_VY66iBE9EeGOffqMW1YiZA" association="_VUo3cBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VYyXpBE9EeGOffqMW1YiZA" annotatedElement="_VYyXoxE9EeGOffqMW1YiZA">
           <body>The element(s) independent of the client element(s), in the same respect and the same dependency relationship. In some directed dependency relationships (such as Refinement Abstractions), a common convention in the domain of class-based OO software is to put the more abstract element in this role. Despite this convention, users of UML may stipulate a sense of dependency suitable for their domain, which makes a more abstract element dependent on that which is more specific.</body>
         </ownedComment>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g0EI6NwbEeCT5O2F6sGn5g" value="*"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VYyXpRE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g0EI6dwbEeCT5O2F6sGn5g" name="DeployedArtifact" isAbstract="true">
-      <ownedComment xmi:id="_g0EI6twbEeCT5O2F6sGn5g" annotatedElement="_g0EI6dwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VYyXphE9EeGOffqMW1YiZA" name="DeployedArtifact" isAbstract="true">
+      <ownedComment xmi:id="_VYyXpxE9EeGOffqMW1YiZA" annotatedElement="_VYyXphE9EeGOffqMW1YiZA">
         <body>A deployed artifact is an artifact or artifact instance that has been deployed to a deployment target.</body>
       </ownedComment>
-      <generalization xmi:id="_g0EI69wbEeCT5O2F6sGn5g" general="_csVgUGvtEdqG6fBIPwe-mw"/>
+      <generalization xmi:id="_VYyXqBE9EeGOffqMW1YiZA" general="_csVgUGvtEdqG6fBIPwe-mw"/>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g0Ev8NwbEeCT5O2F6sGn5g" name="Deployment">
-      <ownedComment xmi:id="_g0Ev8dwbEeCT5O2F6sGn5g" annotatedElement="_g0Ev8NwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VYy-sBE9EeGOffqMW1YiZA" name="Deployment">
+      <ownedComment xmi:id="_VYy-sRE9EeGOffqMW1YiZA" annotatedElement="_VYy-sBE9EeGOffqMW1YiZA">
         <body>A deployment is the allocation of an artifact or artifact instance to a deployment target.</body>
       </ownedComment>
-      <ownedComment xmi:id="_g0Ev8twbEeCT5O2F6sGn5g" annotatedElement="_g0Ev8NwbEeCT5O2F6sGn5g">
+      <ownedComment xmi:id="_VYy-shE9EeGOffqMW1YiZA" annotatedElement="_VYy-sBE9EeGOffqMW1YiZA">
         <body>A component deployment is the deployment of one or more artifacts or artifact instances to a deployment target, optionally parameterized by a deployment specification. Examples are executables and configuration files.</body>
       </ownedComment>
-      <generalization xmi:id="_g0Ev89wbEeCT5O2F6sGn5g" general="_rEDGkGwKEdq7X4sGURiZYA"/>
-      <ownedAttribute xmi:id="_g0Ev9NwbEeCT5O2F6sGn5g" name="configuration" visibility="public" type="_W2CnILG2EeCDe8CO90iVKQ" aggregation="composite" subsettedProperty="_g0JocNwbEeCT5O2F6sGn5g" association="_gyVqltwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0Ev9dwbEeCT5O2F6sGn5g" annotatedElement="_g0Ev9NwbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_VYy-sxE9EeGOffqMW1YiZA" general="_rEDGkGwKEdq7X4sGURiZYA"/>
+      <ownedAttribute xmi:id="_VYy-tBE9EeGOffqMW1YiZA" name="configuration" visibility="public" type="_W2CnILG2EeCDe8CO90iVKQ" aggregation="composite" subsettedProperty="_GDD2YAtAEeGcpbeCPJfCmw" association="_VTF_UxE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VYy-tRE9EeGOffqMW1YiZA" annotatedElement="_VYy-tBE9EeGOffqMW1YiZA">
           <body>The specification of properties that parameterize the deployment and execution of one or more Artifacts.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g0Ev9twbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g0Ev99wbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VYy-thE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VYy-txE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g0Ev-NwbEeCT5O2F6sGn5g" name="deployedArtifact" visibility="public" type="_g0EI6dwbEeCT5O2F6sGn5g" subsettedProperty="_g0EI5twbEeCT5O2F6sGn5g" association="_gyYt6NwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0Ev-dwbEeCT5O2F6sGn5g" annotatedElement="_g0Ev-NwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VYy-uBE9EeGOffqMW1YiZA" name="deployedArtifact" visibility="public" type="_VYyXphE9EeGOffqMW1YiZA" subsettedProperty="_VYyXoxE9EeGOffqMW1YiZA" association="_VTOiNBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VYy-uRE9EeGOffqMW1YiZA" annotatedElement="_VYy-uBE9EeGOffqMW1YiZA">
           <body>The Artifacts that are deployed onto a Node. This association specializes the supplier association.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g0Ev-twbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g0Ev-9wbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VYy-uhE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VYy-uxE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g0Ev_NwbEeCT5O2F6sGn5g" name="location" visibility="public" type="_PkmfgLLXEeCsYvaJqFFivQ" subsettedProperty="_g0EI49wbEeCT5O2F6sGn5g _g0JodNwbEeCT5O2F6sGn5g" association="_gyYt8NwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0Ev_dwbEeCT5O2F6sGn5g" annotatedElement="_g0Ev_NwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VYy-vBE9EeGOffqMW1YiZA" name="location" visibility="public" type="_PkmfgLLXEeCsYvaJqFFivQ" subsettedProperty="_N3hRMAtAEeGcpbeCPJfCmw _VYyXoBE9EeGOffqMW1YiZA" association="_VTPJRBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VYy-vRE9EeGOffqMW1YiZA" annotatedElement="_VYy-vBE9EeGOffqMW1YiZA">
           <body>The DeployedTarget which is the target of a Deployment.</body>
         </ownedComment>
       </ownedAttribute>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="_W2CnILG2EeCDe8CO90iVKQ" name="DeploymentSpecification">
-      <ownedComment xmi:id="_g0Ev_twbEeCT5O2F6sGn5g" annotatedElement="_W2CnILG2EeCDe8CO90iVKQ">
+      <ownedComment xmi:id="_VYy-vhE9EeGOffqMW1YiZA" annotatedElement="_W2CnILG2EeCDe8CO90iVKQ">
         <body>A deployment specification specifies a set of properties that determine execution parameters of a component artifact that is deployed on a node. A deployment specification can be aimed at a specific type of container. An artifact that reifies or implements deployment specification properties is a deployment descriptor.</body>
       </ownedComment>
-      <ownedRule xmi:id="_g0Ev_9wbEeCT5O2F6sGn5g" name="deployment_target" constrainedElement="_W2CnILG2EeCDe8CO90iVKQ">
-        <ownedComment xmi:id="_g0EwANwbEeCT5O2F6sGn5g" annotatedElement="_g0Ev_9wbEeCT5O2F6sGn5g">
-          <body>The DeploymentTarget of a DeploymentSpecification is a kind of ExecutionEnvironment.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0EwAdwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>self.deployment->forAll (d | d.location.oclIsKindOf(ExecutionEnvironment))</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_g0EwAtwbEeCT5O2F6sGn5g" name="deployed_elements" constrainedElement="_W2CnILG2EeCDe8CO90iVKQ">
-        <ownedComment xmi:id="_g0EwA9wbEeCT5O2F6sGn5g" annotatedElement="_g0EwAtwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VYzlwBE9EeGOffqMW1YiZA" name="deployed_elements" constrainedElement="_W2CnILG2EeCDe8CO90iVKQ">
+        <ownedComment xmi:id="_VYzlwRE9EeGOffqMW1YiZA" annotatedElement="_VYzlwBE9EeGOffqMW1YiZA">
           <body>The deployedElements of a DeploymentTarget that are involved in a Deployment that has an associated Deployment-Specification is a kind of Component (i.e. the configured components).</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0EwBNwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VYzlwhE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>self.deployment->forAll (d | d.location.deployedElements->forAll (de |
   de.oclIsKindOf(Component)))</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_g0EwBdwbEeCT5O2F6sGn5g" general="_-lGRgHLzEdqziYxiZo0YtA"/>
-      <ownedAttribute xmi:id="_g0EwBtwbEeCT5O2F6sGn5g" name="deployment" visibility="public" type="_g0Ev8NwbEeCT5O2F6sGn5g" subsettedProperty="_g0JodNwbEeCT5O2F6sGn5g" association="_gyVqltwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0EwB9wbEeCT5O2F6sGn5g" annotatedElement="_g0EwBtwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VYzlwxE9EeGOffqMW1YiZA" name="deployment_target" constrainedElement="_W2CnILG2EeCDe8CO90iVKQ">
+        <ownedComment xmi:id="_VYzlxBE9EeGOffqMW1YiZA" annotatedElement="_VYzlwxE9EeGOffqMW1YiZA">
+          <body>The DeploymentTarget of a DeploymentSpecification is a kind of ExecutionEnvironment.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VYzlxRE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>self.deployment->forAll (d | d.location.oclIsKindOf(ExecutionEnvironment))</body>
+        </specification>
+      </ownedRule>
+      <generalization xmi:id="_VYzlxhE9EeGOffqMW1YiZA" general="_-lGRgHLzEdqziYxiZo0YtA"/>
+      <ownedAttribute xmi:id="_VYzlxxE9EeGOffqMW1YiZA" name="deployment" visibility="public" type="_VYy-sBE9EeGOffqMW1YiZA" subsettedProperty="_N3hRMAtAEeGcpbeCPJfCmw" association="_VTF_UxE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VYzlyBE9EeGOffqMW1YiZA" annotatedElement="_VYzlxxE9EeGOffqMW1YiZA">
           <body>The deployment with which the DeploymentSpecification is associated.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g0EwCNwbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VYzlyRE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
       <ownedAttribute xmi:id="_at8FwLG2EeCDe8CO90iVKQ" name="deploymentLocation" visibility="public">
-        <ownedComment xmi:id="_g0EwCdwbEeCT5O2F6sGn5g" annotatedElement="_at8FwLG2EeCDe8CO90iVKQ">
+        <ownedComment xmi:id="_VYzlyhE9EeGOffqMW1YiZA" annotatedElement="_at8FwLG2EeCDe8CO90iVKQ">
           <body>The location where an Artifact is deployed onto a Node. This is typically a 'directory' or 'memory address'.</body>
         </ownedComment>
         <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g0FXANwbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VYzlyxE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
       <ownedAttribute xmi:id="_lncl8LG2EeCDe8CO90iVKQ" name="executionLocation" visibility="public">
-        <ownedComment xmi:id="_g0FXAdwbEeCT5O2F6sGn5g" annotatedElement="_lncl8LG2EeCDe8CO90iVKQ">
+        <ownedComment xmi:id="_VY0M0BE9EeGOffqMW1YiZA" annotatedElement="_lncl8LG2EeCDe8CO90iVKQ">
           <body>The location where a component Artifact executes. This may be a local or remote location.</body>
         </ownedComment>
         <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g0FXAtwbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VY0M0RE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="_PkmfgLLXEeCsYvaJqFFivQ" name="DeploymentTarget" isAbstract="true">
-      <ownedComment xmi:id="_g0F-ENwbEeCT5O2F6sGn5g" annotatedElement="_PkmfgLLXEeCsYvaJqFFivQ">
+      <ownedComment xmi:id="_VY2CABE9EeGOffqMW1YiZA" annotatedElement="_PkmfgLLXEeCsYvaJqFFivQ">
         <body>A deployment target is the location for a deployed artifact.</body>
       </ownedComment>
-      <generalization xmi:id="_g0F-EdwbEeCT5O2F6sGn5g" general="_csVgUGvtEdqG6fBIPwe-mw"/>
-      <ownedAttribute xmi:id="_g0F-EtwbEeCT5O2F6sGn5g" name="deployedElement" visibility="public" type="_jKxnwGwLEdq7X4sGURiZYA" isReadOnly="true" isDerived="true" association="_gyYt7NwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0F-E9wbEeCT5O2F6sGn5g" annotatedElement="_g0F-EtwbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_VY2pEBE9EeGOffqMW1YiZA" general="_csVgUGvtEdqG6fBIPwe-mw"/>
+      <ownedAttribute xmi:id="_VY2pERE9EeGOffqMW1YiZA" name="deployedElement" visibility="public" type="_jKxnwGwLEdq7X4sGURiZYA" isReadOnly="true" isDerived="true" association="_VTPJQBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VY2pEhE9EeGOffqMW1YiZA" annotatedElement="_VY2pERE9EeGOffqMW1YiZA">
           <body>The set of elements that are manifested in an Artifact that is involved in Deployment to a DeploymentTarget.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g0F-FNwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g0F-FdwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VY2pExE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VY2pFBE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g0F-FtwbEeCT5O2F6sGn5g" name="deployment" visibility="public" type="_g0Ev8NwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_g0JocNwbEeCT5O2F6sGn5g _g1QbsNwbEeCT5O2F6sGn5g" association="_gyYt8NwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0F-F9wbEeCT5O2F6sGn5g" annotatedElement="_g0F-FtwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VY2pFRE9EeGOffqMW1YiZA" name="deployment" visibility="public" type="_VYy-sBE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_GDD2YAtAEeGcpbeCPJfCmw _VaN7ABE9EeGOffqMW1YiZA" association="_VTPJRBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VY2pFhE9EeGOffqMW1YiZA" annotatedElement="_VY2pFRE9EeGOffqMW1YiZA">
           <body>The set of Deployments for a DeploymentTarget.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g0F-GNwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g0F-GdwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VY2pFxE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VY2pGBE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedOperation xmi:id="_7EO9ULLXEeCsYvaJqFFivQ" name="deployedElement" visibility="public" bodyCondition="_g0F-G9wbEeCT5O2F6sGn5g" isQuery="true">
-        <ownedComment xmi:id="_g0F-GtwbEeCT5O2F6sGn5g" annotatedElement="_7EO9ULLXEeCsYvaJqFFivQ">
+      <ownedOperation xmi:id="_7EO9ULLXEeCsYvaJqFFivQ" name="deployedElement" visibility="public" bodyCondition="_VY3QIRE9EeGOffqMW1YiZA" isQuery="true">
+        <ownedComment xmi:id="_VY3QIBE9EeGOffqMW1YiZA" annotatedElement="_7EO9ULLXEeCsYvaJqFFivQ">
           <body>Missing derivation for DeploymentTarget::/deployedElement : PackageableElement</body>
         </ownedComment>
-        <ownedRule xmi:id="_g0F-G9wbEeCT5O2F6sGn5g" name="spec" constrainedElement="_7EO9ULLXEeCsYvaJqFFivQ _g0F-EtwbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0F-HNwbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VY3QIRE9EeGOffqMW1YiZA" name="spec" constrainedElement="_7EO9ULLXEeCsYvaJqFFivQ _VY2pERE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VY3QIhE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = ((self.deployment->collect(deployedArtifact))->collect(manifestation))->collect(utilizedElement)</body>
           </specification>
         </ownedRule>
         <ownedParameter xmi:id="_r58H8LLYEeCsYvaJqFFivQ" name="result" visibility="public" type="_jKxnwGwLEdq7X4sGURiZYA" direction="return">
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g0F-HdwbEeCT5O2F6sGn5g"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g0F-HtwbEeCT5O2F6sGn5g" value="*"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VY3QIxE9EeGOffqMW1YiZA"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VY3QJBE9EeGOffqMW1YiZA" value="*"/>
         </ownedParameter>
       </ownedOperation>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g0GlINwbEeCT5O2F6sGn5g" name="DestroyLinkAction">
-      <ownedComment xmi:id="_g0GlIdwbEeCT5O2F6sGn5g" annotatedElement="_g0GlINwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VY4eQBE9EeGOffqMW1YiZA" name="DestroyLinkAction">
+      <ownedComment xmi:id="_VY4eQRE9EeGOffqMW1YiZA" annotatedElement="_VY4eQBE9EeGOffqMW1YiZA">
         <body>A destroy link action is a write link action that destroys links and link objects.</body>
       </ownedComment>
-      <generalization xmi:id="_g0GlItwbEeCT5O2F6sGn5g" general="_g2a5UdwbEeCT5O2F6sGn5g"/>
-      <ownedAttribute xmi:id="_g0GlI9wbEeCT5O2F6sGn5g" name="endData" visibility="public" type="_g0j4INwbEeCT5O2F6sGn5g" aggregation="composite" redefinedProperty="_g0iC_NwbEeCT5O2F6sGn5g" association="_gyZ8ANwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0GlJNwbEeCT5O2F6sGn5g" annotatedElement="_g0GlI9wbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_VY4eQhE9EeGOffqMW1YiZA" general="_VfKFYBE9EeGOffqMW1YiZA"/>
+      <ownedAttribute xmi:id="_VY4eQxE9EeGOffqMW1YiZA" name="endData" visibility="public" type="_VZ38wBE9EeGOffqMW1YiZA" aggregation="composite" redefinedProperty="_VZ1gjBE9EeGOffqMW1YiZA" association="_VTRlgxE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VY4eRBE9EeGOffqMW1YiZA" annotatedElement="_VY4eQxE9EeGOffqMW1YiZA">
           <body>Specifies ends of association and inputs.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g0GlJdwbEeCT5O2F6sGn5g" value="2"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g0GlJtwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VY4eRRE9EeGOffqMW1YiZA" value="2"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VY4eRhE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g0HMMNwbEeCT5O2F6sGn5g" name="DestroyObjectAction">
-      <ownedComment xmi:id="_g0HMMdwbEeCT5O2F6sGn5g" annotatedElement="_g0HMMNwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VY5FUBE9EeGOffqMW1YiZA" name="DestroyObjectAction">
+      <ownedComment xmi:id="_VY5FURE9EeGOffqMW1YiZA" annotatedElement="_VY5FUBE9EeGOffqMW1YiZA">
         <body>A destroy object action is an action that destroys objects.</body>
       </ownedComment>
-      <ownedRule xmi:id="_g0HMMtwbEeCT5O2F6sGn5g" name="multiplicity" constrainedElement="_g0HMMNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0HMM9wbEeCT5O2F6sGn5g" annotatedElement="_g0HMMtwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VY5FUhE9EeGOffqMW1YiZA" name="multiplicity" constrainedElement="_VY5FUBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VY5FUxE9EeGOffqMW1YiZA" annotatedElement="_VY5FUhE9EeGOffqMW1YiZA">
           <body>The multiplicity of the input pin is 1..1.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0HMNNwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VY5FVBE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>self.target.multiplicity.is(1,1)</body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_g0HMNdwbEeCT5O2F6sGn5g" name="no_type" constrainedElement="_g0HMMNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0HMNtwbEeCT5O2F6sGn5g" annotatedElement="_g0HMNdwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VY5FVRE9EeGOffqMW1YiZA" name="no_type" constrainedElement="_VY5FUBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VY5FVhE9EeGOffqMW1YiZA" annotatedElement="_VY5FVRE9EeGOffqMW1YiZA">
           <body>The input pin has no type.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0HMN9wbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VY5FVxE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>self.target.type->size() = 0</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_g0HMONwbEeCT5O2F6sGn5g" general="_6WKakLLQEeCsYvaJqFFivQ"/>
-      <ownedAttribute xmi:id="_g0HMOdwbEeCT5O2F6sGn5g" name="isDestroyLinks" visibility="public">
-        <ownedComment xmi:id="_g0HMOtwbEeCT5O2F6sGn5g" annotatedElement="_g0HMOdwbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_VY5FWBE9EeGOffqMW1YiZA" general="_6WKakLLQEeCsYvaJqFFivQ"/>
+      <ownedAttribute xmi:id="_VY5FWRE9EeGOffqMW1YiZA" name="isDestroyLinks" visibility="public">
+        <ownedComment xmi:id="_VY5FWhE9EeGOffqMW1YiZA" annotatedElement="_VY5FWRE9EeGOffqMW1YiZA">
           <body>Specifies whether links in which the object participates are destroyed along with the object.</body>
         </ownedComment>
         <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
-        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_g0HMO9wbEeCT5O2F6sGn5g"/>
+        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_VY5FWxE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g0HMPNwbEeCT5O2F6sGn5g" name="isDestroyOwnedObjects" visibility="public">
-        <ownedComment xmi:id="_g0HMPdwbEeCT5O2F6sGn5g" annotatedElement="_g0HMPNwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VY5FXBE9EeGOffqMW1YiZA" name="isDestroyOwnedObjects" visibility="public">
+        <ownedComment xmi:id="_VY5FXRE9EeGOffqMW1YiZA" annotatedElement="_VY5FXBE9EeGOffqMW1YiZA">
           <body>Specifies whether objects owned by the object are destroyed along with the object.</body>
         </ownedComment>
         <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
-        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_g0HMPtwbEeCT5O2F6sGn5g"/>
+        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_VY5FXhE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g0HMP9wbEeCT5O2F6sGn5g" name="target" visibility="public" type="_g0aHKdwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_gzBnMNwbEeCT5O2F6sGn5g" association="_gy8HjNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0HMQNwbEeCT5O2F6sGn5g" annotatedElement="_g0HMP9wbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VY5FXxE9EeGOffqMW1YiZA" name="target" visibility="public" type="_VZp6WRE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_VU4IABE9EeGOffqMW1YiZA" association="_VUo3eBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VY5FYBE9EeGOffqMW1YiZA" annotatedElement="_VY5FXxE9EeGOffqMW1YiZA">
           <body>The input pin providing the object to be destroyed.</body>
         </ownedComment>
       </ownedAttribute>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g0HMQdwbEeCT5O2F6sGn5g" name="DestructionOccurrenceSpecification">
-      <ownedComment xmi:id="_g0HMQtwbEeCT5O2F6sGn5g" annotatedElement="_g0HMQdwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VY6TcBE9EeGOffqMW1YiZA" name="DestructionOccurrenceSpecification">
+      <ownedComment xmi:id="_VY6TcRE9EeGOffqMW1YiZA" annotatedElement="_VY6TcBE9EeGOffqMW1YiZA">
         <body>A destruction event models the destruction of an object.</body>
       </ownedComment>
-      <ownedRule xmi:id="_g0HMQ9wbEeCT5O2F6sGn5g" name="no_occurrence_specifications_below" constrainedElement="_g0HMQdwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0HMRNwbEeCT5O2F6sGn5g" annotatedElement="_g0HMQ9wbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VY6TchE9EeGOffqMW1YiZA" name="no_occurrence_specifications_below" constrainedElement="_VY6TcBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VY6TcxE9EeGOffqMW1YiZA" annotatedElement="_VY6TchE9EeGOffqMW1YiZA">
           <body>No other OccurrenceSpecifications on a given Lifeline in an InteractionOperand may appear below a DestructionOccurrenceSpecification.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0HMRdwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VY6TdBE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>true</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_g0HMRtwbEeCT5O2F6sGn5g" general="_g1MKSdwbEeCT5O2F6sGn5g"/>
+      <generalization xmi:id="_VY6TdRE9EeGOffqMW1YiZA" general="_VaExEBE9EeGOffqMW1YiZA"/>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g0HMR9wbEeCT5O2F6sGn5g" name="Device">
-      <ownedComment xmi:id="_g0HMSNwbEeCT5O2F6sGn5g" annotatedElement="_g0HMR9wbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VY66gBE9EeGOffqMW1YiZA" name="Device">
+      <ownedComment xmi:id="_VY66gRE9EeGOffqMW1YiZA" annotatedElement="_VY66gBE9EeGOffqMW1YiZA">
         <body>A device is a physical computational resource with processing capability upon which artifacts may be deployed for execution. Devices may be complex (i.e., they may consist of other devices).</body>
       </ownedComment>
-      <generalization xmi:id="_g0HMSdwbEeCT5O2F6sGn5g" general="_5YOyUKJ8EdywJr5C4uHLKw"/>
+      <generalization xmi:id="_VY66ghE9EeGOffqMW1YiZA" general="_5YOyUKJ8EdywJr5C4uHLKw"/>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="_JBgfoKPAEdqi_5gqUMOQtA" name="DirectedRelationship" isAbstract="true">
-      <ownedComment xmi:id="_g0HMStwbEeCT5O2F6sGn5g" annotatedElement="_JBgfoKPAEdqi_5gqUMOQtA">
+      <ownedComment xmi:id="_VY66gxE9EeGOffqMW1YiZA" annotatedElement="_JBgfoKPAEdqi_5gqUMOQtA">
         <body>A directed relationship represents a relationship between a collection of source model elements and a collection of target model elements.</body>
       </ownedComment>
-      <generalization xmi:id="_g0HzQNwbEeCT5O2F6sGn5g" general="_DH62EKPAEdqi_5gqUMOQtA"/>
-      <ownedAttribute xmi:id="_g0HzQdwbEeCT5O2F6sGn5g" name="source" visibility="public" type="_kl90MGvbEdq4DLWZOhbdEA" isReadOnly="true" isDerived="true" isDerivedUnion="true" subsettedProperty="_g18_gNwbEeCT5O2F6sGn5g" association="_gy5rSdwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0HzQtwbEeCT5O2F6sGn5g" annotatedElement="_g0HzQdwbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_VY66hBE9EeGOffqMW1YiZA" general="_DH62EKPAEdqi_5gqUMOQtA"/>
+      <ownedAttribute xmi:id="_VY66hRE9EeGOffqMW1YiZA" name="source" visibility="public" type="_kl90MGvbEdq4DLWZOhbdEA" isReadOnly="true" isDerived="true" isDerivedUnion="true" subsettedProperty="_VeBc8hE9EeGOffqMW1YiZA" association="_VUkmBRE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VY66hhE9EeGOffqMW1YiZA" annotatedElement="_VY66hRE9EeGOffqMW1YiZA">
           <body>Specifies the sources of the DirectedRelationship.</body>
         </ownedComment>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g0HzQ9wbEeCT5O2F6sGn5g" value="*"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VY66hxE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g0HzRNwbEeCT5O2F6sGn5g" name="target" visibility="public" type="_kl90MGvbEdq4DLWZOhbdEA" isReadOnly="true" isDerived="true" isDerivedUnion="true" subsettedProperty="_g18_gNwbEeCT5O2F6sGn5g" association="_gy8ukNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0HzRdwbEeCT5O2F6sGn5g" annotatedElement="_g0HzRNwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VY66iBE9EeGOffqMW1YiZA" name="target" visibility="public" type="_kl90MGvbEdq4DLWZOhbdEA" isReadOnly="true" isDerived="true" isDerivedUnion="true" subsettedProperty="_VeBc8hE9EeGOffqMW1YiZA" association="_VUpegBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VY66iRE9EeGOffqMW1YiZA" annotatedElement="_VY66iBE9EeGOffqMW1YiZA">
           <body>Specifies the targets of the DirectedRelationship.</body>
         </ownedComment>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g0HzRtwbEeCT5O2F6sGn5g" value="*"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VY66ihE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="_-Ixo8H4XEdq7cMP_l1l5Gg" name="Duration">
-      <ownedComment xmi:id="_g0HzR9wbEeCT5O2F6sGn5g" annotatedElement="_-Ixo8H4XEdq7cMP_l1l5Gg">
+      <ownedComment xmi:id="_VY7hkBE9EeGOffqMW1YiZA" annotatedElement="_-Ixo8H4XEdq7cMP_l1l5Gg">
         <body>Duration defines a value specification that specifies the temporal distance between two time instants.</body>
       </ownedComment>
-      <generalization xmi:id="_g0HzSNwbEeCT5O2F6sGn5g" general="_g2YdENwbEeCT5O2F6sGn5g"/>
-      <ownedAttribute xmi:id="_g0HzSdwbEeCT5O2F6sGn5g" name="expr" visibility="public" type="_g2YdENwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_g0JocNwbEeCT5O2F6sGn5g" association="_gybxPdwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0HzStwbEeCT5O2F6sGn5g" annotatedElement="_g0HzSdwbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_VY7hkRE9EeGOffqMW1YiZA" general="_VfGbABE9EeGOffqMW1YiZA"/>
+      <ownedAttribute xmi:id="_VY7hkhE9EeGOffqMW1YiZA" name="expr" visibility="public" type="_VfGbABE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_GDD2YAtAEeGcpbeCPJfCmw" association="_VTXsIxE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VY7hkxE9EeGOffqMW1YiZA" annotatedElement="_VY7hkhE9EeGOffqMW1YiZA">
           <body>The value of the Duration.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g0HzS9wbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VY7hlBE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g0HzTNwbEeCT5O2F6sGn5g" name="observation" visibility="public" type="_g1XJfdwbEeCT5O2F6sGn5g" association="_gymJTNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0HzTdwbEeCT5O2F6sGn5g" annotatedElement="_g0HzTNwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VY8IoBE9EeGOffqMW1YiZA" name="observation" visibility="public" type="_VbcqEBE9EeGOffqMW1YiZA" association="_VT7s0BE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VY8IoRE9EeGOffqMW1YiZA" annotatedElement="_VY8IoBE9EeGOffqMW1YiZA">
           <body>Refers to the time and duration observations that are involved in expr.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g0HzTtwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g0HzT9wbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VY8IohE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VY8IoxE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
       <ownedOperation xmi:id="_I3a88H4YEdq7cMP_l1l5Gg" name="stringValue" visibility="protected" isQuery="true">
         <ownedParameter xmi:id="_I3a88X4YEdq7cMP_l1l5Gg" direction="return">
@@ -5761,99 +5761,99 @@
         </ownedParameter>
       </ownedOperation>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g0IaUNwbEeCT5O2F6sGn5g" name="DurationConstraint">
-      <ownedComment xmi:id="_g0IaUdwbEeCT5O2F6sGn5g" annotatedElement="_g0IaUNwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VY-k4BE9EeGOffqMW1YiZA" name="DurationConstraint">
+      <ownedComment xmi:id="_VY-k4RE9EeGOffqMW1YiZA" annotatedElement="_VY-k4BE9EeGOffqMW1YiZA">
         <body>A duration constraint is a constraint that refers to a duration interval.</body>
       </ownedComment>
-      <ownedRule xmi:id="_g0IaUtwbEeCT5O2F6sGn5g" name="first_event_multiplicity" constrainedElement="_g0IaUNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0IaU9wbEeCT5O2F6sGn5g" annotatedElement="_g0IaUtwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VY-k4hE9EeGOffqMW1YiZA" name="first_event_multiplicity" constrainedElement="_VY-k4BE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VY-k4xE9EeGOffqMW1YiZA" annotatedElement="_VY-k4hE9EeGOffqMW1YiZA">
           <body>The multiplicity of firstEvent must be 2 if the multiplicity of constrainedElement is 2. Otherwise the multiplicity of firstEvent is 0.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0IaVNwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VY-k5BE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>if (constrainedElement->size() =2)
   then (firstEvent->size() = 2) else (firstEvent->size() = 0)</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_g0IaVdwbEeCT5O2F6sGn5g" general="_g0gNwNwbEeCT5O2F6sGn5g"/>
-      <ownedAttribute xmi:id="_g0IaVtwbEeCT5O2F6sGn5g" name="firstEvent" visibility="public">
-        <ownedComment xmi:id="_g0IaV9wbEeCT5O2F6sGn5g" annotatedElement="_g0IaVtwbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_VY-k5RE9EeGOffqMW1YiZA" general="_VZydNxE9EeGOffqMW1YiZA"/>
+      <ownedAttribute xmi:id="_VY-k5hE9EeGOffqMW1YiZA" name="firstEvent" visibility="public">
+        <ownedComment xmi:id="_VY-k5xE9EeGOffqMW1YiZA" annotatedElement="_VY-k5hE9EeGOffqMW1YiZA">
           <body>The value of firstEvent[i] is related to constrainedElement[i] (where i is 1 or 2). If firstEvent[i] is true, then the corresponding observation event is the first time instant the execution enters constrainedElement[i]. If firstEvent[i] is false, then the corresponding observation event is the last time instant the execution is within constrainedElement[i]. Default value is true applied when constrainedElement[i] refers an element that represents only one time instant.</body>
         </ownedComment>
         <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g0IaWNwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g0IaWdwbEeCT5O2F6sGn5g" value="2"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VY-k6BE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VY-k6RE9EeGOffqMW1YiZA" value="2"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g0IaWtwbEeCT5O2F6sGn5g" name="specification" visibility="public" type="_g0IaXNwbEeCT5O2F6sGn5g" aggregation="composite" redefinedProperty="_g0gNw9wbEeCT5O2F6sGn5g _g0AeltwbEeCT5O2F6sGn5g" association="_gy5rTdwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0IaW9wbEeCT5O2F6sGn5g" annotatedElement="_g0IaWtwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VY-k6hE9EeGOffqMW1YiZA" name="specification" visibility="public" type="_VY-k7BE9EeGOffqMW1YiZA" aggregation="composite" redefinedProperty="_VZydOhE9EeGOffqMW1YiZA _VYbLVhE9EeGOffqMW1YiZA" association="_VUlNEBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VY-k6xE9EeGOffqMW1YiZA" annotatedElement="_VY-k6hE9EeGOffqMW1YiZA">
           <body>The interval constraining the duration.</body>
         </ownedComment>
       </ownedAttribute>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g0IaXNwbEeCT5O2F6sGn5g" name="DurationInterval">
-      <ownedComment xmi:id="_g0IaXdwbEeCT5O2F6sGn5g" annotatedElement="_g0IaXNwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VY-k7BE9EeGOffqMW1YiZA" name="DurationInterval">
+      <ownedComment xmi:id="_VY-k7RE9EeGOffqMW1YiZA" annotatedElement="_VY-k7BE9EeGOffqMW1YiZA">
         <body>A duration interval defines the range between two durations.</body>
       </ownedComment>
-      <generalization xmi:id="_g0IaXtwbEeCT5O2F6sGn5g" general="_g0fmvtwbEeCT5O2F6sGn5g"/>
-      <ownedAttribute xmi:id="_g0IaX9wbEeCT5O2F6sGn5g" name="max" visibility="public" type="_-Ixo8H4XEdq7cMP_l1l5Gg" redefinedProperty="_g0fmwdwbEeCT5O2F6sGn5g" association="_gyie49wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0IaYNwbEeCT5O2F6sGn5g" annotatedElement="_g0IaX9wbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_VY-k7hE9EeGOffqMW1YiZA" general="_VZydMBE9EeGOffqMW1YiZA"/>
+      <ownedAttribute xmi:id="_VY-k7xE9EeGOffqMW1YiZA" name="max" visibility="public" type="_-Ixo8H4XEdq7cMP_l1l5Gg" redefinedProperty="_VZydMxE9EeGOffqMW1YiZA" association="_VTu4hRE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VY-k8BE9EeGOffqMW1YiZA" annotatedElement="_VY-k7xE9EeGOffqMW1YiZA">
           <body>Refers to the Duration denoting the maximum value of the range.</body>
         </ownedComment>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g0IaYdwbEeCT5O2F6sGn5g" name="min" visibility="public" type="_-Ixo8H4XEdq7cMP_l1l5Gg" redefinedProperty="_g0fmw9wbEeCT5O2F6sGn5g" association="_gyjtC9wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0IaYtwbEeCT5O2F6sGn5g" annotatedElement="_g0IaYdwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VY-k8RE9EeGOffqMW1YiZA" name="min" visibility="public" type="_-Ixo8H4XEdq7cMP_l1l5Gg" redefinedProperty="_VZydNRE9EeGOffqMW1YiZA" association="_VTyi5BE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VY-k8hE9EeGOffqMW1YiZA" annotatedElement="_VY-k8RE9EeGOffqMW1YiZA">
           <body>Refers to the Duration denoting the minimum value of the range.</body>
         </ownedComment>
       </ownedAttribute>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g0JBYNwbEeCT5O2F6sGn5g" name="DurationObservation">
-      <ownedComment xmi:id="_g0JBYdwbEeCT5O2F6sGn5g" annotatedElement="_g0JBYNwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VY_L8BE9EeGOffqMW1YiZA" name="DurationObservation">
+      <ownedComment xmi:id="_VY_L8RE9EeGOffqMW1YiZA" annotatedElement="_VY_L8BE9EeGOffqMW1YiZA">
         <body>A duration observation is a reference to a duration during an execution. It points out the element(s) in the model to observe and whether the observations are when this model element is entered or when it is exited.</body>
       </ownedComment>
-      <ownedRule xmi:id="_g0JBYtwbEeCT5O2F6sGn5g" name="first_event_multiplicity" constrainedElement="_g0JBYNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0JBY9wbEeCT5O2F6sGn5g" annotatedElement="_g0JBYtwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VY_L8hE9EeGOffqMW1YiZA" name="first_event_multiplicity" constrainedElement="_VY_L8BE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VY_L8xE9EeGOffqMW1YiZA" annotatedElement="_VY_L8hE9EeGOffqMW1YiZA">
           <body>The multiplicity of firstEvent must be 2 if the multiplicity of event is 2. Otherwise the multiplicity of firstEvent is 0.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0JBZNwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VY_L9BE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>if (event->size() = 2)
   then (firstEvent->size() = 2) else (firstEvent->size() = 0)</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_g0JBZdwbEeCT5O2F6sGn5g" general="_g1XJfdwbEeCT5O2F6sGn5g"/>
-      <ownedAttribute xmi:id="_g0JBZtwbEeCT5O2F6sGn5g" name="event" visibility="public" type="_csVgUGvtEdqG6fBIPwe-mw" association="_gyajGdwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0JBZ9wbEeCT5O2F6sGn5g" annotatedElement="_g0JBZtwbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_VY_L9RE9EeGOffqMW1YiZA" general="_VbcqEBE9EeGOffqMW1YiZA"/>
+      <ownedAttribute xmi:id="_VY_L9hE9EeGOffqMW1YiZA" name="event" visibility="public" type="_csVgUGvtEdqG6fBIPwe-mw" association="_VTUo0BE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VY_L9xE9EeGOffqMW1YiZA" annotatedElement="_VY_L9hE9EeGOffqMW1YiZA">
           <body>The observation is determined by the entering or exiting of the event element during execution.</body>
         </ownedComment>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g0JBaNwbEeCT5O2F6sGn5g" value="2"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VY_L-BE9EeGOffqMW1YiZA" value="2"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g0JBadwbEeCT5O2F6sGn5g" name="firstEvent" visibility="public">
-        <ownedComment xmi:id="_g0JBatwbEeCT5O2F6sGn5g" annotatedElement="_g0JBadwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VY_L-RE9EeGOffqMW1YiZA" name="firstEvent" visibility="public">
+        <ownedComment xmi:id="_VY_L-hE9EeGOffqMW1YiZA" annotatedElement="_VY_L-RE9EeGOffqMW1YiZA">
           <body>The value of firstEvent[i] is related to event[i] (where i is 1 or 2). If firstEvent[i] is true, then the corresponding observation event is the first time instant the execution enters event[i]. If firstEvent[i] is false, then the corresponding observation event is the time instant the execution exits event[i]. Default value is true applied when event[i] refers an element that represents only one time instant.</body>
         </ownedComment>
         <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g0JBa9wbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g0JBbNwbEeCT5O2F6sGn5g" value="2"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VY_L-xE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VY_L_BE9EeGOffqMW1YiZA" value="2"/>
       </ownedAttribute>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="_kl90MGvbEdq4DLWZOhbdEA" name="Element" isAbstract="true">
-      <ownedComment xmi:id="_g0JBbdwbEeCT5O2F6sGn5g" annotatedElement="_kl90MGvbEdq4DLWZOhbdEA">
+      <ownedComment xmi:id="_VZF5oBE9EeGOffqMW1YiZA" annotatedElement="_kl90MGvbEdq4DLWZOhbdEA">
         <body>An element is a constituent of a model. As such, it has the capability of owning other elements.</body>
       </ownedComment>
-      <ownedRule xmi:id="_g0JBbtwbEeCT5O2F6sGn5g" name="has_owner" constrainedElement="_kl90MGvbEdq4DLWZOhbdEA">
-        <ownedComment xmi:id="_g0JBb9wbEeCT5O2F6sGn5g" annotatedElement="_g0JBbtwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VZF5oRE9EeGOffqMW1YiZA" name="has_owner" constrainedElement="_kl90MGvbEdq4DLWZOhbdEA">
+        <ownedComment xmi:id="_VZF5ohE9EeGOffqMW1YiZA" annotatedElement="_VZF5oRE9EeGOffqMW1YiZA">
           <body>Elements that must be owned must have an owner.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0JBcNwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VZF5oxE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>self.mustBeOwned() implies owner->notEmpty()</body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_g0JBcdwbEeCT5O2F6sGn5g" name="not_own_self" constrainedElement="_kl90MGvbEdq4DLWZOhbdEA">
-        <ownedComment xmi:id="_g0JBctwbEeCT5O2F6sGn5g" annotatedElement="_g0JBcdwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VZGgsBE9EeGOffqMW1YiZA" name="not_own_self" constrainedElement="_kl90MGvbEdq4DLWZOhbdEA">
+        <ownedComment xmi:id="_VZGgsRE9EeGOffqMW1YiZA" annotatedElement="_VZGgsBE9EeGOffqMW1YiZA">
           <body>An element may not directly or indirectly own itself.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0JBc9wbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VZGgshE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>not self.allOwnedElements()->includes(self)</body>
         </specification>
@@ -5861,25 +5861,25 @@
       <generalization xmi:id="_rcp_MGvbEdq4DLWZOhbdEA">
         <general xmi:type="uml:Class" href="Ecore.uml#_SeWihMX_EduPJbEsMYXjUQ"/>
       </generalization>
-      <ownedAttribute xmi:id="_g0JBdNwbEeCT5O2F6sGn5g" name="ownedComment" visibility="public" type="_Q8DcULGzEeCDe8CO90iVKQ" aggregation="composite" subsettedProperty="_g0JocNwbEeCT5O2F6sGn5g" association="_gyolitwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0JBddwbEeCT5O2F6sGn5g" annotatedElement="_g0JBdNwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VZGgsxE9EeGOffqMW1YiZA" name="ownedComment" visibility="public" type="_Q8DcULGzEeCDe8CO90iVKQ" aggregation="composite" subsettedProperty="_GDD2YAtAEeGcpbeCPJfCmw" association="_VT_-QBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZGgtBE9EeGOffqMW1YiZA" annotatedElement="_VZGgsxE9EeGOffqMW1YiZA">
           <body>The Comments owned by this element.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g0JBdtwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g0JBd9wbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VZGgtRE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VZGgthE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g0JocNwbEeCT5O2F6sGn5g" name="ownedElement" visibility="public" type="_kl90MGvbEdq4DLWZOhbdEA" isReadOnly="true" aggregation="composite" isDerived="true" isDerivedUnion="true" association="_gypMlNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0JocdwbEeCT5O2F6sGn5g" annotatedElement="_g0JocNwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_GDD2YAtAEeGcpbeCPJfCmw" name="ownedElement" visibility="public" type="_kl90MGvbEdq4DLWZOhbdEA" isReadOnly="true" aggregation="composite" isDerived="true" isDerivedUnion="true" association="_bU41QAtAEeGcpbeCPJfCmw">
+        <ownedComment xmi:id="_VZGgtxE9EeGOffqMW1YiZA" annotatedElement="_GDD2YAtAEeGcpbeCPJfCmw">
           <body>The Elements owned by this element.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g0JoctwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g0Joc9wbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VZGguBE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VZGguRE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g0JodNwbEeCT5O2F6sGn5g" name="owner" visibility="public" type="_kl90MGvbEdq4DLWZOhbdEA" isReadOnly="true" isDerived="true" isDerivedUnion="true" association="_gypMlNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0JoddwbEeCT5O2F6sGn5g" annotatedElement="_g0JodNwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_N3hRMAtAEeGcpbeCPJfCmw" name="owner" visibility="public" type="_kl90MGvbEdq4DLWZOhbdEA" isReadOnly="true" isDerived="true" isDerivedUnion="true" association="_bU41QAtAEeGcpbeCPJfCmw">
+        <ownedComment xmi:id="_VZHHwBE9EeGOffqMW1YiZA" annotatedElement="_N3hRMAtAEeGcpbeCPJfCmw">
           <body>The Element that owns this element.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g0JodtwbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VZHHwRE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
       <ownedOperation xmi:id="_jlv7EGvgEdq4DLWZOhbdEA" name="addKeyword">
         <ownedComment xmi:id="_2oMhsOwbEdqYHf-imTcTdw" annotatedElement="_jlv7EGvgEdq4DLWZOhbdEA">
@@ -6300,88 +6300,88 @@
           </ownedComment>
         </ownedParameter>
       </ownedOperation>
-      <ownedOperation xmi:id="_g0Jod9wbEeCT5O2F6sGn5g" name="allOwnedElements" visibility="public" bodyCondition="_g0JoedwbEeCT5O2F6sGn5g" isQuery="true">
-        <ownedComment xmi:id="_g0JoeNwbEeCT5O2F6sGn5g" annotatedElement="_g0Jod9wbEeCT5O2F6sGn5g">
+      <ownedOperation xmi:id="_VZHHwhE9EeGOffqMW1YiZA" name="allOwnedElements" visibility="public" bodyCondition="_VZHHxBE9EeGOffqMW1YiZA" isQuery="true">
+        <ownedComment xmi:id="_VZHHwxE9EeGOffqMW1YiZA" annotatedElement="_VZHHwhE9EeGOffqMW1YiZA">
           <body>The query allOwnedElements() gives all of the direct and indirect owned elements of an element.</body>
         </ownedComment>
-        <ownedRule xmi:id="_g0JoedwbEeCT5O2F6sGn5g" name="spec" constrainedElement="_g0Jod9wbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0JoetwbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VZHHxBE9EeGOffqMW1YiZA" name="spec" constrainedElement="_VZHHwhE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VZHHxRE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = ownedElement->union(ownedElement->collect(e | e.allOwnedElements()))</body>
           </specification>
         </ownedRule>
-        <ownedParameter xmi:id="_g0Joe9wbEeCT5O2F6sGn5g" name="result" visibility="public" type="_kl90MGvbEdq4DLWZOhbdEA" direction="return">
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g0JofNwbEeCT5O2F6sGn5g"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g0JofdwbEeCT5O2F6sGn5g" value="*"/>
+        <ownedParameter xmi:id="_VZHHxhE9EeGOffqMW1YiZA" name="result" visibility="public" type="_kl90MGvbEdq4DLWZOhbdEA" direction="return">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VZHHxxE9EeGOffqMW1YiZA"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VZHHyBE9EeGOffqMW1YiZA" value="*"/>
         </ownedParameter>
       </ownedOperation>
-      <ownedOperation xmi:id="_g0JoftwbEeCT5O2F6sGn5g" name="mustBeOwned" visibility="public" bodyCondition="_g0JogNwbEeCT5O2F6sGn5g" isQuery="true">
-        <ownedComment xmi:id="_g0Jof9wbEeCT5O2F6sGn5g" annotatedElement="_g0JoftwbEeCT5O2F6sGn5g">
+      <ownedOperation xmi:id="_VZHu0BE9EeGOffqMW1YiZA" name="mustBeOwned" visibility="public" bodyCondition="_VZHu0hE9EeGOffqMW1YiZA" isQuery="true">
+        <ownedComment xmi:id="_VZHu0RE9EeGOffqMW1YiZA" annotatedElement="_VZHu0BE9EeGOffqMW1YiZA">
           <body>The query mustBeOwned() indicates whether elements of this type must have an owner. Subclasses of Element that do not require an owner must override this operation.</body>
         </ownedComment>
-        <ownedRule xmi:id="_g0JogNwbEeCT5O2F6sGn5g" name="spec" constrainedElement="_g0JoftwbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0JogdwbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VZHu0hE9EeGOffqMW1YiZA" name="spec" constrainedElement="_VZHu0BE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VZHu0xE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = true</body>
           </specification>
         </ownedRule>
-        <ownedParameter xmi:id="_g0JogtwbEeCT5O2F6sGn5g" name="result" visibility="public" direction="return">
+        <ownedParameter xmi:id="_VZHu1BE9EeGOffqMW1YiZA" name="result" visibility="public" direction="return">
           <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
         </ownedParameter>
       </ownedOperation>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="_RPl78GwIEdq7X4sGURiZYA" name="ElementImport">
-      <ownedComment xmi:id="_g0K2kNwbEeCT5O2F6sGn5g" annotatedElement="_RPl78GwIEdq7X4sGURiZYA">
+      <ownedComment xmi:id="_VZI88BE9EeGOffqMW1YiZA" annotatedElement="_RPl78GwIEdq7X4sGURiZYA">
         <body>An element import identifies an element in another package, and allows the element to be referenced using its name without a qualifier.</body>
       </ownedComment>
-      <ownedRule xmi:id="_g0K2kdwbEeCT5O2F6sGn5g" name="imported_element_is_public" constrainedElement="_RPl78GwIEdq7X4sGURiZYA">
-        <ownedComment xmi:id="_g0K2ktwbEeCT5O2F6sGn5g" annotatedElement="_g0K2kdwbEeCT5O2F6sGn5g">
-          <body>An importedElement has either public visibility or no visibility at all.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0K2k9wbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>self.importedElement.visibility.notEmpty() implies self.importedElement.visibility = #public</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_g0K2lNwbEeCT5O2F6sGn5g" name="visibility_public_or_private" constrainedElement="_RPl78GwIEdq7X4sGURiZYA">
-        <ownedComment xmi:id="_g0K2ldwbEeCT5O2F6sGn5g" annotatedElement="_g0K2lNwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VZJkABE9EeGOffqMW1YiZA" name="visibility_public_or_private" constrainedElement="_RPl78GwIEdq7X4sGURiZYA">
+        <ownedComment xmi:id="_VZJkARE9EeGOffqMW1YiZA" annotatedElement="_VZJkABE9EeGOffqMW1YiZA">
           <body>The visibility of an ElementImport is either public or private.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0K2ltwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VZJkAhE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>self.visibility = #public or self.visibility = #private</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_g0K2l9wbEeCT5O2F6sGn5g" general="_JBgfoKPAEdqi_5gqUMOQtA"/>
+      <ownedRule xmi:id="_VZJkAxE9EeGOffqMW1YiZA" name="imported_element_is_public" constrainedElement="_RPl78GwIEdq7X4sGURiZYA">
+        <ownedComment xmi:id="_VZJkBBE9EeGOffqMW1YiZA" annotatedElement="_VZJkAxE9EeGOffqMW1YiZA">
+          <body>An importedElement has either public visibility or no visibility at all.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VZJkBRE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>self.importedElement.visibility.notEmpty() implies self.importedElement.visibility = #public</body>
+        </specification>
+      </ownedRule>
+      <generalization xmi:id="_VZJkBhE9EeGOffqMW1YiZA" general="_JBgfoKPAEdqi_5gqUMOQtA"/>
       <ownedAttribute xmi:id="_fO7PkLG0EeCDe8CO90iVKQ" name="alias" visibility="public">
-        <ownedComment xmi:id="_g0K2mNwbEeCT5O2F6sGn5g" annotatedElement="_fO7PkLG0EeCDe8CO90iVKQ">
+        <ownedComment xmi:id="_VZJkBxE9EeGOffqMW1YiZA" annotatedElement="_fO7PkLG0EeCDe8CO90iVKQ">
           <body>Specifies the name that should be added to the namespace of the importing package in lieu of the name of the imported packagable element. The aliased name must not clash with any other member name in the importing package. By default, no alias is used.</body>
         </ownedComment>
         <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g0K2mdwbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VZJkCBE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g0LdoNwbEeCT5O2F6sGn5g" name="importedElement" visibility="public" type="_jKxnwGwLEdq7X4sGURiZYA" subsettedProperty="_g0HzRNwbEeCT5O2F6sGn5g" association="_gye0i9wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0LdodwbEeCT5O2F6sGn5g" annotatedElement="_g0LdoNwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VZKLEBE9EeGOffqMW1YiZA" name="importedElement" visibility="public" type="_jKxnwGwLEdq7X4sGURiZYA" subsettedProperty="_VY66iBE9EeGOffqMW1YiZA" association="_VTm8sxE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZKLERE9EeGOffqMW1YiZA" annotatedElement="_VZKLEBE9EeGOffqMW1YiZA">
           <body>Specifies the PackageableElement whose name is to be added to a Namespace.</body>
         </ownedComment>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g0LdotwbEeCT5O2F6sGn5g" name="importingNamespace" visibility="public" type="_ZiwkoGwLEdq7X4sGURiZYA" subsettedProperty="_g0HzQdwbEeCT5O2F6sGn5g _g0JodNwbEeCT5O2F6sGn5g" association="_gyZU-dwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0Ldo9wbEeCT5O2F6sGn5g" annotatedElement="_g0LdotwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VZKLEhE9EeGOffqMW1YiZA" name="importingNamespace" visibility="public" type="_ZiwkoGwLEdq7X4sGURiZYA" subsettedProperty="_N3hRMAtAEeGcpbeCPJfCmw _VY66hRE9EeGOffqMW1YiZA" association="_VTQ-cBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZKLExE9EeGOffqMW1YiZA" annotatedElement="_VZKLEhE9EeGOffqMW1YiZA">
           <body>Specifies the Namespace that imports a PackageableElement from another Package.</body>
         </ownedComment>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g0LdpNwbEeCT5O2F6sGn5g" name="visibility" visibility="public" type="_AyM_oGwMEdq7X4sGURiZYA">
-        <ownedComment xmi:id="_g0LdpdwbEeCT5O2F6sGn5g" annotatedElement="_g0LdpNwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VZKLFBE9EeGOffqMW1YiZA" name="visibility" visibility="public" type="_AyM_oGwMEdq7X4sGURiZYA">
+        <ownedComment xmi:id="_VZKLFRE9EeGOffqMW1YiZA" annotatedElement="_VZKLFBE9EeGOffqMW1YiZA">
           <body>Specifies the visibility of the imported PackageableElement within the importing Package. The default visibility is the same as that of the imported element. If the imported element does not have a visibility, it is possible to add visibility to the element import.</body>
         </ownedComment>
-        <defaultValue xmi:type="uml:InstanceValue" xmi:id="_g0LdptwbEeCT5O2F6sGn5g" type="_AyM_oGwMEdq7X4sGURiZYA" instance="_g2fK39wbEeCT5O2F6sGn5g"/>
+        <defaultValue xmi:type="uml:InstanceValue" xmi:id="_VZKLFhE9EeGOffqMW1YiZA" type="_AyM_oGwMEdq7X4sGURiZYA" instance="_VfSBMBE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedOperation xmi:id="_g0Ldp9wbEeCT5O2F6sGn5g" name="getName" visibility="public" bodyCondition="_g0LdqdwbEeCT5O2F6sGn5g" isQuery="true">
-        <ownedComment xmi:id="_g0LdqNwbEeCT5O2F6sGn5g" annotatedElement="_g0Ldp9wbEeCT5O2F6sGn5g">
+      <ownedOperation xmi:id="_VZKyIBE9EeGOffqMW1YiZA" name="getName" visibility="public" bodyCondition="_VZKyIhE9EeGOffqMW1YiZA" isQuery="true">
+        <ownedComment xmi:id="_VZKyIRE9EeGOffqMW1YiZA" annotatedElement="_VZKyIBE9EeGOffqMW1YiZA">
           <body>The query getName() returns the name under which the imported PackageableElement will be known in the importing namespace.</body>
         </ownedComment>
-        <ownedRule xmi:id="_g0LdqdwbEeCT5O2F6sGn5g" name="spec" constrainedElement="_g0Ldp9wbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0LdqtwbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VZKyIhE9EeGOffqMW1YiZA" name="spec" constrainedElement="_VZKyIBE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VZKyIxE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = if self.alias->notEmpty() then
   self.alias
@@ -6390,73 +6390,73 @@
 endif</body>
           </specification>
         </ownedRule>
-        <ownedParameter xmi:id="_g0Ldq9wbEeCT5O2F6sGn5g" name="result" visibility="public" direction="return">
+        <ownedParameter xmi:id="_VZKyJBE9EeGOffqMW1YiZA" name="result" visibility="public" direction="return">
           <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
         </ownedParameter>
       </ownedOperation>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="_HiSd0LL2EeCBifIhhuFqZA" name="EncapsulatedClassifier" isAbstract="true">
-      <ownedComment xmi:id="_g0MEsNwbEeCT5O2F6sGn5g" annotatedElement="_HiSd0LL2EeCBifIhhuFqZA">
+      <ownedComment xmi:id="_VZLZMBE9EeGOffqMW1YiZA" annotatedElement="_HiSd0LL2EeCBifIhhuFqZA">
         <body>A classifier has the ability to own ports as specific and type checked interaction points.</body>
       </ownedComment>
-      <generalization xmi:id="_g0MEsdwbEeCT5O2F6sGn5g" general="_FQiVsGwYEdqHKKVoxc0dlA"/>
-      <ownedAttribute xmi:id="_g0MEstwbEeCT5O2F6sGn5g" name="ownedPort" visibility="public" type="_ZAuvEGveEdq4DLWZOhbdEA" isReadOnly="true" aggregation="composite" isDerived="true" subsettedProperty="_g2JMhdwbEeCT5O2F6sGn5g" association="_gyqatdwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0MEs9wbEeCT5O2F6sGn5g" annotatedElement="_g0MEstwbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_VZLZMRE9EeGOffqMW1YiZA" general="_FQiVsGwYEdqHKKVoxc0dlA"/>
+      <ownedAttribute xmi:id="_VZLZMhE9EeGOffqMW1YiZA" name="ownedPort" visibility="public" type="_ZAuvEGveEdq4DLWZOhbdEA" isReadOnly="true" aggregation="composite" isDerived="true" subsettedProperty="_VejocRE9EeGOffqMW1YiZA" association="_VUDBlRE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZLZMxE9EeGOffqMW1YiZA" annotatedElement="_VZLZMhE9EeGOffqMW1YiZA">
           <body>References a set of ports that an encapsulated classifier owns.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g0MEtNwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g0MEtdwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VZLZNBE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VZLZNRE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedOperation xmi:id="_O9x_ALL2EeCBifIhhuFqZA" name="ownedPort" visibility="public" bodyCondition="_g0MrwNwbEeCT5O2F6sGn5g" isQuery="true">
-        <ownedComment xmi:id="_g0MEttwbEeCT5O2F6sGn5g" annotatedElement="_O9x_ALL2EeCBifIhhuFqZA">
+      <ownedOperation xmi:id="_O9x_ALL2EeCBifIhhuFqZA" name="ownedPort" visibility="public" bodyCondition="_VZMAQBE9EeGOffqMW1YiZA" isQuery="true">
+        <ownedComment xmi:id="_VZLZNhE9EeGOffqMW1YiZA" annotatedElement="_O9x_ALL2EeCBifIhhuFqZA">
           <body>Missing derivation for EncapsulatedClassifier::/ownedPort : Port</body>
         </ownedComment>
-        <ownedRule xmi:id="_g0MrwNwbEeCT5O2F6sGn5g" name="spec" constrainedElement="_O9x_ALL2EeCBifIhhuFqZA _g0MEstwbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0MrwdwbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VZMAQBE9EeGOffqMW1YiZA" name="spec" constrainedElement="_O9x_ALL2EeCBifIhhuFqZA _VZLZMhE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VZMAQRE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>true</body>
           </specification>
         </ownedRule>
         <ownedParameter xmi:id="_PyQI4LL2EeCBifIhhuFqZA" name="result" visibility="public" type="_ZAuvEGveEdq4DLWZOhbdEA" direction="return">
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g0MrwtwbEeCT5O2F6sGn5g"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g0Mrw9wbEeCT5O2F6sGn5g" value="*"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VZMAQhE9EeGOffqMW1YiZA"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VZMAQxE9EeGOffqMW1YiZA" value="*"/>
         </ownedParameter>
       </ownedOperation>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="_I6N3UGwGEdq7X4sGURiZYA" name="Enumeration">
-      <ownedComment xmi:id="_g0MrxNwbEeCT5O2F6sGn5g" annotatedElement="_I6N3UGwGEdq7X4sGURiZYA">
+      <ownedComment xmi:id="_VZMnUBE9EeGOffqMW1YiZA" annotatedElement="_I6N3UGwGEdq7X4sGURiZYA">
         <body>An enumeration is a data type whose values are enumerated in the model as enumeration literals.</body>
       </ownedComment>
-      <generalization xmi:id="_g0MrxdwbEeCT5O2F6sGn5g" general="__1ap4HLzEdqziYxiZo0YtA"/>
-      <ownedAttribute xmi:id="_g0MrxtwbEeCT5O2F6sGn5g" name="ownedLiteral" visibility="public" type="_OQcbgGwOEdq7X4sGURiZYA" isOrdered="true" aggregation="composite" subsettedProperty="_g1S4AdwbEeCT5O2F6sGn5g" association="_gypMmNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0Mrx9wbEeCT5O2F6sGn5g" annotatedElement="_g0MrxtwbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_VZMnURE9EeGOffqMW1YiZA" general="__1ap4HLzEdqziYxiZo0YtA"/>
+      <ownedAttribute xmi:id="_VZMnUhE9EeGOffqMW1YiZA" name="ownedLiteral" visibility="public" type="_OQcbgGwOEdq7X4sGURiZYA" isOrdered="true" aggregation="composite" subsettedProperty="_Var1EBE9EeGOffqMW1YiZA" association="_VUBMYBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZMnUxE9EeGOffqMW1YiZA" annotatedElement="_VZMnUhE9EeGOffqMW1YiZA">
           <body>The ordered set of literals for this Enumeration.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g0MryNwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g0MrydwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VZMnVBE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VZMnVRE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="_OQcbgGwOEdq7X4sGURiZYA" name="EnumerationLiteral">
-      <ownedComment xmi:id="_g0NS0NwbEeCT5O2F6sGn5g" annotatedElement="_OQcbgGwOEdq7X4sGURiZYA">
+      <ownedComment xmi:id="_VZNOYBE9EeGOffqMW1YiZA" annotatedElement="_OQcbgGwOEdq7X4sGURiZYA">
         <body>An enumeration literal is a user-defined data value for an enumeration.</body>
       </ownedComment>
-      <ownedRule xmi:id="_g0NS0dwbEeCT5O2F6sGn5g" name="classifier_equals_owning_enumeration" constrainedElement="_OQcbgGwOEdq7X4sGURiZYA">
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0NS0twbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VZNOYRE9EeGOffqMW1YiZA" name="classifier_equals_owning_enumeration" constrainedElement="_OQcbgGwOEdq7X4sGURiZYA">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VZNOYhE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>classifier = enumeration</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_g0NS09wbEeCT5O2F6sGn5g" general="_g0auMNwbEeCT5O2F6sGn5g"/>
-      <ownedAttribute xmi:id="_g0NS1NwbEeCT5O2F6sGn5g" name="classifier" visibility="public" type="_I6N3UGwGEdq7X4sGURiZYA" isReadOnly="true" isDerived="true" redefinedProperty="_g0auQtwbEeCT5O2F6sGn5g" association="_gyUceNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0NS1dwbEeCT5O2F6sGn5g" annotatedElement="_g0NS1NwbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_VZNOYxE9EeGOffqMW1YiZA" general="_VZrIcBE9EeGOffqMW1YiZA"/>
+      <ownedAttribute xmi:id="_VZNOZBE9EeGOffqMW1YiZA" name="classifier" visibility="public" type="_I6N3UGwGEdq7X4sGURiZYA" isReadOnly="true" isDerived="true" redefinedProperty="_VZrIghE9EeGOffqMW1YiZA" association="_VTCU9BE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZNOZRE9EeGOffqMW1YiZA" annotatedElement="_VZNOZBE9EeGOffqMW1YiZA">
           <body>The classifier of this EnumerationLiteral derived to be equal to its enumeration.</body>
         </ownedComment>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g0NS1twbEeCT5O2F6sGn5g" name="enumeration" visibility="public" type="_I6N3UGwGEdq7X4sGURiZYA" subsettedProperty="_1vzv0LbIEeCRxrN1JUGuxA" association="_gypMmNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0NS19wbEeCT5O2F6sGn5g" annotatedElement="_g0NS1twbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VZNOZhE9EeGOffqMW1YiZA" name="enumeration" visibility="public" type="_I6N3UGwGEdq7X4sGURiZYA" subsettedProperty="_1vzv0LbIEeCRxrN1JUGuxA" association="_VUBMYBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZNOZxE9EeGOffqMW1YiZA" annotatedElement="_VZNOZhE9EeGOffqMW1YiZA">
           <body>The Enumeration that this EnumerationLiteral is a member of.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g0NS2NwbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VZNOaBE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
       <ownedOperation xmi:id="_WlaJALNJEeCT16-4OmDs9g" name="getClassifiers" visibility="protected">
         <ownedParameter xmi:id="_WlaJAbNJEeCT16-4OmDs9g" type="_6UV2QGwJEdq7X4sGURiZYA" direction="return">
@@ -6464,12 +6464,12 @@
           <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_WlaJArNJEeCT16-4OmDs9g" value="*"/>
         </ownedParameter>
       </ownedOperation>
-      <ownedOperation xmi:id="_dgJcQLL2EeCBifIhhuFqZA" name="classifier" visibility="public" bodyCondition="_g0NS2twbEeCT5O2F6sGn5g" isQuery="true">
-        <ownedComment xmi:id="_g0NS2dwbEeCT5O2F6sGn5g" annotatedElement="_dgJcQLL2EeCBifIhhuFqZA">
+      <ownedOperation xmi:id="_dgJcQLL2EeCBifIhhuFqZA" name="classifier" visibility="public" bodyCondition="_VZN1cRE9EeGOffqMW1YiZA" isQuery="true">
+        <ownedComment xmi:id="_VZN1cBE9EeGOffqMW1YiZA" annotatedElement="_dgJcQLL2EeCBifIhhuFqZA">
           <body>Missing derivation for EnumerationLiteral::/classifier : Enumeration</body>
         </ownedComment>
-        <ownedRule xmi:id="_g0NS2twbEeCT5O2F6sGn5g" name="spec" constrainedElement="_dgJcQLL2EeCBifIhhuFqZA _g0NS1NwbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0NS29wbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VZN1cRE9EeGOffqMW1YiZA" name="spec" constrainedElement="_dgJcQLL2EeCBifIhhuFqZA _VZNOZBE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VZN1chE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>true</body>
           </specification>
@@ -6477,289 +6477,292 @@
         <ownedParameter xmi:id="_rcqacLL2EeCBifIhhuFqZA" name="result" visibility="public" type="_I6N3UGwGEdq7X4sGURiZYA" direction="return"/>
       </ownedOperation>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g0N54NwbEeCT5O2F6sGn5g" name="Event" isAbstract="true">
-      <ownedComment xmi:id="_g0N54dwbEeCT5O2F6sGn5g" annotatedElement="_g0N54NwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VZOcgBE9EeGOffqMW1YiZA" name="Event" isAbstract="true">
+      <ownedComment xmi:id="_VZOcgRE9EeGOffqMW1YiZA" annotatedElement="_VZOcgBE9EeGOffqMW1YiZA">
         <body>An event is the specification of some occurrence that may potentially trigger effects by an object.</body>
       </ownedComment>
-      <generalization xmi:id="_g0N54twbEeCT5O2F6sGn5g" general="_jKxnwGwLEdq7X4sGURiZYA"/>
+      <generalization xmi:id="_VZOcghE9EeGOffqMW1YiZA" general="_jKxnwGwLEdq7X4sGURiZYA"/>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g0Og8NwbEeCT5O2F6sGn5g" name="ExceptionHandler">
-      <ownedComment xmi:id="_g0Og8dwbEeCT5O2F6sGn5g" annotatedElement="_g0Og8NwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VZPDkBE9EeGOffqMW1YiZA" name="ExceptionHandler">
+      <ownedComment xmi:id="_VZPDkRE9EeGOffqMW1YiZA" annotatedElement="_VZPDkBE9EeGOffqMW1YiZA">
         <body>An exception handler is an element that specifies a body to execute in case the specified exception occurs during the execution of the protected node.</body>
       </ownedComment>
-      <ownedRule xmi:id="_g0Og8twbEeCT5O2F6sGn5g" name="exception_body" constrainedElement="_g0Og8NwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0Og89wbEeCT5O2F6sGn5g" annotatedElement="_g0Og8twbEeCT5O2F6sGn5g">
-          <body>The exception handler and its input object node are not the source or target of any edge.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0Og9NwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>true</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_g0Og9dwbEeCT5O2F6sGn5g" name="result_pins" constrainedElement="_g0Og8NwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0Og9twbEeCT5O2F6sGn5g" annotatedElement="_g0Og9dwbEeCT5O2F6sGn5g">
-          <body>If the protected node is a StructuredActivityNode with output pins, then the exception handler body must also be a StructuredActivityNode with output pins that correspond in number and types to those of the protected node.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0Og99wbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>true</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_g0Og-NwbEeCT5O2F6sGn5g" name="one_input" constrainedElement="_g0Og8NwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0Og-dwbEeCT5O2F6sGn5g" annotatedElement="_g0Og-NwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VZPDkhE9EeGOffqMW1YiZA" name="one_input" constrainedElement="_VZPDkBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZPDkxE9EeGOffqMW1YiZA" annotatedElement="_VZPDkhE9EeGOffqMW1YiZA">
           <body>The handler body has one input, and that input is the same as the exception input.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0Og-twbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VZPDlBE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>true</body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_g0Og-9wbEeCT5O2F6sGn5g" name="edge_source_target" constrainedElement="_g0Og8NwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0Og_NwbEeCT5O2F6sGn5g" annotatedElement="_g0Og-9wbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VZPDlRE9EeGOffqMW1YiZA" name="edge_source_target" constrainedElement="_VZPDkBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZPDlhE9EeGOffqMW1YiZA" annotatedElement="_VZPDlRE9EeGOffqMW1YiZA">
           <body>An edge that has a source in an exception handler structured node must have its target in the handler also, and vice versa.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0Og_dwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VZPDlxE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>true</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_g0Og_twbEeCT5O2F6sGn5g" general="_kl90MGvbEdq4DLWZOhbdEA"/>
-      <ownedAttribute xmi:id="_g0Og_9wbEeCT5O2F6sGn5g" name="exceptionInput" visibility="public" type="_g1XJYNwbEeCT5O2F6sGn5g" association="_gybKKNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0OhANwbEeCT5O2F6sGn5g" annotatedElement="_g0Og_9wbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VZPDmBE9EeGOffqMW1YiZA" name="result_pins" constrainedElement="_VZPDkBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZPDmRE9EeGOffqMW1YiZA" annotatedElement="_VZPDmBE9EeGOffqMW1YiZA">
+          <body>If the protected node is a StructuredActivityNode with output pins, then the exception handler body must also be a StructuredActivityNode with output pins that correspond in number and types to those of the protected node.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VZPDmhE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>true</body>
+        </specification>
+      </ownedRule>
+      <ownedRule xmi:id="_VZPDmxE9EeGOffqMW1YiZA" name="exception_body" constrainedElement="_VZPDkBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZPDnBE9EeGOffqMW1YiZA" annotatedElement="_VZPDmxE9EeGOffqMW1YiZA">
+          <body>The exception handler and its input object node are not the source or target of any edge.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VZPDnRE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>true</body>
+        </specification>
+      </ownedRule>
+      <generalization xmi:id="_VZPDnhE9EeGOffqMW1YiZA" general="_kl90MGvbEdq4DLWZOhbdEA"/>
+      <ownedAttribute xmi:id="_VZPDnxE9EeGOffqMW1YiZA" name="exceptionInput" visibility="public" type="_VbcDABE9EeGOffqMW1YiZA" association="_VTVP5BE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZPDoBE9EeGOffqMW1YiZA" annotatedElement="_VZPDnxE9EeGOffqMW1YiZA">
           <body>An object node within the handler body. When the handler catches an exception, the exception token is placed in this node, causing the body to execute.</body>
         </ownedComment>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g0OhAdwbEeCT5O2F6sGn5g" name="exceptionType" visibility="public" type="_6UV2QGwJEdq7X4sGURiZYA" association="_gybKLNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0OhAtwbEeCT5O2F6sGn5g" annotatedElement="_g0OhAdwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VZPDoRE9EeGOffqMW1YiZA" name="exceptionType" visibility="public" type="_6UV2QGwJEdq7X4sGURiZYA" association="_VTV28BE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZPDohE9EeGOffqMW1YiZA" annotatedElement="_VZPDoRE9EeGOffqMW1YiZA">
           <body>The kind of instances that the handler catches. If an exception occurs whose type is any of the classifiers in the set, the handler catches the exception and executes its body.</body>
         </ownedComment>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g0OhA9wbEeCT5O2F6sGn5g" value="*"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VZPDoxE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g0OhBNwbEeCT5O2F6sGn5g" name="handlerBody" visibility="public" type="_g0OhCNwbEeCT5O2F6sGn5g" association="_gye0g9wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0OhBdwbEeCT5O2F6sGn5g" annotatedElement="_g0OhBNwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VZPDpBE9EeGOffqMW1YiZA" name="handlerBody" visibility="public" type="_VZPqoBE9EeGOffqMW1YiZA" association="_VTmVohE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZPDpRE9EeGOffqMW1YiZA" annotatedElement="_VZPDpBE9EeGOffqMW1YiZA">
           <body>A node that is executed if the handler satisfies an uncaught exception.</body>
         </ownedComment>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g0OhBtwbEeCT5O2F6sGn5g" name="protectedNode" visibility="public" type="_g0OhCNwbEeCT5O2F6sGn5g" subsettedProperty="_g0JodNwbEeCT5O2F6sGn5g" association="_gye0h9wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0OhB9wbEeCT5O2F6sGn5g" annotatedElement="_g0OhBtwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VZPDphE9EeGOffqMW1YiZA" name="protectedNode" visibility="public" type="_VZPqoBE9EeGOffqMW1YiZA" subsettedProperty="_N3hRMAtAEeGcpbeCPJfCmw" association="_VTmVphE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZPDpxE9EeGOffqMW1YiZA" annotatedElement="_VZPDphE9EeGOffqMW1YiZA">
           <body>The node protected by the handler. The handler is examined if an exception propagates to the outside of the node.</body>
         </ownedComment>
       </ownedAttribute>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g0OhCNwbEeCT5O2F6sGn5g" name="ExecutableNode" isAbstract="true">
-      <ownedComment xmi:id="_g0OhCdwbEeCT5O2F6sGn5g" annotatedElement="_g0OhCNwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VZPqoBE9EeGOffqMW1YiZA" name="ExecutableNode" isAbstract="true">
+      <ownedComment xmi:id="_VZPqoRE9EeGOffqMW1YiZA" annotatedElement="_VZPqoBE9EeGOffqMW1YiZA">
+        <body>An executable node is an abstract class for activity nodes that may be executed. It is used as an attachment point for exception handlers.</body>
+      </ownedComment>
+      <ownedComment xmi:id="_VZPqohE9EeGOffqMW1YiZA" annotatedElement="_VZPqoBE9EeGOffqMW1YiZA">
         <body>An executable node is an abstract class for activity nodes that may be executed. It is used as an attachment point for exception handlers.</body>
       </ownedComment>
-      <generalization xmi:id="_g0OhC9wbEeCT5O2F6sGn5g" general="_gzbPsNwbEeCT5O2F6sGn5g"/>
-      <ownedAttribute xmi:id="_g0OhDNwbEeCT5O2F6sGn5g" name="handler" visibility="public" type="_g0Og8NwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_g0JocNwbEeCT5O2F6sGn5g" association="_gye0h9wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0OhDdwbEeCT5O2F6sGn5g" annotatedElement="_g0OhDNwbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_VZPqoxE9EeGOffqMW1YiZA" general="_WpiyYAs-EeGcpbeCPJfCmw"/>
+      <ownedAttribute xmi:id="_VZPqpBE9EeGOffqMW1YiZA" name="handler" visibility="public" type="_VZPDkBE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_GDD2YAtAEeGcpbeCPJfCmw" association="_VTmVphE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZPqpRE9EeGOffqMW1YiZA" annotatedElement="_VZPqpBE9EeGOffqMW1YiZA">
           <body>A set of exception handlers that are examined if an uncaught exception propagates to the outer level of the executable node.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g0OhDtwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g0OhD9wbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VZPqphE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VZPqpxE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g0OhENwbEeCT5O2F6sGn5g" name="ExecutionEnvironment">
-      <ownedComment xmi:id="_g0OhEdwbEeCT5O2F6sGn5g" annotatedElement="_g0OhENwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VZPqqBE9EeGOffqMW1YiZA" name="ExecutionEnvironment">
+      <ownedComment xmi:id="_VZPqqRE9EeGOffqMW1YiZA" annotatedElement="_VZPqqBE9EeGOffqMW1YiZA">
         <body>An execution environment is a node that offers an execution environment for specific types of components that are deployed on it in the form of executable artifacts.</body>
       </ownedComment>
-      <generalization xmi:id="_g0OhEtwbEeCT5O2F6sGn5g" general="_5YOyUKJ8EdywJr5C4uHLKw"/>
+      <generalization xmi:id="_VZPqqhE9EeGOffqMW1YiZA" general="_5YOyUKJ8EdywJr5C4uHLKw"/>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g0PIANwbEeCT5O2F6sGn5g" name="ExecutionOccurrenceSpecification">
-      <ownedComment xmi:id="_g0PIAdwbEeCT5O2F6sGn5g" annotatedElement="_g0PIANwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VZQRsBE9EeGOffqMW1YiZA" name="ExecutionOccurrenceSpecification">
+      <ownedComment xmi:id="_VZQRsRE9EeGOffqMW1YiZA" annotatedElement="_VZQRsBE9EeGOffqMW1YiZA">
         <body>An execution occurrence specification represents moments in time at which actions or behaviors start or finish.</body>
       </ownedComment>
-      <generalization xmi:id="_g0PIAtwbEeCT5O2F6sGn5g" general="_g1XwcNwbEeCT5O2F6sGn5g"/>
-      <ownedAttribute xmi:id="_g0PIA9wbEeCT5O2F6sGn5g" name="execution" visibility="public" type="_g0PIBdwbEeCT5O2F6sGn5g" association="_gybxM9wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0PIBNwbEeCT5O2F6sGn5g" annotatedElement="_g0PIA9wbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_VZQRshE9EeGOffqMW1YiZA" general="_VbdRIBE9EeGOffqMW1YiZA"/>
+      <ownedAttribute xmi:id="_VZQRsxE9EeGOffqMW1YiZA" name="execution" visibility="public" type="_VZQRtRE9EeGOffqMW1YiZA" association="_VTXFEBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZQRtBE9EeGOffqMW1YiZA" annotatedElement="_VZQRsxE9EeGOffqMW1YiZA">
           <body>References the execution specification describing the execution that is started or finished at this execution event.</body>
         </ownedComment>
       </ownedAttribute>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g0PIBdwbEeCT5O2F6sGn5g" name="ExecutionSpecification" isAbstract="true">
-      <ownedComment xmi:id="_g0PIBtwbEeCT5O2F6sGn5g" annotatedElement="_g0PIBdwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VZQRtRE9EeGOffqMW1YiZA" name="ExecutionSpecification" isAbstract="true">
+      <ownedComment xmi:id="_VZQRthE9EeGOffqMW1YiZA" annotatedElement="_VZQRtRE9EeGOffqMW1YiZA">
         <body>An execution specification is a specification of the execution of a unit of behavior or action within the lifeline. The duration of an execution specification is represented by two cccurrence specifications, the start occurrence specification and the finish occurrence specification.</body>
       </ownedComment>
-      <ownedRule xmi:id="_g0PIB9wbEeCT5O2F6sGn5g" name="same_lifeline" constrainedElement="_g0PIBdwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0PICNwbEeCT5O2F6sGn5g" annotatedElement="_g0PIB9wbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VZQRtxE9EeGOffqMW1YiZA" name="same_lifeline" constrainedElement="_VZQRtRE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZQRuBE9EeGOffqMW1YiZA" annotatedElement="_VZQRtxE9EeGOffqMW1YiZA">
           <body>The startEvent and the finishEvent must be on the same Lifeline</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0PICdwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VZQRuRE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>start.lifeline = finish.lifeline</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_g0PICtwbEeCT5O2F6sGn5g" general="_g0cjYNwbEeCT5O2F6sGn5g"/>
-      <ownedAttribute xmi:id="_g0PIC9wbEeCT5O2F6sGn5g" name="finish" visibility="public" type="_g1XwcNwbEeCT5O2F6sGn5g" association="_gyc_V9wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0PIDNwbEeCT5O2F6sGn5g" annotatedElement="_g0PIC9wbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_VZQRuhE9EeGOffqMW1YiZA" general="_VZuLwBE9EeGOffqMW1YiZA"/>
+      <ownedAttribute xmi:id="_VZQRuxE9EeGOffqMW1YiZA" name="finish" visibility="public" type="_VbdRIBE9EeGOffqMW1YiZA" association="_VTbWgBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZQRvBE9EeGOffqMW1YiZA" annotatedElement="_VZQRuxE9EeGOffqMW1YiZA">
           <body>References the OccurrenceSpecification that designates the finish of the Action or Behavior.</body>
         </ownedComment>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g0PIDdwbEeCT5O2F6sGn5g" name="start" visibility="public" type="_g1XwcNwbEeCT5O2F6sGn5g" association="_gy65YNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0PIDtwbEeCT5O2F6sGn5g" annotatedElement="_g0PIDdwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VZQRvRE9EeGOffqMW1YiZA" name="start" visibility="public" type="_VbdRIBE9EeGOffqMW1YiZA" association="_VUmbMBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZQRvhE9EeGOffqMW1YiZA" annotatedElement="_VZQRvRE9EeGOffqMW1YiZA">
           <body>References the OccurrenceSpecification that designates the start of the Action or Behavior</body>
         </ownedComment>
       </ownedAttribute>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g0PvENwbEeCT5O2F6sGn5g" name="ExpansionNode">
-      <ownedComment xmi:id="_g0PvEdwbEeCT5O2F6sGn5g" annotatedElement="_g0PvENwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VZQ4wBE9EeGOffqMW1YiZA" name="ExpansionNode">
+      <ownedComment xmi:id="_VZQ4wRE9EeGOffqMW1YiZA" annotatedElement="_VZQ4wBE9EeGOffqMW1YiZA">
         <body>An expansion node is an object node used to indicate a flow across the boundary of an expansion region. A flow into a region contains a collection that is broken into its individual elements inside the region, which is executed once per element. A flow out of a region combines individual elements into a collection for use outside the region.</body>
       </ownedComment>
-      <ownedRule xmi:id="_g0PvEtwbEeCT5O2F6sGn5g" name="region_as_input_or_output" constrainedElement="_g0PvENwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0PvE9wbEeCT5O2F6sGn5g" annotatedElement="_g0PvEtwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VZQ4whE9EeGOffqMW1YiZA" name="region_as_input_or_output" constrainedElement="_VZQ4wBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZQ4wxE9EeGOffqMW1YiZA" annotatedElement="_VZQ4whE9EeGOffqMW1YiZA">
           <body>One of regionAsInput or regionAsOutput must be non-empty, but not both.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0PvFNwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VZQ4xBE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>true</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_g0PvFdwbEeCT5O2F6sGn5g" general="_g1XJYNwbEeCT5O2F6sGn5g"/>
-      <ownedAttribute xmi:id="_g0PvFtwbEeCT5O2F6sGn5g" name="regionAsInput" visibility="public" type="_g0PvHNwbEeCT5O2F6sGn5g" association="_gygCsNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0PvF9wbEeCT5O2F6sGn5g" annotatedElement="_g0PvFtwbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_VZQ4xRE9EeGOffqMW1YiZA" general="_VbcDABE9EeGOffqMW1YiZA"/>
+      <ownedAttribute xmi:id="_VZQ4xhE9EeGOffqMW1YiZA" name="regionAsInput" visibility="public" type="_VZRf0BE9EeGOffqMW1YiZA" association="_VTqABBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZQ4xxE9EeGOffqMW1YiZA" annotatedElement="_VZQ4xhE9EeGOffqMW1YiZA">
           <body>The expansion region for which the node is an input.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g0PvGNwbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VZQ4yBE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g0PvGdwbEeCT5O2F6sGn5g" name="regionAsOutput" visibility="public" type="_g0PvHNwbEeCT5O2F6sGn5g" association="_gynXbdwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0PvGtwbEeCT5O2F6sGn5g" annotatedElement="_g0PvGdwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VZQ4yRE9EeGOffqMW1YiZA" name="regionAsOutput" visibility="public" type="_VZRf0BE9EeGOffqMW1YiZA" association="_VT9iBBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZQ4yhE9EeGOffqMW1YiZA" annotatedElement="_VZQ4yRE9EeGOffqMW1YiZA">
           <body>The expansion region for which the node is an output.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g0PvG9wbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VZQ4yxE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g0PvHNwbEeCT5O2F6sGn5g" name="ExpansionRegion">
-      <ownedComment xmi:id="_g0PvHdwbEeCT5O2F6sGn5g" annotatedElement="_g0PvHNwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VZRf0BE9EeGOffqMW1YiZA" name="ExpansionRegion">
+      <ownedComment xmi:id="_VZRf0RE9EeGOffqMW1YiZA" annotatedElement="_VZRf0BE9EeGOffqMW1YiZA">
         <body>An expansion region is a structured activity region that executes multiple times corresponding to elements of an input collection.</body>
       </ownedComment>
-      <ownedRule xmi:id="_g0PvHtwbEeCT5O2F6sGn5g" name="expansion_nodes" constrainedElement="_g0PvHNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0PvH9wbEeCT5O2F6sGn5g" annotatedElement="_g0PvHtwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VZRf0hE9EeGOffqMW1YiZA" name="expansion_nodes" constrainedElement="_VZRf0BE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZRf0xE9EeGOffqMW1YiZA" annotatedElement="_VZRf0hE9EeGOffqMW1YiZA">
           <body>An ExpansionRegion must have one or more argument ExpansionNodes and zero or more result ExpansionNodes.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0PvINwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VZRf1BE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>true</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_g0PvIdwbEeCT5O2F6sGn5g" general="_w1_2cLLREeCsYvaJqFFivQ"/>
-      <ownedAttribute xmi:id="_g0PvItwbEeCT5O2F6sGn5g" name="inputElement" visibility="public" type="_g0PvENwbEeCT5O2F6sGn5g" association="_gygCsNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0PvI9wbEeCT5O2F6sGn5g" annotatedElement="_g0PvItwbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_VZRf1RE9EeGOffqMW1YiZA" general="_w1_2cLLREeCsYvaJqFFivQ"/>
+      <ownedAttribute xmi:id="_VZRf1hE9EeGOffqMW1YiZA" name="inputElement" visibility="public" type="_VZQ4wBE9EeGOffqMW1YiZA" association="_VTqABBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZRf1xE9EeGOffqMW1YiZA" annotatedElement="_VZRf1hE9EeGOffqMW1YiZA">
           <body>An object node that holds a separate element of the input collection during each of the multiple executions of the region.</body>
         </ownedComment>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g0PvJNwbEeCT5O2F6sGn5g" value="*"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VZRf2BE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g0PvJdwbEeCT5O2F6sGn5g" name="mode" visibility="public" type="_g2cugtwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0PvJtwbEeCT5O2F6sGn5g" annotatedElement="_g0PvJdwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VZRf2RE9EeGOffqMW1YiZA" name="mode" visibility="public" type="_VfNIsxE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZRf2hE9EeGOffqMW1YiZA" annotatedElement="_VZRf2RE9EeGOffqMW1YiZA">
           <body>The way in which the executions interact: parallel: all interactions are independent iterative: the interactions occur in order of the elements stream: a stream of values flows into a single execution</body>
         </ownedComment>
-        <defaultValue xmi:type="uml:InstanceValue" xmi:id="_g0PvJ9wbEeCT5O2F6sGn5g" type="_g2cugtwbEeCT5O2F6sGn5g" instance="_g2cuhtwbEeCT5O2F6sGn5g"/>
+        <defaultValue xmi:type="uml:InstanceValue" xmi:id="_VZRf2xE9EeGOffqMW1YiZA" type="_VfNIsxE9EeGOffqMW1YiZA" instance="_VfNItxE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g0PvKNwbEeCT5O2F6sGn5g" name="outputElement" visibility="public" type="_g0PvENwbEeCT5O2F6sGn5g" association="_gynXbdwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0PvKdwbEeCT5O2F6sGn5g" annotatedElement="_g0PvKNwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VZRf3BE9EeGOffqMW1YiZA" name="outputElement" visibility="public" type="_VZQ4wBE9EeGOffqMW1YiZA" association="_VT9iBBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZRf3RE9EeGOffqMW1YiZA" annotatedElement="_VZRf3BE9EeGOffqMW1YiZA">
           <body>An object node that accepts a separate element of the output collection during each of the multiple executions of the region. The values are formed into a collection that is available when the execution of the region is complete.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g0PvKtwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g0PvK9wbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VZRf3hE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VZRf3xE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="_8QuDcLG3EeCDe8CO90iVKQ" name="Expression">
-      <ownedComment xmi:id="_g0QWINwbEeCT5O2F6sGn5g" annotatedElement="_8QuDcLG3EeCDe8CO90iVKQ">
-        <body>An expression represents a node in an expression tree, which may be non-terminal or terminal. It defines a symbol, and has a possibly empty sequence of operands which are value specifications.</body>
-      </ownedComment>
-      <ownedComment xmi:id="_g0QWIdwbEeCT5O2F6sGn5g" annotatedElement="_8QuDcLG3EeCDe8CO90iVKQ">
+      <ownedComment xmi:id="_VZRf4BE9EeGOffqMW1YiZA" annotatedElement="_8QuDcLG3EeCDe8CO90iVKQ">
         <body>An expression is a structured tree of symbols that denotes a (possibly empty) set of values when evaluated in a context.</body>
       </ownedComment>
-      <generalization xmi:id="_g0QWItwbEeCT5O2F6sGn5g" general="_g2YdENwbEeCT5O2F6sGn5g"/>
-      <ownedAttribute xmi:id="_g0QWI9wbEeCT5O2F6sGn5g" name="operand" visibility="public" type="_g2YdENwbEeCT5O2F6sGn5g" isOrdered="true" aggregation="composite" subsettedProperty="_g0JocNwbEeCT5O2F6sGn5g" association="_gymwXtwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0QWJNwbEeCT5O2F6sGn5g" annotatedElement="_g0QWI9wbEeCT5O2F6sGn5g">
+      <ownedComment xmi:id="_VZRf4RE9EeGOffqMW1YiZA" annotatedElement="_8QuDcLG3EeCDe8CO90iVKQ">
+        <body>An expression represents a node in an expression tree, which may be non-terminal or terminal. It defines a symbol, and has a possibly empty sequence of operands which are value specifications.</body>
+      </ownedComment>
+      <generalization xmi:id="_VZSG4BE9EeGOffqMW1YiZA" general="_VfGbABE9EeGOffqMW1YiZA"/>
+      <ownedAttribute xmi:id="_VZSG4RE9EeGOffqMW1YiZA" name="operand" visibility="public" type="_VfGbABE9EeGOffqMW1YiZA" isOrdered="true" aggregation="composite" subsettedProperty="_GDD2YAtAEeGcpbeCPJfCmw" association="_VT8T5xE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZSG4hE9EeGOffqMW1YiZA" annotatedElement="_VZSG4RE9EeGOffqMW1YiZA">
           <body>Specifies a sequence of operands.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g0QWJdwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g0QWJtwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VZSG4xE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VZSG5BE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
       <ownedAttribute xmi:id="_-NPagLG3EeCDe8CO90iVKQ" name="symbol" visibility="public">
-        <ownedComment xmi:id="_g0QWJ9wbEeCT5O2F6sGn5g" annotatedElement="_-NPagLG3EeCDe8CO90iVKQ">
+        <ownedComment xmi:id="_VZSG5RE9EeGOffqMW1YiZA" annotatedElement="_-NPagLG3EeCDe8CO90iVKQ">
           <body>The symbol associated with the node in the expression tree.</body>
         </ownedComment>
         <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g0QWKNwbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VZSG5hE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g0Q9MNwbEeCT5O2F6sGn5g" name="Extend">
-      <ownedComment xmi:id="_g0Q9MdwbEeCT5O2F6sGn5g" annotatedElement="_g0Q9MNwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VZTVABE9EeGOffqMW1YiZA" name="Extend">
+      <ownedComment xmi:id="_VZTVARE9EeGOffqMW1YiZA" annotatedElement="_VZTVABE9EeGOffqMW1YiZA">
         <body>A relationship from an extending use case to an extended use case that specifies how and when the behavior defined in the extending use case can be inserted into the behavior defined in the extended use case.</body>
       </ownedComment>
-      <ownedRule xmi:id="_g0Q9MtwbEeCT5O2F6sGn5g" name="extension_points" constrainedElement="_g0Q9MNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0Q9M9wbEeCT5O2F6sGn5g" annotatedElement="_g0Q9MtwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VZTVAhE9EeGOffqMW1YiZA" name="extension_points" constrainedElement="_VZTVABE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZTVAxE9EeGOffqMW1YiZA" annotatedElement="_VZTVAhE9EeGOffqMW1YiZA">
           <body>The extension points referenced by the extend relationship must belong to the use case that is being extended.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0Q9NNwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VZTVBBE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>extensionLocation->forAll (xp | extendedCase.extensionPoint->includes(xp))</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_g0Q9NdwbEeCT5O2F6sGn5g" general="_csVgUGvtEdqG6fBIPwe-mw"/>
-      <generalization xmi:id="_g0Q9NtwbEeCT5O2F6sGn5g" general="_JBgfoKPAEdqi_5gqUMOQtA"/>
-      <ownedAttribute xmi:id="_g0Q9N9wbEeCT5O2F6sGn5g" name="condition" visibility="public" type="_g0AegNwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_g0JocNwbEeCT5O2F6sGn5g" association="_gyVqkNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0Q9ONwbEeCT5O2F6sGn5g" annotatedElement="_g0Q9N9wbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_VZTVBRE9EeGOffqMW1YiZA" general="_JBgfoKPAEdqi_5gqUMOQtA"/>
+      <generalization xmi:id="_VZTVBhE9EeGOffqMW1YiZA" general="_csVgUGvtEdqG6fBIPwe-mw"/>
+      <ownedAttribute xmi:id="_VZTVBxE9EeGOffqMW1YiZA" name="condition" visibility="public" type="_VYbLQBE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_GDD2YAtAEeGcpbeCPJfCmw" association="_VTFYQxE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZTVCBE9EeGOffqMW1YiZA" annotatedElement="_VZTVBxE9EeGOffqMW1YiZA">
           <body>References the condition that must hold when the first extension point is reached for the extension to take place. If no constraint is associated with the extend relationship, the extension is unconditional.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g0Q9OdwbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VZTVCRE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g0Q9OtwbEeCT5O2F6sGn5g" name="extendedCase" visibility="public" type="_g2WA0NwbEeCT5O2F6sGn5g" subsettedProperty="_g0HzRNwbEeCT5O2F6sGn5g" association="_gycYQtwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0Q9O9wbEeCT5O2F6sGn5g" annotatedElement="_g0Q9OtwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VZTVChE9EeGOffqMW1YiZA" name="extendedCase" visibility="public" type="_VfFM4BE9EeGOffqMW1YiZA" subsettedProperty="_VY66iBE9EeGOffqMW1YiZA" association="_VTY6QBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZTVCxE9EeGOffqMW1YiZA" annotatedElement="_VZTVChE9EeGOffqMW1YiZA">
           <body>References the use case that is being extended.</body>
         </ownedComment>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g0Q9PNwbEeCT5O2F6sGn5g" name="extension" visibility="public" type="_g2WA0NwbEeCT5O2F6sGn5g" subsettedProperty="_1vzv0LbIEeCRxrN1JUGuxA _g0HzQdwbEeCT5O2F6sGn5g" association="_gycYQdwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0Q9PdwbEeCT5O2F6sGn5g" annotatedElement="_g0Q9PNwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VZTVDBE9EeGOffqMW1YiZA" name="extension" visibility="public" type="_VfFM4BE9EeGOffqMW1YiZA" subsettedProperty="_VY66hRE9EeGOffqMW1YiZA _1vzv0LbIEeCRxrN1JUGuxA" association="_VTYTMBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZTVDRE9EeGOffqMW1YiZA" annotatedElement="_VZTVDBE9EeGOffqMW1YiZA">
           <body>References the use case that represents the extension and owns the extend relationship.</body>
         </ownedComment>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g0Q9PtwbEeCT5O2F6sGn5g" name="extensionLocation" visibility="public" type="_g0TZcNwbEeCT5O2F6sGn5g" isOrdered="true" association="_gyc_UNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0Q9P9wbEeCT5O2F6sGn5g" annotatedElement="_g0Q9PtwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VZTVDhE9EeGOffqMW1YiZA" name="extensionLocation" visibility="public" type="_VZXmcBE9EeGOffqMW1YiZA" isOrdered="true" association="_VTaIYxE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZTVDxE9EeGOffqMW1YiZA" annotatedElement="_VZTVDhE9EeGOffqMW1YiZA">
           <body>An ordered list of extension points belonging to the extended use case, specifying where the respective behavioral fragments of the extending use case are to be inserted. The first fragment in the extending use case is associated with the first extension point in the list, the second fragment with the second point, and so on. (Note that, in most practical cases, the extending use case has just a single behavior fragment, so that the list of extension points is trivial.)</body>
         </ownedComment>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g0Q9QNwbEeCT5O2F6sGn5g" value="*"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VZTVEBE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="_skHGwGvsEdqG6fBIPwe-mw" name="Extension">
-      <ownedComment xmi:id="_g0Q9QdwbEeCT5O2F6sGn5g" annotatedElement="_skHGwGvsEdqG6fBIPwe-mw">
+      <ownedComment xmi:id="_VZTVERE9EeGOffqMW1YiZA" annotatedElement="_skHGwGvsEdqG6fBIPwe-mw">
         <body>An extension is used to indicate that the properties of a metaclass are extended through a stereotype, and gives the ability to flexibly add (and later remove) stereotypes to classes.</body>
       </ownedComment>
-      <ownedRule xmi:id="_g0RkQNwbEeCT5O2F6sGn5g" name="non_owned_end" constrainedElement="_skHGwGvsEdqG6fBIPwe-mw">
-        <ownedComment xmi:id="_g0RkQdwbEeCT5O2F6sGn5g" annotatedElement="_g0RkQNwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VZTVEhE9EeGOffqMW1YiZA" name="non_owned_end" constrainedElement="_skHGwGvsEdqG6fBIPwe-mw">
+        <ownedComment xmi:id="_VZTVExE9EeGOffqMW1YiZA" annotatedElement="_VZTVEhE9EeGOffqMW1YiZA">
           <body>The non-owned end of an Extension is typed by a Class.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0RkQtwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VZTVFBE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>metaclassEnd()->notEmpty() and metaclass()->oclIsKindOf(Class)</body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_g0RkQ9wbEeCT5O2F6sGn5g" name="is_binary" constrainedElement="_skHGwGvsEdqG6fBIPwe-mw">
-        <ownedComment xmi:id="_g0RkRNwbEeCT5O2F6sGn5g" annotatedElement="_g0RkQ9wbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VZT8EBE9EeGOffqMW1YiZA" name="is_binary" constrainedElement="_skHGwGvsEdqG6fBIPwe-mw">
+        <ownedComment xmi:id="_VZT8ERE9EeGOffqMW1YiZA" annotatedElement="_VZT8EBE9EeGOffqMW1YiZA">
           <body>An Extension is binary, i.e., it has only two memberEnds.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0RkRdwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VZT8EhE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>memberEnd->size() = 2</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_g0RkRtwbEeCT5O2F6sGn5g" general="_AwvxoGwNEdq7X4sGURiZYA"/>
-      <ownedAttribute xmi:id="_g0RkR9wbEeCT5O2F6sGn5g" name="isRequired" visibility="public" isReadOnly="true" isDerived="true">
-        <ownedComment xmi:id="_g0RkSNwbEeCT5O2F6sGn5g" annotatedElement="_g0RkR9wbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_VZT8ExE9EeGOffqMW1YiZA" general="_AwvxoGwNEdq7X4sGURiZYA"/>
+      <ownedAttribute xmi:id="_VZT8FBE9EeGOffqMW1YiZA" name="isRequired" visibility="public" isReadOnly="true" isDerived="true">
+        <ownedComment xmi:id="_VZT8FRE9EeGOffqMW1YiZA" annotatedElement="_VZT8FBE9EeGOffqMW1YiZA">
           <body>Indicates whether an instance of the extending stereotype must be created when an instance of the extended class is created. The attribute value is derived from the value of the lower property of the ExtensionEnd referenced by Extension::ownedEnd; a lower value of 1 means that isRequired is true, but otherwise it is false. Since the default value of ExtensionEnd::lower is 0, the default value of isRequired is false.</body>
         </ownedComment>
         <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
-        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_g0RkSdwbEeCT5O2F6sGn5g"/>
+        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_VZT8FhE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g0RkStwbEeCT5O2F6sGn5g" name="metaclass" visibility="public" type="_00owUGvdEdq4DLWZOhbdEA" isReadOnly="true" isDerived="true" association="_gyc_VdwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0RkS9wbEeCT5O2F6sGn5g" annotatedElement="_g0RkStwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VZT8FxE9EeGOffqMW1YiZA" name="metaclass" visibility="public" type="_00owUGvdEdq4DLWZOhbdEA" isReadOnly="true" isDerived="true" association="_VTavcRE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZT8GBE9EeGOffqMW1YiZA" annotatedElement="_VZT8FxE9EeGOffqMW1YiZA">
           <body>References the Class that is extended through an Extension. The property is derived from the type of the memberEnd that is not the ownedEnd.</body>
         </ownedComment>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g0RkTNwbEeCT5O2F6sGn5g" name="ownedEnd" visibility="public" type="_2QuT0GvdEdq4DLWZOhbdEA" aggregation="composite" redefinedProperty="_gzgIQNwbEeCT5O2F6sGn5g" association="_gypMldwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0RkTdwbEeCT5O2F6sGn5g" annotatedElement="_g0RkTNwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VZT8GRE9EeGOffqMW1YiZA" name="ownedEnd" visibility="public" type="_2QuT0GvdEdq4DLWZOhbdEA" aggregation="composite" redefinedProperty="_VV40oBE9EeGOffqMW1YiZA" association="_VUAlVBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZT8GhE9EeGOffqMW1YiZA" annotatedElement="_VZT8GRE9EeGOffqMW1YiZA">
           <body>References the end of the extension that is typed by a Stereotype.</body>
         </ownedComment>
       </ownedAttribute>
@@ -6781,81 +6784,81 @@
           <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_X2BEMZQGEdqpjIDDFZ2Hgw" value="1"/>
         </ownedParameter>
       </ownedOperation>
-      <ownedOperation xmi:id="_g0RkTtwbEeCT5O2F6sGn5g" name="isRequired" visibility="public" bodyCondition="_g0RkUNwbEeCT5O2F6sGn5g" isQuery="true">
-        <ownedComment xmi:id="_g0RkT9wbEeCT5O2F6sGn5g" annotatedElement="_g0RkTtwbEeCT5O2F6sGn5g">
+      <ownedOperation xmi:id="_VZUjIBE9EeGOffqMW1YiZA" name="isRequired" visibility="public" bodyCondition="_VZUjIhE9EeGOffqMW1YiZA" isQuery="true">
+        <ownedComment xmi:id="_VZUjIRE9EeGOffqMW1YiZA" annotatedElement="_VZUjIBE9EeGOffqMW1YiZA">
           <body>The query isRequired() is true if the owned end has a multiplicity with the lower bound of 1.</body>
         </ownedComment>
-        <ownedRule xmi:id="_g0RkUNwbEeCT5O2F6sGn5g" name="spec" constrainedElement="_g0RkTtwbEeCT5O2F6sGn5g _g0RkR9wbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0RkUdwbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VZUjIhE9EeGOffqMW1YiZA" name="spec" constrainedElement="_VZUjIBE9EeGOffqMW1YiZA _VZT8FBE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VZUjIxE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = (ownedEnd->lowerBound() = 1)</body>
           </specification>
         </ownedRule>
-        <ownedParameter xmi:id="_g0RkUtwbEeCT5O2F6sGn5g" name="result" visibility="public" direction="return">
+        <ownedParameter xmi:id="_VZUjJBE9EeGOffqMW1YiZA" name="result" visibility="public" direction="return">
           <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
         </ownedParameter>
       </ownedOperation>
-      <ownedOperation xmi:id="__PcocLL2EeCBifIhhuFqZA" name="metaclass" visibility="public" bodyCondition="_g0SLUNwbEeCT5O2F6sGn5g" isQuery="true">
-        <ownedComment xmi:id="_g0RkU9wbEeCT5O2F6sGn5g" annotatedElement="__PcocLL2EeCBifIhhuFqZA">
+      <ownedOperation xmi:id="__PcocLL2EeCBifIhhuFqZA" name="metaclass" visibility="public" bodyCondition="_VZUjJhE9EeGOffqMW1YiZA" isQuery="true">
+        <ownedComment xmi:id="_VZUjJRE9EeGOffqMW1YiZA" annotatedElement="__PcocLL2EeCBifIhhuFqZA">
           <body>The query metaclass() returns the metaclass that is being extended (as opposed to the extending stereotype).</body>
         </ownedComment>
-        <ownedRule xmi:id="_g0SLUNwbEeCT5O2F6sGn5g" name="spec" constrainedElement="__PcocLL2EeCBifIhhuFqZA _g0RkStwbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0SLUdwbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VZUjJhE9EeGOffqMW1YiZA" name="spec" constrainedElement="__PcocLL2EeCBifIhhuFqZA _VZT8FxE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VZUjJxE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = metaclassEnd().type</body>
           </specification>
         </ownedRule>
         <ownedParameter xmi:id="_FB-nwLL3EeCBifIhhuFqZA" name="result" visibility="public" type="_00owUGvdEdq4DLWZOhbdEA" direction="return"/>
       </ownedOperation>
-      <ownedOperation xmi:id="_g0SLUtwbEeCT5O2F6sGn5g" name="metaclassEnd" visibility="public" bodyCondition="_g0SLVNwbEeCT5O2F6sGn5g" isQuery="true">
-        <ownedComment xmi:id="_g0SLU9wbEeCT5O2F6sGn5g" annotatedElement="_g0SLUtwbEeCT5O2F6sGn5g">
+      <ownedOperation xmi:id="_VZVKMBE9EeGOffqMW1YiZA" name="metaclassEnd" visibility="public" bodyCondition="_VZVKMhE9EeGOffqMW1YiZA" isQuery="true">
+        <ownedComment xmi:id="_VZVKMRE9EeGOffqMW1YiZA" annotatedElement="_VZVKMBE9EeGOffqMW1YiZA">
           <body>The query metaclassEnd() returns the Property that is typed by a metaclass (as opposed to a stereotype).</body>
         </ownedComment>
-        <ownedRule xmi:id="_g0SLVNwbEeCT5O2F6sGn5g" name="spec" constrainedElement="_g0SLUtwbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0SLVdwbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VZVKMhE9EeGOffqMW1YiZA" name="spec" constrainedElement="_VZVKMBE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VZVKMxE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = memberEnd->reject(ownedEnd)</body>
           </specification>
         </ownedRule>
-        <ownedParameter xmi:id="_g0SLVtwbEeCT5O2F6sGn5g" name="result" visibility="public" type="_Jp_1oGveEdq4DLWZOhbdEA" direction="return"/>
+        <ownedParameter xmi:id="_VZVKNBE9EeGOffqMW1YiZA" name="result" visibility="public" type="_Jp_1oGveEdq4DLWZOhbdEA" direction="return"/>
       </ownedOperation>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="_2QuT0GvdEdq4DLWZOhbdEA" name="ExtensionEnd">
-      <ownedComment xmi:id="_g0SLV9wbEeCT5O2F6sGn5g" annotatedElement="_2QuT0GvdEdq4DLWZOhbdEA">
+      <ownedComment xmi:id="_VZVxQBE9EeGOffqMW1YiZA" annotatedElement="_2QuT0GvdEdq4DLWZOhbdEA">
         <body>An extension end is used to tie an extension to a stereotype when extending a metaclass.</body>
       </ownedComment>
-      <ownedComment xmi:id="_g0SLWNwbEeCT5O2F6sGn5g" annotatedElement="_2QuT0GvdEdq4DLWZOhbdEA">
+      <ownedComment xmi:id="_VZVxQRE9EeGOffqMW1YiZA" annotatedElement="_2QuT0GvdEdq4DLWZOhbdEA">
         <body>The default multiplicity of an extension end is 0..1.</body>
       </ownedComment>
-      <ownedRule xmi:id="_g0SyYNwbEeCT5O2F6sGn5g" name="multiplicity" constrainedElement="_2QuT0GvdEdq4DLWZOhbdEA">
-        <ownedComment xmi:id="_g0SyYdwbEeCT5O2F6sGn5g" annotatedElement="_g0SyYNwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VZVxQhE9EeGOffqMW1YiZA" name="multiplicity" constrainedElement="_2QuT0GvdEdq4DLWZOhbdEA">
+        <ownedComment xmi:id="_VZVxQxE9EeGOffqMW1YiZA" annotatedElement="_VZVxQhE9EeGOffqMW1YiZA">
           <body>The multiplicity of ExtensionEnd is 0..1 or 1.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0SyYtwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VZVxRBE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>(self->lowerBound() = 0 or self->lowerBound() = 1) and self->upperBound() = 1</body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_g0SyY9wbEeCT5O2F6sGn5g" name="aggregation" constrainedElement="_2QuT0GvdEdq4DLWZOhbdEA">
-        <ownedComment xmi:id="_g0SyZNwbEeCT5O2F6sGn5g" annotatedElement="_g0SyY9wbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VZWYUBE9EeGOffqMW1YiZA" name="aggregation" constrainedElement="_2QuT0GvdEdq4DLWZOhbdEA">
+        <ownedComment xmi:id="_VZWYURE9EeGOffqMW1YiZA" annotatedElement="_VZWYUBE9EeGOffqMW1YiZA">
           <body>The aggregation of an ExtensionEnd is composite.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0SyZdwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VZWYUhE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>self.aggregation = #composite</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_g0SyZtwbEeCT5O2F6sGn5g" general="_Jp_1oGveEdq4DLWZOhbdEA"/>
-      <ownedAttribute xmi:id="_g0SyZ9wbEeCT5O2F6sGn5g" name="lower" visibility="public" isDerived="true" redefinedProperty="_g1NYcNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0SyaNwbEeCT5O2F6sGn5g" annotatedElement="_g0SyZ9wbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_VZWYUxE9EeGOffqMW1YiZA" general="_Jp_1oGveEdq4DLWZOhbdEA"/>
+      <ownedAttribute xmi:id="_VZWYVBE9EeGOffqMW1YiZA" name="lower" visibility="public" isDerived="true" redefinedProperty="_VaHNUxE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZWYVRE9EeGOffqMW1YiZA" annotatedElement="_VZWYVBE9EeGOffqMW1YiZA">
           <body>This redefinition changes the default multiplicity of association ends, since model elements are usually extended by 0 or 1 instance of the extension stereotype.</body>
         </ownedComment>
         <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g0SyadwbEeCT5O2F6sGn5g"/>
-        <defaultValue xmi:type="uml:LiteralInteger" xmi:id="_g0SyatwbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VZWYVhE9EeGOffqMW1YiZA"/>
+        <defaultValue xmi:type="uml:LiteralInteger" xmi:id="_VZWYVxE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g0Sya9wbEeCT5O2F6sGn5g" name="type" visibility="public" type="_A7vDAGv0Edq7X4sGURiZYA" redefinedProperty="_g2UytNwbEeCT5O2F6sGn5g" association="_gy98uNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0SybNwbEeCT5O2F6sGn5g" annotatedElement="_g0Sya9wbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VZWYWBE9EeGOffqMW1YiZA" name="type" visibility="public" type="_A7vDAGv0Edq7X4sGURiZYA" redefinedProperty="_VfDXtBE9EeGOffqMW1YiZA" association="_VUr6xBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZWYWRE9EeGOffqMW1YiZA" annotatedElement="_VZWYWBE9EeGOffqMW1YiZA">
           <body>References the type of the ExtensionEnd. Note that this association restricts the possible types of an ExtensionEnd to only be Stereotypes.</body>
         </ownedComment>
       </ownedAttribute>
@@ -6869,186 +6872,186 @@
           <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
         </ownedParameter>
       </ownedOperation>
-      <ownedOperation xmi:id="_g0SybdwbEeCT5O2F6sGn5g" name="lowerBound" visibility="public" bodyCondition="_g0Syb9wbEeCT5O2F6sGn5g" isQuery="true" redefinedOperation="_g1PNkNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0SybtwbEeCT5O2F6sGn5g" annotatedElement="_g0SybdwbEeCT5O2F6sGn5g">
+      <ownedOperation xmi:id="_VZWYWhE9EeGOffqMW1YiZA" name="lowerBound" visibility="public" bodyCondition="_VZWYXBE9EeGOffqMW1YiZA" isQuery="true" redefinedOperation="_VaK3sxE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZWYWxE9EeGOffqMW1YiZA" annotatedElement="_VZWYWhE9EeGOffqMW1YiZA">
           <body>The query lowerBound() returns the lower bound of the multiplicity as an Integer. This is a redefinition of the default lower bound, which normally, for MultiplicityElements, evaluates to 1 if empty.</body>
         </ownedComment>
-        <ownedRule xmi:id="_g0Syb9wbEeCT5O2F6sGn5g" name="spec" constrainedElement="_g0SybdwbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0SycNwbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VZWYXBE9EeGOffqMW1YiZA" name="spec" constrainedElement="_VZWYWhE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VZWYXRE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = lowerBound = if lowerValue->isEmpty() then 0 else lowerValue->IntegerValue() endif</body>
           </specification>
         </ownedRule>
-        <ownedParameter xmi:id="_g0SycdwbEeCT5O2F6sGn5g" name="result" visibility="public" direction="return">
+        <ownedParameter xmi:id="_VZWYXhE9EeGOffqMW1YiZA" name="result" visibility="public" direction="return">
           <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g0SyctwbEeCT5O2F6sGn5g"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VZWYXxE9EeGOffqMW1YiZA"/>
         </ownedParameter>
       </ownedOperation>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g0TZcNwbEeCT5O2F6sGn5g" name="ExtensionPoint">
-      <ownedComment xmi:id="_g0TZcdwbEeCT5O2F6sGn5g" annotatedElement="_g0TZcNwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VZXmcBE9EeGOffqMW1YiZA" name="ExtensionPoint">
+      <ownedComment xmi:id="_VZXmcRE9EeGOffqMW1YiZA" annotatedElement="_VZXmcBE9EeGOffqMW1YiZA">
         <body>An extension point identifies a point in the behavior of a use case where that behavior can be extended by the behavior of some other (extending) use case, as specified by an extend relationship.</body>
       </ownedComment>
-      <ownedRule xmi:id="_g0TZctwbEeCT5O2F6sGn5g" name="must_have_name" constrainedElement="_g0TZcNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0TZc9wbEeCT5O2F6sGn5g" annotatedElement="_g0TZctwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VZXmchE9EeGOffqMW1YiZA" name="must_have_name" constrainedElement="_VZXmcBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZXmcxE9EeGOffqMW1YiZA" annotatedElement="_VZXmchE9EeGOffqMW1YiZA">
           <body>An ExtensionPoint must have a name.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0TZdNwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VZXmdBE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>self.name->notEmpty ()</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_g0TZddwbEeCT5O2F6sGn5g" general="_uCRA4La-EeCRxrN1JUGuxA"/>
-      <ownedAttribute xmi:id="_g0TZdtwbEeCT5O2F6sGn5g" name="useCase" visibility="public" type="_g2WA0NwbEeCT5O2F6sGn5g" subsettedProperty="_1vzv0LbIEeCRxrN1JUGuxA" association="_gyc_VNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0TZd9wbEeCT5O2F6sGn5g" annotatedElement="_g0TZdtwbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_VZXmdRE9EeGOffqMW1YiZA" general="_uCRA4La-EeCRxrN1JUGuxA"/>
+      <ownedAttribute xmi:id="_VZXmdhE9EeGOffqMW1YiZA" name="useCase" visibility="public" type="_VfFM4BE9EeGOffqMW1YiZA" subsettedProperty="_1vzv0LbIEeCRxrN1JUGuxA" association="_VTavcBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZXmdxE9EeGOffqMW1YiZA" annotatedElement="_VZXmdhE9EeGOffqMW1YiZA">
           <body>References the use case that owns this extension point.</body>
         </ownedComment>
       </ownedAttribute>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="_UL0VYLbAEeCRxrN1JUGuxA" name="Feature" isAbstract="true">
-      <ownedComment xmi:id="_g0TZeNwbEeCT5O2F6sGn5g" annotatedElement="_UL0VYLbAEeCRxrN1JUGuxA">
+      <ownedComment xmi:id="_VZXmeBE9EeGOffqMW1YiZA" annotatedElement="_UL0VYLbAEeCRxrN1JUGuxA">
         <body>A feature declares a behavioral or structural characteristic of instances of classifiers.</body>
       </ownedComment>
-      <generalization xmi:id="_g0TZedwbEeCT5O2F6sGn5g" general="_uCRA4La-EeCRxrN1JUGuxA"/>
-      <ownedAttribute xmi:id="_YUdlwLbAEeCRxrN1JUGuxA" name="featuringClassifier" visibility="public" type="_6UV2QGwJEdq7X4sGURiZYA" isReadOnly="true" isDerived="true" isDerivedUnion="true" subsettedProperty="_gyjF9NwbEeCT5O2F6sGn5g" association="_gyc_VtwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0TZetwbEeCT5O2F6sGn5g" annotatedElement="_YUdlwLbAEeCRxrN1JUGuxA">
+      <generalization xmi:id="_VZXmeRE9EeGOffqMW1YiZA" general="_uCRA4La-EeCRxrN1JUGuxA"/>
+      <ownedAttribute xmi:id="_YUdlwLbAEeCRxrN1JUGuxA" name="featuringClassifier" visibility="public" type="_6UV2QGwJEdq7X4sGURiZYA" isReadOnly="true" isDerived="true" isDerivedUnion="true" subsettedProperty="_VTwttRE9EeGOffqMW1YiZA" association="_VTavchE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZXmehE9EeGOffqMW1YiZA" annotatedElement="_YUdlwLbAEeCRxrN1JUGuxA">
           <body>The Classifiers that have this Feature as a feature.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g0TZe9wbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g0TZfNwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VZXmexE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VZXmfBE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g0UAgNwbEeCT5O2F6sGn5g" name="isStatic" visibility="public">
-        <ownedComment xmi:id="_g0UAgdwbEeCT5O2F6sGn5g" annotatedElement="_g0UAgNwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VZYNgBE9EeGOffqMW1YiZA" name="isStatic" visibility="public">
+        <ownedComment xmi:id="_VZYNgRE9EeGOffqMW1YiZA" annotatedElement="_VZYNgBE9EeGOffqMW1YiZA">
           <body>Specifies whether this feature characterizes individual instances classified by the classifier (false) or the classifier itself (true).</body>
         </ownedComment>
         <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
-        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_g0UAgtwbEeCT5O2F6sGn5g"/>
+        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_VZYNghE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g0UAg9wbEeCT5O2F6sGn5g" name="FinalNode" isAbstract="true">
-      <ownedComment xmi:id="_g0UAhNwbEeCT5O2F6sGn5g" annotatedElement="_g0UAg9wbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VZY0kBE9EeGOffqMW1YiZA" name="FinalNode" isAbstract="true">
+      <ownedComment xmi:id="_VZY0kRE9EeGOffqMW1YiZA" annotatedElement="_VZY0kBE9EeGOffqMW1YiZA">
         <body>A final node is an abstract control node at which a flow in an activity stops.</body>
       </ownedComment>
-      <ownedRule xmi:id="_g0UAhdwbEeCT5O2F6sGn5g" name="no_outgoing_edges" constrainedElement="_g0UAg9wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0UAhtwbEeCT5O2F6sGn5g" annotatedElement="_g0UAhdwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VZY0khE9EeGOffqMW1YiZA" name="no_outgoing_edges" constrainedElement="_VZY0kBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZY0kxE9EeGOffqMW1YiZA" annotatedElement="_VZY0khE9EeGOffqMW1YiZA">
           <body>A final node has no outgoing edges.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0UAh9wbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VZY0lBE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>true</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_g0UAiNwbEeCT5O2F6sGn5g" general="_g0BFndwbEeCT5O2F6sGn5g"/>
+      <generalization xmi:id="_VZY0lRE9EeGOffqMW1YiZA" general="_VYdAcBE9EeGOffqMW1YiZA"/>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g0UnkNwbEeCT5O2F6sGn5g" name="FinalState">
-      <ownedComment xmi:id="_g0UnkdwbEeCT5O2F6sGn5g" annotatedElement="_g0UnkNwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VZZboBE9EeGOffqMW1YiZA" name="FinalState">
+      <ownedComment xmi:id="_VZZboRE9EeGOffqMW1YiZA" annotatedElement="_VZZboBE9EeGOffqMW1YiZA">
         <body>A special kind of state signifying that the enclosing region is completed. If the enclosing region is directly contained in a state machine and all other regions in the state machine also are completed, then it means that the entire state machine is completed.</body>
       </ownedComment>
-      <ownedRule xmi:id="_g0UnktwbEeCT5O2F6sGn5g" name="no_exit_behavior" constrainedElement="_g0UnkNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0Unk9wbEeCT5O2F6sGn5g" annotatedElement="_g0UnktwbEeCT5O2F6sGn5g">
-          <body>A final state has no exit behavior.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0UnlNwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>self.exit->isEmpty()</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_g0UnldwbEeCT5O2F6sGn5g" name="no_outgoing_transitions" constrainedElement="_g0UnkNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0UnltwbEeCT5O2F6sGn5g" annotatedElement="_g0UnldwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VZZbohE9EeGOffqMW1YiZA" name="no_outgoing_transitions" constrainedElement="_VZZboBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZZboxE9EeGOffqMW1YiZA" annotatedElement="_VZZbohE9EeGOffqMW1YiZA">
           <body>A final state cannot have any outgoing transitions.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0Unl9wbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VZZbpBE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>self.outgoing->size() = 0</body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_g0UnmNwbEeCT5O2F6sGn5g" name="no_regions" constrainedElement="_g0UnkNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0UnmdwbEeCT5O2F6sGn5g" annotatedElement="_g0UnmNwbEeCT5O2F6sGn5g">
-          <body>A final state cannot have regions.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0UnmtwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>self.region->size() = 0</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_g0Unm9wbEeCT5O2F6sGn5g" name="cannot_reference_submachine" constrainedElement="_g0UnkNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0UnnNwbEeCT5O2F6sGn5g" annotatedElement="_g0Unm9wbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VZZbpRE9EeGOffqMW1YiZA" name="cannot_reference_submachine" constrainedElement="_VZZboBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZZbphE9EeGOffqMW1YiZA" annotatedElement="_VZZbpRE9EeGOffqMW1YiZA">
           <body>A final state cannot reference a submachine.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0UnndwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VZZbpxE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>self.submachine->isEmpty()</body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_g0UnntwbEeCT5O2F6sGn5g" name="no_entry_behavior" constrainedElement="_g0UnkNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0Unn9wbEeCT5O2F6sGn5g" annotatedElement="_g0UnntwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VZZbqBE9EeGOffqMW1YiZA" name="no_exit_behavior" constrainedElement="_VZZboBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZZbqRE9EeGOffqMW1YiZA" annotatedElement="_VZZbqBE9EeGOffqMW1YiZA">
+          <body>A final state has no exit behavior.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VZZbqhE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>self.exit->isEmpty()</body>
+        </specification>
+      </ownedRule>
+      <ownedRule xmi:id="_VZZbqxE9EeGOffqMW1YiZA" name="no_entry_behavior" constrainedElement="_VZZboBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZZbrBE9EeGOffqMW1YiZA" annotatedElement="_VZZbqxE9EeGOffqMW1YiZA">
           <body>A final state has no entry behavior.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0UnoNwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VZZbrRE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>self.entry->isEmpty()</body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_g0UnodwbEeCT5O2F6sGn5g" name="no_state_behavior" constrainedElement="_g0UnkNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0UnotwbEeCT5O2F6sGn5g" annotatedElement="_g0UnodwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VZZbrhE9EeGOffqMW1YiZA" name="no_state_behavior" constrainedElement="_VZZboBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZZbrxE9EeGOffqMW1YiZA" annotatedElement="_VZZbrhE9EeGOffqMW1YiZA">
           <body>A final state has no state (doActivity) behavior.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0Uno9wbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VZZbsBE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>self.doActivity->isEmpty()</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_g0UnpNwbEeCT5O2F6sGn5g" general="_g2Ce0NwbEeCT5O2F6sGn5g"/>
+      <ownedRule xmi:id="_VZZbsRE9EeGOffqMW1YiZA" name="no_regions" constrainedElement="_VZZboBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZZbshE9EeGOffqMW1YiZA" annotatedElement="_VZZbsRE9EeGOffqMW1YiZA">
+          <body>A final state cannot have regions.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VZZbsxE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>self.region->size() = 0</body>
+        </specification>
+      </ownedRule>
+      <generalization xmi:id="_VZZbtBE9EeGOffqMW1YiZA" general="_VeRUkBE9EeGOffqMW1YiZA"/>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g0UnpdwbEeCT5O2F6sGn5g" name="FlowFinalNode">
-      <ownedComment xmi:id="_g0UnptwbEeCT5O2F6sGn5g" annotatedElement="_g0UnpdwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VZaCsBE9EeGOffqMW1YiZA" name="FlowFinalNode">
+      <ownedComment xmi:id="_VZaCsRE9EeGOffqMW1YiZA" annotatedElement="_VZaCsBE9EeGOffqMW1YiZA">
         <body>A flow final node is a final node that terminates a flow.</body>
       </ownedComment>
-      <generalization xmi:id="_g0Unp9wbEeCT5O2F6sGn5g" general="_g0UAg9wbEeCT5O2F6sGn5g"/>
+      <generalization xmi:id="_VZaCshE9EeGOffqMW1YiZA" general="_VZY0kBE9EeGOffqMW1YiZA"/>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g0UnqNwbEeCT5O2F6sGn5g" name="ForkNode">
-      <ownedComment xmi:id="_g0UnqdwbEeCT5O2F6sGn5g" annotatedElement="_g0UnqNwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VZaCsxE9EeGOffqMW1YiZA" name="ForkNode">
+      <ownedComment xmi:id="_VZaCtBE9EeGOffqMW1YiZA" annotatedElement="_VZaCsxE9EeGOffqMW1YiZA">
         <body>A fork node is a control node that splits a flow into multiple concurrent flows.</body>
       </ownedComment>
-      <ownedRule xmi:id="_g0UnqtwbEeCT5O2F6sGn5g" name="edges" constrainedElement="_g0UnqNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0Unq9wbEeCT5O2F6sGn5g" annotatedElement="_g0UnqtwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VZaCtRE9EeGOffqMW1YiZA" name="edges" constrainedElement="_VZaCsxE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZaCthE9EeGOffqMW1YiZA" annotatedElement="_VZaCtRE9EeGOffqMW1YiZA">
           <body>The edges coming into and out of a fork node must be either all object flows or all control flows.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0UnrNwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VZaCtxE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>true</body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_g0UnrdwbEeCT5O2F6sGn5g" name="one_incoming_edge" constrainedElement="_g0UnqNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0UnrtwbEeCT5O2F6sGn5g" annotatedElement="_g0UnrdwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VZaCuBE9EeGOffqMW1YiZA" name="one_incoming_edge" constrainedElement="_VZaCsxE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZaCuRE9EeGOffqMW1YiZA" annotatedElement="_VZaCuBE9EeGOffqMW1YiZA">
           <body>A fork node has one incoming edge.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0Unr9wbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VZaCuhE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>true</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_g0UnsNwbEeCT5O2F6sGn5g" general="_g0BFndwbEeCT5O2F6sGn5g"/>
+      <generalization xmi:id="_VZaCuxE9EeGOffqMW1YiZA" general="_VYdAcBE9EeGOffqMW1YiZA"/>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g0VOoNwbEeCT5O2F6sGn5g" name="FunctionBehavior">
-      <ownedComment xmi:id="_g0VOodwbEeCT5O2F6sGn5g" annotatedElement="_g0VOoNwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VZapwBE9EeGOffqMW1YiZA" name="FunctionBehavior">
+      <ownedComment xmi:id="_VZapwRE9EeGOffqMW1YiZA" annotatedElement="_VZapwBE9EeGOffqMW1YiZA">
         <body>A function behavior is an opaque behavior that does not access or modify any objects or other external data.</body>
       </ownedComment>
-      <ownedRule xmi:id="_g0VOotwbEeCT5O2F6sGn5g" name="one_output_parameter" constrainedElement="_g0VOoNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0VOo9wbEeCT5O2F6sGn5g" annotatedElement="_g0VOotwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VZapwhE9EeGOffqMW1YiZA" name="one_output_parameter" constrainedElement="_VZapwBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZapwxE9EeGOffqMW1YiZA" annotatedElement="_VZapwhE9EeGOffqMW1YiZA">
           <body>A function behavior has at least one output parameter.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0VOpNwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VZapxBE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>self.ownedParameters->
   select(p | p.direction=#out or p.direction=#inout or p.direction=#return)->size() >= 1</body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_g0VOpdwbEeCT5O2F6sGn5g" name="types_of_parameters" constrainedElement="_g0VOoNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0VOptwbEeCT5O2F6sGn5g" annotatedElement="_g0VOpdwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VZapxRE9EeGOffqMW1YiZA" name="types_of_parameters" constrainedElement="_VZapwBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZapxhE9EeGOffqMW1YiZA" annotatedElement="_VZapxRE9EeGOffqMW1YiZA">
           <body>The types of parameters are all data types, which may not nest anything but other datatypes.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0VOp9wbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VZapxxE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>def: hasAllDataTypeAttributes(d : DataType) : Boolean =
   d.ownedAttribute->forAll(a |
@@ -7058,213 +7061,204 @@
   p.oclIsTypeOf(DataType) and hasAllDataTypeAttributes(p))</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_g0VOqNwbEeCT5O2F6sGn5g" general="_k9tagLG4EeCDe8CO90iVKQ"/>
+      <generalization xmi:id="_VZapyBE9EeGOffqMW1YiZA" general="_k9tagLG4EeCDe8CO90iVKQ"/>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g0V1sNwbEeCT5O2F6sGn5g" name="Gate">
-      <ownedComment xmi:id="_g0V1sdwbEeCT5O2F6sGn5g" annotatedElement="_g0V1sNwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VZeUIBE9EeGOffqMW1YiZA" name="Gate">
+      <ownedComment xmi:id="_VZeUIRE9EeGOffqMW1YiZA" annotatedElement="_VZeUIBE9EeGOffqMW1YiZA">
         <body>A gate is a connection point for relating a message outside an interaction fragment with a message inside the interaction fragment.</body>
       </ownedComment>
-      <ownedRule xmi:id="_g0V1stwbEeCT5O2F6sGn5g" name="messages_combined_fragment" constrainedElement="_g0V1sNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0V1s9wbEeCT5O2F6sGn5g" annotatedElement="_g0V1stwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VZeUIhE9EeGOffqMW1YiZA" name="messages_combined_fragment" constrainedElement="_VZeUIBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZeUIxE9EeGOffqMW1YiZA" annotatedElement="_VZeUIhE9EeGOffqMW1YiZA">
           <body>The message leading to/from an (expression) Gate within a CombinedFragment must correspond to the message leading from/to the CombinedFragment on its outside.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0V1tNwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VZeUJBE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>true</body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_g0V1tdwbEeCT5O2F6sGn5g" name="messages_actual_gate" constrainedElement="_g0V1sNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0V1ttwbEeCT5O2F6sGn5g" annotatedElement="_g0V1tdwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VZeUJRE9EeGOffqMW1YiZA" name="messages_actual_gate" constrainedElement="_VZeUIBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZeUJhE9EeGOffqMW1YiZA" annotatedElement="_VZeUJRE9EeGOffqMW1YiZA">
           <body>The message leading to/from an actualGate of an InteractionUse must correspond to the message leading from/to the formalGate with the same name of the Interaction referenced by the InteractionUse.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0V1t9wbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VZeUJxE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>true</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_g0V1uNwbEeCT5O2F6sGn5g" general="_g1MKQNwbEeCT5O2F6sGn5g"/>
+      <generalization xmi:id="_VZeUKBE9EeGOffqMW1YiZA" general="_VaEKABE9EeGOffqMW1YiZA"/>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g0V1udwbEeCT5O2F6sGn5g" name="GeneralOrdering">
-      <ownedComment xmi:id="_g0V1utwbEeCT5O2F6sGn5g" annotatedElement="_g0V1udwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VZe7MBE9EeGOffqMW1YiZA" name="GeneralOrdering">
+      <ownedComment xmi:id="_VZe7MRE9EeGOffqMW1YiZA" annotatedElement="_VZe7MBE9EeGOffqMW1YiZA">
         <body>A general ordering represents a binary relation between two occurrence specifications, to describe that one occurrence specification must occur before the other in a valid trace. This mechanism provides the ability to define partial orders of occurrence cpecifications that may otherwise not have a specified order.</body>
       </ownedComment>
-      <ownedRule xmi:id="_g0V1u9wbEeCT5O2F6sGn5g" name="irreflexsive_transitive_closure" constrainedElement="_g0V1udwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0V1vNwbEeCT5O2F6sGn5g" annotatedElement="_g0V1u9wbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VZe7MhE9EeGOffqMW1YiZA" name="irreflexsive_transitive_closure" constrainedElement="_VZe7MBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZe7MxE9EeGOffqMW1YiZA" annotatedElement="_VZe7MhE9EeGOffqMW1YiZA">
           <body>An occurrence specification must not be ordered relative to itself through a series of general orderings. (In other words, the transitive closure of the general orderings is irreflexive.)</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0V1vdwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VZe7NBE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>start.lifeline = finish.lifeline</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_g0V1vtwbEeCT5O2F6sGn5g" general="_csVgUGvtEdqG6fBIPwe-mw"/>
-      <ownedAttribute xmi:id="_g0V1v9wbEeCT5O2F6sGn5g" name="after" visibility="public" type="_g1XwcNwbEeCT5O2F6sGn5g" association="_gy9Vo9wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0V1wNwbEeCT5O2F6sGn5g" annotatedElement="_g0V1v9wbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_VZe7NRE9EeGOffqMW1YiZA" general="_csVgUGvtEdqG6fBIPwe-mw"/>
+      <ownedAttribute xmi:id="_VZe7NhE9EeGOffqMW1YiZA" name="after" visibility="public" type="_VbdRIBE9EeGOffqMW1YiZA" association="_VUqFlxE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZe7NxE9EeGOffqMW1YiZA" annotatedElement="_VZe7NhE9EeGOffqMW1YiZA">
           <body>The OccurrenceSpecification referenced comes after the OccurrenceSpecification referenced by before.</body>
         </ownedComment>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g0V1wdwbEeCT5O2F6sGn5g" name="before" visibility="public" type="_g1XwcNwbEeCT5O2F6sGn5g" association="_gySnUtwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0V1wtwbEeCT5O2F6sGn5g" annotatedElement="_g0V1wdwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VZe7OBE9EeGOffqMW1YiZA" name="before" visibility="public" type="_VbdRIBE9EeGOffqMW1YiZA" association="_VS_RoBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZe7ORE9EeGOffqMW1YiZA" annotatedElement="_VZe7OBE9EeGOffqMW1YiZA">
           <body>The OccurrenceSpecification referenced comes before the OccurrenceSpecification referenced by after.</body>
         </ownedComment>
       </ownedAttribute>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="_C7AF4GwREdq14q0ETb1t3g" name="Generalization">
-      <ownedComment xmi:id="_g0V1w9wbEeCT5O2F6sGn5g" annotatedElement="_C7AF4GwREdq14q0ETb1t3g">
+      <ownedComment xmi:id="_VZe7OhE9EeGOffqMW1YiZA" annotatedElement="_C7AF4GwREdq14q0ETb1t3g">
         <body>A generalization is a taxonomic relationship between a more general classifier and a more specific classifier. Each instance of the specific classifier is also an indirect instance of the general classifier. Thus, the specific classifier inherits the features of the more general classifier.</body>
       </ownedComment>
-      <ownedComment xmi:id="_g0V1xNwbEeCT5O2F6sGn5g" annotatedElement="_C7AF4GwREdq14q0ETb1t3g">
+      <ownedComment xmi:id="_VZe7OxE9EeGOffqMW1YiZA" annotatedElement="_C7AF4GwREdq14q0ETb1t3g">
         <body>A generalization relates a specific classifier to a more general classifier, and is owned by the specific classifier.</body>
       </ownedComment>
-      <ownedRule xmi:id="_g0V1xdwbEeCT5O2F6sGn5g" name="generalization_same_classifier" constrainedElement="_C7AF4GwREdq14q0ETb1t3g">
-        <ownedComment xmi:id="_g0V1xtwbEeCT5O2F6sGn5g" annotatedElement="_g0V1xdwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VZfiQBE9EeGOffqMW1YiZA" name="generalization_same_classifier" constrainedElement="_C7AF4GwREdq14q0ETb1t3g">
+        <ownedComment xmi:id="_VZfiQRE9EeGOffqMW1YiZA" annotatedElement="_VZfiQBE9EeGOffqMW1YiZA">
           <body>Every Generalization associated with a given GeneralizationSet must have the same general Classifier. That is, all Generalizations for a particular GeneralizationSet must have the same superclass.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0V1x9wbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VZfiQhE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>true</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_g0WcwNwbEeCT5O2F6sGn5g" general="_JBgfoKPAEdqi_5gqUMOQtA"/>
-      <ownedAttribute xmi:id="_g0WcwdwbEeCT5O2F6sGn5g" name="general" visibility="public" type="_6UV2QGwJEdq7X4sGURiZYA" subsettedProperty="_g0HzRNwbEeCT5O2F6sGn5g" association="_gyeNdNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0WcwtwbEeCT5O2F6sGn5g" annotatedElement="_g0WcwdwbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_VZfiQxE9EeGOffqMW1YiZA" general="_JBgfoKPAEdqi_5gqUMOQtA"/>
+      <ownedAttribute xmi:id="_VZfiRBE9EeGOffqMW1YiZA" name="general" visibility="public" type="_6UV2QGwJEdq7X4sGURiZYA" subsettedProperty="_VY66iBE9EeGOffqMW1YiZA" association="_VTlHgBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZfiRRE9EeGOffqMW1YiZA" annotatedElement="_VZfiRBE9EeGOffqMW1YiZA">
           <body>References the general classifier in the Generalization relationship.</body>
         </ownedComment>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g0Wcw9wbEeCT5O2F6sGn5g" name="generalizationSet" visibility="public" type="_g0XD0NwbEeCT5O2F6sGn5g" association="_gyeNeNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0WcxNwbEeCT5O2F6sGn5g" annotatedElement="_g0Wcw9wbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VZfiRhE9EeGOffqMW1YiZA" name="generalizationSet" visibility="public" type="_VZgwYBE9EeGOffqMW1YiZA" association="_VTlHhBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZfiRxE9EeGOffqMW1YiZA" annotatedElement="_VZfiRhE9EeGOffqMW1YiZA">
           <body>Designates a set in which instances of Generalization is considered members.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g0WcxdwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g0WcxtwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VZfiSBE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VZfiSRE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g0Wcx9wbEeCT5O2F6sGn5g" name="isSubstitutable" visibility="public">
-        <ownedComment xmi:id="_g0WcyNwbEeCT5O2F6sGn5g" annotatedElement="_g0Wcx9wbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VZgJUBE9EeGOffqMW1YiZA" name="isSubstitutable" visibility="public">
+        <ownedComment xmi:id="_VZgJURE9EeGOffqMW1YiZA" annotatedElement="_VZgJUBE9EeGOffqMW1YiZA">
           <body>Indicates whether the specific classifier can be used wherever the general classifier can be used. If true, the execution traces of the specific classifier will be a superset of the execution traces of the general classifier.</body>
         </ownedComment>
         <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g0WcydwbEeCT5O2F6sGn5g"/>
-        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_g0WcytwbEeCT5O2F6sGn5g" value="true"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VZgJUhE9EeGOffqMW1YiZA"/>
+        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_VZgJUxE9EeGOffqMW1YiZA" value="true"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g0Wcy9wbEeCT5O2F6sGn5g" name="specific" visibility="public" type="_6UV2QGwJEdq7X4sGURiZYA" subsettedProperty="_g0HzQdwbEeCT5O2F6sGn5g _g0JodNwbEeCT5O2F6sGn5g" association="_gyeNedwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0WczNwbEeCT5O2F6sGn5g" annotatedElement="_g0Wcy9wbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VZgJVBE9EeGOffqMW1YiZA" name="specific" visibility="public" type="_6UV2QGwJEdq7X4sGURiZYA" subsettedProperty="_N3hRMAtAEeGcpbeCPJfCmw _VY66hRE9EeGOffqMW1YiZA" association="_VTlHhRE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZgJVRE9EeGOffqMW1YiZA" annotatedElement="_VZgJVBE9EeGOffqMW1YiZA">
           <body>References the specializing classifier in the Generalization relationship.</body>
         </ownedComment>
       </ownedAttribute>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g0XD0NwbEeCT5O2F6sGn5g" name="GeneralizationSet">
-      <ownedComment xmi:id="_g0XD0dwbEeCT5O2F6sGn5g" annotatedElement="_g0XD0NwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VZgwYBE9EeGOffqMW1YiZA" name="GeneralizationSet">
+      <ownedComment xmi:id="_VZgwYRE9EeGOffqMW1YiZA" annotatedElement="_VZgwYBE9EeGOffqMW1YiZA">
         <body>A generalization set is a packageable element whose instances define collections of subsets of generalization relationships.</body>
       </ownedComment>
-      <ownedRule xmi:id="_g0XD0twbEeCT5O2F6sGn5g" name="generalization_same_classifier" constrainedElement="_g0XD0NwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0XD09wbEeCT5O2F6sGn5g" annotatedElement="_g0XD0twbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VZgwYhE9EeGOffqMW1YiZA" name="maps_to_generalization_set" constrainedElement="_VZgwYBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZgwYxE9EeGOffqMW1YiZA" annotatedElement="_VZgwYhE9EeGOffqMW1YiZA">
+          <body>The Classifier that maps to a GeneralizationSet may neither be a specific nor a general Classifier in any of the Generalization relationships defined for that GeneralizationSet. In other words, a power type may not be an instance of itself nor may its instances be its subclasses.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VZgwZBE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>true</body>
+        </specification>
+      </ownedRule>
+      <ownedRule xmi:id="_VZgwZRE9EeGOffqMW1YiZA" name="generalization_same_classifier" constrainedElement="_VZgwYBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZgwZhE9EeGOffqMW1YiZA" annotatedElement="_VZgwZRE9EeGOffqMW1YiZA">
           <body>Every Generalization associated with a particular GeneralizationSet must have the same general Classifier.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0XD1NwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VZgwZxE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>generalization->collect(g | g.general)->asSet()->size() &lt;= 1</body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_g0XD1dwbEeCT5O2F6sGn5g" name="maps_to_generalization_set" constrainedElement="_g0XD0NwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0XD1twbEeCT5O2F6sGn5g" annotatedElement="_g0XD1dwbEeCT5O2F6sGn5g">
-          <body>The Classifier that maps to a GeneralizationSet may neither be a specific nor a general Classifier in any of the Generalization relationships defined for that GeneralizationSet. In other words, a power type may not be an instance of itself nor may its instances be its subclasses.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0XD19wbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>true</body>
-        </specification>
-      </ownedRule>
-      <generalization xmi:id="_g0XD2NwbEeCT5O2F6sGn5g" general="_jKxnwGwLEdq7X4sGURiZYA"/>
-      <ownedAttribute xmi:id="_g0XD2dwbEeCT5O2F6sGn5g" name="generalization" visibility="public" type="_C7AF4GwREdq14q0ETb1t3g" association="_gyeNeNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0XD2twbEeCT5O2F6sGn5g" annotatedElement="_g0XD2dwbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_VZgwaBE9EeGOffqMW1YiZA" general="_jKxnwGwLEdq7X4sGURiZYA"/>
+      <ownedAttribute xmi:id="_VZgwaRE9EeGOffqMW1YiZA" name="generalization" visibility="public" type="_C7AF4GwREdq14q0ETb1t3g" association="_VTlHhBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZgwahE9EeGOffqMW1YiZA" annotatedElement="_VZgwaRE9EeGOffqMW1YiZA">
           <body>Designates the instances of Generalization which are members of a given GeneralizationSet.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g0XD29wbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g0XD3NwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VZgwaxE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VZgwbBE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g0XD3dwbEeCT5O2F6sGn5g" name="isCovering" visibility="public">
-        <ownedComment xmi:id="_g0XD3twbEeCT5O2F6sGn5g" annotatedElement="_g0XD3dwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VZgwbRE9EeGOffqMW1YiZA" name="isCovering" visibility="public">
+        <ownedComment xmi:id="_VZgwbhE9EeGOffqMW1YiZA" annotatedElement="_VZgwbRE9EeGOffqMW1YiZA">
           <body>Indicates (via the associated Generalizations) whether or not the set of specific Classifiers are covering for a particular general classifier. When isCovering is true, every instance of a particular general Classifier is also an instance of at least one of its specific Classifiers for the GeneralizationSet. When isCovering is false, there are one or more instances of the particular general Classifier that are not instances of at least one of its specific Classifiers defined for the GeneralizationSet.</body>
         </ownedComment>
         <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
-        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_g0XD39wbEeCT5O2F6sGn5g"/>
+        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_VZgwbxE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g0XD4NwbEeCT5O2F6sGn5g" name="isDisjoint" visibility="public">
-        <ownedComment xmi:id="_g0XD4dwbEeCT5O2F6sGn5g" annotatedElement="_g0XD4NwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VZgwcBE9EeGOffqMW1YiZA" name="isDisjoint" visibility="public">
+        <ownedComment xmi:id="_VZgwcRE9EeGOffqMW1YiZA" annotatedElement="_VZgwcBE9EeGOffqMW1YiZA">
           <body>Indicates whether or not the set of specific Classifiers in a Generalization relationship have instance in common. If isDisjoint is true, the specific Classifiers for a particular GeneralizationSet have no members in common; that is, their intersection is empty. If isDisjoint is false, the specific Classifiers in a particular GeneralizationSet have one or more members in common; that is, their intersection is not empty. For example, Person could have two Generalization relationships, each with the different specific Classifier: Manager or Staff. This would be disjoint because every instance of Person must either be a Manager or Staff. In contrast, Person could have two Generalization relationships involving two specific (and non-covering) Classifiers: Sales Person and Manager. This GeneralizationSet would not be disjoint because there are instances of Person which can be a Sales Person and a Manager.</body>
         </ownedComment>
         <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
-        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_g0XD4twbEeCT5O2F6sGn5g"/>
+        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_VZgwchE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g0XD49wbEeCT5O2F6sGn5g" name="powertype" visibility="public" type="_6UV2QGwJEdq7X4sGURiZYA" association="_gys29twbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0XD5NwbEeCT5O2F6sGn5g" annotatedElement="_g0XD49wbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VZgwcxE9EeGOffqMW1YiZA" name="powertype" visibility="public" type="_6UV2QGwJEdq7X4sGURiZYA" association="_VUJvRhE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZgwdBE9EeGOffqMW1YiZA" annotatedElement="_VZgwcxE9EeGOffqMW1YiZA">
           <body>Designates the Classifier that is defined as the power type for the associated GeneralizationSet.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g0XD5dwbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VZgwdRE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="_nDq0wJPzEdqpjIDDFZ2Hgw" name="Image">
-      <ownedComment xmi:id="_g0XD5twbEeCT5O2F6sGn5g" annotatedElement="_nDq0wJPzEdqpjIDDFZ2Hgw">
+      <ownedComment xmi:id="_VZhXcBE9EeGOffqMW1YiZA" annotatedElement="_nDq0wJPzEdqpjIDDFZ2Hgw">
         <body>Physical definition of a graphical image.</body>
       </ownedComment>
-      <generalization xmi:id="_g0XD59wbEeCT5O2F6sGn5g" general="_kl90MGvbEdq4DLWZOhbdEA"/>
+      <generalization xmi:id="_VZhXcRE9EeGOffqMW1YiZA" general="_kl90MGvbEdq4DLWZOhbdEA"/>
       <ownedAttribute xmi:id="_N4PwQLG3EeCDe8CO90iVKQ" name="content" visibility="public">
-        <ownedComment xmi:id="_g0XD6NwbEeCT5O2F6sGn5g" annotatedElement="_N4PwQLG3EeCDe8CO90iVKQ">
+        <ownedComment xmi:id="_VZhXchE9EeGOffqMW1YiZA" annotatedElement="_N4PwQLG3EeCDe8CO90iVKQ">
           <body>This contains the serialization of the image according to the format. The value could represent a bitmap, image such as a GIF file, or drawing 'instructions' using a standard such as Scalable Vector Graphic (SVG) (which is XML based).</body>
         </ownedComment>
         <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g0XD6dwbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VZhXcxE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
       <ownedAttribute xmi:id="_j4KkMLG3EeCDe8CO90iVKQ" name="format" visibility="public">
-        <ownedComment xmi:id="_g0Xq4NwbEeCT5O2F6sGn5g" annotatedElement="_j4KkMLG3EeCDe8CO90iVKQ">
+        <ownedComment xmi:id="_VZlo4BE9EeGOffqMW1YiZA" annotatedElement="_j4KkMLG3EeCDe8CO90iVKQ">
           <body>This indicates the format of the content - which is how the string content should be interpreted. The following values are reserved: SVG, GIF, PNG, JPG, WMF, EMF, BMP. In addition the prefix 'MIME: ' is also reserved. This option can be used as an alternative to express the reserved values above, for example &quot;SVG&quot; could instead be expressed as &quot;MIME: image/svg+xml&quot;.</body>
         </ownedComment>
         <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g0Xq4dwbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VZlo4RE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
       <ownedAttribute xmi:id="_ZCc-4LG3EeCDe8CO90iVKQ" name="location" visibility="public">
-        <ownedComment xmi:id="_g0Xq4twbEeCT5O2F6sGn5g" annotatedElement="_ZCc-4LG3EeCDe8CO90iVKQ">
+        <ownedComment xmi:id="_VZmP8BE9EeGOffqMW1YiZA" annotatedElement="_ZCc-4LG3EeCDe8CO90iVKQ">
           <body>This contains a location that can be used by a tool to locate the image as an alternative to embedding it in the stereotype.</body>
         </ownedComment>
         <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g0Xq49wbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VZmP8RE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g0YR8NwbEeCT5O2F6sGn5g" name="Include">
-      <ownedComment xmi:id="_g0YR8dwbEeCT5O2F6sGn5g" annotatedElement="_g0YR8NwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VZneEBE9EeGOffqMW1YiZA" name="Include">
+      <ownedComment xmi:id="_VZneERE9EeGOffqMW1YiZA" annotatedElement="_VZneEBE9EeGOffqMW1YiZA">
         <body>An include relationship defines that a use case contains the behavior defined in another use case.</body>
       </ownedComment>
-      <generalization xmi:id="_g0YR8twbEeCT5O2F6sGn5g" general="_JBgfoKPAEdqi_5gqUMOQtA"/>
-      <generalization xmi:id="_g0YR89wbEeCT5O2F6sGn5g" general="_csVgUGvtEdqG6fBIPwe-mw"/>
-      <ownedAttribute xmi:id="_g0YR9NwbEeCT5O2F6sGn5g" name="addition" visibility="public" type="_g2WA0NwbEeCT5O2F6sGn5g" subsettedProperty="_g0HzRNwbEeCT5O2F6sGn5g" association="_gySAOtwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0YR9dwbEeCT5O2F6sGn5g" annotatedElement="_g0YR9NwbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_VZneEhE9EeGOffqMW1YiZA" general="_JBgfoKPAEdqi_5gqUMOQtA"/>
+      <generalization xmi:id="_VZneExE9EeGOffqMW1YiZA" general="_csVgUGvtEdqG6fBIPwe-mw"/>
+      <ownedAttribute xmi:id="_VZneFBE9EeGOffqMW1YiZA" name="addition" visibility="public" type="_VfFM4BE9EeGOffqMW1YiZA" subsettedProperty="_VY66iBE9EeGOffqMW1YiZA" association="_VS81ZBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZneFRE9EeGOffqMW1YiZA" annotatedElement="_VZneFBE9EeGOffqMW1YiZA">
           <body>References the use case that is to be included.</body>
         </ownedComment>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g0YR9twbEeCT5O2F6sGn5g" name="includingCase" visibility="public" type="_g2WA0NwbEeCT5O2F6sGn5g" subsettedProperty="_1vzv0LbIEeCRxrN1JUGuxA _g0HzQdwbEeCT5O2F6sGn5g" association="_gyfbntwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0YR99wbEeCT5O2F6sGn5g" annotatedElement="_g0YR9twbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VZneFhE9EeGOffqMW1YiZA" name="includingCase" visibility="public" type="_VfFM4BE9EeGOffqMW1YiZA" subsettedProperty="_VY66hRE9EeGOffqMW1YiZA _1vzv0LbIEeCRxrN1JUGuxA" association="_VToK1BE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZneFxE9EeGOffqMW1YiZA" annotatedElement="_VZneFhE9EeGOffqMW1YiZA">
           <body>References the use case which will include the addition and owns the include relationship.</body>
         </ownedComment>
       </ownedAttribute>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g0Y5ANwbEeCT5O2F6sGn5g" name="InformationFlow">
-      <ownedComment xmi:id="_g0Y5AdwbEeCT5O2F6sGn5g" annotatedElement="_g0Y5ANwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VZosMBE9EeGOffqMW1YiZA" name="InformationFlow">
+      <ownedComment xmi:id="_VZosMRE9EeGOffqMW1YiZA" annotatedElement="_VZosMBE9EeGOffqMW1YiZA">
         <body>An information flow specifies that one or more information items circulates from its sources to its targets. Information flows require some kind of information channel for transmitting information items from the source to the destination. An information channel is represented in various ways depending on the nature of its sources and targets. It may be represented by connectors, links, associations, or even dependencies. For example, if the source and destination are parts in some composite structure such as a collaboration, then the information channel is likely to be represented by a connector between them. Or, if the source and target are objects (which are a kind of instance specification), they may be represented by a link that joins the two, and so on.</body>
       </ownedComment>
-      <ownedRule xmi:id="_g0Y5AtwbEeCT5O2F6sGn5g" name="must_conform" constrainedElement="_g0Y5ANwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0Y5A9wbEeCT5O2F6sGn5g" annotatedElement="_g0Y5AtwbEeCT5O2F6sGn5g">
-          <body>The sources and targets of the information flow must conform with the sources and targets or conversely the targets and sources of the realization relationships.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0Y5BNwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>true</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_g0Y5BdwbEeCT5O2F6sGn5g" name="sources_and_targets_kind" constrainedElement="_g0Y5ANwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0Y5BtwbEeCT5O2F6sGn5g" annotatedElement="_g0Y5BdwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VZosMhE9EeGOffqMW1YiZA" name="sources_and_targets_kind" constrainedElement="_VZosMBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZosMxE9EeGOffqMW1YiZA" annotatedElement="_VZosMhE9EeGOffqMW1YiZA">
           <body>The sources and targets of the information flow can only be one of the following kind: Actor, Node, UseCase, Artifact, Class, Component, Port, Property, Interface, Package, ActivityNode, ActivityPartition and InstanceSpecification except when its classifier is a relationship (i.e. it represents a link).</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0Y5B9wbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VZosNBE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>(self.informationSource->forAll(p | p->oclIsKindOf(Actor) or oclIsKindOf(Node) or
   oclIsKindOf(UseCase) or oclIsKindOf(Artifact) or oclIsKindOf(Class) or
@@ -7278,74 +7272,101 @@
       oclIsKindOf(ActivityPartition) or oclIsKindOf(InstanceSpecification)))</body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_g0Y5CNwbEeCT5O2F6sGn5g" name="convey_classifiers" constrainedElement="_g0Y5ANwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0Y5CdwbEeCT5O2F6sGn5g" annotatedElement="_g0Y5CNwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VZosNRE9EeGOffqMW1YiZA" name="must_conform" constrainedElement="_VZosMBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZosNhE9EeGOffqMW1YiZA" annotatedElement="_VZosNRE9EeGOffqMW1YiZA">
+          <body>The sources and targets of the information flow must conform with the sources and targets or conversely the targets and sources of the realization relationships.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VZosNxE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>true</body>
+        </specification>
+      </ownedRule>
+      <ownedRule xmi:id="_VZosOBE9EeGOffqMW1YiZA" name="convey_classifiers" constrainedElement="_VZosMBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZosORE9EeGOffqMW1YiZA" annotatedElement="_VZosOBE9EeGOffqMW1YiZA">
           <body>An information flow can only convey classifiers that are allowed to represent an information item.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0Y5CtwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VZosOhE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>self.conveyed.represented->forAll(p | p->oclIsKindOf(Class) or oclIsKindOf(Interface)
   or oclIsKindOf(InformationItem) or oclIsKindOf(Signal) or oclIsKindOf(Component))</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_g0Y5C9wbEeCT5O2F6sGn5g" general="_JBgfoKPAEdqi_5gqUMOQtA"/>
-      <generalization xmi:id="_g0Y5DNwbEeCT5O2F6sGn5g" general="_jKxnwGwLEdq7X4sGURiZYA"/>
-      <ownedAttribute xmi:id="_g0Y5DdwbEeCT5O2F6sGn5g" name="conveyed" visibility="public" type="_6UV2QGwJEdq7X4sGURiZYA" association="_gyW4vNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0Y5DtwbEeCT5O2F6sGn5g" annotatedElement="_g0Y5DdwbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_VZosOxE9EeGOffqMW1YiZA" general="_JBgfoKPAEdqi_5gqUMOQtA"/>
+      <generalization xmi:id="_VZosPBE9EeGOffqMW1YiZA" general="_jKxnwGwLEdq7X4sGURiZYA"/>
+      <ownedAttribute xmi:id="_VZosPRE9EeGOffqMW1YiZA" name="conveyed" visibility="public" type="_6UV2QGwJEdq7X4sGURiZYA" association="_VTJptBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZosPhE9EeGOffqMW1YiZA" annotatedElement="_VZosPRE9EeGOffqMW1YiZA">
           <body>Specifies the information items that may circulate on this information flow.</body>
         </ownedComment>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g0Y5D9wbEeCT5O2F6sGn5g" value="*"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VZosPxE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g0Y5ENwbEeCT5O2F6sGn5g" name="informationSource" visibility="public" type="_csVgUGvtEdqG6fBIPwe-mw" subsettedProperty="_g0HzQdwbEeCT5O2F6sGn5g" association="_gygCoNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0Y5EdwbEeCT5O2F6sGn5g" annotatedElement="_g0Y5ENwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VZosQBE9EeGOffqMW1YiZA" name="informationSource" visibility="public" type="_csVgUGvtEdqG6fBIPwe-mw" subsettedProperty="_VY66hRE9EeGOffqMW1YiZA" association="_VTox4BE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZosQRE9EeGOffqMW1YiZA" annotatedElement="_VZosQBE9EeGOffqMW1YiZA">
           <body>Defines from which source the conveyed InformationItems are initiated.</body>
         </ownedComment>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g0Y5EtwbEeCT5O2F6sGn5g" value="*"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VZosQhE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g0Y5E9wbEeCT5O2F6sGn5g" name="informationTarget" visibility="public" type="_csVgUGvtEdqG6fBIPwe-mw" subsettedProperty="_g0HzRNwbEeCT5O2F6sGn5g" association="_gygCpNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0Y5FNwbEeCT5O2F6sGn5g" annotatedElement="_g0Y5E9wbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VZosQxE9EeGOffqMW1YiZA" name="informationTarget" visibility="public" type="_csVgUGvtEdqG6fBIPwe-mw" subsettedProperty="_VY66iBE9EeGOffqMW1YiZA" association="_VTpY8BE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZosRBE9EeGOffqMW1YiZA" annotatedElement="_VZosQxE9EeGOffqMW1YiZA">
           <body>Defines to which target the conveyed InformationItems are directed.</body>
         </ownedComment>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g0Y5FdwbEeCT5O2F6sGn5g" value="*"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VZosRRE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g0Y5FtwbEeCT5O2F6sGn5g" name="realization" visibility="public" type="_DH62EKPAEdqi_5gqUMOQtA" association="_gyusLNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0Y5F9wbEeCT5O2F6sGn5g" annotatedElement="_g0Y5FtwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VZosRhE9EeGOffqMW1YiZA" name="realization" visibility="public" type="_DH62EKPAEdqi_5gqUMOQtA" association="_VUOAsBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZosRxE9EeGOffqMW1YiZA" annotatedElement="_VZosRhE9EeGOffqMW1YiZA">
           <body>Determines which Relationship will realize the specified flow</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g0Y5GNwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g0Y5GdwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VZosSBE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VZosSRE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g0Y5GtwbEeCT5O2F6sGn5g" name="realizingActivityEdge" visibility="public" type="_gzZagNwbEeCT5O2F6sGn5g" association="_gyvTMNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0Y5G9wbEeCT5O2F6sGn5g" annotatedElement="_g0Y5GtwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VZosShE9EeGOffqMW1YiZA" name="realizingActivityEdge" visibility="public" type="_VVcIsBE9EeGOffqMW1YiZA" association="_VUOnwBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZosSxE9EeGOffqMW1YiZA" annotatedElement="_VZosShE9EeGOffqMW1YiZA">
           <body>Determines which ActivityEdges will realize the specified flow.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g0Y5HNwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g0Y5HdwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VZosTBE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VZosTRE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g0Y5HtwbEeCT5O2F6sGn5g" name="realizingConnector" visibility="public" type="_YxC2YLLWEeCsYvaJqFFivQ" association="_gyvTONwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0Y5H9wbEeCT5O2F6sGn5g" annotatedElement="_g0Y5HtwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VZosThE9EeGOffqMW1YiZA" name="realizingConnector" visibility="public" type="_YxC2YLLWEeCsYvaJqFFivQ" association="_VUPO1BE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZosTxE9EeGOffqMW1YiZA" annotatedElement="_VZosThE9EeGOffqMW1YiZA">
           <body>Determines which Connectors will realize the specified flow.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g0Y5INwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g0ZgENwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VZosUBE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VZosURE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g0ZgEdwbEeCT5O2F6sGn5g" name="realizingMessage" visibility="public" type="_gfgNwGveEdq4DLWZOhbdEA" association="_gyvTPNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0ZgEtwbEeCT5O2F6sGn5g" annotatedElement="_g0ZgEdwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VZosUhE9EeGOffqMW1YiZA" name="realizingMessage" visibility="public" type="_gfgNwGveEdq4DLWZOhbdEA" association="_VUP14BE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZosUxE9EeGOffqMW1YiZA" annotatedElement="_VZosUhE9EeGOffqMW1YiZA">
           <body>Determines which Messages will realize the specified flow.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g0ZgE9wbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g0ZgFNwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VZosVBE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VZosVRE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g0ZgFdwbEeCT5O2F6sGn5g" name="InformationItem">
-      <ownedComment xmi:id="_g0ZgFtwbEeCT5O2F6sGn5g" annotatedElement="_g0ZgFdwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VZpTQBE9EeGOffqMW1YiZA" name="InformationItem">
+      <ownedComment xmi:id="_VZpTQRE9EeGOffqMW1YiZA" annotatedElement="_VZpTQBE9EeGOffqMW1YiZA">
         <body>An information item is an abstraction of all kinds of information that can be exchanged between objects. It is a kind of classifier intended for representing information in a very abstract way, one which cannot be instantiated.</body>
       </ownedComment>
-      <ownedRule xmi:id="_g0ZgF9wbEeCT5O2F6sGn5g" name="sources_and_targets" constrainedElement="_g0ZgFdwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0ZgGNwbEeCT5O2F6sGn5g" annotatedElement="_g0ZgF9wbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VZpTQhE9EeGOffqMW1YiZA" name="has_no" constrainedElement="_VZpTQBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZpTQxE9EeGOffqMW1YiZA" annotatedElement="_VZpTQhE9EeGOffqMW1YiZA">
+          <body>An informationItem has no feature, no generalization, and no associations.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VZpTRBE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>self.generalization->isEmpty() and self.feature->isEmpty()</body>
+        </specification>
+      </ownedRule>
+      <ownedRule xmi:id="_VZpTRRE9EeGOffqMW1YiZA" name="not_instantiable" constrainedElement="_VZpTQBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZpTRhE9EeGOffqMW1YiZA" annotatedElement="_VZpTRRE9EeGOffqMW1YiZA">
+          <body>It is not instantiable.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VZpTRxE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>isAbstract</body>
+        </specification>
+      </ownedRule>
+      <ownedRule xmi:id="_VZpTSBE9EeGOffqMW1YiZA" name="sources_and_targets" constrainedElement="_VZpTQBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZpTSRE9EeGOffqMW1YiZA" annotatedElement="_VZpTSBE9EeGOffqMW1YiZA">
           <body>The sources and targets of an information item (its related information flows) must designate subsets of the sources and targets of the representation information item, if any.The Classifiers that can realize an information item can only be of the following kind: Class, Interface, InformationItem, Signal, Component.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0ZgGdwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VZpTShE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>(self.represented->select(p | p->oclIsKindOf(InformationItem))->forAll(p |
   p.informationFlow.source->forAll(q | self.informationFlow.source->include(q)) and
@@ -7354,146 +7375,128 @@
         oclIsKindOf(InformationItem) or oclIsKindOf(Signal) or oclIsKindOf(Component)))</body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_g0ZgGtwbEeCT5O2F6sGn5g" name="has_no" constrainedElement="_g0ZgFdwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0ZgG9wbEeCT5O2F6sGn5g" annotatedElement="_g0ZgGtwbEeCT5O2F6sGn5g">
-          <body>An informationItem has no feature, no generalization, and no associations.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0ZgHNwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>self.generalization->isEmpty() and self.feature->isEmpty()</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_g0ZgHdwbEeCT5O2F6sGn5g" name="not_instantiable" constrainedElement="_g0ZgFdwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0ZgHtwbEeCT5O2F6sGn5g" annotatedElement="_g0ZgHdwbEeCT5O2F6sGn5g">
-          <body>It is not instantiable.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0ZgH9wbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>isAbstract</body>
-        </specification>
-      </ownedRule>
-      <generalization xmi:id="_g0ZgINwbEeCT5O2F6sGn5g" general="_6UV2QGwJEdq7X4sGURiZYA"/>
-      <ownedAttribute xmi:id="_g0ZgIdwbEeCT5O2F6sGn5g" name="represented" visibility="public" type="_6UV2QGwJEdq7X4sGURiZYA" association="_gyzkoNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0ZgItwbEeCT5O2F6sGn5g" annotatedElement="_g0ZgIdwbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_VZpTSxE9EeGOffqMW1YiZA" general="_6UV2QGwJEdq7X4sGURiZYA"/>
+      <ownedAttribute xmi:id="_VZpTTBE9EeGOffqMW1YiZA" name="represented" visibility="public" type="_6UV2QGwJEdq7X4sGURiZYA" association="_VUa1BBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZpTTRE9EeGOffqMW1YiZA" annotatedElement="_VZpTTBE9EeGOffqMW1YiZA">
           <body>Determines the classifiers that will specify the structure and nature of the information. An information item represents all its represented classifiers.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g0ZgI9wbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g0ZgJNwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VZpTThE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VZpTTxE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g0aHINwbEeCT5O2F6sGn5g" name="InitialNode">
-      <ownedComment xmi:id="_g0aHIdwbEeCT5O2F6sGn5g" annotatedElement="_g0aHINwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VZp6UBE9EeGOffqMW1YiZA" name="InitialNode">
+      <ownedComment xmi:id="_VZp6URE9EeGOffqMW1YiZA" annotatedElement="_VZp6UBE9EeGOffqMW1YiZA">
         <body>An initial node is a control node at which flow starts when the activity is invoked.</body>
       </ownedComment>
-      <ownedRule xmi:id="_g0aHItwbEeCT5O2F6sGn5g" name="no_incoming_edges" constrainedElement="_g0aHINwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0aHI9wbEeCT5O2F6sGn5g" annotatedElement="_g0aHItwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VZp6UhE9EeGOffqMW1YiZA" name="no_incoming_edges" constrainedElement="_VZp6UBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZp6UxE9EeGOffqMW1YiZA" annotatedElement="_VZp6UhE9EeGOffqMW1YiZA">
           <body>An initial node has no incoming edges.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0aHJNwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VZp6VBE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>true</body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_g0aHJdwbEeCT5O2F6sGn5g" name="control_edges" constrainedElement="_g0aHINwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0aHJtwbEeCT5O2F6sGn5g" annotatedElement="_g0aHJdwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VZp6VRE9EeGOffqMW1YiZA" name="control_edges" constrainedElement="_VZp6UBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZp6VhE9EeGOffqMW1YiZA" annotatedElement="_VZp6VRE9EeGOffqMW1YiZA">
           <body>Only control edges can have initial nodes as source.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0aHJ9wbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VZp6VxE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>true</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_g0aHKNwbEeCT5O2F6sGn5g" general="_g0BFndwbEeCT5O2F6sGn5g"/>
+      <generalization xmi:id="_VZp6WBE9EeGOffqMW1YiZA" general="_VYdAcBE9EeGOffqMW1YiZA"/>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g0aHKdwbEeCT5O2F6sGn5g" name="InputPin">
-      <ownedComment xmi:id="_g0aHKtwbEeCT5O2F6sGn5g" annotatedElement="_g0aHKdwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VZp6WRE9EeGOffqMW1YiZA" name="InputPin">
+      <ownedComment xmi:id="_VZp6WhE9EeGOffqMW1YiZA" annotatedElement="_VZp6WRE9EeGOffqMW1YiZA">
         <body>An input pin is a pin that holds input values to be consumed by an action.</body>
       </ownedComment>
-      <ownedRule xmi:id="_g0aHK9wbEeCT5O2F6sGn5g" name="outgoing_edges_structured_only" constrainedElement="_g0aHKdwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0aHLNwbEeCT5O2F6sGn5g" annotatedElement="_g0aHK9wbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VZp6WxE9EeGOffqMW1YiZA" name="outgoing_edges_structured_only" constrainedElement="_VZp6WRE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZp6XBE9EeGOffqMW1YiZA" annotatedElement="_VZp6WxE9EeGOffqMW1YiZA">
           <body>Input pins may have outgoing edges only when they are on actions that are structured nodes, and these edges must target a node contained by the structured node.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0aHLdwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VZp6XRE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>true</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_g0aHLtwbEeCT5O2F6sGn5g" general="_g1oPLNwbEeCT5O2F6sGn5g"/>
+      <generalization xmi:id="_VZp6XhE9EeGOffqMW1YiZA" general="_Vc9F8BE9EeGOffqMW1YiZA"/>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g0auMNwbEeCT5O2F6sGn5g" name="InstanceSpecification">
-      <ownedComment xmi:id="_g0auMdwbEeCT5O2F6sGn5g" annotatedElement="_g0auMNwbEeCT5O2F6sGn5g">
-        <body>An instance specification is a model element that represents an instance in a modeled system.</body>
-      </ownedComment>
-      <ownedComment xmi:id="_g0auMtwbEeCT5O2F6sGn5g" annotatedElement="_g0auMNwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VZrIcBE9EeGOffqMW1YiZA" name="InstanceSpecification">
+      <ownedComment xmi:id="_VZrIcRE9EeGOffqMW1YiZA" annotatedElement="_VZrIcBE9EeGOffqMW1YiZA">
         <body>An instance specification has the capability of being a deployment target in a deployment relationship, in the case that it is an instance of a node. It is also has the capability of being a deployed artifact, if it is an instance of an artifact.</body>
       </ownedComment>
-      <ownedRule xmi:id="_g0auM9wbEeCT5O2F6sGn5g" name="deployment_artifact" constrainedElement="_g0auMNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0auNNwbEeCT5O2F6sGn5g" annotatedElement="_g0auM9wbEeCT5O2F6sGn5g">
-          <body>An InstanceSpecification can be a DeployedArtifact if it is the instance specification of an Artifact.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0auNdwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>true</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_g0auNtwbEeCT5O2F6sGn5g" name="structural_feature" constrainedElement="_g0auMNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0auN9wbEeCT5O2F6sGn5g" annotatedElement="_g0auNtwbEeCT5O2F6sGn5g">
+      <ownedComment xmi:id="_VZrIchE9EeGOffqMW1YiZA" annotatedElement="_VZrIcBE9EeGOffqMW1YiZA">
+        <body>An instance specification is a model element that represents an instance in a modeled system.</body>
+      </ownedComment>
+      <ownedRule xmi:id="_VZrIcxE9EeGOffqMW1YiZA" name="structural_feature" constrainedElement="_VZrIcBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZrIdBE9EeGOffqMW1YiZA" annotatedElement="_VZrIcxE9EeGOffqMW1YiZA">
           <body>One structural feature (including the same feature inherited from multiple classifiers) is the defining feature of at most one slot in an instance specification.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0auONwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VZrIdRE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>classifier->forAll(c | (c.allFeatures()->forAll(f | slot->select(s | s.definingFeature = f)->size() &lt;= 1)))</body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_g0auOdwbEeCT5O2F6sGn5g" name="defining_feature" constrainedElement="_g0auMNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0auOtwbEeCT5O2F6sGn5g" annotatedElement="_g0auOdwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VZrIdhE9EeGOffqMW1YiZA" name="defining_feature" constrainedElement="_VZrIcBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZrIdxE9EeGOffqMW1YiZA" annotatedElement="_VZrIdhE9EeGOffqMW1YiZA">
           <body>The defining feature of each slot is a structural feature (directly or inherited) of a classifier of the instance specification.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0auO9wbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VZrIeBE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>slot->forAll(s | classifier->exists (c | c.allFeatures()->includes (s.definingFeature)))</body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_g0auPNwbEeCT5O2F6sGn5g" name="deployment_target" constrainedElement="_g0auMNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0auPdwbEeCT5O2F6sGn5g" annotatedElement="_g0auPNwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VZrIeRE9EeGOffqMW1YiZA" name="deployment_target" constrainedElement="_VZrIcBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZrIehE9EeGOffqMW1YiZA" annotatedElement="_VZrIeRE9EeGOffqMW1YiZA">
           <body>An InstanceSpecification can be a DeploymentTarget if it is the instance specification of a Node and functions as a part in the internal structure of an encompassing Node.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0auPtwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VZrIexE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>true</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_g0auP9wbEeCT5O2F6sGn5g" general="_PkmfgLLXEeCsYvaJqFFivQ"/>
-      <generalization xmi:id="_g0auQNwbEeCT5O2F6sGn5g" general="_jKxnwGwLEdq7X4sGURiZYA"/>
-      <generalization xmi:id="_g0auQdwbEeCT5O2F6sGn5g" general="_g0EI6dwbEeCT5O2F6sGn5g"/>
-      <ownedAttribute xmi:id="_g0auQtwbEeCT5O2F6sGn5g" name="classifier" visibility="public" type="_6UV2QGwJEdq7X4sGURiZYA" association="_gyUcfdwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0auQ9wbEeCT5O2F6sGn5g" annotatedElement="_g0auQtwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VZrIfBE9EeGOffqMW1YiZA" name="deployment_artifact" constrainedElement="_VZrIcBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZrIfRE9EeGOffqMW1YiZA" annotatedElement="_VZrIfBE9EeGOffqMW1YiZA">
+          <body>An InstanceSpecification can be a DeployedArtifact if it is the instance specification of an Artifact.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VZrIfhE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>true</body>
+        </specification>
+      </ownedRule>
+      <generalization xmi:id="_VZrIfxE9EeGOffqMW1YiZA" general="_VYyXphE9EeGOffqMW1YiZA"/>
+      <generalization xmi:id="_VZrIgBE9EeGOffqMW1YiZA" general="_jKxnwGwLEdq7X4sGURiZYA"/>
+      <generalization xmi:id="_VZrIgRE9EeGOffqMW1YiZA" general="_PkmfgLLXEeCsYvaJqFFivQ"/>
+      <ownedAttribute xmi:id="_VZrIghE9EeGOffqMW1YiZA" name="classifier" visibility="public" type="_6UV2QGwJEdq7X4sGURiZYA" association="_VTC8ABE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZrIgxE9EeGOffqMW1YiZA" annotatedElement="_VZrIghE9EeGOffqMW1YiZA">
           <body>The classifier or classifiers of the represented instance. If multiple classifiers are specified, the instance is classified by all of them.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g0auRNwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g0auRdwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VZrIhBE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VZrIhRE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g0auRtwbEeCT5O2F6sGn5g" name="slot" visibility="public" type="_g2ACkNwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_g0JocNwbEeCT5O2F6sGn5g" association="_gy5rSNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0auR9wbEeCT5O2F6sGn5g" annotatedElement="_g0auRtwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VZrIhhE9EeGOffqMW1YiZA" name="slot" visibility="public" type="_VeMcEBE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_GDD2YAtAEeGcpbeCPJfCmw" association="_VUkmBBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZrIhxE9EeGOffqMW1YiZA" annotatedElement="_VZrIhhE9EeGOffqMW1YiZA">
           <body>A slot giving the value or values of a structural feature of the instance. An instance specification can have one slot per structural feature of its classifiers, including inherited features. It is not necessary to model a slot for each structural feature, in which case the instance specification is a partial description.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g0auSNwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g0auSdwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VZrIiBE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VZrIiRE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g0auStwbEeCT5O2F6sGn5g" name="specification" visibility="public" type="_g2YdENwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_g0JocNwbEeCT5O2F6sGn5g" association="_gy6SV9wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0auS9wbEeCT5O2F6sGn5g" annotatedElement="_g0auStwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VZrIihE9EeGOffqMW1YiZA" name="specification" visibility="public" type="_VfGbABE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_GDD2YAtAEeGcpbeCPJfCmw" association="_VUl0IxE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZrIixE9EeGOffqMW1YiZA" annotatedElement="_VZrIihE9EeGOffqMW1YiZA">
           <body>A specification of how to compute, derive, or construct the instance.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g0auTNwbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VZrIjBE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="_PyCx8GveEdq4DLWZOhbdEA" name="InstanceValue">
-      <ownedComment xmi:id="_g0auTdwbEeCT5O2F6sGn5g" annotatedElement="_PyCx8GveEdq4DLWZOhbdEA">
+      <ownedComment xmi:id="_VZrIjRE9EeGOffqMW1YiZA" annotatedElement="_PyCx8GveEdq4DLWZOhbdEA">
         <body>An instance value is a value specification that identifies an instance.</body>
       </ownedComment>
-      <generalization xmi:id="_g0auTtwbEeCT5O2F6sGn5g" general="_g2YdENwbEeCT5O2F6sGn5g"/>
-      <ownedAttribute xmi:id="_g0auT9wbEeCT5O2F6sGn5g" name="instance" visibility="public" type="_g0auMNwbEeCT5O2F6sGn5g" association="_gyhQwNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0auUNwbEeCT5O2F6sGn5g" annotatedElement="_g0auT9wbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_VZrIjhE9EeGOffqMW1YiZA" general="_VfGbABE9EeGOffqMW1YiZA"/>
+      <ownedAttribute xmi:id="_VZrIjxE9EeGOffqMW1YiZA" name="instance" visibility="public" type="_VZrIcBE9EeGOffqMW1YiZA" association="_VTrOJhE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZrIkBE9EeGOffqMW1YiZA" annotatedElement="_VZrIjxE9EeGOffqMW1YiZA">
           <body>The instance that is the specified value.</body>
         </ownedComment>
       </ownedAttribute>
@@ -7503,341 +7506,341 @@
         </ownedParameter>
       </ownedOperation>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g0bVQNwbEeCT5O2F6sGn5g" name="Interaction">
-      <ownedComment xmi:id="_g0bVQdwbEeCT5O2F6sGn5g" annotatedElement="_g0bVQNwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VZsWkBE9EeGOffqMW1YiZA" name="Interaction">
+      <ownedComment xmi:id="_VZsWkRE9EeGOffqMW1YiZA" annotatedElement="_VZsWkBE9EeGOffqMW1YiZA">
         <body>An interaction is a unit of behavior that focuses on the observable exchange of information between connectable elements.</body>
       </ownedComment>
-      <generalization xmi:id="_g0bVQtwbEeCT5O2F6sGn5g" general="_g0cjYNwbEeCT5O2F6sGn5g"/>
-      <generalization xmi:id="_g0bVQ9wbEeCT5O2F6sGn5g" general="_TUPtYGveEdq4DLWZOhbdEA"/>
-      <ownedAttribute xmi:id="_g0bVRNwbEeCT5O2F6sGn5g" name="action" visibility="public" type="_6WKakLLQEeCsYvaJqFFivQ" aggregation="composite" subsettedProperty="_g0JocNwbEeCT5O2F6sGn5g" association="_gySAMNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0bVRdwbEeCT5O2F6sGn5g" annotatedElement="_g0bVRNwbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_VZsWkhE9EeGOffqMW1YiZA" general="_TUPtYGveEdq4DLWZOhbdEA"/>
+      <generalization xmi:id="_VZsWkxE9EeGOffqMW1YiZA" general="_VZuLwBE9EeGOffqMW1YiZA"/>
+      <ownedAttribute xmi:id="_VZsWlBE9EeGOffqMW1YiZA" name="action" visibility="public" type="_6WKakLLQEeCsYvaJqFFivQ" aggregation="composite" subsettedProperty="_GDD2YAtAEeGcpbeCPJfCmw" association="_VS8OUBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZsWlRE9EeGOffqMW1YiZA" annotatedElement="_VZsWlBE9EeGOffqMW1YiZA">
           <body>Actions owned by the Interaction.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g0bVRtwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g0bVR9wbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VZsWlhE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VZsWlxE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g0bVSNwbEeCT5O2F6sGn5g" name="formalGate" visibility="public" type="_g0V1sNwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_g1S4AdwbEeCT5O2F6sGn5g" association="_gyc_X9wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0bVSdwbEeCT5O2F6sGn5g" annotatedElement="_g0bVSNwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VZsWmBE9EeGOffqMW1YiZA" name="formalGate" visibility="public" type="_VZeUIBE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_Var1EBE9EeGOffqMW1YiZA" association="_VTb9kBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZsWmRE9EeGOffqMW1YiZA" annotatedElement="_VZsWmBE9EeGOffqMW1YiZA">
           <body>Specifies the gates that form the message interface between this Interaction and any InteractionUses which reference it.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g0bVStwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g0bVS9wbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VZsWmhE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VZsWmxE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g0bVTNwbEeCT5O2F6sGn5g" name="fragment" visibility="public" type="_g0cjYNwbEeCT5O2F6sGn5g" isOrdered="true" aggregation="composite" subsettedProperty="_g1S4AdwbEeCT5O2F6sGn5g" association="_gydmZNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0bVTdwbEeCT5O2F6sGn5g" annotatedElement="_g0bVTNwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VZsWnBE9EeGOffqMW1YiZA" name="fragment" visibility="public" type="_VZuLwBE9EeGOffqMW1YiZA" isOrdered="true" aggregation="composite" subsettedProperty="_Var1EBE9EeGOffqMW1YiZA" association="_VTb9lxE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZsWnRE9EeGOffqMW1YiZA" annotatedElement="_VZsWnBE9EeGOffqMW1YiZA">
           <body>The ordered set of fragments in the Interaction.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g0bVTtwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g0bVT9wbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VZsWnhE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VZsWnxE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g0bVUNwbEeCT5O2F6sGn5g" name="lifeline" visibility="public" type="_g0hb4NwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_g1S4AdwbEeCT5O2F6sGn5g" association="_gyhQzNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0bVUdwbEeCT5O2F6sGn5g" annotatedElement="_g0bVUNwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VZsWoBE9EeGOffqMW1YiZA" name="lifeline" visibility="public" type="_VZ0SYBE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_Var1EBE9EeGOffqMW1YiZA" association="_VTscQBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZsWoRE9EeGOffqMW1YiZA" annotatedElement="_VZsWoBE9EeGOffqMW1YiZA">
           <body>Specifies the participants in this Interaction.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g0bVUtwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g0bVU9wbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VZsWohE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VZsWoxE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g0bVVNwbEeCT5O2F6sGn5g" name="message" visibility="public" type="_gfgNwGveEdq4DLWZOhbdEA" aggregation="composite" subsettedProperty="_g1S4AdwbEeCT5O2F6sGn5g" association="_gyjF_9wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0bVVdwbEeCT5O2F6sGn5g" annotatedElement="_g0bVVNwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VZsWpBE9EeGOffqMW1YiZA" name="message" visibility="public" type="_gfgNwGveEdq4DLWZOhbdEA" aggregation="composite" subsettedProperty="_Var1EBE9EeGOffqMW1YiZA" association="_VTxUyBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZsWpRE9EeGOffqMW1YiZA" annotatedElement="_VZsWpBE9EeGOffqMW1YiZA">
           <body>The Messages contained in this Interaction.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g0bVVtwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g0bVV9wbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VZsWphE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VZsWpxE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g0b8UNwbEeCT5O2F6sGn5g" name="InteractionConstraint">
-      <ownedComment xmi:id="_g0b8UdwbEeCT5O2F6sGn5g" annotatedElement="_g0b8UNwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VZs9oBE9EeGOffqMW1YiZA" name="InteractionConstraint">
+      <ownedComment xmi:id="_VZs9oRE9EeGOffqMW1YiZA" annotatedElement="_VZs9oBE9EeGOffqMW1YiZA">
         <body>An interaction constraint is a Boolean expression that guards an operand in a combined fragment.</body>
       </ownedComment>
-      <ownedRule xmi:id="_g0b8UtwbEeCT5O2F6sGn5g" name="minint_maxint" constrainedElement="_g0b8UNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0b8U9wbEeCT5O2F6sGn5g" annotatedElement="_g0b8UtwbEeCT5O2F6sGn5g">
-          <body>Minint/maxint can only be present if the InteractionConstraint is associated with the operand of a loop CombinedFragment.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0b8VNwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>true</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_g0b8VdwbEeCT5O2F6sGn5g" name="minint_non_negative" constrainedElement="_g0b8UNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0b8VtwbEeCT5O2F6sGn5g" annotatedElement="_g0b8VdwbEeCT5O2F6sGn5g">
-          <body>If minint is specified, then the expression must evaluate to a non-negative integer.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0b8V9wbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>true</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_g0b8WNwbEeCT5O2F6sGn5g" name="maxint_positive" constrainedElement="_g0b8UNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0b8WdwbEeCT5O2F6sGn5g" annotatedElement="_g0b8WNwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VZs9ohE9EeGOffqMW1YiZA" name="maxint_positive" constrainedElement="_VZs9oBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZs9oxE9EeGOffqMW1YiZA" annotatedElement="_VZs9ohE9EeGOffqMW1YiZA">
           <body>If maxint is specified, then the expression must evaluate to a positive integer.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0b8WtwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VZs9pBE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>true</body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_g0b8W9wbEeCT5O2F6sGn5g" name="dynamic_variables" constrainedElement="_g0b8UNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0b8XNwbEeCT5O2F6sGn5g" annotatedElement="_g0b8W9wbEeCT5O2F6sGn5g">
-          <body>The dynamic variables that take part in the constraint must be owned by the ConnectableElement corresponding to the covered Lifeline.</body>
+      <ownedRule xmi:id="_VZs9pRE9EeGOffqMW1YiZA" name="minint_maxint" constrainedElement="_VZs9oBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZs9phE9EeGOffqMW1YiZA" annotatedElement="_VZs9pRE9EeGOffqMW1YiZA">
+          <body>Minint/maxint can only be present if the InteractionConstraint is associated with the operand of a loop CombinedFragment.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0b8XdwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VZs9pxE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>true</body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_g0b8XtwbEeCT5O2F6sGn5g" name="global_data" constrainedElement="_g0b8UNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0b8X9wbEeCT5O2F6sGn5g" annotatedElement="_g0b8XtwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VZs9qBE9EeGOffqMW1YiZA" name="minint_non_negative" constrainedElement="_VZs9oBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZs9qRE9EeGOffqMW1YiZA" annotatedElement="_VZs9qBE9EeGOffqMW1YiZA">
+          <body>If minint is specified, then the expression must evaluate to a non-negative integer.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VZs9qhE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>true</body>
+        </specification>
+      </ownedRule>
+      <ownedRule xmi:id="_VZs9qxE9EeGOffqMW1YiZA" name="global_data" constrainedElement="_VZs9oBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZs9rBE9EeGOffqMW1YiZA" annotatedElement="_VZs9qxE9EeGOffqMW1YiZA">
           <body>The constraint may contain references to global data or write-once data.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0b8YNwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VZs9rRE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>true</body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_g0b8YdwbEeCT5O2F6sGn5g" name="maxint_greater_equal_minint" constrainedElement="_g0b8UNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0b8YtwbEeCT5O2F6sGn5g" annotatedElement="_g0b8YdwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VZs9rhE9EeGOffqMW1YiZA" name="maxint_greater_equal_minint" constrainedElement="_VZs9oBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZs9rxE9EeGOffqMW1YiZA" annotatedElement="_VZs9rhE9EeGOffqMW1YiZA">
           <body>If maxint is specified, then minint must be specified and the evaluation of maxint must be >= the evaluation of minint</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0b8Y9wbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VZs9sBE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>true</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_g0b8ZNwbEeCT5O2F6sGn5g" general="_g0AegNwbEeCT5O2F6sGn5g"/>
-      <ownedAttribute xmi:id="_g0b8ZdwbEeCT5O2F6sGn5g" name="maxint" visibility="public" type="_g2YdENwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_g0JocNwbEeCT5O2F6sGn5g" association="_gyie8dwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0b8ZtwbEeCT5O2F6sGn5g" annotatedElement="_g0b8ZdwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VZs9sRE9EeGOffqMW1YiZA" name="dynamic_variables" constrainedElement="_VZs9oBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZs9shE9EeGOffqMW1YiZA" annotatedElement="_VZs9sRE9EeGOffqMW1YiZA">
+          <body>The dynamic variables that take part in the constraint must be owned by the ConnectableElement corresponding to the covered Lifeline.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VZs9sxE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>true</body>
+        </specification>
+      </ownedRule>
+      <generalization xmi:id="_VZs9tBE9EeGOffqMW1YiZA" general="_VYbLQBE9EeGOffqMW1YiZA"/>
+      <ownedAttribute xmi:id="_VZs9tRE9EeGOffqMW1YiZA" name="maxint" visibility="public" type="_VfGbABE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_GDD2YAtAEeGcpbeCPJfCmw" association="_VTwtsBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZs9thE9EeGOffqMW1YiZA" annotatedElement="_VZs9tRE9EeGOffqMW1YiZA">
           <body>The maximum number of iterations of a loop</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g0b8Z9wbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VZs9txE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g0b8aNwbEeCT5O2F6sGn5g" name="minint" visibility="public" type="_g2YdENwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_g0JocNwbEeCT5O2F6sGn5g" association="_gykUFdwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0b8adwbEeCT5O2F6sGn5g" annotatedElement="_g0b8aNwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VZs9uBE9EeGOffqMW1YiZA" name="minint" visibility="public" type="_VfGbABE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_GDD2YAtAEeGcpbeCPJfCmw" association="_VTzxABE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZs9uRE9EeGOffqMW1YiZA" annotatedElement="_VZs9uBE9EeGOffqMW1YiZA">
           <body>The minimum number of iterations of a loop</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g0b8atwbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VZs9uhE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g0cjYNwbEeCT5O2F6sGn5g" name="InteractionFragment" isAbstract="true">
-      <ownedComment xmi:id="_g0cjYdwbEeCT5O2F6sGn5g" annotatedElement="_g0cjYNwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VZuLwBE9EeGOffqMW1YiZA" name="InteractionFragment" isAbstract="true">
+      <ownedComment xmi:id="_VZuLwRE9EeGOffqMW1YiZA" annotatedElement="_VZuLwBE9EeGOffqMW1YiZA">
         <body>InteractionFragment is an abstract notion of the most general interaction unit. An interaction fragment is a piece of an interaction. Each interaction fragment is conceptually like an interaction by itself.</body>
       </ownedComment>
-      <generalization xmi:id="_g0cjYtwbEeCT5O2F6sGn5g" general="_csVgUGvtEdqG6fBIPwe-mw"/>
-      <ownedAttribute xmi:id="_g0cjY9wbEeCT5O2F6sGn5g" name="covered" visibility="public" type="_g0hb4NwbEeCT5O2F6sGn5g" association="_gyW4wNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0cjZNwbEeCT5O2F6sGn5g" annotatedElement="_g0cjY9wbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_VZuLwhE9EeGOffqMW1YiZA" general="_csVgUGvtEdqG6fBIPwe-mw"/>
+      <ownedAttribute xmi:id="_VZuLwxE9EeGOffqMW1YiZA" name="covered" visibility="public" type="_VZ0SYBE9EeGOffqMW1YiZA" association="_VTKQwBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZuLxBE9EeGOffqMW1YiZA" annotatedElement="_VZuLwxE9EeGOffqMW1YiZA">
           <body>References the Lifelines that the InteractionFragment involves.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g0cjZdwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g0cjZtwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VZuLxRE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VZuLxhE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g0cjZ9wbEeCT5O2F6sGn5g" name="enclosingInteraction" visibility="public" type="_g0bVQNwbEeCT5O2F6sGn5g" subsettedProperty="_1vzv0LbIEeCRxrN1JUGuxA" association="_gydmZNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0cjaNwbEeCT5O2F6sGn5g" annotatedElement="_g0cjZ9wbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VZuLxxE9EeGOffqMW1YiZA" name="enclosingInteraction" visibility="public" type="_VZsWkBE9EeGOffqMW1YiZA" subsettedProperty="_1vzv0LbIEeCRxrN1JUGuxA" association="_VTb9lxE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZuLyBE9EeGOffqMW1YiZA" annotatedElement="_VZuLxxE9EeGOffqMW1YiZA">
           <body>The Interaction enclosing this InteractionFragment.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g0cjadwbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VZuLyRE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g0cjatwbEeCT5O2F6sGn5g" name="enclosingOperand" visibility="public" type="_g0dKcNwbEeCT5O2F6sGn5g" subsettedProperty="_1vzv0LbIEeCRxrN1JUGuxA" association="_gydmZdwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0cja9wbEeCT5O2F6sGn5g" annotatedElement="_g0cjatwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VZuLyhE9EeGOffqMW1YiZA" name="enclosingOperand" visibility="public" type="_VZuy0BE9EeGOffqMW1YiZA" subsettedProperty="_1vzv0LbIEeCRxrN1JUGuxA" association="_VTckoBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZuLyxE9EeGOffqMW1YiZA" annotatedElement="_VZuLyhE9EeGOffqMW1YiZA">
           <body>The operand enclosing this InteractionFragment (they may nest recursively)</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g0cjbNwbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VZuLzBE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g0cjbdwbEeCT5O2F6sGn5g" name="generalOrdering" visibility="public" type="_g0V1udwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_g0JocNwbEeCT5O2F6sGn5g" association="_gydmbdwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0cjbtwbEeCT5O2F6sGn5g" annotatedElement="_g0cjbdwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VZuLzRE9EeGOffqMW1YiZA" name="generalOrdering" visibility="public" type="_VZe7MBE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_GDD2YAtAEeGcpbeCPJfCmw" association="_VTkgcBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZuLzhE9EeGOffqMW1YiZA" annotatedElement="_VZuLzRE9EeGOffqMW1YiZA">
           <body>The general ordering relationships contained in this fragment.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g0cjb9wbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g0cjcNwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VZuLzxE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VZuL0BE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g0dKcNwbEeCT5O2F6sGn5g" name="InteractionOperand">
-      <ownedComment xmi:id="_g0dKcdwbEeCT5O2F6sGn5g" annotatedElement="_g0dKcNwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VZuy0BE9EeGOffqMW1YiZA" name="InteractionOperand">
+      <ownedComment xmi:id="_VZuy0RE9EeGOffqMW1YiZA" annotatedElement="_VZuy0BE9EeGOffqMW1YiZA">
         <body>An interaction operand is contained in a combined fragment. An interaction operand represents one operand of the expression given by the enclosing combined fragment.</body>
       </ownedComment>
-      <ownedRule xmi:id="_g0dKctwbEeCT5O2F6sGn5g" name="guard_contain_references" constrainedElement="_g0dKcNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0dKc9wbEeCT5O2F6sGn5g" annotatedElement="_g0dKctwbEeCT5O2F6sGn5g">
-          <body>The guard must contain only references to values local to the Lifeline on which it resides, or values global to the whole Interaction.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0dKdNwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>true</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_g0dKddwbEeCT5O2F6sGn5g" name="guard_directly_prior" constrainedElement="_g0dKcNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0dKdtwbEeCT5O2F6sGn5g" annotatedElement="_g0dKddwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VZuy0hE9EeGOffqMW1YiZA" name="guard_directly_prior" constrainedElement="_VZuy0BE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZuy0xE9EeGOffqMW1YiZA" annotatedElement="_VZuy0hE9EeGOffqMW1YiZA">
           <body>The guard must be placed directly prior to (above) the OccurrenceSpecification that will become the first OccurrenceSpecification within this InteractionOperand.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0dKd9wbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VZuy1BE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>true</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_g0dKeNwbEeCT5O2F6sGn5g" general="_g0cjYNwbEeCT5O2F6sGn5g"/>
-      <generalization xmi:id="_g0dKedwbEeCT5O2F6sGn5g" general="_ZiwkoGwLEdq7X4sGURiZYA"/>
-      <ownedAttribute xmi:id="_g0dKetwbEeCT5O2F6sGn5g" name="fragment" visibility="public" type="_g0cjYNwbEeCT5O2F6sGn5g" isOrdered="true" aggregation="composite" subsettedProperty="_g1S4AdwbEeCT5O2F6sGn5g" association="_gydmZdwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0dKe9wbEeCT5O2F6sGn5g" annotatedElement="_g0dKetwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VZuy1RE9EeGOffqMW1YiZA" name="guard_contain_references" constrainedElement="_VZuy0BE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZuy1hE9EeGOffqMW1YiZA" annotatedElement="_VZuy1RE9EeGOffqMW1YiZA">
+          <body>The guard must contain only references to values local to the Lifeline on which it resides, or values global to the whole Interaction.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VZuy1xE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>true</body>
+        </specification>
+      </ownedRule>
+      <generalization xmi:id="_VZuy2BE9EeGOffqMW1YiZA" general="_VZuLwBE9EeGOffqMW1YiZA"/>
+      <generalization xmi:id="_VZuy2RE9EeGOffqMW1YiZA" general="_ZiwkoGwLEdq7X4sGURiZYA"/>
+      <ownedAttribute xmi:id="_VZuy2hE9EeGOffqMW1YiZA" name="fragment" visibility="public" type="_VZuLwBE9EeGOffqMW1YiZA" isOrdered="true" aggregation="composite" subsettedProperty="_Var1EBE9EeGOffqMW1YiZA" association="_VTckoBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZuy2xE9EeGOffqMW1YiZA" annotatedElement="_VZuy2hE9EeGOffqMW1YiZA">
           <body>The fragments of the operand.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g0dKfNwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g0dKfdwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VZuy3BE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VZuy3RE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g0dKftwbEeCT5O2F6sGn5g" name="guard" visibility="public" type="_g0b8UNwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_g0JocNwbEeCT5O2F6sGn5g" association="_gyeNftwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0dKf9wbEeCT5O2F6sGn5g" annotatedElement="_g0dKftwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VZuy3hE9EeGOffqMW1YiZA" name="guard" visibility="public" type="_VZs9oBE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_GDD2YAtAEeGcpbeCPJfCmw" association="_VTlukxE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZuy3xE9EeGOffqMW1YiZA" annotatedElement="_VZuy3hE9EeGOffqMW1YiZA">
           <body>Constraint of the operand.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g0dKgNwbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VZuy4BE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g0dxgNwbEeCT5O2F6sGn5g" name="InteractionUse">
-      <ownedComment xmi:id="_g0dxgdwbEeCT5O2F6sGn5g" annotatedElement="_g0dxgNwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VZvZ4BE9EeGOffqMW1YiZA" name="InteractionUse">
+      <ownedComment xmi:id="_VZvZ4RE9EeGOffqMW1YiZA" annotatedElement="_VZvZ4BE9EeGOffqMW1YiZA">
         <body>An interaction use refers to an interaction. The interaction use is a shorthand for copying the contents of the referenced interaction where the interaction use is. To be accurate the copying must take into account substituting parameters with arguments and connect the formal gates with the actual ones.</body>
       </ownedComment>
-      <ownedRule xmi:id="_g0dxgtwbEeCT5O2F6sGn5g" name="gates_match" constrainedElement="_g0dxgNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0dxg9wbEeCT5O2F6sGn5g" annotatedElement="_g0dxgtwbEeCT5O2F6sGn5g">
-          <body>Actual Gates of the InteractionUse must match Formal Gates of the referred Interaction. Gates match when their names are equal.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0dxhNwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>true</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_g0dxhdwbEeCT5O2F6sGn5g" name="arguments_are_constants" constrainedElement="_g0dxgNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0dxhtwbEeCT5O2F6sGn5g" annotatedElement="_g0dxhdwbEeCT5O2F6sGn5g">
-          <body>The arguments must only be constants, parameters of the enclosing Interaction or attributes of the classifier owning the enclosing Interaction.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0dxh9wbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>true</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_g0dxiNwbEeCT5O2F6sGn5g" name="returnValueRecipient_coverage" constrainedElement="_g0dxgNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0dxidwbEeCT5O2F6sGn5g" annotatedElement="_g0dxiNwbEeCT5O2F6sGn5g">
-          <body>The returnValueRecipient must be a Property of a ConnectableElement that is represented by a Lifeline covered by this InteractionUse.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0dxitwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>true</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_g0dxi9wbEeCT5O2F6sGn5g" name="arguments_correspond_to_parameters" constrainedElement="_g0dxgNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0dxjNwbEeCT5O2F6sGn5g" annotatedElement="_g0dxi9wbEeCT5O2F6sGn5g">
-          <body>The arguments of the InteractionUse must correspond to parameters of the referred Interaction</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0dxjdwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>true</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_g0dxjtwbEeCT5O2F6sGn5g" name="returnValue_type_recipient_correspondence" constrainedElement="_g0dxgNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0dxj9wbEeCT5O2F6sGn5g" annotatedElement="_g0dxjtwbEeCT5O2F6sGn5g">
-          <body>The type of the returnValue must correspond to the type of the returnValueRecipient.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0dxkNwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>true</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_g0dxkdwbEeCT5O2F6sGn5g" name="all_lifelines" constrainedElement="_g0dxgNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0dxktwbEeCT5O2F6sGn5g" annotatedElement="_g0dxkdwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VZvZ4hE9EeGOffqMW1YiZA" name="all_lifelines" constrainedElement="_VZvZ4BE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZvZ4xE9EeGOffqMW1YiZA" annotatedElement="_VZvZ4hE9EeGOffqMW1YiZA">
           <body>The InteractionUse must cover all Lifelines of the enclosing Interaction that represent the same properties as lifelines within the referred Interaction.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0dxk9wbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VZvZ5BE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>true</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_g0dxlNwbEeCT5O2F6sGn5g" general="_g0cjYNwbEeCT5O2F6sGn5g"/>
-      <ownedAttribute xmi:id="_g0dxldwbEeCT5O2F6sGn5g" name="actualGate" visibility="public" type="_g0V1sNwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_g0JocNwbEeCT5O2F6sGn5g" association="_gySAM9wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0dxltwbEeCT5O2F6sGn5g" annotatedElement="_g0dxldwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VZvZ5RE9EeGOffqMW1YiZA" name="returnValueRecipient_coverage" constrainedElement="_VZvZ4BE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZvZ5hE9EeGOffqMW1YiZA" annotatedElement="_VZvZ5RE9EeGOffqMW1YiZA">
+          <body>The returnValueRecipient must be a Property of a ConnectableElement that is represented by a Lifeline covered by this InteractionUse.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VZvZ5xE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>true</body>
+        </specification>
+      </ownedRule>
+      <ownedRule xmi:id="_VZvZ6BE9EeGOffqMW1YiZA" name="arguments_correspond_to_parameters" constrainedElement="_VZvZ4BE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZvZ6RE9EeGOffqMW1YiZA" annotatedElement="_VZvZ6BE9EeGOffqMW1YiZA">
+          <body>The arguments of the InteractionUse must correspond to parameters of the referred Interaction</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VZvZ6hE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>true</body>
+        </specification>
+      </ownedRule>
+      <ownedRule xmi:id="_VZvZ6xE9EeGOffqMW1YiZA" name="gates_match" constrainedElement="_VZvZ4BE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZvZ7BE9EeGOffqMW1YiZA" annotatedElement="_VZvZ6xE9EeGOffqMW1YiZA">
+          <body>Actual Gates of the InteractionUse must match Formal Gates of the referred Interaction. Gates match when their names are equal.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VZvZ7RE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>true</body>
+        </specification>
+      </ownedRule>
+      <ownedRule xmi:id="_VZvZ7hE9EeGOffqMW1YiZA" name="arguments_are_constants" constrainedElement="_VZvZ4BE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZvZ7xE9EeGOffqMW1YiZA" annotatedElement="_VZvZ7hE9EeGOffqMW1YiZA">
+          <body>The arguments must only be constants, parameters of the enclosing Interaction or attributes of the classifier owning the enclosing Interaction.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VZvZ8BE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>true</body>
+        </specification>
+      </ownedRule>
+      <ownedRule xmi:id="_VZvZ8RE9EeGOffqMW1YiZA" name="returnValue_type_recipient_correspondence" constrainedElement="_VZvZ4BE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZvZ8hE9EeGOffqMW1YiZA" annotatedElement="_VZvZ8RE9EeGOffqMW1YiZA">
+          <body>The type of the returnValue must correspond to the type of the returnValueRecipient.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VZvZ8xE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>true</body>
+        </specification>
+      </ownedRule>
+      <generalization xmi:id="_VZvZ9BE9EeGOffqMW1YiZA" general="_VZuLwBE9EeGOffqMW1YiZA"/>
+      <ownedAttribute xmi:id="_VZvZ9RE9EeGOffqMW1YiZA" name="actualGate" visibility="public" type="_VZeUIBE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_GDD2YAtAEeGcpbeCPJfCmw" association="_VS8OUxE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZvZ9hE9EeGOffqMW1YiZA" annotatedElement="_VZvZ9RE9EeGOffqMW1YiZA">
           <body>The actual gates of the InteractionUse</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g0dxl9wbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g0dxmNwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VZvZ9xE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VZvZ-BE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g0dxmdwbEeCT5O2F6sGn5g" name="argument" visibility="public" type="_g2YdENwbEeCT5O2F6sGn5g" isOrdered="true" aggregation="composite" subsettedProperty="_g0JocNwbEeCT5O2F6sGn5g" association="_gySnQ9wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0dxmtwbEeCT5O2F6sGn5g" annotatedElement="_g0dxmdwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VZvZ-RE9EeGOffqMW1YiZA" name="argument" visibility="public" type="_VfGbABE9EeGOffqMW1YiZA" isOrdered="true" aggregation="composite" subsettedProperty="_GDD2YAtAEeGcpbeCPJfCmw" association="_VS-DgBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZvZ-hE9EeGOffqMW1YiZA" annotatedElement="_VZvZ-RE9EeGOffqMW1YiZA">
           <body>The actual arguments of the Interaction</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g0dxm9wbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g0dxnNwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VZvZ-xE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VZvZ_BE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g0dxndwbEeCT5O2F6sGn5g" name="refersTo" visibility="public" type="_g0bVQNwbEeCT5O2F6sGn5g" association="_gyyWhNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0dxntwbEeCT5O2F6sGn5g" annotatedElement="_g0dxndwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VZvZ_RE9EeGOffqMW1YiZA" name="refersTo" visibility="public" type="_VZsWkBE9EeGOffqMW1YiZA" association="_VUY_0BE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZvZ_hE9EeGOffqMW1YiZA" annotatedElement="_VZvZ_RE9EeGOffqMW1YiZA">
           <body>Refers to the Interaction that defines its meaning</body>
         </ownedComment>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g0dxn9wbEeCT5O2F6sGn5g" name="returnValue" visibility="public" type="_g2YdENwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_g0JocNwbEeCT5O2F6sGn5g" association="_gy32ENwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0dxoNwbEeCT5O2F6sGn5g" annotatedElement="_g0dxn9wbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VZvZ_xE9EeGOffqMW1YiZA" name="returnValue" visibility="public" type="_VfGbABE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_GDD2YAtAEeGcpbeCPJfCmw" association="_VUg7pxE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZvaABE9EeGOffqMW1YiZA" annotatedElement="_VZvZ_xE9EeGOffqMW1YiZA">
           <body>The value of the executed Interaction.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g0dxodwbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VZvaARE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g0dxotwbEeCT5O2F6sGn5g" name="returnValueRecipient" visibility="public" type="_Jp_1oGveEdq4DLWZOhbdEA" association="_gy3PA9wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0dxo9wbEeCT5O2F6sGn5g" annotatedElement="_g0dxotwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VZvaAhE9EeGOffqMW1YiZA" name="returnValueRecipient" visibility="public" type="_Jp_1oGveEdq4DLWZOhbdEA" association="_VUg7oxE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZvaAxE9EeGOffqMW1YiZA" annotatedElement="_VZvaAhE9EeGOffqMW1YiZA">
           <body>The recipient of the return value.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g0dxpNwbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VZvaBBE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="_8Ugn8GvtEdqG6fBIPwe-mw" name="Interface">
-      <ownedComment xmi:id="_g0dxpdwbEeCT5O2F6sGn5g" annotatedElement="_8Ugn8GvtEdqG6fBIPwe-mw">
-        <body>Interfaces may include receptions (in addition to operations).</body>
-      </ownedComment>
-      <ownedComment xmi:id="_g0dxptwbEeCT5O2F6sGn5g" annotatedElement="_8Ugn8GvtEdqG6fBIPwe-mw">
-        <body>An interface is a kind of classifier that represents a declaration of a set of coherent public features and obligations. An interface specifies a contract; any instance of a classifier that realizes the interface must fulfill that contract. The obligations that may be associated with an interface are in the form of various kinds of constraints (such as pre- and post-conditions) or protocol specifications, which may impose ordering restrictions on interactions through the interface.</body>
-      </ownedComment>
-      <ownedComment xmi:id="_g0eYkNwbEeCT5O2F6sGn5g" annotatedElement="_8Ugn8GvtEdqG6fBIPwe-mw">
+      <ownedComment xmi:id="_VZwA8BE9EeGOffqMW1YiZA" annotatedElement="_8Ugn8GvtEdqG6fBIPwe-mw">
         <body>Since an interface specifies conformance characteristics, it does not own detailed behavior specifications. Instead, interfaces may own a protocol state machine that specifies event sequences and pre/post conditions for the operations and receptions described by the interface.</body>
       </ownedComment>
-      <ownedRule xmi:id="_g0eYkdwbEeCT5O2F6sGn5g" name="visibility" constrainedElement="_8Ugn8GvtEdqG6fBIPwe-mw">
-        <ownedComment xmi:id="_g0eYktwbEeCT5O2F6sGn5g" annotatedElement="_g0eYkdwbEeCT5O2F6sGn5g">
+      <ownedComment xmi:id="_VZwA8RE9EeGOffqMW1YiZA" annotatedElement="_8Ugn8GvtEdqG6fBIPwe-mw">
+        <body>Interfaces may include receptions (in addition to operations).</body>
+      </ownedComment>
+      <ownedComment xmi:id="_VZwA8hE9EeGOffqMW1YiZA" annotatedElement="_8Ugn8GvtEdqG6fBIPwe-mw">
+        <body>An interface is a kind of classifier that represents a declaration of a set of coherent public features and obligations. An interface specifies a contract; any instance of a classifier that realizes the interface must fulfill that contract. The obligations that may be associated with an interface are in the form of various kinds of constraints (such as pre- and post-conditions) or protocol specifications, which may impose ordering restrictions on interactions through the interface.</body>
+      </ownedComment>
+      <ownedRule xmi:id="_VZwA8xE9EeGOffqMW1YiZA" name="visibility" constrainedElement="_8Ugn8GvtEdqG6fBIPwe-mw">
+        <ownedComment xmi:id="_VZwA9BE9EeGOffqMW1YiZA" annotatedElement="_VZwA8xE9EeGOffqMW1YiZA">
           <body>The visibility of all features owned by an interface must be public.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0eYk9wbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VZwA9RE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>self.feature->forAll(f | f.visibility = #public)</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_g0eYlNwbEeCT5O2F6sGn5g" general="_6UV2QGwJEdq7X4sGURiZYA"/>
-      <ownedAttribute xmi:id="_g0eYldwbEeCT5O2F6sGn5g" name="nestedClassifier" visibility="public" type="_6UV2QGwJEdq7X4sGURiZYA" isOrdered="true" aggregation="composite" subsettedProperty="_gyxIb9wbEeCT5O2F6sGn5g _g1S4AdwbEeCT5O2F6sGn5g" association="_gyk7JdwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0eYltwbEeCT5O2F6sGn5g" annotatedElement="_g0eYldwbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_VZwA9hE9EeGOffqMW1YiZA" general="_6UV2QGwJEdq7X4sGURiZYA"/>
+      <ownedAttribute xmi:id="_VZwA9xE9EeGOffqMW1YiZA" name="nestedClassifier" visibility="public" type="_6UV2QGwJEdq7X4sGURiZYA" isOrdered="true" aggregation="composite" subsettedProperty="_VUWjlxE9EeGOffqMW1YiZA _Var1EBE9EeGOffqMW1YiZA" association="_VT0_IBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZwA-BE9EeGOffqMW1YiZA" annotatedElement="_VZwA9xE9EeGOffqMW1YiZA">
           <body>References all the Classifiers that are defined (nested) within the Class.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g0eYl9wbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g0eYmNwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VZwA-RE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VZwA-hE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g0eYmdwbEeCT5O2F6sGn5g" name="ownedAttribute" visibility="public" type="_Jp_1oGveEdq4DLWZOhbdEA" isOrdered="true" aggregation="composite" subsettedProperty="_gzuKp9wbEeCT5O2F6sGn5g _g1S4AdwbEeCT5O2F6sGn5g" association="_gyn-f9wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0eYmtwbEeCT5O2F6sGn5g" annotatedElement="_g0eYmdwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VZwoABE9EeGOffqMW1YiZA" name="ownedAttribute" visibility="public" type="_Jp_1oGveEdq4DLWZOhbdEA" isOrdered="true" aggregation="composite" subsettedProperty="_Var1EBE9EeGOffqMW1YiZA _VXldxBE9EeGOffqMW1YiZA" association="_VT-wJRE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZwoARE9EeGOffqMW1YiZA" annotatedElement="_VZwoABE9EeGOffqMW1YiZA">
           <body>The attributes (i.e. the properties) owned by the class.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g0eYm9wbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g0eYnNwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VZwoAhE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VZwoAxE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g0eYndwbEeCT5O2F6sGn5g" name="ownedOperation" visibility="public" type="_M4X2IGveEdq4DLWZOhbdEA" isOrdered="true" aggregation="composite" subsettedProperty="_gzuKr9wbEeCT5O2F6sGn5g _gyxIb9wbEeCT5O2F6sGn5g _g1S4AdwbEeCT5O2F6sGn5g" association="_gypzotwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0eYntwbEeCT5O2F6sGn5g" annotatedElement="_g0eYndwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VZwoBBE9EeGOffqMW1YiZA" name="ownedOperation" visibility="public" type="_M4X2IGveEdq4DLWZOhbdEA" isOrdered="true" aggregation="composite" subsettedProperty="_VXmE1BE9EeGOffqMW1YiZA _VUWjlxE9EeGOffqMW1YiZA _Var1EBE9EeGOffqMW1YiZA" association="_VUBzchE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZwoBRE9EeGOffqMW1YiZA" annotatedElement="_VZwoBBE9EeGOffqMW1YiZA">
           <body>The operations owned by the class.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g0eYn9wbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g0eYoNwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VZwoBhE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VZwoBxE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g0eYodwbEeCT5O2F6sGn5g" name="ownedReception" visibility="public" type="_g14t0NwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_gzuKr9wbEeCT5O2F6sGn5g _g1S4AdwbEeCT5O2F6sGn5g" association="_gyqau9wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0eYotwbEeCT5O2F6sGn5g" annotatedElement="_g0eYodwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VZwoCBE9EeGOffqMW1YiZA" name="ownedReception" visibility="public" type="_Vdji4BE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_VXmE1BE9EeGOffqMW1YiZA _Var1EBE9EeGOffqMW1YiZA" association="_VUDooxE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZwoCRE9EeGOffqMW1YiZA" annotatedElement="_VZwoCBE9EeGOffqMW1YiZA">
           <body>Receptions that objects providing this interface are willing to accept.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g0eYo9wbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g0eYpNwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VZwoChE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VZwoCxE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g0eYpdwbEeCT5O2F6sGn5g" name="protocol" visibility="public" type="_g1xZENwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_g1S4AdwbEeCT5O2F6sGn5g" association="_gyteBtwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0eYptwbEeCT5O2F6sGn5g" annotatedElement="_g0eYpdwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VZwoDBE9EeGOffqMW1YiZA" name="protocol" visibility="public" type="_VdXVoBE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_Var1EBE9EeGOffqMW1YiZA" association="_VUK9ZRE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZwoDRE9EeGOffqMW1YiZA" annotatedElement="_VZwoDBE9EeGOffqMW1YiZA">
           <body>References a protocol state machine specifying the legal sequences of the invocation of the behavioral features described in the interface.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g0eYp9wbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VZwoDhE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g0e_oNwbEeCT5O2F6sGn5g" name="redefinedInterface" visibility="public" type="_8Ugn8GvtEdqG6fBIPwe-mw" subsettedProperty="_gzvYyNwbEeCT5O2F6sGn5g" association="_gywhVNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0e_odwbEeCT5O2F6sGn5g" annotatedElement="_g0e_oNwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VZwoDxE9EeGOffqMW1YiZA" name="redefinedInterface" visibility="public" type="_8Ugn8GvtEdqG6fBIPwe-mw" subsettedProperty="_VXuAoBE9EeGOffqMW1YiZA" association="_VURrFBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZwoEBE9EeGOffqMW1YiZA" annotatedElement="_VZwoDxE9EeGOffqMW1YiZA">
           <body>References all the Interfaces redefined by this Interface.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g0e_otwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g0e_o9wbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VZwoERE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VZwoEhE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
       <ownedOperation xmi:id="_XUC3gHL0EdqziYxiZo0YtA" name="createOwnedAttribute">
         <ownedComment xmi:id="_-2N5wOwgEdqYHf-imTcTdw" annotatedElement="_XUC3gHL0EdqziYxiZo0YtA">
@@ -7910,129 +7913,129 @@
       </ownedOperation>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="_l2mXcHLzEdqziYxiZo0YtA" name="InterfaceRealization">
-      <ownedComment xmi:id="_g0e_pNwbEeCT5O2F6sGn5g" annotatedElement="_l2mXcHLzEdqziYxiZo0YtA">
+      <ownedComment xmi:id="_VZxPEBE9EeGOffqMW1YiZA" annotatedElement="_l2mXcHLzEdqziYxiZo0YtA">
         <body>An interface realization is a specialized realization relationship between a classifier and an interface. This relationship signifies that the realizing classifier conforms to the contract specified by the interface.</body>
       </ownedComment>
-      <generalization xmi:id="_g0e_pdwbEeCT5O2F6sGn5g" general="_g14Gx9wbEeCT5O2F6sGn5g"/>
-      <ownedAttribute xmi:id="_g0e_ptwbEeCT5O2F6sGn5g" name="contract" visibility="public" type="_8Ugn8GvtEdqG6fBIPwe-mw" subsettedProperty="_g0EI5twbEeCT5O2F6sGn5g" association="_gyW4tNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0e_p9wbEeCT5O2F6sGn5g" annotatedElement="_g0e_ptwbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_VZxPERE9EeGOffqMW1YiZA" general="_Vdi72xE9EeGOffqMW1YiZA"/>
+      <ownedAttribute xmi:id="_VZxPEhE9EeGOffqMW1YiZA" name="contract" visibility="public" type="_8Ugn8GvtEdqG6fBIPwe-mw" subsettedProperty="_VYyXoxE9EeGOffqMW1YiZA" association="_VTJCpBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZxPExE9EeGOffqMW1YiZA" annotatedElement="_VZxPEhE9EeGOffqMW1YiZA">
           <body>References the Interface specifying the conformance contract.</body>
         </ownedComment>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g0e_qNwbEeCT5O2F6sGn5g" name="implementingClassifier" visibility="public" type="_iY7sMGvsEdqG6fBIPwe-mw" subsettedProperty="_g0EI49wbEeCT5O2F6sGn5g _g0JodNwbEeCT5O2F6sGn5g" association="_gyhQxNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0e_qdwbEeCT5O2F6sGn5g" annotatedElement="_g0e_qNwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VZx2IBE9EeGOffqMW1YiZA" name="implementingClassifier" visibility="public" type="_iY7sMGvsEdqG6fBIPwe-mw" subsettedProperty="_N3hRMAtAEeGcpbeCPJfCmw _VYyXoBE9EeGOffqMW1YiZA" association="_VTr1MBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZx2IRE9EeGOffqMW1YiZA" annotatedElement="_VZx2IBE9EeGOffqMW1YiZA">
           <body>References the BehavioredClassifier that owns this Interfacerealization (i.e., the classifier that realizes the Interface to which it points).</body>
         </ownedComment>
       </ownedAttribute>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g0fmsNwbEeCT5O2F6sGn5g" name="InterruptibleActivityRegion">
-      <ownedComment xmi:id="_g0fmsdwbEeCT5O2F6sGn5g" annotatedElement="_g0fmsNwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VZx2IhE9EeGOffqMW1YiZA" name="InterruptibleActivityRegion">
+      <ownedComment xmi:id="_VZx2IxE9EeGOffqMW1YiZA" annotatedElement="_VZx2IhE9EeGOffqMW1YiZA">
         <body>An interruptible activity region is an activity group that supports termination of tokens flowing in the portions of an activity.</body>
       </ownedComment>
-      <ownedRule xmi:id="_g0fmstwbEeCT5O2F6sGn5g" name="interrupting_edges" constrainedElement="_g0fmsNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0fms9wbEeCT5O2F6sGn5g" annotatedElement="_g0fmstwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VZx2JBE9EeGOffqMW1YiZA" name="interrupting_edges" constrainedElement="_VZx2IhE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZx2JRE9EeGOffqMW1YiZA" annotatedElement="_VZx2JBE9EeGOffqMW1YiZA">
           <body>Interrupting edges of a region must have their source node in the region and their target node outside the region in the same activity containing the region.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0fmtNwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VZx2JhE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>true</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_g0fmtdwbEeCT5O2F6sGn5g" general="_gzaBkNwbEeCT5O2F6sGn5g"/>
-      <ownedAttribute xmi:id="_g0fmttwbEeCT5O2F6sGn5g" name="interruptingEdge" visibility="public" type="_gzZagNwbEeCT5O2F6sGn5g" association="_gyhQxdwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0fmt9wbEeCT5O2F6sGn5g" annotatedElement="_g0fmttwbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_VZx2JxE9EeGOffqMW1YiZA" general="_aZICgAs-EeGcpbeCPJfCmw"/>
+      <ownedAttribute xmi:id="_VZx2KBE9EeGOffqMW1YiZA" name="interruptingEdge" visibility="public" type="_VVcIsBE9EeGOffqMW1YiZA" association="_VTr1MRE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZx2KRE9EeGOffqMW1YiZA" annotatedElement="_VZx2KBE9EeGOffqMW1YiZA">
           <body>The edges leaving the region that will abort other tokens flowing in the region.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g0fmuNwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g0fmudwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VZx2KhE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VZx2KxE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g0fmutwbEeCT5O2F6sGn5g" name="node" visibility="public" type="_gzbPsNwbEeCT5O2F6sGn5g" subsettedProperty="_gzaBoNwbEeCT5O2F6sGn5g" association="_gyfbmNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0fmu9wbEeCT5O2F6sGn5g" annotatedElement="_g0fmutwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VZx2LBE9EeGOffqMW1YiZA" name="node" visibility="public" type="_WpiyYAs-EeGcpbeCPJfCmw" subsettedProperty="_VVd96BE9EeGOffqMW1YiZA" association="_VTnjyBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZx2LRE9EeGOffqMW1YiZA" annotatedElement="_VZx2LBE9EeGOffqMW1YiZA">
           <body>Nodes immediately contained in the group.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g0fmvNwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g0fmvdwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VZx2LhE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VZx2LxE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g0fmvtwbEeCT5O2F6sGn5g" name="Interval">
-      <ownedComment xmi:id="_g0fmv9wbEeCT5O2F6sGn5g" annotatedElement="_g0fmvtwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VZydMBE9EeGOffqMW1YiZA" name="Interval">
+      <ownedComment xmi:id="_VZydMRE9EeGOffqMW1YiZA" annotatedElement="_VZydMBE9EeGOffqMW1YiZA">
         <body>An interval defines the range between two value specifications.</body>
       </ownedComment>
-      <generalization xmi:id="_g0fmwNwbEeCT5O2F6sGn5g" general="_g2YdENwbEeCT5O2F6sGn5g"/>
-      <ownedAttribute xmi:id="_g0fmwdwbEeCT5O2F6sGn5g" name="max" visibility="public" type="_g2YdENwbEeCT5O2F6sGn5g" association="_gyie6NwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0fmwtwbEeCT5O2F6sGn5g" annotatedElement="_g0fmwdwbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_VZydMhE9EeGOffqMW1YiZA" general="_VfGbABE9EeGOffqMW1YiZA"/>
+      <ownedAttribute xmi:id="_VZydMxE9EeGOffqMW1YiZA" name="max" visibility="public" type="_VfGbABE9EeGOffqMW1YiZA" association="_VTvflBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZydNBE9EeGOffqMW1YiZA" annotatedElement="_VZydMxE9EeGOffqMW1YiZA">
           <body>Refers to the ValueSpecification denoting the maximum value of the range.</body>
         </ownedComment>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g0fmw9wbEeCT5O2F6sGn5g" name="min" visibility="public" type="_g2YdENwbEeCT5O2F6sGn5g" association="_gyjtENwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0fmxNwbEeCT5O2F6sGn5g" annotatedElement="_g0fmw9wbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VZydNRE9EeGOffqMW1YiZA" name="min" visibility="public" type="_VfGbABE9EeGOffqMW1YiZA" association="_VTzJ8BE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZydNhE9EeGOffqMW1YiZA" annotatedElement="_VZydNRE9EeGOffqMW1YiZA">
           <body>Refers to the ValueSpecification denoting the minimum value of the range.</body>
         </ownedComment>
       </ownedAttribute>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g0gNwNwbEeCT5O2F6sGn5g" name="IntervalConstraint">
-      <ownedComment xmi:id="_g0gNwdwbEeCT5O2F6sGn5g" annotatedElement="_g0gNwNwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VZydNxE9EeGOffqMW1YiZA" name="IntervalConstraint">
+      <ownedComment xmi:id="_VZydOBE9EeGOffqMW1YiZA" annotatedElement="_VZydNxE9EeGOffqMW1YiZA">
         <body>An interval constraint is a constraint that refers to an interval.</body>
       </ownedComment>
-      <generalization xmi:id="_g0gNwtwbEeCT5O2F6sGn5g" general="_g0AegNwbEeCT5O2F6sGn5g"/>
-      <ownedAttribute xmi:id="_g0gNw9wbEeCT5O2F6sGn5g" name="specification" visibility="public" type="_g0fmvtwbEeCT5O2F6sGn5g" aggregation="composite" redefinedProperty="_g0AeltwbEeCT5O2F6sGn5g" association="_gy6SUNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0gNxNwbEeCT5O2F6sGn5g" annotatedElement="_g0gNw9wbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_VZydORE9EeGOffqMW1YiZA" general="_VYbLQBE9EeGOffqMW1YiZA"/>
+      <ownedAttribute xmi:id="_VZydOhE9EeGOffqMW1YiZA" name="specification" visibility="public" type="_VZydMBE9EeGOffqMW1YiZA" aggregation="composite" redefinedProperty="_VYbLVhE9EeGOffqMW1YiZA" association="_VUlNFBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZydOxE9EeGOffqMW1YiZA" annotatedElement="_VZydOhE9EeGOffqMW1YiZA">
           <body>A condition that must be true when evaluated in order for the constraint to be satisfied.</body>
         </ownedComment>
       </ownedAttribute>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g0gNxdwbEeCT5O2F6sGn5g" name="InvocationAction" isAbstract="true">
-      <ownedComment xmi:id="_g0gNxtwbEeCT5O2F6sGn5g" annotatedElement="_g0gNxdwbEeCT5O2F6sGn5g">
-        <body>In addition to targeting an object, invocation actions can also invoke behavioral features on ports from where the invocation requests are routed onwards on links deriving from attached connectors. Invocation actions may also be sent to a target via a given port, either on the sending object or on another object.</body>
-      </ownedComment>
-      <ownedComment xmi:id="_g0gNx9wbEeCT5O2F6sGn5g" annotatedElement="_g0gNxdwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VZzEQBE9EeGOffqMW1YiZA" name="InvocationAction" isAbstract="true">
+      <ownedComment xmi:id="_VZzEQRE9EeGOffqMW1YiZA" annotatedElement="_VZzEQBE9EeGOffqMW1YiZA">
         <body>InvocationAction is an abstract class for the various actions that invoke behavior.</body>
       </ownedComment>
-      <ownedRule xmi:id="_g0gNyNwbEeCT5O2F6sGn5g" name="on_port_receiver" constrainedElement="_g0gNxdwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0gNydwbEeCT5O2F6sGn5g" annotatedElement="_g0gNyNwbEeCT5O2F6sGn5g">
+      <ownedComment xmi:id="_VZzEQhE9EeGOffqMW1YiZA" annotatedElement="_VZzEQBE9EeGOffqMW1YiZA">
+        <body>In addition to targeting an object, invocation actions can also invoke behavioral features on ports from where the invocation requests are routed onwards on links deriving from attached connectors. Invocation actions may also be sent to a target via a given port, either on the sending object or on another object.</body>
+      </ownedComment>
+      <ownedRule xmi:id="_VZzEQxE9EeGOffqMW1YiZA" name="on_port_receiver" constrainedElement="_VZzEQBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZzERBE9EeGOffqMW1YiZA" annotatedElement="_VZzEQxE9EeGOffqMW1YiZA">
           <body>The onPort must be a port on the receiver object.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0gNytwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VZzERRE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>true</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_g0gNy9wbEeCT5O2F6sGn5g" general="_6WKakLLQEeCsYvaJqFFivQ"/>
-      <ownedAttribute xmi:id="_g0gNzNwbEeCT5O2F6sGn5g" name="argument" visibility="public" type="_g0aHKdwbEeCT5O2F6sGn5g" isOrdered="true" aggregation="composite" subsettedProperty="_gzBnMNwbEeCT5O2F6sGn5g" association="_gySnRtwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0gNzdwbEeCT5O2F6sGn5g" annotatedElement="_g0gNzNwbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_VZzERhE9EeGOffqMW1YiZA" general="_6WKakLLQEeCsYvaJqFFivQ"/>
+      <ownedAttribute xmi:id="_VZzERxE9EeGOffqMW1YiZA" name="argument" visibility="public" type="_VZp6WRE9EeGOffqMW1YiZA" isOrdered="true" aggregation="composite" subsettedProperty="_VU4IABE9EeGOffqMW1YiZA" association="_VS-DgxE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZzESBE9EeGOffqMW1YiZA" annotatedElement="_VZzERxE9EeGOffqMW1YiZA">
           <body>Specification of the ordered set of argument values that appears during execution.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g0gNztwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g0gNz9wbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VZzESRE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VZzEShE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g0gN0NwbEeCT5O2F6sGn5g" name="onPort" visibility="public" type="_ZAuvEGveEdq4DLWZOhbdEA" association="_gymwV9wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0gN0dwbEeCT5O2F6sGn5g" annotatedElement="_g0gN0NwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VZzESxE9EeGOffqMW1YiZA" name="onPort" visibility="public" type="_ZAuvEGveEdq4DLWZOhbdEA" association="_VT8T4BE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZzETBE9EeGOffqMW1YiZA" annotatedElement="_VZzESxE9EeGOffqMW1YiZA">
           <body>A optional port of the receiver object on which the behavioral feature is invoked.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g0gN0twbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VZzETRE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g0g00NwbEeCT5O2F6sGn5g" name="JoinNode">
-      <ownedComment xmi:id="_g0g00dwbEeCT5O2F6sGn5g" annotatedElement="_g0g00NwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VZzrUBE9EeGOffqMW1YiZA" name="JoinNode">
+      <ownedComment xmi:id="_VZzrURE9EeGOffqMW1YiZA" annotatedElement="_VZzrUBE9EeGOffqMW1YiZA">
         <body>A join node is a control node that synchronizes multiple flows.</body>
       </ownedComment>
-      <ownedComment xmi:id="_g0g00twbEeCT5O2F6sGn5g" annotatedElement="_g0g00NwbEeCT5O2F6sGn5g">
+      <ownedComment xmi:id="_VZzrUhE9EeGOffqMW1YiZA" annotatedElement="_VZzrUBE9EeGOffqMW1YiZA">
         <body>Join nodes have a Boolean value specification using the names of the incoming edges to specify the conditions under which the join will emit a token.</body>
       </ownedComment>
-      <ownedRule xmi:id="_g0g009wbEeCT5O2F6sGn5g" name="one_outgoing_edge" constrainedElement="_g0g00NwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0g01NwbEeCT5O2F6sGn5g" annotatedElement="_g0g009wbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VZzrUxE9EeGOffqMW1YiZA" name="one_outgoing_edge" constrainedElement="_VZzrUBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZzrVBE9EeGOffqMW1YiZA" annotatedElement="_VZzrUxE9EeGOffqMW1YiZA">
           <body>A join node has one outgoing edge.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0g01dwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VZzrVRE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>self.outgoing->size() = 1</body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_g0g01twbEeCT5O2F6sGn5g" name="incoming_object_flow" constrainedElement="_g0g00NwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0g019wbEeCT5O2F6sGn5g" annotatedElement="_g0g01twbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VZzrVhE9EeGOffqMW1YiZA" name="incoming_object_flow" constrainedElement="_VZzrUBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZzrVxE9EeGOffqMW1YiZA" annotatedElement="_VZzrVhE9EeGOffqMW1YiZA">
           <body>If a join node has an incoming object flow, it must have an outgoing object flow, otherwise, it must have an outgoing control flow.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0g02NwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VZzrWBE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>(self.incoming.select(e | e.isTypeOf(ObjectFlow)->notEmpty() implies
   self.outgoing.isTypeOf(ObjectFlow)) and
@@ -8040,96 +8043,96 @@
       self.outgoing.isTypeOf(ControlFlow))</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_g0g02dwbEeCT5O2F6sGn5g" general="_g0BFndwbEeCT5O2F6sGn5g"/>
-      <ownedAttribute xmi:id="_g0g02twbEeCT5O2F6sGn5g" name="isCombineDuplicate" visibility="public">
-        <ownedComment xmi:id="_g0g029wbEeCT5O2F6sGn5g" annotatedElement="_g0g02twbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_VZzrWRE9EeGOffqMW1YiZA" general="_VYdAcBE9EeGOffqMW1YiZA"/>
+      <ownedAttribute xmi:id="_VZzrWhE9EeGOffqMW1YiZA" name="isCombineDuplicate" visibility="public">
+        <ownedComment xmi:id="_VZzrWxE9EeGOffqMW1YiZA" annotatedElement="_VZzrWhE9EeGOffqMW1YiZA">
           <body>Tells whether tokens having objects with the same identity are combined into one by the join.</body>
         </ownedComment>
         <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
-        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_g0g03NwbEeCT5O2F6sGn5g" value="true"/>
+        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_VZzrXBE9EeGOffqMW1YiZA" value="true"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g0g03dwbEeCT5O2F6sGn5g" name="joinSpec" visibility="public" type="_g2YdENwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_g0JocNwbEeCT5O2F6sGn5g" association="_gyhQydwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0g03twbEeCT5O2F6sGn5g" annotatedElement="_g0g03dwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VZzrXRE9EeGOffqMW1YiZA" name="joinSpec" visibility="public" type="_VfGbABE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_GDD2YAtAEeGcpbeCPJfCmw" association="_VTr1NRE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZzrXhE9EeGOffqMW1YiZA" annotatedElement="_VZzrXRE9EeGOffqMW1YiZA">
           <body>A specification giving the conditions under which the join with emit a token. Default is &quot;and&quot;.</body>
         </ownedComment>
       </ownedAttribute>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g0hb4NwbEeCT5O2F6sGn5g" name="Lifeline">
-      <ownedComment xmi:id="_g0hb4dwbEeCT5O2F6sGn5g" annotatedElement="_g0hb4NwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VZ0SYBE9EeGOffqMW1YiZA" name="Lifeline">
+      <ownedComment xmi:id="_VZ0SYRE9EeGOffqMW1YiZA" annotatedElement="_VZ0SYBE9EeGOffqMW1YiZA">
         <body>A lifeline represents an individual participant in the interaction. While parts and structural features may have multiplicity greater than 1, lifelines represent only one interacting entity.</body>
       </ownedComment>
-      <ownedRule xmi:id="_g0hb4twbEeCT5O2F6sGn5g" name="selector_specified" constrainedElement="_g0hb4NwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0hb49wbEeCT5O2F6sGn5g" annotatedElement="_g0hb4twbEeCT5O2F6sGn5g">
-          <body>The selector for a Lifeline must only be specified if the referenced Part is multivalued.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0hb5NwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>(self.selector->isEmpty() implies not self.represents.isMultivalued()) or
-(not self.selector->isEmpty() implies self.represents.isMultivalued())
-</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_g0hb5dwbEeCT5O2F6sGn5g" name="interaction_uses_share_lifeline" constrainedElement="_g0hb4NwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0hb5twbEeCT5O2F6sGn5g" annotatedElement="_g0hb5dwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VZ0SYhE9EeGOffqMW1YiZA" name="interaction_uses_share_lifeline" constrainedElement="_VZ0SYBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZ0SYxE9EeGOffqMW1YiZA" annotatedElement="_VZ0SYhE9EeGOffqMW1YiZA">
           <body>If two (or more) InteractionUses within one Interaction, refer to Interactions with 'common Lifelines,' those Lifelines must also appear in the Interaction with the InteractionUses. By common Lifelines we mean Lifelines with the same selector and represents associations.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0hb59wbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VZ0SZBE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>true</body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_g0hb6NwbEeCT5O2F6sGn5g" name="same_classifier" constrainedElement="_g0hb4NwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0hb6dwbEeCT5O2F6sGn5g" annotatedElement="_g0hb6NwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VZ0SZRE9EeGOffqMW1YiZA" name="same_classifier" constrainedElement="_VZ0SYBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZ0SZhE9EeGOffqMW1YiZA" annotatedElement="_VZ0SZRE9EeGOffqMW1YiZA">
           <body>The classifier containing the referenced ConnectableElement must be the same classifier, or an ancestor, of the classifier that contains the interaction enclosing this lifeline.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0hb6twbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VZ0SZxE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>if (represents->notEmpty()) then
 (if selector->notEmpty() then represents.isMultivalued() else not represents.isMultivalued())
 </body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_g0hb69wbEeCT5O2F6sGn5g" general="_csVgUGvtEdqG6fBIPwe-mw"/>
-      <ownedAttribute xmi:id="_g0hb7NwbEeCT5O2F6sGn5g" name="coveredBy" visibility="public" type="_g0cjYNwbEeCT5O2F6sGn5g" association="_gyW4wNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0hb7dwbEeCT5O2F6sGn5g" annotatedElement="_g0hb7NwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VZ0SaBE9EeGOffqMW1YiZA" name="selector_specified" constrainedElement="_VZ0SYBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZ0SaRE9EeGOffqMW1YiZA" annotatedElement="_VZ0SaBE9EeGOffqMW1YiZA">
+          <body>The selector for a Lifeline must only be specified if the referenced Part is multivalued.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VZ0SahE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>(self.selector->isEmpty() implies not self.represents.isMultivalued()) or
+(not self.selector->isEmpty() implies self.represents.isMultivalued())
+</body>
+        </specification>
+      </ownedRule>
+      <generalization xmi:id="_VZ0SaxE9EeGOffqMW1YiZA" general="_csVgUGvtEdqG6fBIPwe-mw"/>
+      <ownedAttribute xmi:id="_VZ0SbBE9EeGOffqMW1YiZA" name="coveredBy" visibility="public" type="_VZuLwBE9EeGOffqMW1YiZA" association="_VTKQwBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZ0SbRE9EeGOffqMW1YiZA" annotatedElement="_VZ0SbBE9EeGOffqMW1YiZA">
           <body>References the InteractionFragments in which this Lifeline takes part.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g0hb7twbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g0hb79wbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VZ0SbhE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VZ0SbxE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g0hb8NwbEeCT5O2F6sGn5g" name="decomposedAs" visibility="public" type="_g1oPINwbEeCT5O2F6sGn5g" association="_gyYG0twbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0hb8dwbEeCT5O2F6sGn5g" annotatedElement="_g0hb8NwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VZ0ScBE9EeGOffqMW1YiZA" name="decomposedAs" visibility="public" type="_Vc8e4BE9EeGOffqMW1YiZA" association="_VTMtABE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZ0ScRE9EeGOffqMW1YiZA" annotatedElement="_VZ0ScBE9EeGOffqMW1YiZA">
           <body>References the Interaction that represents the decomposition.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g0hb8twbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VZ0SchE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g0hb89wbEeCT5O2F6sGn5g" name="interaction" visibility="public" type="_g0bVQNwbEeCT5O2F6sGn5g" subsettedProperty="_1vzv0LbIEeCRxrN1JUGuxA" association="_gyhQzNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0hb9NwbEeCT5O2F6sGn5g" annotatedElement="_g0hb89wbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VZ0ScxE9EeGOffqMW1YiZA" name="interaction" visibility="public" type="_VZsWkBE9EeGOffqMW1YiZA" subsettedProperty="_1vzv0LbIEeCRxrN1JUGuxA" association="_VTscQBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZ0SdBE9EeGOffqMW1YiZA" annotatedElement="_VZ0ScxE9EeGOffqMW1YiZA">
           <body>References the Interaction enclosing this Lifeline.</body>
         </ownedComment>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g0hb9dwbEeCT5O2F6sGn5g" name="represents" visibility="public" type="_0dB44PnhEdunWsS3se92JQ" association="_gyzkqNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0hb9twbEeCT5O2F6sGn5g" annotatedElement="_g0hb9dwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VZ0SdRE9EeGOffqMW1YiZA" name="represents" visibility="public" type="_0dB44PnhEdunWsS3se92JQ" association="_VUbcEBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZ0SdhE9EeGOffqMW1YiZA" annotatedElement="_VZ0SdRE9EeGOffqMW1YiZA">
           <body>References the ConnectableElement within the classifier that contains the enclosing interaction.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g0hb99wbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VZ0SdxE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g0hb-NwbEeCT5O2F6sGn5g" name="selector" visibility="public" type="_g2YdENwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_g0JocNwbEeCT5O2F6sGn5g" association="_gy4dKNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0hb-dwbEeCT5O2F6sGn5g" annotatedElement="_g0hb-NwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VZ0SeBE9EeGOffqMW1YiZA" name="selector" visibility="public" type="_VfGbABE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_GDD2YAtAEeGcpbeCPJfCmw" association="_VUiw0BE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZ0SeRE9EeGOffqMW1YiZA" annotatedElement="_VZ0SeBE9EeGOffqMW1YiZA">
           <body>If the referenced ConnectableElement is multivalued, then this specifies the specific individual part within that set.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g0hb-twbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VZ0SehE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g0iC8NwbEeCT5O2F6sGn5g" name="LinkAction" isAbstract="true">
-      <ownedComment xmi:id="_g0iC8dwbEeCT5O2F6sGn5g" annotatedElement="_g0iC8NwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VZ1ggBE9EeGOffqMW1YiZA" name="LinkAction" isAbstract="true">
+      <ownedComment xmi:id="_VZ1ggRE9EeGOffqMW1YiZA" annotatedElement="_VZ1ggBE9EeGOffqMW1YiZA">
         <body>LinkAction is an abstract class for all link actions that identify their links by the objects at the ends of the links and by the qualifiers at ends of the links.</body>
       </ownedComment>
-      <ownedRule xmi:id="_g0iC8twbEeCT5O2F6sGn5g" name="same_pins" constrainedElement="_g0iC8NwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0iC89wbEeCT5O2F6sGn5g" annotatedElement="_g0iC8twbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VZ1gghE9EeGOffqMW1YiZA" name="same_pins" constrainedElement="_VZ1ggBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZ1ggxE9EeGOffqMW1YiZA" annotatedElement="_VZ1gghE9EeGOffqMW1YiZA">
           <body>The input pins of the action are the same as the pins of the link end data and insertion pins.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0iC9NwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VZ1ghBE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>self.input->asSet() =
 let ledpins : Set = self.endData->collect(value) in
@@ -8139,60 +8142,69 @@
 </body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_g0iC9dwbEeCT5O2F6sGn5g" name="same_association" constrainedElement="_g0iC8NwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0iC9twbEeCT5O2F6sGn5g" annotatedElement="_g0iC9dwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VZ1ghRE9EeGOffqMW1YiZA" name="same_association" constrainedElement="_VZ1ggBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZ1ghhE9EeGOffqMW1YiZA" annotatedElement="_VZ1ghRE9EeGOffqMW1YiZA">
           <body>The association ends of the link end data must all be from the same association and include all and only the association ends of that association.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0iC99wbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VZ1ghxE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>self.endData->collect(end) = self.association()->collect(connection))</body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_g0iC-NwbEeCT5O2F6sGn5g" name="not_static" constrainedElement="_g0iC8NwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0iC-dwbEeCT5O2F6sGn5g" annotatedElement="_g0iC-NwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VZ1giBE9EeGOffqMW1YiZA" name="not_static" constrainedElement="_VZ1ggBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZ1giRE9EeGOffqMW1YiZA" annotatedElement="_VZ1giBE9EeGOffqMW1YiZA">
           <body>The association ends of the link end data must not be static.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0iC-twbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VZ1gihE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>self.endData->forall(end.oclisKindOf(NavigableEnd) implies end.isStatic = #false</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_g0iC-9wbEeCT5O2F6sGn5g" general="_6WKakLLQEeCsYvaJqFFivQ"/>
-      <ownedAttribute xmi:id="_g0iC_NwbEeCT5O2F6sGn5g" name="endData" visibility="public" type="_g0jRENwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_g0JocNwbEeCT5O2F6sGn5g" association="_gyZ8A9wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0iC_dwbEeCT5O2F6sGn5g" annotatedElement="_g0iC_NwbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_VZ1gixE9EeGOffqMW1YiZA" general="_6WKakLLQEeCsYvaJqFFivQ"/>
+      <ownedAttribute xmi:id="_VZ1gjBE9EeGOffqMW1YiZA" name="endData" visibility="public" type="_VZ3VsBE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_GDD2YAtAEeGcpbeCPJfCmw" association="_VTRlhhE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZ1gjRE9EeGOffqMW1YiZA" annotatedElement="_VZ1gjBE9EeGOffqMW1YiZA">
           <body>Data identifying one end of a link by the objects on its ends and qualifiers.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g0iC_twbEeCT5O2F6sGn5g" value="2"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g0iC_9wbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VZ1gjhE9EeGOffqMW1YiZA" value="2"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VZ1gjxE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g0iDANwbEeCT5O2F6sGn5g" name="inputValue" visibility="public" type="_g0aHKdwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_gzBnMNwbEeCT5O2F6sGn5g" association="_gygpsNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0iDAdwbEeCT5O2F6sGn5g" annotatedElement="_g0iDANwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VZ1gkBE9EeGOffqMW1YiZA" name="inputValue" visibility="public" type="_VZp6WRE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_VU4IABE9EeGOffqMW1YiZA" association="_VTqABRE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZ1gkRE9EeGOffqMW1YiZA" annotatedElement="_VZ1gkBE9EeGOffqMW1YiZA">
           <body>Pins taking end objects and qualifier values as input.</body>
         </ownedComment>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g0iDAtwbEeCT5O2F6sGn5g" value="*"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VZ1gkhE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedOperation xmi:id="_g0iDA9wbEeCT5O2F6sGn5g" name="association" visibility="public" bodyCondition="_g0iDBdwbEeCT5O2F6sGn5g" isQuery="true">
-        <ownedComment xmi:id="_g0iDBNwbEeCT5O2F6sGn5g" annotatedElement="_g0iDA9wbEeCT5O2F6sGn5g">
+      <ownedOperation xmi:id="_VZ1gkxE9EeGOffqMW1YiZA" name="association" visibility="public" bodyCondition="_VZ1glRE9EeGOffqMW1YiZA" isQuery="true">
+        <ownedComment xmi:id="_VZ1glBE9EeGOffqMW1YiZA" annotatedElement="_VZ1gkxE9EeGOffqMW1YiZA">
           <body>The association operates on LinkAction. It returns the association of the action.</body>
         </ownedComment>
-        <ownedRule xmi:id="_g0iDBdwbEeCT5O2F6sGn5g" name="spec" constrainedElement="_g0iDA9wbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0iDBtwbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VZ1glRE9EeGOffqMW1YiZA" name="spec" constrainedElement="_VZ1gkxE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VZ1glhE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = self.endData->asSequence().first().end.association</body>
           </specification>
         </ownedRule>
-        <ownedParameter xmi:id="_g0iDB9wbEeCT5O2F6sGn5g" name="result" visibility="public" type="_AwvxoGwNEdq7X4sGURiZYA" direction="return"/>
+        <ownedParameter xmi:id="_VZ1glxE9EeGOffqMW1YiZA" name="result" visibility="public" type="_AwvxoGwNEdq7X4sGURiZYA" direction="return"/>
       </ownedOperation>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g0iqANwbEeCT5O2F6sGn5g" name="LinkEndCreationData">
-      <ownedComment xmi:id="_g0iqAdwbEeCT5O2F6sGn5g" annotatedElement="_g0iqANwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VZ2HkBE9EeGOffqMW1YiZA" name="LinkEndCreationData">
+      <ownedComment xmi:id="_VZ2HkRE9EeGOffqMW1YiZA" annotatedElement="_VZ2HkBE9EeGOffqMW1YiZA">
         <body>A link end creation data is not an action. It is an element that identifies links. It identifies one end of a link to be created by a create link action.</body>
       </ownedComment>
-      <ownedRule xmi:id="_g0iqAtwbEeCT5O2F6sGn5g" name="single_input_pin" constrainedElement="_g0iqANwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0iqA9wbEeCT5O2F6sGn5g" annotatedElement="_g0iqAtwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VZ2HkhE9EeGOffqMW1YiZA" name="create_link_action" constrainedElement="_VZ2HkBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZ2HkxE9EeGOffqMW1YiZA" annotatedElement="_VZ2HkhE9EeGOffqMW1YiZA">
+          <body>LinkEndCreationData can only be end data for CreateLinkAction or one of its specializations.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VZ2HlBE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>self.LinkAction.oclIsKindOf(CreateLinkAction)</body>
+        </specification>
+      </ownedRule>
+      <ownedRule xmi:id="_VZ2HlRE9EeGOffqMW1YiZA" name="single_input_pin" constrainedElement="_VZ2HkBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZ2HlhE9EeGOffqMW1YiZA" annotatedElement="_VZ2HlRE9EeGOffqMW1YiZA">
           <body>Link end creation data for ordered association ends must have a single input pin for the insertion point with type UnlimitedNatural and multiplicity of 1..1, otherwise the action has no input pin for the insertion point.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0iqBNwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VZ2HlxE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>let insertAtPins : Collection = self.insertAt in
 if self.end.ordering = #unordered
@@ -8205,268 +8217,259 @@
 </body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_g0iqBdwbEeCT5O2F6sGn5g" name="create_link_action" constrainedElement="_g0iqANwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0iqBtwbEeCT5O2F6sGn5g" annotatedElement="_g0iqBdwbEeCT5O2F6sGn5g">
-          <body>LinkEndCreationData can only be end data for CreateLinkAction or one of its specializations.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0iqB9wbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>self.LinkAction.oclIsKindOf(CreateLinkAction)</body>
-        </specification>
-      </ownedRule>
-      <generalization xmi:id="_g0iqCNwbEeCT5O2F6sGn5g" general="_g0jRENwbEeCT5O2F6sGn5g"/>
-      <ownedAttribute xmi:id="_g0iqCdwbEeCT5O2F6sGn5g" name="insertAt" visibility="public" type="_g0aHKdwbEeCT5O2F6sGn5g" association="_gygpv9wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0iqCtwbEeCT5O2F6sGn5g" annotatedElement="_g0iqCdwbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_VZ2HmBE9EeGOffqMW1YiZA" general="_VZ3VsBE9EeGOffqMW1YiZA"/>
+      <ownedAttribute xmi:id="_VZ2HmRE9EeGOffqMW1YiZA" name="insertAt" visibility="public" type="_VZp6WRE9EeGOffqMW1YiZA" association="_VTrOIxE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZ2HmhE9EeGOffqMW1YiZA" annotatedElement="_VZ2HmRE9EeGOffqMW1YiZA">
           <body>Specifies where the new link should be inserted for ordered association ends, or where an existing link should be moved to. The type of the input is UnlimitedNatural, but the input cannot be zero. This pin is omitted for association ends that are not ordered.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g0iqC9wbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VZ2HmxE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g0iqDNwbEeCT5O2F6sGn5g" name="isReplaceAll" visibility="public">
-        <ownedComment xmi:id="_g0iqDdwbEeCT5O2F6sGn5g" annotatedElement="_g0iqDNwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VZ2HnBE9EeGOffqMW1YiZA" name="isReplaceAll" visibility="public">
+        <ownedComment xmi:id="_VZ2HnRE9EeGOffqMW1YiZA" annotatedElement="_VZ2HnBE9EeGOffqMW1YiZA">
           <body>Specifies whether the existing links emanating from the object on this end should be destroyed before creating a new link.</body>
         </ownedComment>
         <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
-        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_g0iqDtwbEeCT5O2F6sGn5g"/>
+        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_VZ2HnhE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g0jRENwbEeCT5O2F6sGn5g" name="LinkEndData">
-      <ownedComment xmi:id="_g0jREdwbEeCT5O2F6sGn5g" annotatedElement="_g0jRENwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VZ3VsBE9EeGOffqMW1YiZA" name="LinkEndData">
+      <ownedComment xmi:id="_VZ3VsRE9EeGOffqMW1YiZA" annotatedElement="_VZ3VsBE9EeGOffqMW1YiZA">
         <body>A link end data is not an action. It is an element that identifies links. It identifies one end of a link to be read or written by the children of a link action. A link cannot be passed as a runtime value to or from an action. Instead, a link is identified by its end objects and qualifier values, if any. This requires more than one piece of data, namely, the statically-specified end in the user model, the object on the end, and the qualifier values for that end, if any. These pieces are brought together around a link end data. Each association end is identified separately with an instance of the LinkEndData class.</body>
       </ownedComment>
-      <ownedRule xmi:id="_g0jREtwbEeCT5O2F6sGn5g" name="same_type" constrainedElement="_g0jRENwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0jRE9wbEeCT5O2F6sGn5g" annotatedElement="_g0jREtwbEeCT5O2F6sGn5g">
-          <body>The type of the end object input pin is the same as the type of the association end.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0jRFNwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>self.value.type = self.end.type</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_g0jRFdwbEeCT5O2F6sGn5g" name="multiplicity" constrainedElement="_g0jRENwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0jRFtwbEeCT5O2F6sGn5g" annotatedElement="_g0jRFdwbEeCT5O2F6sGn5g">
-          <body>The multiplicity of the end object input pin must be 1..1.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0jRF9wbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>self.value.multiplicity.is(1,1)</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_g0jRGNwbEeCT5O2F6sGn5g" name="end_object_input_pin" constrainedElement="_g0jRENwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0jRGdwbEeCT5O2F6sGn5g" annotatedElement="_g0jRGNwbEeCT5O2F6sGn5g">
-          <body>The end object input pin is not also a qualifier value input pin.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0jRGtwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>self.value->excludesAll(self.qualifier.value)</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_g0jRG9wbEeCT5O2F6sGn5g" name="property_is_association_end" constrainedElement="_g0jRENwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0jRHNwbEeCT5O2F6sGn5g" annotatedElement="_g0jRG9wbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VZ3VshE9EeGOffqMW1YiZA" name="property_is_association_end" constrainedElement="_VZ3VsBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZ3VsxE9EeGOffqMW1YiZA" annotatedElement="_VZ3VshE9EeGOffqMW1YiZA">
           <body>The property must be an association end.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0jRHdwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VZ3VtBE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>self.end.association->size() = 1</body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_g0jRHtwbEeCT5O2F6sGn5g" name="qualifiers" constrainedElement="_g0jRENwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0jRH9wbEeCT5O2F6sGn5g" annotatedElement="_g0jRHtwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VZ3VtRE9EeGOffqMW1YiZA" name="end_object_input_pin" constrainedElement="_VZ3VsBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZ3VthE9EeGOffqMW1YiZA" annotatedElement="_VZ3VtRE9EeGOffqMW1YiZA">
+          <body>The end object input pin is not also a qualifier value input pin.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VZ3VtxE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>self.value->excludesAll(self.qualifier.value)</body>
+        </specification>
+      </ownedRule>
+      <ownedRule xmi:id="_VZ3VuBE9EeGOffqMW1YiZA" name="same_type" constrainedElement="_VZ3VsBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZ3VuRE9EeGOffqMW1YiZA" annotatedElement="_VZ3VuBE9EeGOffqMW1YiZA">
+          <body>The type of the end object input pin is the same as the type of the association end.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VZ3VuhE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>self.value.type = self.end.type</body>
+        </specification>
+      </ownedRule>
+      <ownedRule xmi:id="_VZ3VuxE9EeGOffqMW1YiZA" name="multiplicity" constrainedElement="_VZ3VsBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZ3VvBE9EeGOffqMW1YiZA" annotatedElement="_VZ3VuxE9EeGOffqMW1YiZA">
+          <body>The multiplicity of the end object input pin must be 1..1.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VZ3VvRE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>self.value.multiplicity.is(1,1)</body>
+        </specification>
+      </ownedRule>
+      <ownedRule xmi:id="_VZ3VvhE9EeGOffqMW1YiZA" name="qualifiers" constrainedElement="_VZ3VsBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZ3VvxE9EeGOffqMW1YiZA" annotatedElement="_VZ3VvhE9EeGOffqMW1YiZA">
           <body>The qualifiers include all and only the qualifiers of the association end.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0jRINwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VZ3VwBE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>self.qualifier->collect(qualifier) = self.end.qualifier</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_g0jRIdwbEeCT5O2F6sGn5g" general="_kl90MGvbEdq4DLWZOhbdEA"/>
-      <ownedAttribute xmi:id="_g0jRItwbEeCT5O2F6sGn5g" name="end" visibility="public" type="_Jp_1oGveEdq4DLWZOhbdEA" association="_gyZ8C9wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0jRI9wbEeCT5O2F6sGn5g" annotatedElement="_g0jRItwbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_VZ3VwRE9EeGOffqMW1YiZA" general="_kl90MGvbEdq4DLWZOhbdEA"/>
+      <ownedAttribute xmi:id="_VZ3VwhE9EeGOffqMW1YiZA" name="end" visibility="public" type="_Jp_1oGveEdq4DLWZOhbdEA" association="_VTSzoBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZ3VwxE9EeGOffqMW1YiZA" annotatedElement="_VZ3VwhE9EeGOffqMW1YiZA">
           <body>Association end for which this link-end data specifies values.</body>
         </ownedComment>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g0jRJNwbEeCT5O2F6sGn5g" name="qualifier" visibility="public" type="_g1zOZ9wbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_g0JocNwbEeCT5O2F6sGn5g" association="_gyuFGdwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0jRJdwbEeCT5O2F6sGn5g" annotatedElement="_g0jRJNwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VZ3VxBE9EeGOffqMW1YiZA" name="qualifier" visibility="public" type="_VdbnEBE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_GDD2YAtAEeGcpbeCPJfCmw" association="_VUMLhRE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZ3VxRE9EeGOffqMW1YiZA" annotatedElement="_VZ3VxBE9EeGOffqMW1YiZA">
           <body>List of qualifier values</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g0jRJtwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g0jRJ9wbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VZ3VxhE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VZ3VxxE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g0jRKNwbEeCT5O2F6sGn5g" name="value" visibility="public" type="_g0aHKdwbEeCT5O2F6sGn5g" association="_gy_K0NwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0jRKdwbEeCT5O2F6sGn5g" annotatedElement="_g0jRKNwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VZ3VyBE9EeGOffqMW1YiZA" name="value" visibility="public" type="_VZp6WRE9EeGOffqMW1YiZA" association="_VUwMMBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZ3VyRE9EeGOffqMW1YiZA" annotatedElement="_VZ3VyBE9EeGOffqMW1YiZA">
           <body>Input pin that provides the specified object for the given end. This pin is omitted if the link-end data specifies an 'open' end for reading.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g0jRKtwbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VZ3VyhE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g0j4INwbEeCT5O2F6sGn5g" name="LinkEndDestructionData">
-      <ownedComment xmi:id="_g0j4IdwbEeCT5O2F6sGn5g" annotatedElement="_g0j4INwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VZ38wBE9EeGOffqMW1YiZA" name="LinkEndDestructionData">
+      <ownedComment xmi:id="_VZ38wRE9EeGOffqMW1YiZA" annotatedElement="_VZ38wBE9EeGOffqMW1YiZA">
         <body>A link end destruction data is not an action. It is an element that identifies links. It identifies one end of a link to be destroyed by destroy link action.</body>
       </ownedComment>
-      <ownedRule xmi:id="_g0j4ItwbEeCT5O2F6sGn5g" name="unlimited_natural_and_multiplicity" constrainedElement="_g0j4INwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0j4I9wbEeCT5O2F6sGn5g" annotatedElement="_g0j4ItwbEeCT5O2F6sGn5g">
-          <body>LinkEndDestructionData for ordered nonunique association ends must have a single destroyAt input pin if isDestroyDuplicates is false. It must be of type UnlimitedNatural and have a multiplicity of 1..1. Otherwise, the action has no input pin for the removal position.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0j4JNwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>true</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_g0j4JdwbEeCT5O2F6sGn5g" name="destroy_link_action" constrainedElement="_g0j4INwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0j4JtwbEeCT5O2F6sGn5g" annotatedElement="_g0j4JdwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VZ38whE9EeGOffqMW1YiZA" name="destroy_link_action" constrainedElement="_VZ38wBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZ38wxE9EeGOffqMW1YiZA" annotatedElement="_VZ38whE9EeGOffqMW1YiZA">
           <body>LinkEndDestructionData can only be end data for DestroyLinkAction or one of its specializations.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0j4J9wbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VZ38xBE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>true</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_g0j4KNwbEeCT5O2F6sGn5g" general="_g0jRENwbEeCT5O2F6sGn5g"/>
-      <ownedAttribute xmi:id="_g0j4KdwbEeCT5O2F6sGn5g" name="destroyAt" visibility="public" type="_g0aHKdwbEeCT5O2F6sGn5g" association="_gyYt8dwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0j4KtwbEeCT5O2F6sGn5g" annotatedElement="_g0j4KdwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VZ38xRE9EeGOffqMW1YiZA" name="unlimited_natural_and_multiplicity" constrainedElement="_VZ38wBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZ38xhE9EeGOffqMW1YiZA" annotatedElement="_VZ38xRE9EeGOffqMW1YiZA">
+          <body>LinkEndDestructionData for ordered nonunique association ends must have a single destroyAt input pin if isDestroyDuplicates is false. It must be of type UnlimitedNatural and have a multiplicity of 1..1. Otherwise, the action has no input pin for the removal position.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VZ38xxE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>true</body>
+        </specification>
+      </ownedRule>
+      <generalization xmi:id="_VZ38yBE9EeGOffqMW1YiZA" general="_VZ3VsBE9EeGOffqMW1YiZA"/>
+      <ownedAttribute xmi:id="_VZ38yRE9EeGOffqMW1YiZA" name="destroyAt" visibility="public" type="_VZp6WRE9EeGOffqMW1YiZA" association="_VTPwUBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZ38yhE9EeGOffqMW1YiZA" annotatedElement="_VZ38yRE9EeGOffqMW1YiZA">
           <body>Specifies the position of an existing link to be destroyed in ordered nonunique association ends. The type of the pin is UnlimitedNatural, but the value cannot be zero or unlimited.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g0j4K9wbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VZ38yxE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g0j4LNwbEeCT5O2F6sGn5g" name="isDestroyDuplicates" visibility="public">
-        <ownedComment xmi:id="_g0j4LdwbEeCT5O2F6sGn5g" annotatedElement="_g0j4LNwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VZ38zBE9EeGOffqMW1YiZA" name="isDestroyDuplicates" visibility="public">
+        <ownedComment xmi:id="_VZ38zRE9EeGOffqMW1YiZA" annotatedElement="_VZ38zBE9EeGOffqMW1YiZA">
           <body>Specifies whether to destroy duplicates of the value in nonunique association ends.</body>
         </ownedComment>
         <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
-        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_g0j4LtwbEeCT5O2F6sGn5g"/>
+        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_VZ38zhE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="_FFMNsGveEdq4DLWZOhbdEA" name="LiteralBoolean">
-      <ownedComment xmi:id="_g0j4L9wbEeCT5O2F6sGn5g" annotatedElement="_FFMNsGveEdq4DLWZOhbdEA">
+      <ownedComment xmi:id="_VZ38zxE9EeGOffqMW1YiZA" annotatedElement="_FFMNsGveEdq4DLWZOhbdEA">
         <body>A literal Boolean is a specification of a Boolean value.</body>
       </ownedComment>
-      <generalization xmi:id="_g0j4MNwbEeCT5O2F6sGn5g" general="_g1HRxdwbEeCT5O2F6sGn5g"/>
-      <ownedAttribute xmi:id="_g0j4MdwbEeCT5O2F6sGn5g" name="value" visibility="public">
-        <ownedComment xmi:id="_g0j4MtwbEeCT5O2F6sGn5g" annotatedElement="_g0j4MdwbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_VZ380BE9EeGOffqMW1YiZA" general="_VZ7nIBE9EeGOffqMW1YiZA"/>
+      <ownedAttribute xmi:id="_VZ380RE9EeGOffqMW1YiZA" name="value" visibility="public">
+        <ownedComment xmi:id="_VZ380hE9EeGOffqMW1YiZA" annotatedElement="_VZ380RE9EeGOffqMW1YiZA">
           <body>The specified Boolean value.</body>
         </ownedComment>
         <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
-        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_g0j4M9wbEeCT5O2F6sGn5g"/>
+        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_VZ380xE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
       <ownedOperation xmi:id="_aXS3gGWKEdq-f4093SZhVA" name="stringValue" visibility="protected" isQuery="true">
         <ownedParameter xmi:id="_cFthIGWKEdq-f4093SZhVA" direction="return">
           <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
         </ownedParameter>
       </ownedOperation>
-      <ownedOperation xmi:id="_g0j4NNwbEeCT5O2F6sGn5g" name="booleanValue" visibility="public" bodyCondition="_g0j4NtwbEeCT5O2F6sGn5g" isQuery="true" redefinedOperation="_g2YdFdwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g0j4NdwbEeCT5O2F6sGn5g" annotatedElement="_g0j4NNwbEeCT5O2F6sGn5g">
+      <ownedOperation xmi:id="_VZ381BE9EeGOffqMW1YiZA" name="booleanValue" visibility="public" bodyCondition="_VZ381hE9EeGOffqMW1YiZA" isQuery="true" redefinedOperation="_VfGbBRE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZ381RE9EeGOffqMW1YiZA" annotatedElement="_VZ381BE9EeGOffqMW1YiZA">
           <body>The query booleanValue() gives the value.</body>
         </ownedComment>
-        <ownedRule xmi:id="_g0j4NtwbEeCT5O2F6sGn5g" name="spec" constrainedElement="_g0j4NNwbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g0j4N9wbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VZ381hE9EeGOffqMW1YiZA" name="spec" constrainedElement="_VZ381BE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VZ381xE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = value</body>
           </specification>
         </ownedRule>
-        <ownedParameter xmi:id="_g0j4ONwbEeCT5O2F6sGn5g" name="result" visibility="public" direction="return">
+        <ownedParameter xmi:id="_VZ4j0BE9EeGOffqMW1YiZA" name="result" visibility="public" direction="return">
           <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
         </ownedParameter>
       </ownedOperation>
-      <ownedOperation xmi:id="_g052YNwbEeCT5O2F6sGn5g" name="isComputable" visibility="public" bodyCondition="_g052YtwbEeCT5O2F6sGn5g" isQuery="true" redefinedOperation="_g2YdJ9wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g052YdwbEeCT5O2F6sGn5g" annotatedElement="_g052YNwbEeCT5O2F6sGn5g">
+      <ownedOperation xmi:id="_VZ4j0RE9EeGOffqMW1YiZA" name="isComputable" visibility="public" bodyCondition="_VZ4j0xE9EeGOffqMW1YiZA" isQuery="true" redefinedOperation="_VfGbFxE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZ4j0hE9EeGOffqMW1YiZA" annotatedElement="_VZ4j0RE9EeGOffqMW1YiZA">
           <body>The query isComputable() is redefined to be true.</body>
         </ownedComment>
-        <ownedRule xmi:id="_g052YtwbEeCT5O2F6sGn5g" name="spec" constrainedElement="_g052YNwbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g052Y9wbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VZ4j0xE9EeGOffqMW1YiZA" name="spec" constrainedElement="_VZ4j0RE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VZ4j1BE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = true</body>
           </specification>
         </ownedRule>
-        <ownedParameter xmi:id="_g052ZNwbEeCT5O2F6sGn5g" name="result" visibility="public" direction="return">
+        <ownedParameter xmi:id="_VZ4j1RE9EeGOffqMW1YiZA" name="result" visibility="public" direction="return">
           <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
         </ownedParameter>
       </ownedOperation>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="_Dy77oGveEdq4DLWZOhbdEA" name="LiteralInteger">
-      <ownedComment xmi:id="_g1AkENwbEeCT5O2F6sGn5g" annotatedElement="_Dy77oGveEdq4DLWZOhbdEA">
+      <ownedComment xmi:id="_VZ4j1hE9EeGOffqMW1YiZA" annotatedElement="_Dy77oGveEdq4DLWZOhbdEA">
         <body>A literal integer is a specification of an integer value.</body>
       </ownedComment>
-      <generalization xmi:id="_g1AkEdwbEeCT5O2F6sGn5g" general="_g1HRxdwbEeCT5O2F6sGn5g"/>
-      <ownedAttribute xmi:id="_g1DAUNwbEeCT5O2F6sGn5g" name="value" visibility="public">
-        <ownedComment xmi:id="_g1DAUdwbEeCT5O2F6sGn5g" annotatedElement="_g1DAUNwbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_VZ4j1xE9EeGOffqMW1YiZA" general="_VZ7nIBE9EeGOffqMW1YiZA"/>
+      <ownedAttribute xmi:id="_VZ5K4BE9EeGOffqMW1YiZA" name="value" visibility="public">
+        <ownedComment xmi:id="_VZ5K4RE9EeGOffqMW1YiZA" annotatedElement="_VZ5K4BE9EeGOffqMW1YiZA">
           <body>The specified Integer value.</body>
         </ownedComment>
         <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
-        <defaultValue xmi:type="uml:LiteralInteger" xmi:id="_g1DAUtwbEeCT5O2F6sGn5g"/>
+        <defaultValue xmi:type="uml:LiteralInteger" xmi:id="_VZ5K4hE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
       <ownedOperation xmi:id="_e2SLUGWKEdq-f4093SZhVA" name="stringValue" visibility="protected" isQuery="true">
         <ownedParameter xmi:id="_hAkRkGWKEdq-f4093SZhVA" direction="return">
           <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
         </ownedParameter>
       </ownedOperation>
-      <ownedOperation xmi:id="_g1GDoNwbEeCT5O2F6sGn5g" name="integerValue" visibility="public" bodyCondition="_g1GDotwbEeCT5O2F6sGn5g" isQuery="true" redefinedOperation="_g2YdG9wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1GDodwbEeCT5O2F6sGn5g" annotatedElement="_g1GDoNwbEeCT5O2F6sGn5g">
+      <ownedOperation xmi:id="_VZ5K4xE9EeGOffqMW1YiZA" name="integerValue" visibility="public" bodyCondition="_VZ5K5RE9EeGOffqMW1YiZA" isQuery="true" redefinedOperation="_VfGbCxE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZ5K5BE9EeGOffqMW1YiZA" annotatedElement="_VZ5K4xE9EeGOffqMW1YiZA">
           <body>The query integerValue() gives the value.</body>
         </ownedComment>
-        <ownedRule xmi:id="_g1GDotwbEeCT5O2F6sGn5g" name="spec" constrainedElement="_g1GDoNwbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1GDo9wbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VZ5K5RE9EeGOffqMW1YiZA" name="spec" constrainedElement="_VZ5K4xE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VZ5K5hE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = value</body>
           </specification>
         </ownedRule>
-        <ownedParameter xmi:id="_g1GDpNwbEeCT5O2F6sGn5g" name="result" visibility="public" direction="return">
+        <ownedParameter xmi:id="_VZ5K5xE9EeGOffqMW1YiZA" name="result" visibility="public" direction="return">
           <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
         </ownedParameter>
       </ownedOperation>
-      <ownedOperation xmi:id="_g1GDpdwbEeCT5O2F6sGn5g" name="isComputable" visibility="public" bodyCondition="_g1GDp9wbEeCT5O2F6sGn5g" isQuery="true" redefinedOperation="_g2YdJ9wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1GDptwbEeCT5O2F6sGn5g" annotatedElement="_g1GDpdwbEeCT5O2F6sGn5g">
+      <ownedOperation xmi:id="_VZ5K6BE9EeGOffqMW1YiZA" name="isComputable" visibility="public" bodyCondition="_VZ5K6hE9EeGOffqMW1YiZA" isQuery="true" redefinedOperation="_VfGbFxE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZ5K6RE9EeGOffqMW1YiZA" annotatedElement="_VZ5K6BE9EeGOffqMW1YiZA">
           <body>The query isComputable() is redefined to be true.</body>
         </ownedComment>
-        <ownedRule xmi:id="_g1GDp9wbEeCT5O2F6sGn5g" name="spec" constrainedElement="_g1GDpdwbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1GDqNwbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VZ5K6hE9EeGOffqMW1YiZA" name="spec" constrainedElement="_VZ5K6BE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VZ5K6xE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = true</body>
           </specification>
         </ownedRule>
-        <ownedParameter xmi:id="_g1GDqdwbEeCT5O2F6sGn5g" name="result" visibility="public" direction="return">
+        <ownedParameter xmi:id="_VZ5K7BE9EeGOffqMW1YiZA" name="result" visibility="public" direction="return">
           <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
         </ownedParameter>
       </ownedOperation>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g1GqsNwbEeCT5O2F6sGn5g" name="LiteralNull">
-      <ownedComment xmi:id="_g1GqsdwbEeCT5O2F6sGn5g" annotatedElement="_g1GqsNwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VZ5x8BE9EeGOffqMW1YiZA" name="LiteralNull">
+      <ownedComment xmi:id="_VZ5x8RE9EeGOffqMW1YiZA" annotatedElement="_VZ5x8BE9EeGOffqMW1YiZA">
         <body>A literal null specifies the lack of a value.</body>
       </ownedComment>
-      <generalization xmi:id="_g1GqstwbEeCT5O2F6sGn5g" general="_g1HRxdwbEeCT5O2F6sGn5g"/>
-      <ownedOperation xmi:id="_g1Gqs9wbEeCT5O2F6sGn5g" name="isComputable" visibility="public" bodyCondition="_g1GqtdwbEeCT5O2F6sGn5g" isQuery="true" redefinedOperation="_g2YdJ9wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1GqtNwbEeCT5O2F6sGn5g" annotatedElement="_g1Gqs9wbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_VZ5x8hE9EeGOffqMW1YiZA" general="_VZ7nIBE9EeGOffqMW1YiZA"/>
+      <ownedOperation xmi:id="_VZ5x8xE9EeGOffqMW1YiZA" name="isComputable" visibility="public" bodyCondition="_VZ5x9RE9EeGOffqMW1YiZA" isQuery="true" redefinedOperation="_VfGbFxE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZ5x9BE9EeGOffqMW1YiZA" annotatedElement="_VZ5x8xE9EeGOffqMW1YiZA">
           <body>The query isComputable() is redefined to be true.</body>
         </ownedComment>
-        <ownedRule xmi:id="_g1GqtdwbEeCT5O2F6sGn5g" name="spec" constrainedElement="_g1Gqs9wbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1GqttwbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VZ5x9RE9EeGOffqMW1YiZA" name="spec" constrainedElement="_VZ5x8xE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VZ5x9hE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = true</body>
           </specification>
         </ownedRule>
-        <ownedParameter xmi:id="_g1Gqt9wbEeCT5O2F6sGn5g" name="result" visibility="public" direction="return">
+        <ownedParameter xmi:id="_VZ6ZABE9EeGOffqMW1YiZA" name="result" visibility="public" direction="return">
           <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
         </ownedParameter>
       </ownedOperation>
-      <ownedOperation xmi:id="_g1GquNwbEeCT5O2F6sGn5g" name="isNull" visibility="public" bodyCondition="_g1GqutwbEeCT5O2F6sGn5g" isQuery="true" redefinedOperation="_g2YdLNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1GqudwbEeCT5O2F6sGn5g" annotatedElement="_g1GquNwbEeCT5O2F6sGn5g">
+      <ownedOperation xmi:id="_VZ6ZARE9EeGOffqMW1YiZA" name="isNull" visibility="public" bodyCondition="_VZ6ZAxE9EeGOffqMW1YiZA" isQuery="true" redefinedOperation="_VfGbHBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZ6ZAhE9EeGOffqMW1YiZA" annotatedElement="_VZ6ZARE9EeGOffqMW1YiZA">
           <body>The query isNull() returns true.</body>
         </ownedComment>
-        <ownedRule xmi:id="_g1GqutwbEeCT5O2F6sGn5g" name="spec" constrainedElement="_g1GquNwbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1Gqu9wbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VZ6ZAxE9EeGOffqMW1YiZA" name="spec" constrainedElement="_VZ6ZARE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VZ6ZBBE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = true</body>
           </specification>
         </ownedRule>
-        <ownedParameter xmi:id="_g1GqvNwbEeCT5O2F6sGn5g" name="result" visibility="public" direction="return">
+        <ownedParameter xmi:id="_VZ6ZBRE9EeGOffqMW1YiZA" name="result" visibility="public" direction="return">
           <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
         </ownedParameter>
       </ownedOperation>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="_KF5QYK3PEeCff5DsMzqH0w" name="LiteralReal">
-      <ownedComment xmi:id="_g1GqvdwbEeCT5O2F6sGn5g" annotatedElement="_KF5QYK3PEeCff5DsMzqH0w">
+      <ownedComment xmi:id="_VZ6ZBhE9EeGOffqMW1YiZA" annotatedElement="_KF5QYK3PEeCff5DsMzqH0w">
         <body>A literal real is a specification of a real value.</body>
       </ownedComment>
-      <generalization xmi:id="_g1GqvtwbEeCT5O2F6sGn5g" general="_g1HRxdwbEeCT5O2F6sGn5g"/>
-      <ownedAttribute xmi:id="_g1Gqv9wbEeCT5O2F6sGn5g" name="value" visibility="public">
+      <generalization xmi:id="_VZ6ZBxE9EeGOffqMW1YiZA" general="_VZ7nIBE9EeGOffqMW1YiZA"/>
+      <ownedAttribute xmi:id="_VZ6ZCBE9EeGOffqMW1YiZA" name="value" visibility="public">
         <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
       </ownedAttribute>
       <ownedOperation xmi:id="_KF5QYa3PEeCff5DsMzqH0w" name="stringValue" visibility="protected" isQuery="true">
@@ -8474,52 +8477,52 @@
           <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
         </ownedParameter>
       </ownedOperation>
-      <ownedOperation xmi:id="_g1GqwNwbEeCT5O2F6sGn5g" name="isComputable" visibility="public" bodyCondition="_g1GqwtwbEeCT5O2F6sGn5g" isQuery="true" redefinedOperation="_g2YdJ9wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1GqwdwbEeCT5O2F6sGn5g" annotatedElement="_g1GqwNwbEeCT5O2F6sGn5g">
+      <ownedOperation xmi:id="_VZ6ZCRE9EeGOffqMW1YiZA" name="isComputable" visibility="public" bodyCondition="_VZ6ZCxE9EeGOffqMW1YiZA" isQuery="true" redefinedOperation="_VfGbFxE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZ6ZChE9EeGOffqMW1YiZA" annotatedElement="_VZ6ZCRE9EeGOffqMW1YiZA">
           <body>The query isComputable() is redefined to be true.</body>
         </ownedComment>
-        <ownedRule xmi:id="_g1GqwtwbEeCT5O2F6sGn5g" name="spec" constrainedElement="_g1GqwNwbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1Gqw9wbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VZ6ZCxE9EeGOffqMW1YiZA" name="spec" constrainedElement="_VZ6ZCRE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VZ6ZDBE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = true</body>
           </specification>
         </ownedRule>
-        <ownedParameter xmi:id="_g1GqxNwbEeCT5O2F6sGn5g" name="result" visibility="public" direction="return">
+        <ownedParameter xmi:id="_VZ6ZDRE9EeGOffqMW1YiZA" name="result" visibility="public" direction="return">
           <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
         </ownedParameter>
       </ownedOperation>
-      <ownedOperation xmi:id="_g1HRwNwbEeCT5O2F6sGn5g" name="realValue" visibility="public" bodyCondition="_g1HRwtwbEeCT5O2F6sGn5g" isQuery="true" redefinedOperation="_g2YdMdwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1HRwdwbEeCT5O2F6sGn5g" annotatedElement="_g1HRwNwbEeCT5O2F6sGn5g">
+      <ownedOperation xmi:id="_VZ7AEBE9EeGOffqMW1YiZA" name="realValue" visibility="public" bodyCondition="_VZ7AEhE9EeGOffqMW1YiZA" isQuery="true" redefinedOperation="_VfGbIRE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZ7AERE9EeGOffqMW1YiZA" annotatedElement="_VZ7AEBE9EeGOffqMW1YiZA">
           <body>The query realValue() gives the value.</body>
         </ownedComment>
-        <ownedRule xmi:id="_g1HRwtwbEeCT5O2F6sGn5g" name="spec" constrainedElement="_g1HRwNwbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1HRw9wbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VZ7AEhE9EeGOffqMW1YiZA" name="spec" constrainedElement="_VZ7AEBE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VZ7AExE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = value</body>
           </specification>
         </ownedRule>
-        <ownedParameter xmi:id="_g1HRxNwbEeCT5O2F6sGn5g" name="result" visibility="public" direction="return">
+        <ownedParameter xmi:id="_VZ7AFBE9EeGOffqMW1YiZA" name="result" visibility="public" direction="return">
           <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
         </ownedParameter>
       </ownedOperation>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g1HRxdwbEeCT5O2F6sGn5g" name="LiteralSpecification" isAbstract="true">
-      <ownedComment xmi:id="_g1HRxtwbEeCT5O2F6sGn5g" annotatedElement="_g1HRxdwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VZ7nIBE9EeGOffqMW1YiZA" name="LiteralSpecification" isAbstract="true">
+      <ownedComment xmi:id="_VZ7nIRE9EeGOffqMW1YiZA" annotatedElement="_VZ7nIBE9EeGOffqMW1YiZA">
         <body>A literal specification identifies a literal constant being modeled.</body>
       </ownedComment>
-      <generalization xmi:id="_g1HRx9wbEeCT5O2F6sGn5g" general="_g2YdENwbEeCT5O2F6sGn5g"/>
+      <generalization xmi:id="_VZ7nIhE9EeGOffqMW1YiZA" general="_VfGbABE9EeGOffqMW1YiZA"/>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="_5jXJsTEkEdu9VoNTbEBQkQ" name="LiteralString">
-      <ownedComment xmi:id="_g1HRyNwbEeCT5O2F6sGn5g" annotatedElement="_5jXJsTEkEdu9VoNTbEBQkQ">
+      <ownedComment xmi:id="_VZ7nIxE9EeGOffqMW1YiZA" annotatedElement="_5jXJsTEkEdu9VoNTbEBQkQ">
         <body>A literal string is a specification of a string value.</body>
       </ownedComment>
-      <generalization xmi:id="_g1HRydwbEeCT5O2F6sGn5g" general="_g1HRxdwbEeCT5O2F6sGn5g"/>
+      <generalization xmi:id="_VZ7nJBE9EeGOffqMW1YiZA" general="_VZ7nIBE9EeGOffqMW1YiZA"/>
       <ownedAttribute xmi:id="_RFmAkLG4EeCDe8CO90iVKQ" name="value" visibility="public">
-        <ownedComment xmi:id="_g1HRytwbEeCT5O2F6sGn5g" annotatedElement="_RFmAkLG4EeCDe8CO90iVKQ">
+        <ownedComment xmi:id="_VZ7nJRE9EeGOffqMW1YiZA" annotatedElement="_RFmAkLG4EeCDe8CO90iVKQ">
           <body>The specified String value.</body>
         </ownedComment>
         <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1HRy9wbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VZ7nJhE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
       <ownedOperation xmi:id="_-SmgADEkEdu9VoNTbEBQkQ" name="integerValue" visibility="protected" isQuery="true">
         <ownedParameter xmi:id="_-SmgATEkEdu9VoNTbEBQkQ" direction="return">
@@ -8531,340 +8534,340 @@
           <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#UnlimitedNatural"/>
         </ownedParameter>
       </ownedOperation>
-      <ownedOperation xmi:id="_g1H40NwbEeCT5O2F6sGn5g" name="isComputable" visibility="public" bodyCondition="_g1H40twbEeCT5O2F6sGn5g" isQuery="true" redefinedOperation="_g2YdJ9wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1H40dwbEeCT5O2F6sGn5g" annotatedElement="_g1H40NwbEeCT5O2F6sGn5g">
+      <ownedOperation xmi:id="_VZ8OMBE9EeGOffqMW1YiZA" name="isComputable" visibility="public" bodyCondition="_VZ8OMhE9EeGOffqMW1YiZA" isQuery="true" redefinedOperation="_VfGbFxE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZ8OMRE9EeGOffqMW1YiZA" annotatedElement="_VZ8OMBE9EeGOffqMW1YiZA">
           <body>The query isComputable() is redefined to be true.</body>
         </ownedComment>
-        <ownedRule xmi:id="_g1H40twbEeCT5O2F6sGn5g" name="spec" constrainedElement="_g1H40NwbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1H409wbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VZ8OMhE9EeGOffqMW1YiZA" name="spec" constrainedElement="_VZ8OMBE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VZ8OMxE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = true</body>
           </specification>
         </ownedRule>
-        <ownedParameter xmi:id="_g1H41NwbEeCT5O2F6sGn5g" name="result" visibility="public" direction="return">
+        <ownedParameter xmi:id="_VZ8ONBE9EeGOffqMW1YiZA" name="result" visibility="public" direction="return">
           <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
         </ownedParameter>
       </ownedOperation>
-      <ownedOperation xmi:id="_g1H41dwbEeCT5O2F6sGn5g" name="stringValue" visibility="public" bodyCondition="_g1H419wbEeCT5O2F6sGn5g" isQuery="true" redefinedOperation="_g2YdN9wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1H41twbEeCT5O2F6sGn5g" annotatedElement="_g1H41dwbEeCT5O2F6sGn5g">
+      <ownedOperation xmi:id="_VZ8ONRE9EeGOffqMW1YiZA" name="stringValue" visibility="public" bodyCondition="_VZ8ONxE9EeGOffqMW1YiZA" isQuery="true" redefinedOperation="_VfGbJxE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZ8ONhE9EeGOffqMW1YiZA" annotatedElement="_VZ8ONRE9EeGOffqMW1YiZA">
           <body>The query stringValue() gives the value.</body>
         </ownedComment>
-        <ownedRule xmi:id="_g1H419wbEeCT5O2F6sGn5g" name="spec" constrainedElement="_g1H41dwbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1H42NwbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VZ8ONxE9EeGOffqMW1YiZA" name="spec" constrainedElement="_VZ8ONRE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VZ8OOBE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = value</body>
           </specification>
         </ownedRule>
-        <ownedParameter xmi:id="_g1H42dwbEeCT5O2F6sGn5g" name="result" visibility="public" direction="return">
+        <ownedParameter xmi:id="_VZ8OORE9EeGOffqMW1YiZA" name="result" visibility="public" direction="return">
           <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
         </ownedParameter>
       </ownedOperation>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="_Q-yR4GveEdq4DLWZOhbdEA" name="LiteralUnlimitedNatural">
-      <ownedComment xmi:id="_g1H42twbEeCT5O2F6sGn5g" annotatedElement="_Q-yR4GveEdq4DLWZOhbdEA">
+      <ownedComment xmi:id="_VZ81QBE9EeGOffqMW1YiZA" annotatedElement="_Q-yR4GveEdq4DLWZOhbdEA">
         <body>A literal unlimited natural is a specification of an unlimited natural number.</body>
       </ownedComment>
-      <generalization xmi:id="_g1H429wbEeCT5O2F6sGn5g" general="_g1HRxdwbEeCT5O2F6sGn5g"/>
-      <ownedAttribute xmi:id="_g1If4NwbEeCT5O2F6sGn5g" name="value" visibility="public">
-        <ownedComment xmi:id="_g1If4dwbEeCT5O2F6sGn5g" annotatedElement="_g1If4NwbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_VZ81QRE9EeGOffqMW1YiZA" general="_VZ7nIBE9EeGOffqMW1YiZA"/>
+      <ownedAttribute xmi:id="_VZ81QhE9EeGOffqMW1YiZA" name="value" visibility="public">
+        <ownedComment xmi:id="_VZ9cUBE9EeGOffqMW1YiZA" annotatedElement="_VZ81QhE9EeGOffqMW1YiZA">
           <body>The specified UnlimitedNatural value.</body>
         </ownedComment>
         <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#UnlimitedNatural"/>
-        <defaultValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g1If4twbEeCT5O2F6sGn5g"/>
+        <defaultValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VZ9cURE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
       <ownedOperation xmi:id="_lSARkGWKEdq-f4093SZhVA" name="stringValue" visibility="protected" isQuery="true">
         <ownedParameter xmi:id="_nyfRUGWKEdq-f4093SZhVA" direction="return">
           <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
         </ownedParameter>
       </ownedOperation>
-      <ownedOperation xmi:id="_g1If49wbEeCT5O2F6sGn5g" name="isComputable" visibility="public" bodyCondition="_g1If5dwbEeCT5O2F6sGn5g" isQuery="true" redefinedOperation="_g2YdJ9wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1If5NwbEeCT5O2F6sGn5g" annotatedElement="_g1If49wbEeCT5O2F6sGn5g">
+      <ownedOperation xmi:id="_VZ9cUhE9EeGOffqMW1YiZA" name="isComputable" visibility="public" bodyCondition="_VZ9cVBE9EeGOffqMW1YiZA" isQuery="true" redefinedOperation="_VfGbFxE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZ9cUxE9EeGOffqMW1YiZA" annotatedElement="_VZ9cUhE9EeGOffqMW1YiZA">
           <body>The query isComputable() is redefined to be true.</body>
         </ownedComment>
-        <ownedRule xmi:id="_g1If5dwbEeCT5O2F6sGn5g" name="spec" constrainedElement="_g1If49wbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1If5twbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VZ9cVBE9EeGOffqMW1YiZA" name="spec" constrainedElement="_VZ9cUhE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VZ9cVRE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = true</body>
           </specification>
         </ownedRule>
-        <ownedParameter xmi:id="_g1If59wbEeCT5O2F6sGn5g" name="result" visibility="public" direction="return">
+        <ownedParameter xmi:id="_VZ9cVhE9EeGOffqMW1YiZA" name="result" visibility="public" direction="return">
           <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
         </ownedParameter>
       </ownedOperation>
-      <ownedOperation xmi:id="_g1If6NwbEeCT5O2F6sGn5g" name="unlimitedValue" visibility="public" bodyCondition="_g1If6twbEeCT5O2F6sGn5g" isQuery="true" redefinedOperation="_g2YdPdwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1If6dwbEeCT5O2F6sGn5g" annotatedElement="_g1If6NwbEeCT5O2F6sGn5g">
+      <ownedOperation xmi:id="_VZ9cVxE9EeGOffqMW1YiZA" name="unlimitedValue" visibility="public" bodyCondition="_VZ9cWRE9EeGOffqMW1YiZA" isQuery="true" redefinedOperation="_VfGbLRE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZ9cWBE9EeGOffqMW1YiZA" annotatedElement="_VZ9cVxE9EeGOffqMW1YiZA">
           <body>The query unlimitedValue() gives the value.</body>
         </ownedComment>
-        <ownedRule xmi:id="_g1If6twbEeCT5O2F6sGn5g" name="spec" constrainedElement="_g1If6NwbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1If69wbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VZ9cWRE9EeGOffqMW1YiZA" name="spec" constrainedElement="_VZ9cVxE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VZ9cWhE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = value</body>
           </specification>
         </ownedRule>
-        <ownedParameter xmi:id="_g1If7NwbEeCT5O2F6sGn5g" name="result" visibility="public" direction="return">
+        <ownedParameter xmi:id="_VZ9cWxE9EeGOffqMW1YiZA" name="result" visibility="public" direction="return">
           <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#UnlimitedNatural"/>
         </ownedParameter>
       </ownedOperation>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g1JuANwbEeCT5O2F6sGn5g" name="LoopNode">
-      <ownedComment xmi:id="_g1JuAdwbEeCT5O2F6sGn5g" annotatedElement="_g1JuANwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VZ_RgBE9EeGOffqMW1YiZA" name="LoopNode">
+      <ownedComment xmi:id="_VZ_RgRE9EeGOffqMW1YiZA" annotatedElement="_VZ_RgBE9EeGOffqMW1YiZA">
         <body>A loop node is a structured activity node that represents a loop with setup, test, and body sections.</body>
       </ownedComment>
-      <ownedRule xmi:id="_g1JuAtwbEeCT5O2F6sGn5g" name="result_no_incoming" constrainedElement="_g1JuANwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1JuA9wbEeCT5O2F6sGn5g" annotatedElement="_g1JuAtwbEeCT5O2F6sGn5g">
-          <body>The result output pins have no incoming edges.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1JuBNwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>true</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_g1JuBdwbEeCT5O2F6sGn5g" name="input_edges" constrainedElement="_g1JuANwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1JuBtwbEeCT5O2F6sGn5g" annotatedElement="_g1JuBdwbEeCT5O2F6sGn5g">
-          <body>Loop variable inputs must not have outgoing edges.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1JuB9wbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>true</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_g1JuCNwbEeCT5O2F6sGn5g" name="executable_nodes" constrainedElement="_g1JuANwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1JuCdwbEeCT5O2F6sGn5g" annotatedElement="_g1JuCNwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VZ_RghE9EeGOffqMW1YiZA" name="executable_nodes" constrainedElement="_VZ_RgBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZ_RgxE9EeGOffqMW1YiZA" annotatedElement="_VZ_RghE9EeGOffqMW1YiZA">
           <body>The union of the ExecutableNodes in the setupPart, test and bodyPart of a LoopNode must be the same as the subset of nodes contained in the LoopNode (considered as a StructuredActivityNode) that are ExecutableNodes.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1JuCtwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VZ_RhBE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>true</body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_g1JuC9wbEeCT5O2F6sGn5g" name="body_output_pins" constrainedElement="_g1JuANwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1JuDNwbEeCT5O2F6sGn5g" annotatedElement="_g1JuC9wbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VZ_RhRE9EeGOffqMW1YiZA" name="body_output_pins" constrainedElement="_VZ_RgBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZ_RhhE9EeGOffqMW1YiZA" annotatedElement="_VZ_RhRE9EeGOffqMW1YiZA">
           <body>The bodyOutput pins are output pins on actions in the body of the loop node.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1JuDdwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VZ_RhxE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>true</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_g1JuDtwbEeCT5O2F6sGn5g" general="_w1_2cLLREeCsYvaJqFFivQ"/>
-      <ownedAttribute xmi:id="_g1JuD9wbEeCT5O2F6sGn5g" name="bodyOutput" visibility="public" type="_g1fsRdwbEeCT5O2F6sGn5g" isOrdered="true" association="_gyT1YNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1JuENwbEeCT5O2F6sGn5g" annotatedElement="_g1JuD9wbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VZ_RiBE9EeGOffqMW1YiZA" name="result_no_incoming" constrainedElement="_VZ_RgBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZ_RiRE9EeGOffqMW1YiZA" annotatedElement="_VZ_RiBE9EeGOffqMW1YiZA">
+          <body>The result output pins have no incoming edges.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VZ_RihE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>true</body>
+        </specification>
+      </ownedRule>
+      <ownedRule xmi:id="_VZ_RixE9EeGOffqMW1YiZA" name="input_edges" constrainedElement="_VZ_RgBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZ_RjBE9EeGOffqMW1YiZA" annotatedElement="_VZ_RixE9EeGOffqMW1YiZA">
+          <body>Loop variable inputs must not have outgoing edges.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VZ_RjRE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>true</body>
+        </specification>
+      </ownedRule>
+      <generalization xmi:id="_VZ_RjhE9EeGOffqMW1YiZA" general="_w1_2cLLREeCsYvaJqFFivQ"/>
+      <ownedAttribute xmi:id="_VZ_RjxE9EeGOffqMW1YiZA" name="bodyOutput" visibility="public" type="_VcHYcBE9EeGOffqMW1YiZA" isOrdered="true" association="_VTAfxBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZ_RkBE9EeGOffqMW1YiZA" annotatedElement="_VZ_RjxE9EeGOffqMW1YiZA">
           <body>A list of output pins within the body fragment the values of which are moved to the loop variable pins after completion of execution of the body, before the next iteration of the loop begins or before the loop exits.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1JuEdwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g1JuEtwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VZ_RkRE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VZ_RkhE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g1JuE9wbEeCT5O2F6sGn5g" name="bodyPart" visibility="public" type="_g0OhCNwbEeCT5O2F6sGn5g" association="_gyT1ZNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1JuFNwbEeCT5O2F6sGn5g" annotatedElement="_g1JuE9wbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VZ_RkxE9EeGOffqMW1YiZA" name="bodyPart" visibility="public" type="_VZPqoBE9EeGOffqMW1YiZA" association="_VTBG0BE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZ_RlBE9EeGOffqMW1YiZA" annotatedElement="_VZ_RkxE9EeGOffqMW1YiZA">
           <body>The set of nodes and edges that perform the repetitive computations of the loop. The body section is executed as long as the test section produces a true value.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1JuFdwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g1JuFtwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VZ_RlRE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VZ_RlhE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g1JuF9wbEeCT5O2F6sGn5g" name="decider" visibility="public" type="_g1fsRdwbEeCT5O2F6sGn5g" association="_gyXfy9wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1JuGNwbEeCT5O2F6sGn5g" annotatedElement="_g1JuF9wbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VZ_RlxE9EeGOffqMW1YiZA" name="decider" visibility="public" type="_VcHYcBE9EeGOffqMW1YiZA" association="_VTLe5xE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZ_RmBE9EeGOffqMW1YiZA" annotatedElement="_VZ_RlxE9EeGOffqMW1YiZA">
           <body>An output pin within the test fragment the value of which is examined after execution of the test to determine whether to execute the loop body.</body>
         </ownedComment>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g1JuGdwbEeCT5O2F6sGn5g" name="isTestedFirst" visibility="public">
-        <ownedComment xmi:id="_g1JuGtwbEeCT5O2F6sGn5g" annotatedElement="_g1JuGdwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VZ_RmRE9EeGOffqMW1YiZA" name="isTestedFirst" visibility="public">
+        <ownedComment xmi:id="_VZ_RmhE9EeGOffqMW1YiZA" annotatedElement="_VZ_RmRE9EeGOffqMW1YiZA">
           <body>If true, the test is performed before the first execution of the body. If false, the body is executed once before the test is performed.</body>
         </ownedComment>
         <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
-        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_g1JuG9wbEeCT5O2F6sGn5g"/>
+        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_VZ_RmxE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g1JuHNwbEeCT5O2F6sGn5g" name="loopVariable" visibility="public" type="_g1fsRdwbEeCT5O2F6sGn5g" isOrdered="true" association="_gyh32dwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1JuHdwbEeCT5O2F6sGn5g" annotatedElement="_g1JuHNwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VZ_RnBE9EeGOffqMW1YiZA" name="loopVariable" visibility="public" type="_VcHYcBE9EeGOffqMW1YiZA" isOrdered="true" association="_VTuRcxE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZ_RnRE9EeGOffqMW1YiZA" annotatedElement="_VZ_RnBE9EeGOffqMW1YiZA">
           <body>A list of output pins that hold the values of the loop variables during an execution of the loop. When the test fails, the values are movied to the result pins of the loop.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1JuHtwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g1JuH9wbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VZ_RnhE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VZ_RnxE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g1JuINwbEeCT5O2F6sGn5g" name="loopVariableInput" visibility="public" type="_g0aHKdwbEeCT5O2F6sGn5g" isOrdered="true" aggregation="composite" redefinedProperty="_g2IlftwbEeCT5O2F6sGn5g" association="_gyh31twbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1JuIdwbEeCT5O2F6sGn5g" annotatedElement="_g1JuINwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VZ_RoBE9EeGOffqMW1YiZA" name="loopVariableInput" visibility="public" type="_VZp6WRE9EeGOffqMW1YiZA" isOrdered="true" aggregation="composite" redefinedProperty="_VeiaVxE9EeGOffqMW1YiZA" association="_VTuRcBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZ_RoRE9EeGOffqMW1YiZA" annotatedElement="_VZ_RoBE9EeGOffqMW1YiZA">
           <body>A list of values that are moved into the loop variable pins before the first iteration of the loop.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1JuItwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g1JuI9wbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VZ_RohE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VZ_RoxE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g1JuJNwbEeCT5O2F6sGn5g" name="result" visibility="public" type="_g1fsRdwbEeCT5O2F6sGn5g" isOrdered="true" aggregation="composite" redefinedProperty="_g2IlgdwbEeCT5O2F6sGn5g" association="_gy0yydwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1JuJdwbEeCT5O2F6sGn5g" annotatedElement="_g1JuJNwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VZ_RpBE9EeGOffqMW1YiZA" name="result" visibility="public" type="_VcHYcBE9EeGOffqMW1YiZA" isOrdered="true" aggregation="composite" redefinedProperty="_VeiaWhE9EeGOffqMW1YiZA" association="_VUdRRhE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZ_RpRE9EeGOffqMW1YiZA" annotatedElement="_VZ_RpBE9EeGOffqMW1YiZA">
           <body>A list of output pins that constitute the data flow output of the entire loop.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1JuJtwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g1JuJ9wbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VZ_RphE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VZ_RpxE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g1JuKNwbEeCT5O2F6sGn5g" name="setupPart" visibility="public" type="_g0OhCNwbEeCT5O2F6sGn5g" association="_gy4dLtwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1JuKdwbEeCT5O2F6sGn5g" annotatedElement="_g1JuKNwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VZ_RqBE9EeGOffqMW1YiZA" name="setupPart" visibility="public" type="_VZPqoBE9EeGOffqMW1YiZA" association="_VUiw1hE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZ_RqRE9EeGOffqMW1YiZA" annotatedElement="_VZ_RqBE9EeGOffqMW1YiZA">
           <body>The set of nodes and edges that initialize values or perform other setup computations for the loop.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1JuKtwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g1JuK9wbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VZ_RqhE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VZ_RqxE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g1JuLNwbEeCT5O2F6sGn5g" name="test" visibility="public" type="_g0OhCNwbEeCT5O2F6sGn5g" association="_gy9VoNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1JuLdwbEeCT5O2F6sGn5g" annotatedElement="_g1JuLNwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VZ_RrBE9EeGOffqMW1YiZA" name="test" visibility="public" type="_VZPqoBE9EeGOffqMW1YiZA" association="_VUqFlBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZ_RrRE9EeGOffqMW1YiZA" annotatedElement="_VZ_RrBE9EeGOffqMW1YiZA">
           <body>The set of nodes, edges, and designated value that compute a Boolean value to determine if another execution of the body will be performed.</body>
         </ownedComment>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g1JuLtwbEeCT5O2F6sGn5g" value="*"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VZ_RrhE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g1KVENwbEeCT5O2F6sGn5g" name="Manifestation">
-      <ownedComment xmi:id="_g1KVEdwbEeCT5O2F6sGn5g" annotatedElement="_g1KVENwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VZ_RrxE9EeGOffqMW1YiZA" name="Manifestation">
+      <ownedComment xmi:id="_VZ_RsBE9EeGOffqMW1YiZA" annotatedElement="_VZ_RrxE9EeGOffqMW1YiZA">
         <body>A manifestation is the concrete physical rendering of one or more model elements by an artifact.</body>
       </ownedComment>
-      <generalization xmi:id="_g1KVEtwbEeCT5O2F6sGn5g" general="_gzAY9twbEeCT5O2F6sGn5g"/>
-      <ownedAttribute xmi:id="_g1KVE9wbEeCT5O2F6sGn5g" name="utilizedElement" visibility="public" type="_jKxnwGwLEdq7X4sGURiZYA" subsettedProperty="_g0EI5twbEeCT5O2F6sGn5g" association="_gy-jztwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1KVFNwbEeCT5O2F6sGn5g" annotatedElement="_g1KVE9wbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_VZ_RsRE9EeGOffqMW1YiZA" general="_VU1EsBE9EeGOffqMW1YiZA"/>
+      <ownedAttribute xmi:id="_VZ_RshE9EeGOffqMW1YiZA" name="utilizedElement" visibility="public" type="_jKxnwGwLEdq7X4sGURiZYA" subsettedProperty="_VYyXoxE9EeGOffqMW1YiZA" association="_VUuXAxE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZ_RsxE9EeGOffqMW1YiZA" annotatedElement="_VZ_RshE9EeGOffqMW1YiZA">
           <body>The model element that is utilized in the manifestation in an Artifact.</body>
         </ownedComment>
       </ownedAttribute>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g1KVFdwbEeCT5O2F6sGn5g" name="MergeNode">
-      <ownedComment xmi:id="_g1KVFtwbEeCT5O2F6sGn5g" annotatedElement="_g1KVFdwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VZ_4kBE9EeGOffqMW1YiZA" name="MergeNode">
+      <ownedComment xmi:id="_VZ_4kRE9EeGOffqMW1YiZA" annotatedElement="_VZ_4kBE9EeGOffqMW1YiZA">
         <body>A merge node is a control node that brings together multiple alternate flows. It is not used to synchronize concurrent flows but to accept one among several alternate flows.</body>
       </ownedComment>
-      <ownedRule xmi:id="_g1KVF9wbEeCT5O2F6sGn5g" name="one_outgoing_edge" constrainedElement="_g1KVFdwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1KVGNwbEeCT5O2F6sGn5g" annotatedElement="_g1KVF9wbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VZ_4khE9EeGOffqMW1YiZA" name="one_outgoing_edge" constrainedElement="_VZ_4kBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZ_4kxE9EeGOffqMW1YiZA" annotatedElement="_VZ_4khE9EeGOffqMW1YiZA">
           <body>A merge node has one outgoing edge.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1KVGdwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VZ_4lBE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>true</body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_g1KVGtwbEeCT5O2F6sGn5g" name="edges" constrainedElement="_g1KVFdwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1KVG9wbEeCT5O2F6sGn5g" annotatedElement="_g1KVGtwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VZ_4lRE9EeGOffqMW1YiZA" name="edges" constrainedElement="_VZ_4kBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VZ_4lhE9EeGOffqMW1YiZA" annotatedElement="_VZ_4lRE9EeGOffqMW1YiZA">
           <body>The edges coming into and out of a merge node must be either all object flows or all control flows.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1KVHNwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VZ_4lxE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>true</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_g1KVHdwbEeCT5O2F6sGn5g" general="_g0BFndwbEeCT5O2F6sGn5g"/>
+      <generalization xmi:id="_VZ_4mBE9EeGOffqMW1YiZA" general="_VYdAcBE9EeGOffqMW1YiZA"/>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="_gfgNwGveEdq4DLWZOhbdEA" name="Message">
-      <ownedComment xmi:id="_g1KVHtwbEeCT5O2F6sGn5g" annotatedElement="_gfgNwGveEdq4DLWZOhbdEA">
+      <ownedComment xmi:id="_VZ_4mRE9EeGOffqMW1YiZA" annotatedElement="_gfgNwGveEdq4DLWZOhbdEA">
         <body>A message defines a particular communication between lifelines of an interaction.</body>
       </ownedComment>
-      <ownedRule xmi:id="_g1KVH9wbEeCT5O2F6sGn5g" name="sending_receiving_message_event" constrainedElement="_gfgNwGveEdq4DLWZOhbdEA">
-        <ownedComment xmi:id="_g1KVINwbEeCT5O2F6sGn5g" annotatedElement="_g1KVH9wbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VZ_4mhE9EeGOffqMW1YiZA" name="sending_receiving_message_event" constrainedElement="_gfgNwGveEdq4DLWZOhbdEA">
+        <ownedComment xmi:id="_VZ_4mxE9EeGOffqMW1YiZA" annotatedElement="_VZ_4mhE9EeGOffqMW1YiZA">
           <body>If the sendEvent and the receiveEvent of the same Message are on the same Lifeline, the sendEvent must be ordered before the receiveEvent.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1KVIdwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VZ_4nBE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>true</body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_g1KVItwbEeCT5O2F6sGn5g" name="arguments" constrainedElement="_gfgNwGveEdq4DLWZOhbdEA">
-        <ownedComment xmi:id="_g1KVI9wbEeCT5O2F6sGn5g" annotatedElement="_g1KVItwbEeCT5O2F6sGn5g">
-          <body>Arguments of a Message must only be: i) attributes of the sending lifeline ii) constants iii) symbolic values (which are wildcard values representing any legal value) iv) explicit parameters of the enclosing Interaction v) attributes of the class owning the Interaction</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1KVJNwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>true</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_g1KVJdwbEeCT5O2F6sGn5g" name="cannot_cross_boundaries" constrainedElement="_gfgNwGveEdq4DLWZOhbdEA">
-        <ownedComment xmi:id="_g1KVJtwbEeCT5O2F6sGn5g" annotatedElement="_g1KVJdwbEeCT5O2F6sGn5g">
-          <body>Messages cannot cross bounderies of CombinedFragments or their operands.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1KVJ9wbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>true</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_g1KVKNwbEeCT5O2F6sGn5g" name="signature_is_signal" constrainedElement="_gfgNwGveEdq4DLWZOhbdEA">
-        <ownedComment xmi:id="_g1KVKdwbEeCT5O2F6sGn5g" annotatedElement="_g1KVKNwbEeCT5O2F6sGn5g">
-          <body>In the case when the Message signature is a Signal, the arguments of the Message must correspond to the attributes of the Signal. A Message Argument corresponds to a Signal Attribute if the Arguement is of the same Class or a specialization of that of the Attribute.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1KVKtwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>true</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_g1K8INwbEeCT5O2F6sGn5g" name="occurrence_specifications" constrainedElement="_gfgNwGveEdq4DLWZOhbdEA">
-        <ownedComment xmi:id="_g1K8IdwbEeCT5O2F6sGn5g" annotatedElement="_g1K8INwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VaAfoBE9EeGOffqMW1YiZA" name="occurrence_specifications" constrainedElement="_gfgNwGveEdq4DLWZOhbdEA">
+        <ownedComment xmi:id="_VaAfoRE9EeGOffqMW1YiZA" annotatedElement="_VaAfoBE9EeGOffqMW1YiZA">
           <body>If the MessageEnds are both OccurrenceSpecifications then the connector must go between the Parts represented by the Lifelines of the two MessageEnds.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1K8ItwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VaAfohE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>true</body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_g1K8I9wbEeCT5O2F6sGn5g" name="signature_refer_to" constrainedElement="_gfgNwGveEdq4DLWZOhbdEA">
-        <ownedComment xmi:id="_g1K8JNwbEeCT5O2F6sGn5g" annotatedElement="_g1K8I9wbEeCT5O2F6sGn5g">
-          <body>The signature must either refer an Operation (in which case messageSort is either synchCall or asynchCall) or a Signal (in which case messageSort is asynchSignal). The name of the NamedElement referenced by signature must be the same as that of the Message.</body>
+      <ownedRule xmi:id="_VaAfoxE9EeGOffqMW1YiZA" name="signature_is_signal" constrainedElement="_gfgNwGveEdq4DLWZOhbdEA">
+        <ownedComment xmi:id="_VaAfpBE9EeGOffqMW1YiZA" annotatedElement="_VaAfoxE9EeGOffqMW1YiZA">
+          <body>In the case when the Message signature is a Signal, the arguments of the Message must correspond to the attributes of the Signal. A Message Argument corresponds to a Signal Attribute if the Arguement is of the same Class or a specialization of that of the Attribute.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1K8JdwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VaAfpRE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>true</body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_g1K8JtwbEeCT5O2F6sGn5g" name="signature_is_operation" constrainedElement="_gfgNwGveEdq4DLWZOhbdEA">
-        <ownedComment xmi:id="_g1K8J9wbEeCT5O2F6sGn5g" annotatedElement="_g1K8JtwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VaAfphE9EeGOffqMW1YiZA" name="signature_is_operation" constrainedElement="_gfgNwGveEdq4DLWZOhbdEA">
+        <ownedComment xmi:id="_VaAfpxE9EeGOffqMW1YiZA" annotatedElement="_VaAfphE9EeGOffqMW1YiZA">
           <body>In the case when the Message signature is an Operation, the arguments of the Message must correspond to the parameters of the Operation. A Parameter corresponds to an Argument if the Argument is of the same Class or a specialization of that of the Parameter.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1K8KNwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VaAfqBE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>true</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_g1K8KdwbEeCT5O2F6sGn5g" general="_csVgUGvtEdqG6fBIPwe-mw"/>
-      <ownedAttribute xmi:id="_g1K8KtwbEeCT5O2F6sGn5g" name="argument" visibility="public" type="_g2YdENwbEeCT5O2F6sGn5g" isOrdered="true" aggregation="composite" subsettedProperty="_g0JocNwbEeCT5O2F6sGn5g" association="_gySnSdwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1K8K9wbEeCT5O2F6sGn5g" annotatedElement="_g1K8KtwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VaAfqRE9EeGOffqMW1YiZA" name="arguments" constrainedElement="_gfgNwGveEdq4DLWZOhbdEA">
+        <ownedComment xmi:id="_VaAfqhE9EeGOffqMW1YiZA" annotatedElement="_VaAfqRE9EeGOffqMW1YiZA">
+          <body>Arguments of a Message must only be: i) attributes of the sending lifeline ii) constants iii) symbolic values (which are wildcard values representing any legal value) iv) explicit parameters of the enclosing Interaction v) attributes of the class owning the Interaction</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VaAfqxE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>true</body>
+        </specification>
+      </ownedRule>
+      <ownedRule xmi:id="_VaAfrBE9EeGOffqMW1YiZA" name="cannot_cross_boundaries" constrainedElement="_gfgNwGveEdq4DLWZOhbdEA">
+        <ownedComment xmi:id="_VaAfrRE9EeGOffqMW1YiZA" annotatedElement="_VaAfrBE9EeGOffqMW1YiZA">
+          <body>Messages cannot cross bounderies of CombinedFragments or their operands.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VaAfrhE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>true</body>
+        </specification>
+      </ownedRule>
+      <ownedRule xmi:id="_VaAfrxE9EeGOffqMW1YiZA" name="signature_refer_to" constrainedElement="_gfgNwGveEdq4DLWZOhbdEA">
+        <ownedComment xmi:id="_VaAfsBE9EeGOffqMW1YiZA" annotatedElement="_VaAfrxE9EeGOffqMW1YiZA">
+          <body>The signature must either refer an Operation (in which case messageSort is either synchCall or asynchCall) or a Signal (in which case messageSort is asynchSignal). The name of the NamedElement referenced by signature must be the same as that of the Message.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VaAfsRE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>true</body>
+        </specification>
+      </ownedRule>
+      <generalization xmi:id="_VaBGsBE9EeGOffqMW1YiZA" general="_csVgUGvtEdqG6fBIPwe-mw"/>
+      <ownedAttribute xmi:id="_VaBGsRE9EeGOffqMW1YiZA" name="argument" visibility="public" type="_VfGbABE9EeGOffqMW1YiZA" isOrdered="true" aggregation="composite" subsettedProperty="_GDD2YAtAEeGcpbeCPJfCmw" association="_VS-DhhE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VaBGshE9EeGOffqMW1YiZA" annotatedElement="_VaBGsRE9EeGOffqMW1YiZA">
           <body>The arguments of the Message</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1K8LNwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g1K8LdwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VaBGsxE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VaBGtBE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g1K8LtwbEeCT5O2F6sGn5g" name="connector" visibility="public" type="_YxC2YLLWEeCsYvaJqFFivQ" association="_gyVqnNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1K8L9wbEeCT5O2F6sGn5g" annotatedElement="_g1K8LtwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VaBGtRE9EeGOffqMW1YiZA" name="connector" visibility="public" type="_YxC2YLLWEeCsYvaJqFFivQ" association="_VTHNcBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VaBGthE9EeGOffqMW1YiZA" annotatedElement="_VaBGtRE9EeGOffqMW1YiZA">
           <body>The Connector on which this Message is sent.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1K8MNwbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VaBGtxE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g1K8MdwbEeCT5O2F6sGn5g" name="interaction" visibility="public" type="_g0bVQNwbEeCT5O2F6sGn5g" subsettedProperty="_1vzv0LbIEeCRxrN1JUGuxA" association="_gyjF_9wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1K8MtwbEeCT5O2F6sGn5g" annotatedElement="_g1K8MdwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VaBGuBE9EeGOffqMW1YiZA" name="interaction" visibility="public" type="_VZsWkBE9EeGOffqMW1YiZA" subsettedProperty="_1vzv0LbIEeCRxrN1JUGuxA" association="_VTxUyBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VaBGuRE9EeGOffqMW1YiZA" annotatedElement="_VaBGuBE9EeGOffqMW1YiZA">
           <body>The enclosing Interaction owning the Message</body>
         </ownedComment>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g1K8M9wbEeCT5O2F6sGn5g" name="messageKind" visibility="public" type="_Y_jskGvtEdqG6fBIPwe-mw" isReadOnly="true" isDerived="true">
-        <ownedComment xmi:id="_g1K8NNwbEeCT5O2F6sGn5g" annotatedElement="_g1K8M9wbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VaBGuhE9EeGOffqMW1YiZA" name="messageKind" visibility="public" type="_Y_jskGvtEdqG6fBIPwe-mw" isReadOnly="true" isDerived="true">
+        <ownedComment xmi:id="_VaBGuxE9EeGOffqMW1YiZA" annotatedElement="_VaBGuhE9EeGOffqMW1YiZA">
           <body>The derived kind of the Message (complete, lost, found or unknown)</body>
         </ownedComment>
-        <defaultValue xmi:type="uml:InstanceValue" xmi:id="_g1K8NdwbEeCT5O2F6sGn5g" type="_Y_jskGvtEdqG6fBIPwe-mw" instance="_g2dVsdwbEeCT5O2F6sGn5g"/>
+        <defaultValue xmi:type="uml:InstanceValue" xmi:id="_VaBGvBE9EeGOffqMW1YiZA" type="_Y_jskGvtEdqG6fBIPwe-mw" instance="_VfOW8RE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g1K8NtwbEeCT5O2F6sGn5g" name="messageSort" visibility="public" type="_g2d8oNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1K8N9wbEeCT5O2F6sGn5g" annotatedElement="_g1K8NtwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VaBtwBE9EeGOffqMW1YiZA" name="messageSort" visibility="public" type="_VfO94BE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VaBtwRE9EeGOffqMW1YiZA" annotatedElement="_VaBtwBE9EeGOffqMW1YiZA">
           <body>The sort of communication reflected by the Message</body>
         </ownedComment>
-        <defaultValue xmi:type="uml:InstanceValue" xmi:id="_g1K8ONwbEeCT5O2F6sGn5g" type="_g2d8oNwbEeCT5O2F6sGn5g" instance="_g2d8otwbEeCT5O2F6sGn5g"/>
+        <defaultValue xmi:type="uml:InstanceValue" xmi:id="_VaBtwhE9EeGOffqMW1YiZA" type="_VfO94BE9EeGOffqMW1YiZA" instance="_VfO94hE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g1LjMNwbEeCT5O2F6sGn5g" name="receiveEvent" visibility="public" type="_g1MKQNwbEeCT5O2F6sGn5g" subsettedProperty="_gyjtAdwbEeCT5O2F6sGn5g" association="_gyv6QNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1LjMdwbEeCT5O2F6sGn5g" annotatedElement="_g1LjMNwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VaBtwxE9EeGOffqMW1YiZA" name="receiveEvent" visibility="public" type="_VaEKABE9EeGOffqMW1YiZA" subsettedProperty="_VTx70RE9EeGOffqMW1YiZA" association="_VUP15BE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VaBtxBE9EeGOffqMW1YiZA" annotatedElement="_VaBtwxE9EeGOffqMW1YiZA">
           <body>References the Receiving of the Message</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1LjMtwbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VaBtxRE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g1LjM9wbEeCT5O2F6sGn5g" name="sendEvent" visibility="public" type="_g1MKQNwbEeCT5O2F6sGn5g" subsettedProperty="_gyjtAdwbEeCT5O2F6sGn5g" association="_gy4dK9wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1LjNNwbEeCT5O2F6sGn5g" annotatedElement="_g1LjM9wbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VaBtxhE9EeGOffqMW1YiZA" name="sendEvent" visibility="public" type="_VaEKABE9EeGOffqMW1YiZA" subsettedProperty="_VTx70RE9EeGOffqMW1YiZA" association="_VUiw0xE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VaBtxxE9EeGOffqMW1YiZA" annotatedElement="_VaBtxhE9EeGOffqMW1YiZA">
           <body>References the Sending of the Message.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1LjNdwbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VaBtyBE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g1LjNtwbEeCT5O2F6sGn5g" name="signature" visibility="public" type="_csVgUGvtEdqG6fBIPwe-mw" association="_gy5rQNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1LjN9wbEeCT5O2F6sGn5g" annotatedElement="_g1LjNtwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VaBtyRE9EeGOffqMW1YiZA" name="signature" visibility="public" type="_csVgUGvtEdqG6fBIPwe-mw" association="_VUj--BE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VaBtyhE9EeGOffqMW1YiZA" annotatedElement="_VaBtyRE9EeGOffqMW1YiZA">
           <body>The signature of the Message is the specification of its content. It refers either an Operation or a Signal.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1LjONwbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VaBtyxE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedOperation xmi:id="_8U6CAFYfEdqB6vblk3tuMA" name="messageKind" visibility="public" bodyCondition="_g1LjOtwbEeCT5O2F6sGn5g" isQuery="true">
-        <ownedComment xmi:id="_g1LjOdwbEeCT5O2F6sGn5g" annotatedElement="_8U6CAFYfEdqB6vblk3tuMA">
+      <ownedOperation xmi:id="_8U6CAFYfEdqB6vblk3tuMA" name="messageKind" visibility="public" bodyCondition="_VaCU0RE9EeGOffqMW1YiZA" isQuery="true">
+        <ownedComment xmi:id="_VaCU0BE9EeGOffqMW1YiZA" annotatedElement="_8U6CAFYfEdqB6vblk3tuMA">
           <body>Missing derivation for Message::/messageKind : MessageKind</body>
         </ownedComment>
-        <ownedRule xmi:id="_g1LjOtwbEeCT5O2F6sGn5g" name="spec" constrainedElement="_8U6CAFYfEdqB6vblk3tuMA _g1K8M9wbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1LjO9wbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VaCU0RE9EeGOffqMW1YiZA" name="spec" constrainedElement="_8U6CAFYfEdqB6vblk3tuMA _VaBGuhE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VaCU0hE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>true</body>
           </specification>
@@ -8872,42 +8875,42 @@
         <ownedParameter xmi:id="_-_OTMFYfEdqB6vblk3tuMA" name="result" visibility="public" type="_Y_jskGvtEdqG6fBIPwe-mw" direction="return"/>
       </ownedOperation>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g1MKQNwbEeCT5O2F6sGn5g" name="MessageEnd" isAbstract="true">
-      <ownedComment xmi:id="_g1MKQdwbEeCT5O2F6sGn5g" annotatedElement="_g1MKQNwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VaEKABE9EeGOffqMW1YiZA" name="MessageEnd" isAbstract="true">
+      <ownedComment xmi:id="_VaEKARE9EeGOffqMW1YiZA" annotatedElement="_VaEKABE9EeGOffqMW1YiZA">
         <body>MessageEnd is an abstract specialization of NamedElement that represents what can occur at the end of a message.</body>
       </ownedComment>
-      <generalization xmi:id="_g1MKQtwbEeCT5O2F6sGn5g" general="_csVgUGvtEdqG6fBIPwe-mw"/>
-      <ownedAttribute xmi:id="_g1MKQ9wbEeCT5O2F6sGn5g" name="message" visibility="public" type="_gfgNwGveEdq4DLWZOhbdEA" association="_gyjtANwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1MKRNwbEeCT5O2F6sGn5g" annotatedElement="_g1MKQ9wbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_VaEKAhE9EeGOffqMW1YiZA" general="_csVgUGvtEdqG6fBIPwe-mw"/>
+      <ownedAttribute xmi:id="_VaEKAxE9EeGOffqMW1YiZA" name="message" visibility="public" type="_gfgNwGveEdq4DLWZOhbdEA" association="_VTx70BE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VaEKBBE9EeGOffqMW1YiZA" annotatedElement="_VaEKAxE9EeGOffqMW1YiZA">
           <body>References a Message.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1MKRdwbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VaEKBRE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g1MKRtwbEeCT5O2F6sGn5g" name="MessageEvent" isAbstract="true">
-      <ownedComment xmi:id="_g1MKR9wbEeCT5O2F6sGn5g" annotatedElement="_g1MKRtwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VaEKBhE9EeGOffqMW1YiZA" name="MessageEvent" isAbstract="true">
+      <ownedComment xmi:id="_VaEKBxE9EeGOffqMW1YiZA" annotatedElement="_VaEKBhE9EeGOffqMW1YiZA">
         <body>A message event specifies the receipt by an object of either a call or a signal.</body>
       </ownedComment>
-      <generalization xmi:id="_g1MKSNwbEeCT5O2F6sGn5g" general="_g0N54NwbEeCT5O2F6sGn5g"/>
+      <generalization xmi:id="_VaEKCBE9EeGOffqMW1YiZA" general="_VZOcgBE9EeGOffqMW1YiZA"/>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g1MKSdwbEeCT5O2F6sGn5g" name="MessageOccurrenceSpecification">
-      <ownedComment xmi:id="_g1MKStwbEeCT5O2F6sGn5g" annotatedElement="_g1MKSdwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VaExEBE9EeGOffqMW1YiZA" name="MessageOccurrenceSpecification">
+      <ownedComment xmi:id="_VaExERE9EeGOffqMW1YiZA" annotatedElement="_VaExEBE9EeGOffqMW1YiZA">
         <body>A message occurrence specification pecifies the occurrence of message events, such as sending and receiving of signals or invoking or receiving of operation calls. A message occurrence specification is a kind of message end. Messages are generated either by synchronous operation calls or asynchronous signal sends. They are received by the execution of corresponding accept event actions.</body>
       </ownedComment>
-      <generalization xmi:id="_g1MKS9wbEeCT5O2F6sGn5g" general="_g1MKQNwbEeCT5O2F6sGn5g"/>
-      <generalization xmi:id="_g1MKTNwbEeCT5O2F6sGn5g" general="_g1XwcNwbEeCT5O2F6sGn5g"/>
+      <generalization xmi:id="_VaExEhE9EeGOffqMW1YiZA" general="_VbdRIBE9EeGOffqMW1YiZA"/>
+      <generalization xmi:id="_VaExExE9EeGOffqMW1YiZA" general="_VaEKABE9EeGOffqMW1YiZA"/>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="_NVhqMGv0Edq7X4sGURiZYA" name="Model">
-      <ownedComment xmi:id="_g1MKTdwbEeCT5O2F6sGn5g" annotatedElement="_NVhqMGv0Edq7X4sGURiZYA">
+      <ownedComment xmi:id="_VaExFBE9EeGOffqMW1YiZA" annotatedElement="_NVhqMGv0Edq7X4sGURiZYA">
         <body>A model captures a view of a physical system. It is an abstraction of the physical system, with a certain purpose. This purpose determines what is to be included in the model and what is irrelevant. Thus the model completely describes those aspects of the physical system that are relevant to the purpose of the model, at the appropriate level of detail.</body>
       </ownedComment>
-      <generalization xmi:id="_g1MKTtwbEeCT5O2F6sGn5g" general="_-cvRAGvzEdq7X4sGURiZYA"/>
+      <generalization xmi:id="_VaExFRE9EeGOffqMW1YiZA" general="_-cvRAGvzEdq7X4sGURiZYA"/>
       <ownedAttribute xmi:id="_vyLfILG3EeCDe8CO90iVKQ" name="viewpoint" visibility="public">
-        <ownedComment xmi:id="_g1MxUNwbEeCT5O2F6sGn5g" annotatedElement="_vyLfILG3EeCDe8CO90iVKQ">
+        <ownedComment xmi:id="_VaExFhE9EeGOffqMW1YiZA" annotatedElement="_vyLfILG3EeCDe8CO90iVKQ">
           <body>The name of the viewpoint that is expressed by a model (This name may refer to a profile definition).</body>
         </ownedComment>
         <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1MxUdwbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VaExFxE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
       <ownedOperation xmi:id="_9nl2EGwREdq14q0ETb1t3g" name="isMetamodel" isQuery="true">
         <ownedComment xmi:id="_9s0W0OwiEdqYHf-imTcTdw" annotatedElement="_9nl2EGwREdq14q0ETb1t3g">
@@ -8919,87 +8922,87 @@
       </ownedOperation>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="_Gjgl0GveEdq4DLWZOhbdEA" name="MultiplicityElement" isAbstract="true">
-      <ownedComment xmi:id="_g1MxUtwbEeCT5O2F6sGn5g" annotatedElement="_Gjgl0GveEdq4DLWZOhbdEA">
+      <ownedComment xmi:id="_VaF_MBE9EeGOffqMW1YiZA" annotatedElement="_Gjgl0GveEdq4DLWZOhbdEA">
         <body>A multiplicity is a definition of an inclusive interval of non-negative integers beginning with a lower bound and ending with a (possibly infinite) upper bound. A multiplicity element embeds this information to specify the allowable cardinalities for an instantiation of this element.</body>
       </ownedComment>
-      <ownedRule xmi:id="_g1MxU9wbEeCT5O2F6sGn5g" name="upper_ge_lower" constrainedElement="_Gjgl0GveEdq4DLWZOhbdEA">
-        <ownedComment xmi:id="_g1MxVNwbEeCT5O2F6sGn5g" annotatedElement="_g1MxU9wbEeCT5O2F6sGn5g">
-          <body>The upper bound must be greater than or equal to the lower bound.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1MxVdwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>(upperBound()->notEmpty() and lowerBound()->notEmpty()) implies upperBound() >= lowerBound()</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_g1NYYNwbEeCT5O2F6sGn5g" name="lower_ge_0" constrainedElement="_Gjgl0GveEdq4DLWZOhbdEA">
-        <ownedComment xmi:id="_g1NYYdwbEeCT5O2F6sGn5g" annotatedElement="_g1NYYNwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VaF_MRE9EeGOffqMW1YiZA" name="lower_ge_0" constrainedElement="_Gjgl0GveEdq4DLWZOhbdEA">
+        <ownedComment xmi:id="_VaF_MhE9EeGOffqMW1YiZA" annotatedElement="_VaF_MRE9EeGOffqMW1YiZA">
           <body>The lower bound must be a non-negative integer literal.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1NYYtwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VaF_MxE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>lowerBound()->notEmpty() implies lowerBound() >= 0</body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_g1NYY9wbEeCT5O2F6sGn5g" name="value_specification_no_side_effects" constrainedElement="_Gjgl0GveEdq4DLWZOhbdEA">
-        <ownedComment xmi:id="_g1NYZNwbEeCT5O2F6sGn5g" annotatedElement="_g1NYY9wbEeCT5O2F6sGn5g">
-          <body>If a non-literal ValueSpecification is used for the lower or upper bound, then evaluating that specification must not have side effects.</body>
+      <ownedRule xmi:id="_VaF_NBE9EeGOffqMW1YiZA" name="upper_ge_lower" constrainedElement="_Gjgl0GveEdq4DLWZOhbdEA">
+        <ownedComment xmi:id="_VaF_NRE9EeGOffqMW1YiZA" annotatedElement="_VaF_NBE9EeGOffqMW1YiZA">
+          <body>The upper bound must be greater than or equal to the lower bound.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1NYZdwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VaF_NhE9EeGOffqMW1YiZA">
           <language>OCL</language>
-          <body>true</body>
+          <body>(upperBound()->notEmpty() and lowerBound()->notEmpty()) implies upperBound() >= lowerBound()</body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_g1NYZtwbEeCT5O2F6sGn5g" name="value_specification_constant" constrainedElement="_Gjgl0GveEdq4DLWZOhbdEA">
-        <ownedComment xmi:id="_g1NYZ9wbEeCT5O2F6sGn5g" annotatedElement="_g1NYZtwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VaF_NxE9EeGOffqMW1YiZA" name="value_specification_constant" constrainedElement="_Gjgl0GveEdq4DLWZOhbdEA">
+        <ownedComment xmi:id="_VaF_OBE9EeGOffqMW1YiZA" annotatedElement="_VaF_NxE9EeGOffqMW1YiZA">
           <body>If a non-literal ValueSpecification is used for the lower or upper bound, then that specification must be a constant expression.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1NYaNwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VaF_ORE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>true</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_g1NYadwbEeCT5O2F6sGn5g" general="_kl90MGvbEdq4DLWZOhbdEA"/>
-      <ownedAttribute xmi:id="_g1NYatwbEeCT5O2F6sGn5g" name="isOrdered" visibility="public">
-        <ownedComment xmi:id="_g1NYa9wbEeCT5O2F6sGn5g" annotatedElement="_g1NYatwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VaGmQBE9EeGOffqMW1YiZA" name="value_specification_no_side_effects" constrainedElement="_Gjgl0GveEdq4DLWZOhbdEA">
+        <ownedComment xmi:id="_VaGmQRE9EeGOffqMW1YiZA" annotatedElement="_VaGmQBE9EeGOffqMW1YiZA">
+          <body>If a non-literal ValueSpecification is used for the lower or upper bound, then evaluating that specification must not have side effects.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VaGmQhE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>true</body>
+        </specification>
+      </ownedRule>
+      <generalization xmi:id="_VaGmQxE9EeGOffqMW1YiZA" general="_kl90MGvbEdq4DLWZOhbdEA"/>
+      <ownedAttribute xmi:id="_VaGmRBE9EeGOffqMW1YiZA" name="isOrdered" visibility="public">
+        <ownedComment xmi:id="_VaGmRRE9EeGOffqMW1YiZA" annotatedElement="_VaGmRBE9EeGOffqMW1YiZA">
           <body>For a multivalued multiplicity, this attribute specifies whether the values in an instantiation of this element are sequentially ordered.</body>
         </ownedComment>
         <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
-        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_g1NYbNwbEeCT5O2F6sGn5g"/>
+        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_VaGmRhE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g1NYbdwbEeCT5O2F6sGn5g" name="isUnique" visibility="public">
-        <ownedComment xmi:id="_g1NYbtwbEeCT5O2F6sGn5g" annotatedElement="_g1NYbdwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VaHNUBE9EeGOffqMW1YiZA" name="isUnique" visibility="public">
+        <ownedComment xmi:id="_VaHNURE9EeGOffqMW1YiZA" annotatedElement="_VaHNUBE9EeGOffqMW1YiZA">
           <body>For a multivalued multiplicity, this attributes specifies whether the values in an instantiation of this element are unique.</body>
         </ownedComment>
         <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
-        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_g1NYb9wbEeCT5O2F6sGn5g" value="true"/>
+        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_VaHNUhE9EeGOffqMW1YiZA" value="true"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g1NYcNwbEeCT5O2F6sGn5g" name="lower" visibility="public" isDerived="true">
-        <ownedComment xmi:id="_g1NYcdwbEeCT5O2F6sGn5g" annotatedElement="_g1NYcNwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VaHNUxE9EeGOffqMW1YiZA" name="lower" visibility="public" isDerived="true">
+        <ownedComment xmi:id="_VaHNVBE9EeGOffqMW1YiZA" annotatedElement="_VaHNUxE9EeGOffqMW1YiZA">
           <body>Specifies the lower bound of the multiplicity interval.</body>
         </ownedComment>
         <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1NYctwbEeCT5O2F6sGn5g"/>
-        <defaultValue xmi:type="uml:LiteralInteger" xmi:id="_g1NYc9wbEeCT5O2F6sGn5g" value="1"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VaHNVRE9EeGOffqMW1YiZA"/>
+        <defaultValue xmi:type="uml:LiteralInteger" xmi:id="_VaHNVhE9EeGOffqMW1YiZA" value="1"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g1NYdNwbEeCT5O2F6sGn5g" name="lowerValue" visibility="public" type="_g2YdENwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_g0JocNwbEeCT5O2F6sGn5g" association="_gyh33NwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1NYddwbEeCT5O2F6sGn5g" annotatedElement="_g1NYdNwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VaHNVxE9EeGOffqMW1YiZA" name="lowerValue" visibility="public" type="_VfGbABE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_GDD2YAtAEeGcpbeCPJfCmw" association="_VTuRdhE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VaHNWBE9EeGOffqMW1YiZA" annotatedElement="_VaHNVxE9EeGOffqMW1YiZA">
           <body>The specification of the lower bound for this multiplicity.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1NYdtwbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VaHNWRE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g1NYd9wbEeCT5O2F6sGn5g" name="upper" visibility="public" isDerived="true">
-        <ownedComment xmi:id="_g1NYeNwbEeCT5O2F6sGn5g" annotatedElement="_g1NYd9wbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VaHNWhE9EeGOffqMW1YiZA" name="upper" visibility="public" isDerived="true">
+        <ownedComment xmi:id="_VaHNWxE9EeGOffqMW1YiZA" annotatedElement="_VaHNWhE9EeGOffqMW1YiZA">
           <body>Specifies the upper bound of the multiplicity interval.</body>
         </ownedComment>
         <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#UnlimitedNatural"/>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1N_cNwbEeCT5O2F6sGn5g"/>
-        <defaultValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g1N_cdwbEeCT5O2F6sGn5g" value="1"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VaHNXBE9EeGOffqMW1YiZA"/>
+        <defaultValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VaHNXRE9EeGOffqMW1YiZA" value="1"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g1N_ctwbEeCT5O2F6sGn5g" name="upperValue" visibility="public" type="_g2YdENwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_g0JocNwbEeCT5O2F6sGn5g" association="_gy-jy9wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1N_c9wbEeCT5O2F6sGn5g" annotatedElement="_g1N_ctwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VaHNXhE9EeGOffqMW1YiZA" name="upperValue" visibility="public" type="_VfGbABE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_GDD2YAtAEeGcpbeCPJfCmw" association="_VUuXABE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VaHNXxE9EeGOffqMW1YiZA" annotatedElement="_VaHNXhE9EeGOffqMW1YiZA">
           <body>The specification of the upper bound for this multiplicity.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1N_dNwbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VaHNYBE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
       <ownedOperation xmi:id="_qtCaIFYkEdqB6vblk3tuMA" name="setLower" visibility="protected">
         <ownedParameter xmi:id="_scWboFYkEdqB6vblk3tuMA" name="newLower" visibility="protected" effect="read">
@@ -9011,241 +9014,241 @@
           <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#UnlimitedNatural"/>
         </ownedParameter>
       </ownedOperation>
-      <ownedOperation xmi:id="_g1N_ddwbEeCT5O2F6sGn5g" name="compatibleWith" visibility="public" bodyCondition="_g1N_d9wbEeCT5O2F6sGn5g" isQuery="true">
-        <ownedComment xmi:id="_g1N_dtwbEeCT5O2F6sGn5g" annotatedElement="_g1N_ddwbEeCT5O2F6sGn5g">
+      <ownedOperation xmi:id="_VaH0YBE9EeGOffqMW1YiZA" name="compatibleWith" visibility="public" bodyCondition="_VaH0YhE9EeGOffqMW1YiZA" isQuery="true">
+        <ownedComment xmi:id="_VaH0YRE9EeGOffqMW1YiZA" annotatedElement="_VaH0YBE9EeGOffqMW1YiZA">
           <body>The operation compatibleWith takes another multiplicity as input. It checks if one multiplicity is compatible with another.</body>
         </ownedComment>
-        <ownedRule xmi:id="_g1N_d9wbEeCT5O2F6sGn5g" name="spec" constrainedElement="_g1N_ddwbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1N_eNwbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VaH0YhE9EeGOffqMW1YiZA" name="spec" constrainedElement="_VaH0YBE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VaH0YxE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = Integer.allInstances()->forAll(i : Integer | self.includesCardinality(i) implies other.includesCardinality(i))</body>
           </specification>
         </ownedRule>
-        <ownedParameter xmi:id="_g1N_edwbEeCT5O2F6sGn5g" name="result" visibility="public" direction="return">
+        <ownedParameter xmi:id="_VaH0ZBE9EeGOffqMW1YiZA" name="result" visibility="public" direction="return">
           <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
         </ownedParameter>
-        <ownedParameter xmi:id="_g1N_etwbEeCT5O2F6sGn5g" name="other" visibility="public" type="_Gjgl0GveEdq4DLWZOhbdEA"/>
+        <ownedParameter xmi:id="_VaH0ZRE9EeGOffqMW1YiZA" name="other" visibility="public" type="_Gjgl0GveEdq4DLWZOhbdEA"/>
       </ownedOperation>
-      <ownedOperation xmi:id="_g1N_e9wbEeCT5O2F6sGn5g" name="includesCardinality" visibility="public" bodyCondition="_g1N_f9wbEeCT5O2F6sGn5g" isQuery="true" precondition="_g1N_fdwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1N_fNwbEeCT5O2F6sGn5g" annotatedElement="_g1N_e9wbEeCT5O2F6sGn5g">
+      <ownedOperation xmi:id="_VaH0ZhE9EeGOffqMW1YiZA" name="includesCardinality" visibility="public" bodyCondition="_VaH0ahE9EeGOffqMW1YiZA" isQuery="true" precondition="_VaH0aBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VaH0ZxE9EeGOffqMW1YiZA" annotatedElement="_VaH0ZhE9EeGOffqMW1YiZA">
           <body>The query includesCardinality() checks whether the specified cardinality is valid for this multiplicity.</body>
         </ownedComment>
-        <ownedRule xmi:id="_g1N_fdwbEeCT5O2F6sGn5g" name="pre" constrainedElement="_g1N_e9wbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1N_ftwbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VaH0aBE9EeGOffqMW1YiZA" name="pre" constrainedElement="_VaH0ZhE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VaH0aRE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>upperBound()->notEmpty() and lowerBound()->notEmpty()</body>
           </specification>
         </ownedRule>
-        <ownedRule xmi:id="_g1N_f9wbEeCT5O2F6sGn5g" name="spec" constrainedElement="_g1N_e9wbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1N_gNwbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VaH0ahE9EeGOffqMW1YiZA" name="spec" constrainedElement="_VaH0ZhE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VaH0axE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = (lowerBound() &lt;= C) and (upperBound() >= C)</body>
           </specification>
         </ownedRule>
-        <ownedParameter xmi:id="_g1N_gdwbEeCT5O2F6sGn5g" name="result" visibility="public" direction="return">
+        <ownedParameter xmi:id="_VaH0bBE9EeGOffqMW1YiZA" name="result" visibility="public" direction="return">
           <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
         </ownedParameter>
-        <ownedParameter xmi:id="_g1N_gtwbEeCT5O2F6sGn5g" name="C" visibility="public">
+        <ownedParameter xmi:id="_VaH0bRE9EeGOffqMW1YiZA" name="C" visibility="public">
           <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
         </ownedParameter>
       </ownedOperation>
-      <ownedOperation xmi:id="_g1N_g9wbEeCT5O2F6sGn5g" name="includesMultiplicity" visibility="public" bodyCondition="_g1N_h9wbEeCT5O2F6sGn5g" isQuery="true" precondition="_g1N_hdwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1N_hNwbEeCT5O2F6sGn5g" annotatedElement="_g1N_g9wbEeCT5O2F6sGn5g">
+      <ownedOperation xmi:id="_VaIbcBE9EeGOffqMW1YiZA" name="includesMultiplicity" visibility="public" bodyCondition="_VaIbchE9EeGOffqMW1YiZA" isQuery="true" precondition="_VaIbdBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VaIbcRE9EeGOffqMW1YiZA" annotatedElement="_VaIbcBE9EeGOffqMW1YiZA">
           <body>The query includesMultiplicity() checks whether this multiplicity includes all the cardinalities allowed by the specified multiplicity.</body>
         </ownedComment>
-        <ownedRule xmi:id="_g1N_hdwbEeCT5O2F6sGn5g" name="pre" constrainedElement="_g1N_g9wbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1N_htwbEeCT5O2F6sGn5g">
-            <language>OCL</language>
-            <body>self.upperBound()->notEmpty() and self.lowerBound()->notEmpty() and M.upperBound()->notEmpty() and M.lowerBound()->notEmpty()</body>
-          </specification>
-        </ownedRule>
-        <ownedRule xmi:id="_g1N_h9wbEeCT5O2F6sGn5g" name="spec" constrainedElement="_g1N_g9wbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1N_iNwbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VaIbchE9EeGOffqMW1YiZA" name="spec" constrainedElement="_VaIbcBE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VaIbcxE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = (self.lowerBound() &lt;= M.lowerBound()) and (self.upperBound() >= M.upperBound())</body>
           </specification>
         </ownedRule>
-        <ownedParameter xmi:id="_g1N_idwbEeCT5O2F6sGn5g" name="result" visibility="public" direction="return">
+        <ownedRule xmi:id="_VaIbdBE9EeGOffqMW1YiZA" name="pre" constrainedElement="_VaIbcBE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VaIbdRE9EeGOffqMW1YiZA">
+            <language>OCL</language>
+            <body>self.upperBound()->notEmpty() and self.lowerBound()->notEmpty() and M.upperBound()->notEmpty() and M.lowerBound()->notEmpty()</body>
+          </specification>
+        </ownedRule>
+        <ownedParameter xmi:id="_VaIbdhE9EeGOffqMW1YiZA" name="result" visibility="public" direction="return">
           <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
         </ownedParameter>
-        <ownedParameter xmi:id="_g1N_itwbEeCT5O2F6sGn5g" name="M" visibility="public" type="_Gjgl0GveEdq4DLWZOhbdEA"/>
+        <ownedParameter xmi:id="_VaIbdxE9EeGOffqMW1YiZA" name="M" visibility="public" type="_Gjgl0GveEdq4DLWZOhbdEA"/>
       </ownedOperation>
-      <ownedOperation xmi:id="_g1OmgNwbEeCT5O2F6sGn5g" name="is" visibility="public" bodyCondition="_g1OmgtwbEeCT5O2F6sGn5g" isQuery="true">
-        <ownedComment xmi:id="_g1OmgdwbEeCT5O2F6sGn5g" annotatedElement="_g1OmgNwbEeCT5O2F6sGn5g">
+      <ownedOperation xmi:id="_VaJpkBE9EeGOffqMW1YiZA" name="is" visibility="public" bodyCondition="_VaJpkhE9EeGOffqMW1YiZA" isQuery="true">
+        <ownedComment xmi:id="_VaJpkRE9EeGOffqMW1YiZA" annotatedElement="_VaJpkBE9EeGOffqMW1YiZA">
           <body>The operation is determines if the upper and lower bound of the ranges are the ones given.</body>
         </ownedComment>
-        <ownedRule xmi:id="_g1OmgtwbEeCT5O2F6sGn5g" name="spec" constrainedElement="_g1OmgNwbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1Omg9wbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VaJpkhE9EeGOffqMW1YiZA" name="spec" constrainedElement="_VaJpkBE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VaJpkxE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = (lowerbound = self.lowerbound and upperbound = self.upperbound)</body>
           </specification>
         </ownedRule>
-        <ownedParameter xmi:id="_g1OmhNwbEeCT5O2F6sGn5g" name="result" visibility="public" direction="return">
+        <ownedParameter xmi:id="_VaJplBE9EeGOffqMW1YiZA" name="result" visibility="public" direction="return">
           <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
         </ownedParameter>
-        <ownedParameter xmi:id="_g1OmhdwbEeCT5O2F6sGn5g" name="lowerbound" visibility="public">
+        <ownedParameter xmi:id="_VaJplRE9EeGOffqMW1YiZA" name="lowerbound" visibility="public">
           <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
         </ownedParameter>
-        <ownedParameter xmi:id="_g1OmhtwbEeCT5O2F6sGn5g" name="upperbound" visibility="public">
+        <ownedParameter xmi:id="_VaJplhE9EeGOffqMW1YiZA" name="upperbound" visibility="public">
           <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
         </ownedParameter>
       </ownedOperation>
-      <ownedOperation xmi:id="_g1Omh9wbEeCT5O2F6sGn5g" name="isMultivalued" visibility="public" bodyCondition="_g1Omi9wbEeCT5O2F6sGn5g" isQuery="true" precondition="_g1OmidwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1OmiNwbEeCT5O2F6sGn5g" annotatedElement="_g1Omh9wbEeCT5O2F6sGn5g">
+      <ownedOperation xmi:id="_VaKQoBE9EeGOffqMW1YiZA" name="isMultivalued" visibility="public" bodyCondition="_VaKQohE9EeGOffqMW1YiZA" isQuery="true" precondition="_VaKQpBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VaKQoRE9EeGOffqMW1YiZA" annotatedElement="_VaKQoBE9EeGOffqMW1YiZA">
           <body>The query isMultivalued() checks whether this multiplicity has an upper bound greater than one.</body>
         </ownedComment>
-        <ownedRule xmi:id="_g1OmidwbEeCT5O2F6sGn5g" name="pre" constrainedElement="_g1Omh9wbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1OmitwbEeCT5O2F6sGn5g">
-            <language>OCL</language>
-            <body>upperBound()->notEmpty()</body>
-          </specification>
-        </ownedRule>
-        <ownedRule xmi:id="_g1Omi9wbEeCT5O2F6sGn5g" name="spec" constrainedElement="_g1Omh9wbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1OmjNwbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VaKQohE9EeGOffqMW1YiZA" name="spec" constrainedElement="_VaKQoBE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VaKQoxE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = upperBound() > 1</body>
           </specification>
         </ownedRule>
-        <ownedParameter xmi:id="_g1OmjdwbEeCT5O2F6sGn5g" name="result" visibility="public" direction="return">
+        <ownedRule xmi:id="_VaKQpBE9EeGOffqMW1YiZA" name="pre" constrainedElement="_VaKQoBE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VaKQpRE9EeGOffqMW1YiZA">
+            <language>OCL</language>
+            <body>upperBound()->notEmpty()</body>
+          </specification>
+        </ownedRule>
+        <ownedParameter xmi:id="_VaKQphE9EeGOffqMW1YiZA" name="result" visibility="public" direction="return">
           <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
         </ownedParameter>
       </ownedOperation>
-      <ownedOperation xmi:id="_Y8IpELL3EeCBifIhhuFqZA" name="lower" visibility="public" bodyCondition="_g1Omj9wbEeCT5O2F6sGn5g" isQuery="true">
-        <ownedComment xmi:id="_g1OmjtwbEeCT5O2F6sGn5g" annotatedElement="_Y8IpELL3EeCBifIhhuFqZA">
+      <ownedOperation xmi:id="_Y8IpELL3EeCBifIhhuFqZA" name="lower" visibility="public" bodyCondition="_VaK3sBE9EeGOffqMW1YiZA" isQuery="true">
+        <ownedComment xmi:id="_VaKQpxE9EeGOffqMW1YiZA" annotatedElement="_Y8IpELL3EeCBifIhhuFqZA">
           <body>The derived lower attribute must equal the lowerBound.</body>
         </ownedComment>
-        <ownedRule xmi:id="_g1Omj9wbEeCT5O2F6sGn5g" name="spec" constrainedElement="_Y8IpELL3EeCBifIhhuFqZA _g1NYcNwbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1OmkNwbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VaK3sBE9EeGOffqMW1YiZA" name="spec" constrainedElement="_Y8IpELL3EeCBifIhhuFqZA _VaHNUxE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VaK3sRE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = lowerBound()</body>
           </specification>
         </ownedRule>
         <ownedParameter xmi:id="_Y8IpEbL3EeCBifIhhuFqZA" name="result" visibility="public" direction="return">
           <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1OmkdwbEeCT5O2F6sGn5g"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VaK3shE9EeGOffqMW1YiZA"/>
         </ownedParameter>
       </ownedOperation>
-      <ownedOperation xmi:id="_g1PNkNwbEeCT5O2F6sGn5g" name="lowerBound" visibility="public" bodyCondition="_g1PNktwbEeCT5O2F6sGn5g" isQuery="true">
-        <ownedComment xmi:id="_g1PNkdwbEeCT5O2F6sGn5g" annotatedElement="_g1PNkNwbEeCT5O2F6sGn5g">
+      <ownedOperation xmi:id="_VaK3sxE9EeGOffqMW1YiZA" name="lowerBound" visibility="public" bodyCondition="_VaK3tRE9EeGOffqMW1YiZA" isQuery="true">
+        <ownedComment xmi:id="_VaK3tBE9EeGOffqMW1YiZA" annotatedElement="_VaK3sxE9EeGOffqMW1YiZA">
           <body>The query lowerBound() returns the lower bound of the multiplicity as an integer.</body>
         </ownedComment>
-        <ownedRule xmi:id="_g1PNktwbEeCT5O2F6sGn5g" name="spec" constrainedElement="_g1PNkNwbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1PNk9wbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VaK3tRE9EeGOffqMW1YiZA" name="spec" constrainedElement="_VaK3sxE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VaK3thE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = if lowerValue->isEmpty() then 1 else lowerValue.integerValue() endif</body>
           </specification>
         </ownedRule>
-        <ownedParameter xmi:id="_g1PNlNwbEeCT5O2F6sGn5g" name="result" visibility="public" direction="return">
+        <ownedParameter xmi:id="_VaK3txE9EeGOffqMW1YiZA" name="result" visibility="public" direction="return">
           <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1PNldwbEeCT5O2F6sGn5g"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VaK3uBE9EeGOffqMW1YiZA"/>
         </ownedParameter>
       </ownedOperation>
-      <ownedOperation xmi:id="_a_qnELL3EeCBifIhhuFqZA" name="upper" visibility="public" bodyCondition="_g1PNl9wbEeCT5O2F6sGn5g" isQuery="true">
-        <ownedComment xmi:id="_g1PNltwbEeCT5O2F6sGn5g" annotatedElement="_a_qnELL3EeCBifIhhuFqZA">
+      <ownedOperation xmi:id="_a_qnELL3EeCBifIhhuFqZA" name="upper" visibility="public" bodyCondition="_VaLewRE9EeGOffqMW1YiZA" isQuery="true">
+        <ownedComment xmi:id="_VaLewBE9EeGOffqMW1YiZA" annotatedElement="_a_qnELL3EeCBifIhhuFqZA">
           <body>The derived upper attribute must equal the upperBound.</body>
         </ownedComment>
-        <ownedRule xmi:id="_g1PNl9wbEeCT5O2F6sGn5g" name="spec" constrainedElement="_a_qnELL3EeCBifIhhuFqZA _g1NYd9wbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1PNmNwbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VaLewRE9EeGOffqMW1YiZA" name="spec" constrainedElement="_a_qnELL3EeCBifIhhuFqZA _VaHNWhE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VaLewhE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = upperBound()</body>
           </specification>
         </ownedRule>
         <ownedParameter xmi:id="_a_qnEbL3EeCBifIhhuFqZA" name="result" visibility="public" direction="return">
           <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#UnlimitedNatural"/>
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1PNmdwbEeCT5O2F6sGn5g"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VaLewxE9EeGOffqMW1YiZA"/>
         </ownedParameter>
       </ownedOperation>
-      <ownedOperation xmi:id="_g1PNmtwbEeCT5O2F6sGn5g" name="upperBound" visibility="public" bodyCondition="_g1PNnNwbEeCT5O2F6sGn5g" isQuery="true">
-        <ownedComment xmi:id="_g1PNm9wbEeCT5O2F6sGn5g" annotatedElement="_g1PNmtwbEeCT5O2F6sGn5g">
+      <ownedOperation xmi:id="_VaMF0BE9EeGOffqMW1YiZA" name="upperBound" visibility="public" bodyCondition="_VaMF0hE9EeGOffqMW1YiZA" isQuery="true">
+        <ownedComment xmi:id="_VaMF0RE9EeGOffqMW1YiZA" annotatedElement="_VaMF0BE9EeGOffqMW1YiZA">
           <body>The query upperBound() returns the upper bound of the multiplicity for a bounded multiplicity as an unlimited natural.</body>
         </ownedComment>
-        <ownedRule xmi:id="_g1PNnNwbEeCT5O2F6sGn5g" name="spec" constrainedElement="_g1PNmtwbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1PNndwbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VaMF0hE9EeGOffqMW1YiZA" name="spec" constrainedElement="_VaMF0BE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VaMF0xE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = if upperValue->isEmpty() then 1 else upperValue.unlimitedValue() endif</body>
           </specification>
         </ownedRule>
-        <ownedParameter xmi:id="_g1PNntwbEeCT5O2F6sGn5g" name="result" visibility="public" direction="return">
+        <ownedParameter xmi:id="_VaMF1BE9EeGOffqMW1YiZA" name="result" visibility="public" direction="return">
           <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#UnlimitedNatural"/>
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1PNn9wbEeCT5O2F6sGn5g"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VaMF1RE9EeGOffqMW1YiZA"/>
         </ownedParameter>
       </ownedOperation>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="_csVgUGvtEdqG6fBIPwe-mw" name="NamedElement" isAbstract="true">
-      <ownedComment xmi:id="_g1P0oNwbEeCT5O2F6sGn5g" annotatedElement="_csVgUGvtEdqG6fBIPwe-mw">
+      <ownedComment xmi:id="_VaMs4BE9EeGOffqMW1YiZA" annotatedElement="_csVgUGvtEdqG6fBIPwe-mw">
         <body>A named element supports using a string expression to specify its name. This allows names of model elements to involve template parameters. The actual name is evaluated from the string expression only when it is sensible to do so (e.g., when a template is bound).</body>
       </ownedComment>
-      <ownedComment xmi:id="_g1P0odwbEeCT5O2F6sGn5g" annotatedElement="_csVgUGvtEdqG6fBIPwe-mw">
+      <ownedComment xmi:id="_VaMs4RE9EeGOffqMW1YiZA" annotatedElement="_csVgUGvtEdqG6fBIPwe-mw">
         <body>A named element is an element in a model that may have a name.</body>
       </ownedComment>
-      <ownedRule xmi:id="_g1P0otwbEeCT5O2F6sGn5g" name="visibility_needs_ownership" constrainedElement="_csVgUGvtEdqG6fBIPwe-mw">
-        <ownedComment xmi:id="_g1P0o9wbEeCT5O2F6sGn5g" annotatedElement="_g1P0otwbEeCT5O2F6sGn5g">
-          <body>If a NamedElement is not owned by a Namespace, it does not have a visibility.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1P0pNwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>namespace->isEmpty() implies visibility->isEmpty()</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_g1P0pdwbEeCT5O2F6sGn5g" name="has_qualified_name" constrainedElement="_csVgUGvtEdqG6fBIPwe-mw">
-        <ownedComment xmi:id="_g1P0ptwbEeCT5O2F6sGn5g" annotatedElement="_g1P0pdwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VaMs4hE9EeGOffqMW1YiZA" name="has_qualified_name" constrainedElement="_csVgUGvtEdqG6fBIPwe-mw">
+        <ownedComment xmi:id="_VaMs4xE9EeGOffqMW1YiZA" annotatedElement="_VaMs4hE9EeGOffqMW1YiZA">
           <body>When there is a name, and all of the containing namespaces have a name, the qualified name is constructed from the names of the containing namespaces.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1P0p9wbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VaMs5BE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>(self.name->notEmpty() and self.allNamespaces()->select(ns | ns.name->isEmpty())->isEmpty()) implies
   self.qualifiedName = self.allNamespaces()->iterate( ns : Namespace; result: String = self.name | ns.name->union(self.separator())->union(result))</body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_g1P0qNwbEeCT5O2F6sGn5g" name="has_no_qualified_name" constrainedElement="_csVgUGvtEdqG6fBIPwe-mw">
-        <ownedComment xmi:id="_g1P0qdwbEeCT5O2F6sGn5g" annotatedElement="_g1P0qNwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VaMs5RE9EeGOffqMW1YiZA" name="has_no_qualified_name" constrainedElement="_csVgUGvtEdqG6fBIPwe-mw">
+        <ownedComment xmi:id="_VaMs5hE9EeGOffqMW1YiZA" annotatedElement="_VaMs5RE9EeGOffqMW1YiZA">
           <body>If there is no name, or one of the containing namespaces has no name, there is no qualified name.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1P0qtwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VaMs5xE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>(self.name->isEmpty() or self.allNamespaces()->select(ns | ns.name->isEmpty())->notEmpty())
   implies self.qualifiedName->isEmpty()</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_g1P0q9wbEeCT5O2F6sGn5g" general="_kl90MGvbEdq4DLWZOhbdEA"/>
-      <ownedAttribute xmi:id="_g1QbsNwbEeCT5O2F6sGn5g" name="clientDependency" visibility="public" type="_rEDGkGwKEdq7X4sGURiZYA" subsettedProperty="_gy5rStwbEeCT5O2F6sGn5g" association="_gyVDh9wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1QbsdwbEeCT5O2F6sGn5g" annotatedElement="_g1QbsNwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VaNT8BE9EeGOffqMW1YiZA" name="visibility_needs_ownership" constrainedElement="_csVgUGvtEdqG6fBIPwe-mw">
+        <ownedComment xmi:id="_VaNT8RE9EeGOffqMW1YiZA" annotatedElement="_VaNT8BE9EeGOffqMW1YiZA">
+          <body>If a NamedElement is not owned by a Namespace, it does not have a visibility.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VaNT8hE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>namespace->isEmpty() implies visibility->isEmpty()</body>
+        </specification>
+      </ownedRule>
+      <generalization xmi:id="_VaNT8xE9EeGOffqMW1YiZA" general="_kl90MGvbEdq4DLWZOhbdEA"/>
+      <ownedAttribute xmi:id="_VaN7ABE9EeGOffqMW1YiZA" name="clientDependency" visibility="public" type="_rEDGkGwKEdq7X4sGURiZYA" subsettedProperty="_VUkmBhE9EeGOffqMW1YiZA" association="_VTExMBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VaN7ARE9EeGOffqMW1YiZA" annotatedElement="_VaN7ABE9EeGOffqMW1YiZA">
           <body>Indicates the dependencies that reference the client.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1QbstwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g1Qbs9wbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VaN7AhE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VaN7AxE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
       <ownedAttribute xmi:id="_8n2t4LGzEeCDe8CO90iVKQ" name="name" visibility="public">
-        <ownedComment xmi:id="_g1QbtNwbEeCT5O2F6sGn5g" annotatedElement="_8n2t4LGzEeCDe8CO90iVKQ">
+        <ownedComment xmi:id="_VaN7BBE9EeGOffqMW1YiZA" annotatedElement="_8n2t4LGzEeCDe8CO90iVKQ">
           <body>The name of the NamedElement.</body>
         </ownedComment>
         <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1QbtdwbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VaN7BRE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g1QbttwbEeCT5O2F6sGn5g" name="nameExpression" visibility="public" type="_g2GwQNwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_g0JocNwbEeCT5O2F6sGn5g" association="_gykUGNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1Qbt9wbEeCT5O2F6sGn5g" annotatedElement="_g1QbttwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VaN7BhE9EeGOffqMW1YiZA" name="nameExpression" visibility="public" type="_VefXABE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_GDD2YAtAEeGcpbeCPJfCmw" association="_VTzxAxE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VaN7BxE9EeGOffqMW1YiZA" annotatedElement="_VaN7BhE9EeGOffqMW1YiZA">
           <body>The string expression used to define the name of this named element.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1QbuNwbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VaN7CBE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_1vzv0LbIEeCRxrN1JUGuxA" name="namespace" visibility="public" type="_ZiwkoGwLEdq7X4sGURiZYA" isReadOnly="true" isDerived="true" isDerivedUnion="true" subsettedProperty="_gyjF9NwbEeCT5O2F6sGn5g _g0JodNwbEeCT5O2F6sGn5g" association="_gypMmdwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1QbudwbEeCT5O2F6sGn5g" annotatedElement="_1vzv0LbIEeCRxrN1JUGuxA">
+      <ownedAttribute xmi:id="_1vzv0LbIEeCRxrN1JUGuxA" name="namespace" visibility="public" type="_ZiwkoGwLEdq7X4sGURiZYA" isReadOnly="true" isDerived="true" isDerivedUnion="true" subsettedProperty="_VTwttRE9EeGOffqMW1YiZA _N3hRMAtAEeGcpbeCPJfCmw" association="_VUBMYRE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VaN7CRE9EeGOffqMW1YiZA" annotatedElement="_1vzv0LbIEeCRxrN1JUGuxA">
           <body>Specifies the namespace that owns the NamedElement.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1QbutwbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VaOiEBE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g1Qbu9wbEeCT5O2F6sGn5g" name="qualifiedName" visibility="public" isReadOnly="true" isDerived="true">
-        <ownedComment xmi:id="_g1QbvNwbEeCT5O2F6sGn5g" annotatedElement="_g1Qbu9wbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VaOiERE9EeGOffqMW1YiZA" name="qualifiedName" visibility="public" isReadOnly="true" isDerived="true">
+        <ownedComment xmi:id="_VaOiEhE9EeGOffqMW1YiZA" annotatedElement="_VaOiERE9EeGOffqMW1YiZA">
           <body>A name which allows the NamedElement to be identified within a hierarchy of nested Namespaces. It is constructed from the names of the containing namespaces starting at the root of the hierarchy and ending with the name of the NamedElement itself.</body>
         </ownedComment>
         <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1QbvdwbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VaOiExE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
       <ownedAttribute xmi:id="_PfdtELG0EeCDe8CO90iVKQ" name="visibility" visibility="public" type="_AyM_oGwMEdq7X4sGURiZYA">
-        <ownedComment xmi:id="_g1RCwNwbEeCT5O2F6sGn5g" annotatedElement="_PfdtELG0EeCDe8CO90iVKQ">
+        <ownedComment xmi:id="_VaOiFBE9EeGOffqMW1YiZA" annotatedElement="_PfdtELG0EeCDe8CO90iVKQ">
           <body>Determines where the NamedElement appears within different Namespaces within the overall model, and its accessibility.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1RCwdwbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VaOiFRE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
       <ownedOperation xmi:id="_o2CW4GwKEdq7X4sGURiZYA" name="createDependency">
         <ownedComment xmi:id="_kZ5L8OwgEdqYHf-imTcTdw" annotatedElement="_o2CW4GwKEdq7X4sGURiZYA">
@@ -9295,12 +9298,12 @@
           <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
         </ownedParameter>
       </ownedOperation>
-      <ownedOperation xmi:id="_g1RCwtwbEeCT5O2F6sGn5g" name="allNamespaces" visibility="public" bodyCondition="_g1RCxNwbEeCT5O2F6sGn5g" isQuery="true">
-        <ownedComment xmi:id="_g1RCw9wbEeCT5O2F6sGn5g" annotatedElement="_g1RCwtwbEeCT5O2F6sGn5g">
+      <ownedOperation xmi:id="_VaPJIBE9EeGOffqMW1YiZA" name="allNamespaces" visibility="public" bodyCondition="_VaPJIhE9EeGOffqMW1YiZA" isQuery="true">
+        <ownedComment xmi:id="_VaPJIRE9EeGOffqMW1YiZA" annotatedElement="_VaPJIBE9EeGOffqMW1YiZA">
           <body>The query allNamespaces() gives the sequence of namespaces in which the NamedElement is nested, working outwards.</body>
         </ownedComment>
-        <ownedRule xmi:id="_g1RCxNwbEeCT5O2F6sGn5g" name="spec" constrainedElement="_g1RCwtwbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1RCxdwbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VaPJIhE9EeGOffqMW1YiZA" name="spec" constrainedElement="_VaPJIBE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VaPJIxE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = if self.namespace->isEmpty()
 then Sequence{}
@@ -9308,32 +9311,32 @@
 endif</body>
           </specification>
         </ownedRule>
-        <ownedParameter xmi:id="_g1RCxtwbEeCT5O2F6sGn5g" name="result" visibility="public" type="_ZiwkoGwLEdq7X4sGURiZYA" isOrdered="true" direction="return">
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1RCx9wbEeCT5O2F6sGn5g"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g1RCyNwbEeCT5O2F6sGn5g" value="*"/>
+        <ownedParameter xmi:id="_VaPJJBE9EeGOffqMW1YiZA" name="result" visibility="public" type="_ZiwkoGwLEdq7X4sGURiZYA" isOrdered="true" direction="return">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VaPJJRE9EeGOffqMW1YiZA"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VaPJJhE9EeGOffqMW1YiZA" value="*"/>
         </ownedParameter>
       </ownedOperation>
-      <ownedOperation xmi:id="_g1RCydwbEeCT5O2F6sGn5g" name="allOwningPackages" visibility="public" bodyCondition="_g1RCy9wbEeCT5O2F6sGn5g" isQuery="true">
-        <ownedComment xmi:id="_g1RCytwbEeCT5O2F6sGn5g" annotatedElement="_g1RCydwbEeCT5O2F6sGn5g">
+      <ownedOperation xmi:id="_VaPJJxE9EeGOffqMW1YiZA" name="allOwningPackages" visibility="public" bodyCondition="_VaPJKRE9EeGOffqMW1YiZA" isQuery="true">
+        <ownedComment xmi:id="_VaPJKBE9EeGOffqMW1YiZA" annotatedElement="_VaPJJxE9EeGOffqMW1YiZA">
           <body>The query allOwningPackages() returns all the directly or indirectly owning packages.</body>
         </ownedComment>
-        <ownedRule xmi:id="_g1RCy9wbEeCT5O2F6sGn5g" name="spec" constrainedElement="_g1RCydwbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1RCzNwbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VaPJKRE9EeGOffqMW1YiZA" name="spec" constrainedElement="_VaPJJxE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VaPJKhE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = self.namespace->select(p | p.oclIsKindOf(Package))->union(p.allOwningPackages())</body>
           </specification>
         </ownedRule>
-        <ownedParameter xmi:id="_g1RCzdwbEeCT5O2F6sGn5g" name="result" visibility="public" type="_-cvRAGvzEdq7X4sGURiZYA" direction="return">
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1RCztwbEeCT5O2F6sGn5g"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g1RCz9wbEeCT5O2F6sGn5g" value="*"/>
+        <ownedParameter xmi:id="_VaPJKxE9EeGOffqMW1YiZA" name="result" visibility="public" type="_-cvRAGvzEdq7X4sGURiZYA" direction="return">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VaPJLBE9EeGOffqMW1YiZA"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VaPJLRE9EeGOffqMW1YiZA" value="*"/>
         </ownedParameter>
       </ownedOperation>
-      <ownedOperation xmi:id="_g1Rp0NwbEeCT5O2F6sGn5g" name="isDistinguishableFrom" visibility="public" bodyCondition="_g1Rp0twbEeCT5O2F6sGn5g" isQuery="true">
-        <ownedComment xmi:id="_g1Rp0dwbEeCT5O2F6sGn5g" annotatedElement="_g1Rp0NwbEeCT5O2F6sGn5g">
+      <ownedOperation xmi:id="_VaPwMBE9EeGOffqMW1YiZA" name="isDistinguishableFrom" visibility="public" bodyCondition="_VaPwMhE9EeGOffqMW1YiZA" isQuery="true">
+        <ownedComment xmi:id="_VaPwMRE9EeGOffqMW1YiZA" annotatedElement="_VaPwMBE9EeGOffqMW1YiZA">
           <body>The query isDistinguishableFrom() determines whether two NamedElements may logically co-exist within a Namespace. By default, two named elements are distinguishable if (a) they have unrelated types or (b) they have related types but different names.</body>
         </ownedComment>
-        <ownedRule xmi:id="_g1Rp0twbEeCT5O2F6sGn5g" name="spec" constrainedElement="_g1Rp0NwbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1Rp09wbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VaPwMhE9EeGOffqMW1YiZA" name="spec" constrainedElement="_VaPwMBE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VaPwMxE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = if self.oclIsKindOf(n.oclType) or n.oclIsKindOf(self.oclType)
 then ns.getNamesOfMember(self)->intersection(ns.getNamesOfMember(n))->isEmpty()
@@ -9341,32 +9344,32 @@
 endif</body>
           </specification>
         </ownedRule>
-        <ownedParameter xmi:id="_g1Rp1NwbEeCT5O2F6sGn5g" name="result" visibility="public" direction="return">
+        <ownedParameter xmi:id="_VaPwNBE9EeGOffqMW1YiZA" name="result" visibility="public" direction="return">
           <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
         </ownedParameter>
-        <ownedParameter xmi:id="_g1Rp1dwbEeCT5O2F6sGn5g" name="n" visibility="public" type="_csVgUGvtEdqG6fBIPwe-mw"/>
-        <ownedParameter xmi:id="_g1Rp1twbEeCT5O2F6sGn5g" name="ns" visibility="public" type="_ZiwkoGwLEdq7X4sGURiZYA"/>
+        <ownedParameter xmi:id="_VaPwNRE9EeGOffqMW1YiZA" name="n" visibility="public" type="_csVgUGvtEdqG6fBIPwe-mw"/>
+        <ownedParameter xmi:id="_VaPwNhE9EeGOffqMW1YiZA" name="ns" visibility="public" type="_ZiwkoGwLEdq7X4sGURiZYA"/>
       </ownedOperation>
-      <ownedOperation xmi:id="_qV1f0LL3EeCBifIhhuFqZA" name="namespace" visibility="public" bodyCondition="_g1Rp2NwbEeCT5O2F6sGn5g" isQuery="true">
-        <ownedComment xmi:id="_g1Rp19wbEeCT5O2F6sGn5g" annotatedElement="_qV1f0LL3EeCBifIhhuFqZA">
+      <ownedOperation xmi:id="_qV1f0LL3EeCBifIhhuFqZA" name="namespace" visibility="public" bodyCondition="_VaPwOBE9EeGOffqMW1YiZA" isQuery="true">
+        <ownedComment xmi:id="_VaPwNxE9EeGOffqMW1YiZA" annotatedElement="_qV1f0LL3EeCBifIhhuFqZA">
           <body>Missing derivation for NamedElement::/namespace : Namespace</body>
         </ownedComment>
-        <ownedRule xmi:id="_g1Rp2NwbEeCT5O2F6sGn5g" name="spec" constrainedElement="_qV1f0LL3EeCBifIhhuFqZA _1vzv0LbIEeCRxrN1JUGuxA">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1Rp2dwbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VaPwOBE9EeGOffqMW1YiZA" name="spec" constrainedElement="_qV1f0LL3EeCBifIhhuFqZA _1vzv0LbIEeCRxrN1JUGuxA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VaPwORE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>true</body>
           </specification>
         </ownedRule>
         <ownedParameter xmi:id="_tdXRcLL3EeCBifIhhuFqZA" name="result" visibility="public" type="_ZiwkoGwLEdq7X4sGURiZYA" direction="return">
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1Rp2twbEeCT5O2F6sGn5g"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VaPwOhE9EeGOffqMW1YiZA"/>
         </ownedParameter>
       </ownedOperation>
-      <ownedOperation xmi:id="_8RZtgLL3EeCBifIhhuFqZA" name="qualifiedName" visibility="public" bodyCondition="_g1Rp3NwbEeCT5O2F6sGn5g" isQuery="true">
-        <ownedComment xmi:id="_g1Rp29wbEeCT5O2F6sGn5g" annotatedElement="_8RZtgLL3EeCBifIhhuFqZA">
+      <ownedOperation xmi:id="_8RZtgLL3EeCBifIhhuFqZA" name="qualifiedName" visibility="public" bodyCondition="_VapY0BE9EeGOffqMW1YiZA" isQuery="true">
+        <ownedComment xmi:id="_VaoxwBE9EeGOffqMW1YiZA" annotatedElement="_8RZtgLL3EeCBifIhhuFqZA">
           <body>When there is a name, and all of the containing namespaces have a name, the qualified name is constructed from the names of the containing namespaces.</body>
         </ownedComment>
-        <ownedRule xmi:id="_g1Rp3NwbEeCT5O2F6sGn5g" name="spec" constrainedElement="_8RZtgLL3EeCBifIhhuFqZA _g1Qbu9wbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1Rp3dwbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VapY0BE9EeGOffqMW1YiZA" name="spec" constrainedElement="_8RZtgLL3EeCBifIhhuFqZA _VaOiERE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VapY0RE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = if self.name->notEmpty() and self.allNamespaces()->select(ns | ns.name->isEmpty())->isEmpty()
 then 
@@ -9381,76 +9384,76 @@
           <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_BRyeMLL4EeCBifIhhuFqZA"/>
         </ownedParameter>
       </ownedOperation>
-      <ownedOperation xmi:id="_g1SQ4NwbEeCT5O2F6sGn5g" name="separator" visibility="public" bodyCondition="_g1SQ4twbEeCT5O2F6sGn5g" isQuery="true">
-        <ownedComment xmi:id="_g1SQ4dwbEeCT5O2F6sGn5g" annotatedElement="_g1SQ4NwbEeCT5O2F6sGn5g">
+      <ownedOperation xmi:id="_VapY0hE9EeGOffqMW1YiZA" name="separator" visibility="public" bodyCondition="_VapY1BE9EeGOffqMW1YiZA" isQuery="true">
+        <ownedComment xmi:id="_VapY0xE9EeGOffqMW1YiZA" annotatedElement="_VapY0hE9EeGOffqMW1YiZA">
           <body>The query separator() gives the string that is used to separate names when constructing a qualified name.</body>
         </ownedComment>
-        <ownedRule xmi:id="_g1SQ4twbEeCT5O2F6sGn5g" name="spec" constrainedElement="_g1SQ4NwbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1SQ49wbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VapY1BE9EeGOffqMW1YiZA" name="spec" constrainedElement="_VapY0hE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VapY1RE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = '::'</body>
           </specification>
         </ownedRule>
-        <ownedParameter xmi:id="_g1SQ5NwbEeCT5O2F6sGn5g" name="result" visibility="public" direction="return">
+        <ownedParameter xmi:id="_VapY1hE9EeGOffqMW1YiZA" name="result" visibility="public" direction="return">
           <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
         </ownedParameter>
       </ownedOperation>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="_ZiwkoGwLEdq7X4sGURiZYA" name="Namespace" isAbstract="true">
-      <ownedComment xmi:id="_g1S38NwbEeCT5O2F6sGn5g" annotatedElement="_ZiwkoGwLEdq7X4sGURiZYA">
+      <ownedComment xmi:id="_Vaqm8BE9EeGOffqMW1YiZA" annotatedElement="_ZiwkoGwLEdq7X4sGURiZYA">
         <body>A namespace is an element in a model that contains a set of named elements that can be identified by name.</body>
       </ownedComment>
-      <ownedRule xmi:id="_g1S38dwbEeCT5O2F6sGn5g" name="members_distinguishable" constrainedElement="_ZiwkoGwLEdq7X4sGURiZYA">
-        <ownedComment xmi:id="_g1S38twbEeCT5O2F6sGn5g" annotatedElement="_g1S38dwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_Vaqm8RE9EeGOffqMW1YiZA" name="members_distinguishable" constrainedElement="_ZiwkoGwLEdq7X4sGURiZYA">
+        <ownedComment xmi:id="_Vaqm8hE9EeGOffqMW1YiZA" annotatedElement="_Vaqm8RE9EeGOffqMW1YiZA">
           <body>All the members of a Namespace are distinguishable within it.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1S389wbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_Vaqm8xE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>membersAreDistinguishable()</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_g1S39NwbEeCT5O2F6sGn5g" general="_csVgUGvtEdqG6fBIPwe-mw"/>
-      <ownedAttribute xmi:id="_g1S39dwbEeCT5O2F6sGn5g" name="elementImport" visibility="public" type="_RPl78GwIEdq7X4sGURiZYA" aggregation="composite" subsettedProperty="_g0JocNwbEeCT5O2F6sGn5g _gy5rStwbEeCT5O2F6sGn5g" association="_gyZU-dwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1S39twbEeCT5O2F6sGn5g" annotatedElement="_g1S39dwbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_Vaqm9BE9EeGOffqMW1YiZA" general="_csVgUGvtEdqG6fBIPwe-mw"/>
+      <ownedAttribute xmi:id="_VarOABE9EeGOffqMW1YiZA" name="elementImport" visibility="public" type="_RPl78GwIEdq7X4sGURiZYA" aggregation="composite" subsettedProperty="_VUkmBhE9EeGOffqMW1YiZA _GDD2YAtAEeGcpbeCPJfCmw" association="_VTQ-cBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VarOARE9EeGOffqMW1YiZA" annotatedElement="_VarOABE9EeGOffqMW1YiZA">
           <body>References the ElementImports owned by the Namespace.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1S399wbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g1S3-NwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VarOAhE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VarOAxE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g1S3-dwbEeCT5O2F6sGn5g" name="importedMember" visibility="public" type="_jKxnwGwLEdq7X4sGURiZYA" isReadOnly="true" isDerived="true" subsettedProperty="_g1S3_dwbEeCT5O2F6sGn5g" association="_gyfbkNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1S3-twbEeCT5O2F6sGn5g" annotatedElement="_g1S3-dwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VarOBBE9EeGOffqMW1YiZA" name="importedMember" visibility="public" type="_jKxnwGwLEdq7X4sGURiZYA" isReadOnly="true" isDerived="true" subsettedProperty="_VarOCBE9EeGOffqMW1YiZA" association="_VTnjwBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VarOBRE9EeGOffqMW1YiZA" annotatedElement="_VarOBBE9EeGOffqMW1YiZA">
           <body>References the PackageableElements that are members of this Namespace as a result of either PackageImports or ElementImports.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1S3-9wbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g1S3_NwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VarOBhE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VarOBxE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g1S3_dwbEeCT5O2F6sGn5g" name="member" visibility="public" type="_csVgUGvtEdqG6fBIPwe-mw" isReadOnly="true" isDerived="true" isDerivedUnion="true" association="_gyjF89wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1S3_twbEeCT5O2F6sGn5g" annotatedElement="_g1S3_dwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VarOCBE9EeGOffqMW1YiZA" name="member" visibility="public" type="_csVgUGvtEdqG6fBIPwe-mw" isReadOnly="true" isDerived="true" isDerivedUnion="true" association="_VTwttBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VarOCRE9EeGOffqMW1YiZA" annotatedElement="_VarOCBE9EeGOffqMW1YiZA">
           <body>A collection of NamedElements identifiable within the Namespace, either by being owned or by being introduced by importing or inheritance.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1S3_9wbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g1S4ANwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VarOChE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VarOCxE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g1S4AdwbEeCT5O2F6sGn5g" name="ownedMember" visibility="public" type="_csVgUGvtEdqG6fBIPwe-mw" isReadOnly="true" aggregation="composite" isDerived="true" isDerivedUnion="true" subsettedProperty="_g1S3_dwbEeCT5O2F6sGn5g _g0JocNwbEeCT5O2F6sGn5g" association="_gypMmdwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1S4AtwbEeCT5O2F6sGn5g" annotatedElement="_g1S4AdwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_Var1EBE9EeGOffqMW1YiZA" name="ownedMember" visibility="public" type="_csVgUGvtEdqG6fBIPwe-mw" isReadOnly="true" aggregation="composite" isDerived="true" isDerivedUnion="true" subsettedProperty="_VarOCBE9EeGOffqMW1YiZA _GDD2YAtAEeGcpbeCPJfCmw" association="_VUBMYRE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_Var1ERE9EeGOffqMW1YiZA" annotatedElement="_Var1EBE9EeGOffqMW1YiZA">
           <body>A collection of NamedElements owned by the Namespace.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1S4A9wbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g1S4BNwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Var1EhE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Var1ExE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g1TfANwbEeCT5O2F6sGn5g" name="ownedRule" visibility="public" type="_g0AegNwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_g1S4AdwbEeCT5O2F6sGn5g" association="_gyqavtwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1TfAdwbEeCT5O2F6sGn5g" annotatedElement="_g1TfANwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_Var1FBE9EeGOffqMW1YiZA" name="ownedRule" visibility="public" type="_VYbLQBE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_Var1EBE9EeGOffqMW1YiZA" association="_VUDophE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_Var1FRE9EeGOffqMW1YiZA" annotatedElement="_Var1FBE9EeGOffqMW1YiZA">
           <body>Specifies a set of Constraints owned by this Namespace.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1TfAtwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g1TfA9wbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Var1FhE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Var1FxE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g1TfBNwbEeCT5O2F6sGn5g" name="packageImport" visibility="public" type="_SnNPIGwIEdq7X4sGURiZYA" aggregation="composite" subsettedProperty="_g0JocNwbEeCT5O2F6sGn5g _gy5rStwbEeCT5O2F6sGn5g" association="_gyrBydwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1TfBdwbEeCT5O2F6sGn5g" annotatedElement="_g1TfBNwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_Var1GBE9EeGOffqMW1YiZA" name="packageImport" visibility="public" type="_SnNPIGwIEdq7X4sGURiZYA" aggregation="composite" subsettedProperty="_VUkmBhE9EeGOffqMW1YiZA _GDD2YAtAEeGcpbeCPJfCmw" association="_VUFd0BE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_Var1GRE9EeGOffqMW1YiZA" annotatedElement="_Var1GBE9EeGOffqMW1YiZA">
           <body>References the PackageImports owned by the Namespace.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1TfBtwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g1TfB9wbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Var1GhE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Var1GxE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
       <ownedOperation xmi:id="_vI18QGwLEdq7X4sGURiZYA" name="createElementImport">
         <ownedComment xmi:id="_sdLToOwlEdqYHf-imTcTdw" annotatedElement="_vI18QGwLEdq7X4sGURiZYA">
@@ -9502,34 +9505,34 @@
           <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_6sF9AWwLEdq7X4sGURiZYA" value="*"/>
         </ownedParameter>
       </ownedOperation>
-      <ownedOperation xmi:id="_g1TfCNwbEeCT5O2F6sGn5g" name="excludeCollisions" visibility="public" bodyCondition="_g1TfCtwbEeCT5O2F6sGn5g" isQuery="true">
-        <ownedComment xmi:id="_g1TfCdwbEeCT5O2F6sGn5g" annotatedElement="_g1TfCNwbEeCT5O2F6sGn5g">
+      <ownedOperation xmi:id="_Var1HBE9EeGOffqMW1YiZA" name="excludeCollisions" visibility="public" bodyCondition="_Var1HhE9EeGOffqMW1YiZA" isQuery="true">
+        <ownedComment xmi:id="_Var1HRE9EeGOffqMW1YiZA" annotatedElement="_Var1HBE9EeGOffqMW1YiZA">
           <body>The query excludeCollisions() excludes from a set of PackageableElements any that would not be distinguishable from each other in this namespace.</body>
         </ownedComment>
-        <ownedRule xmi:id="_g1TfCtwbEeCT5O2F6sGn5g" name="spec" constrainedElement="_g1TfCNwbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1TfC9wbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_Var1HhE9EeGOffqMW1YiZA" name="spec" constrainedElement="_Var1HBE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_Var1HxE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = imps->reject(imp1 | imps.exists(imp2 | not imp1.isDistinguishableFrom(imp2, self)))</body>
           </specification>
         </ownedRule>
-        <ownedParameter xmi:id="_g1TfDNwbEeCT5O2F6sGn5g" name="result" visibility="public" type="_jKxnwGwLEdq7X4sGURiZYA" direction="return">
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1TfDdwbEeCT5O2F6sGn5g"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g1TfDtwbEeCT5O2F6sGn5g" value="*"/>
+        <ownedParameter xmi:id="_Var1IBE9EeGOffqMW1YiZA" name="result" visibility="public" type="_jKxnwGwLEdq7X4sGURiZYA" direction="return">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Var1IRE9EeGOffqMW1YiZA"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Var1IhE9EeGOffqMW1YiZA" value="*"/>
         </ownedParameter>
-        <ownedParameter xmi:id="_g1TfD9wbEeCT5O2F6sGn5g" name="imps" visibility="public" type="_jKxnwGwLEdq7X4sGURiZYA">
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1TfENwbEeCT5O2F6sGn5g"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g1TfEdwbEeCT5O2F6sGn5g" value="*"/>
+        <ownedParameter xmi:id="_Var1IxE9EeGOffqMW1YiZA" name="imps" visibility="public" type="_jKxnwGwLEdq7X4sGURiZYA">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Var1JBE9EeGOffqMW1YiZA"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Var1JRE9EeGOffqMW1YiZA" value="*"/>
         </ownedParameter>
       </ownedOperation>
-      <ownedOperation xmi:id="_g1UGENwbEeCT5O2F6sGn5g" name="getNamesOfMember" visibility="public" bodyCondition="_g1UGE9wbEeCT5O2F6sGn5g" isQuery="true">
-        <ownedComment xmi:id="_g1UGEdwbEeCT5O2F6sGn5g" annotatedElement="_g1UGENwbEeCT5O2F6sGn5g">
-          <body>The query getNamesOfMember() takes importing into account. It gives back the set of names that an element would have in an importing namespace, either because it is owned, or if not owned then imported individually, or if not individually then from a package.</body>
-        </ownedComment>
-        <ownedComment xmi:id="_g1UGEtwbEeCT5O2F6sGn5g" annotatedElement="_g1UGENwbEeCT5O2F6sGn5g">
+      <ownedOperation xmi:id="_VascIBE9EeGOffqMW1YiZA" name="getNamesOfMember" visibility="public" bodyCondition="_VascIxE9EeGOffqMW1YiZA" isQuery="true">
+        <ownedComment xmi:id="_VascIRE9EeGOffqMW1YiZA" annotatedElement="_VascIBE9EeGOffqMW1YiZA">
           <body>The query getNamesOfMember() gives a set of all of the names that a member would have in a Namespace. In general a member can have multiple names in a Namespace if it is imported more than once with different aliases. The query takes account of importing. It gives back the set of names that an element would have in an importing namespace, either because it is owned, or if not owned then imported individually, or if not individually then from a package.</body>
         </ownedComment>
-        <ownedRule xmi:id="_g1UGE9wbEeCT5O2F6sGn5g" name="spec" constrainedElement="_g1UGENwbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1UGFNwbEeCT5O2F6sGn5g">
+        <ownedComment xmi:id="_VascIhE9EeGOffqMW1YiZA" annotatedElement="_VascIBE9EeGOffqMW1YiZA">
+          <body>The query getNamesOfMember() takes importing into account. It gives back the set of names that an element would have in an importing namespace, either because it is owned, or if not owned then imported individually, or if not individually then from a package.</body>
+        </ownedComment>
+        <ownedRule xmi:id="_VascIxE9EeGOffqMW1YiZA" name="spec" constrainedElement="_VascIBE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VascJBE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = if self.ownedMember ->includes(element)
 then Set{}->include(element.name)
@@ -9541,102 +9544,102 @@
 endif</body>
           </specification>
         </ownedRule>
-        <ownedParameter xmi:id="_g1UGFdwbEeCT5O2F6sGn5g" name="result" visibility="public" direction="return">
+        <ownedParameter xmi:id="_VascJRE9EeGOffqMW1YiZA" name="result" visibility="public" direction="return">
           <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1UGFtwbEeCT5O2F6sGn5g"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g1UGF9wbEeCT5O2F6sGn5g" value="*"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VascJhE9EeGOffqMW1YiZA"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VascJxE9EeGOffqMW1YiZA" value="*"/>
         </ownedParameter>
-        <ownedParameter xmi:id="_g1UGGNwbEeCT5O2F6sGn5g" name="element" visibility="public" type="_csVgUGvtEdqG6fBIPwe-mw"/>
+        <ownedParameter xmi:id="_VascKBE9EeGOffqMW1YiZA" name="element" visibility="public" type="_csVgUGvtEdqG6fBIPwe-mw"/>
       </ownedOperation>
-      <ownedOperation xmi:id="_g1UGGdwbEeCT5O2F6sGn5g" name="importMembers" visibility="public" bodyCondition="_g1UGG9wbEeCT5O2F6sGn5g" isQuery="true">
-        <ownedComment xmi:id="_g1UGGtwbEeCT5O2F6sGn5g" annotatedElement="_g1UGGdwbEeCT5O2F6sGn5g">
+      <ownedOperation xmi:id="_VascKRE9EeGOffqMW1YiZA" name="importMembers" visibility="public" bodyCondition="_VascKxE9EeGOffqMW1YiZA" isQuery="true">
+        <ownedComment xmi:id="_VascKhE9EeGOffqMW1YiZA" annotatedElement="_VascKRE9EeGOffqMW1YiZA">
           <body>The query importMembers() defines which of a set of PackageableElements are actually imported into the namespace. This excludes hidden ones, i.e., those which have names that conflict with names of owned members, and also excludes elements which would have the same name when imported.</body>
         </ownedComment>
-        <ownedRule xmi:id="_g1UGG9wbEeCT5O2F6sGn5g" name="spec" constrainedElement="_g1UGGdwbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1UGHNwbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VascKxE9EeGOffqMW1YiZA" name="spec" constrainedElement="_VascKRE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VascLBE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = self.excludeCollisions(imps)->select(imp | self.ownedMember->forAll(mem |
 mem.imp.isDistinguishableFrom(mem, self)))</body>
           </specification>
         </ownedRule>
-        <ownedParameter xmi:id="_g1UGHdwbEeCT5O2F6sGn5g" name="result" visibility="public" type="_jKxnwGwLEdq7X4sGURiZYA" direction="return">
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1UGHtwbEeCT5O2F6sGn5g"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g1UGH9wbEeCT5O2F6sGn5g" value="*"/>
+        <ownedParameter xmi:id="_VascLRE9EeGOffqMW1YiZA" name="result" visibility="public" type="_jKxnwGwLEdq7X4sGURiZYA" direction="return">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VascLhE9EeGOffqMW1YiZA"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VascLxE9EeGOffqMW1YiZA" value="*"/>
         </ownedParameter>
-        <ownedParameter xmi:id="_g1UGINwbEeCT5O2F6sGn5g" name="imps" visibility="public" type="_jKxnwGwLEdq7X4sGURiZYA">
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1UGIdwbEeCT5O2F6sGn5g"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g1UGItwbEeCT5O2F6sGn5g" value="*"/>
+        <ownedParameter xmi:id="_VascMBE9EeGOffqMW1YiZA" name="imps" visibility="public" type="_jKxnwGwLEdq7X4sGURiZYA">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VascMRE9EeGOffqMW1YiZA"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VascMhE9EeGOffqMW1YiZA" value="*"/>
         </ownedParameter>
       </ownedOperation>
-      <ownedOperation xmi:id="_OanVoLL4EeCBifIhhuFqZA" name="importedMember" visibility="public" bodyCondition="_g1UGJNwbEeCT5O2F6sGn5g" isQuery="true">
-        <ownedComment xmi:id="_g1UGI9wbEeCT5O2F6sGn5g" annotatedElement="_OanVoLL4EeCBifIhhuFqZA">
+      <ownedOperation xmi:id="_OanVoLL4EeCBifIhhuFqZA" name="importedMember" visibility="public" bodyCondition="_VatDMRE9EeGOffqMW1YiZA" isQuery="true">
+        <ownedComment xmi:id="_VatDMBE9EeGOffqMW1YiZA" annotatedElement="_OanVoLL4EeCBifIhhuFqZA">
           <body>The importedMember property is derived from the ElementImports and the PackageImports. References the PackageableElements that are members of this Namespace as a result of either PackageImports or ElementImports.</body>
         </ownedComment>
-        <ownedRule xmi:id="_g1UGJNwbEeCT5O2F6sGn5g" name="spec" constrainedElement="_OanVoLL4EeCBifIhhuFqZA _g1S3-dwbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1UGJdwbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VatDMRE9EeGOffqMW1YiZA" name="spec" constrainedElement="_OanVoLL4EeCBifIhhuFqZA _VarOBBE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VatDMhE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = self.importMembers(self.elementImport.importedElement.asSet()-
 >union(self.packageImport.importedPackage->collect(p | p.visibleMembers())))</body>
           </specification>
         </ownedRule>
         <ownedParameter xmi:id="_RAhn8LL4EeCBifIhhuFqZA" name="result" visibility="public" type="_jKxnwGwLEdq7X4sGURiZYA" direction="return">
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1UGJtwbEeCT5O2F6sGn5g"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g1UGJ9wbEeCT5O2F6sGn5g" value="*"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Va5QcBE9EeGOffqMW1YiZA"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Va5QcRE9EeGOffqMW1YiZA" value="*"/>
         </ownedParameter>
       </ownedOperation>
-      <ownedOperation xmi:id="_g1UtINwbEeCT5O2F6sGn5g" name="membersAreDistinguishable" visibility="public" bodyCondition="_g1UtItwbEeCT5O2F6sGn5g" isQuery="true">
-        <ownedComment xmi:id="_g1UtIdwbEeCT5O2F6sGn5g" annotatedElement="_g1UtINwbEeCT5O2F6sGn5g">
+      <ownedOperation xmi:id="_Va53gBE9EeGOffqMW1YiZA" name="membersAreDistinguishable" visibility="public" bodyCondition="_Va53ghE9EeGOffqMW1YiZA" isQuery="true">
+        <ownedComment xmi:id="_Va53gRE9EeGOffqMW1YiZA" annotatedElement="_Va53gBE9EeGOffqMW1YiZA">
           <body>The Boolean query membersAreDistinguishable() determines whether all of the namespace's members are distinguishable within it.</body>
         </ownedComment>
-        <ownedRule xmi:id="_g1UtItwbEeCT5O2F6sGn5g" name="spec" constrainedElement="_g1UtINwbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1UtI9wbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_Va53ghE9EeGOffqMW1YiZA" name="spec" constrainedElement="_Va53gBE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_Va53gxE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = self.member->forAll( memb |
 self.member->excluding(memb)->forAll(other |
 memb.isDistinguishableFrom(other, self)))</body>
           </specification>
         </ownedRule>
-        <ownedParameter xmi:id="_g1UtJNwbEeCT5O2F6sGn5g" name="result" visibility="public" direction="return">
+        <ownedParameter xmi:id="_Va53hBE9EeGOffqMW1YiZA" name="result" visibility="public" direction="return">
           <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
         </ownedParameter>
       </ownedOperation>
-      <ownedOperation xmi:id="_aGIhkLL4EeCBifIhhuFqZA" name="ownedMember" visibility="public" bodyCondition="_g1UtJtwbEeCT5O2F6sGn5g" isQuery="true">
-        <ownedComment xmi:id="_g1UtJdwbEeCT5O2F6sGn5g" annotatedElement="_aGIhkLL4EeCBifIhhuFqZA">
+      <ownedOperation xmi:id="_aGIhkLL4EeCBifIhhuFqZA" name="ownedMember" visibility="public" bodyCondition="_Va53hhE9EeGOffqMW1YiZA" isQuery="true">
+        <ownedComment xmi:id="_Va53hRE9EeGOffqMW1YiZA" annotatedElement="_aGIhkLL4EeCBifIhhuFqZA">
           <body>Missing derivation for Namespace::/ownedMember : NamedElement</body>
         </ownedComment>
-        <ownedRule xmi:id="_g1UtJtwbEeCT5O2F6sGn5g" name="spec" constrainedElement="_aGIhkLL4EeCBifIhhuFqZA _g1S4AdwbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1UtJ9wbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_Va53hhE9EeGOffqMW1YiZA" name="spec" constrainedElement="_aGIhkLL4EeCBifIhhuFqZA _Var1EBE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_Va53hxE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>true</body>
           </specification>
         </ownedRule>
         <ownedParameter xmi:id="_aGIhkbL4EeCBifIhhuFqZA" name="result" visibility="public" type="_csVgUGvtEdqG6fBIPwe-mw" direction="return">
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1UtKNwbEeCT5O2F6sGn5g"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g1UtKdwbEeCT5O2F6sGn5g" value="*"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Va6ekBE9EeGOffqMW1YiZA"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VbDogBE9EeGOffqMW1YiZA" value="*"/>
         </ownedParameter>
       </ownedOperation>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="_5YOyUKJ8EdywJr5C4uHLKw" name="Node">
-      <ownedComment xmi:id="_g1VUMNwbEeCT5O2F6sGn5g" annotatedElement="_5YOyUKJ8EdywJr5C4uHLKw">
+      <ownedComment xmi:id="_VbE2oBE9EeGOffqMW1YiZA" annotatedElement="_5YOyUKJ8EdywJr5C4uHLKw">
         <body>A node is computational resource upon which artifacts may be deployed for execution. Nodes can be interconnected through communication paths to define network structures.</body>
       </ownedComment>
-      <ownedRule xmi:id="_g1VUMdwbEeCT5O2F6sGn5g" name="internal_structure" constrainedElement="_5YOyUKJ8EdywJr5C4uHLKw">
-        <ownedComment xmi:id="_g1VUMtwbEeCT5O2F6sGn5g" annotatedElement="_g1VUMdwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VbFdsBE9EeGOffqMW1YiZA" name="internal_structure" constrainedElement="_5YOyUKJ8EdywJr5C4uHLKw">
+        <ownedComment xmi:id="_VbFdsRE9EeGOffqMW1YiZA" annotatedElement="_VbFdsBE9EeGOffqMW1YiZA">
           <body>The internal structure of a Node (if defined) consists solely of parts of type Node.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1VUM9wbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VbFdshE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>true</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_g1VUNNwbEeCT5O2F6sGn5g" general="_00owUGvdEdq4DLWZOhbdEA"/>
-      <generalization xmi:id="_g1VUNdwbEeCT5O2F6sGn5g" general="_PkmfgLLXEeCsYvaJqFFivQ"/>
-      <ownedAttribute xmi:id="_g1V7QNwbEeCT5O2F6sGn5g" name="nestedNode" visibility="public" type="_5YOyUKJ8EdywJr5C4uHLKw" aggregation="composite" subsettedProperty="_g1S4AdwbEeCT5O2F6sGn5g" association="_gyk7KNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1V7QdwbEeCT5O2F6sGn5g" annotatedElement="_g1V7QNwbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_VbFdsxE9EeGOffqMW1YiZA" general="_00owUGvdEdq4DLWZOhbdEA"/>
+      <generalization xmi:id="_VbFdtBE9EeGOffqMW1YiZA" general="_PkmfgLLXEeCsYvaJqFFivQ"/>
+      <ownedAttribute xmi:id="_VbFdtRE9EeGOffqMW1YiZA" name="nestedNode" visibility="public" type="_5YOyUKJ8EdywJr5C4uHLKw" aggregation="composite" subsettedProperty="_Var1EBE9EeGOffqMW1YiZA" association="_VT0_IxE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VbFdthE9EeGOffqMW1YiZA" annotatedElement="_VbFdtRE9EeGOffqMW1YiZA">
           <body>The Nodes that are defined (nested) within the Node.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1V7QtwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g1V7Q9wbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VbFdtxE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VbFduBE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
       <ownedOperation xmi:id="_8asdwKJ8EdywJr5C4uHLKw" name="createCommunicationPath">
         <ownedComment xmi:id="_8asdwaJ8EdywJr5C4uHLKw" annotatedElement="_8asdwKJ8EdywJr5C4uHLKw">
@@ -9717,586 +9720,586 @@
         </ownedParameter>
       </ownedOperation>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g1WiUNwbEeCT5O2F6sGn5g" name="ObjectFlow">
-      <ownedComment xmi:id="_g1WiUdwbEeCT5O2F6sGn5g" annotatedElement="_g1WiUNwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VbVVUBE9EeGOffqMW1YiZA" name="ObjectFlow">
+      <ownedComment xmi:id="_VbVVURE9EeGOffqMW1YiZA" annotatedElement="_VbVVUBE9EeGOffqMW1YiZA">
         <body>An object flow is an activity edge that can have objects or data passing along it.</body>
       </ownedComment>
-      <ownedComment xmi:id="_g1WiUtwbEeCT5O2F6sGn5g" annotatedElement="_g1WiUNwbEeCT5O2F6sGn5g">
+      <ownedComment xmi:id="_VbVVUhE9EeGOffqMW1YiZA" annotatedElement="_VbVVUBE9EeGOffqMW1YiZA">
         <body>Object flows have support for multicast/receive, token selection from object nodes, and transformation of tokens.</body>
       </ownedComment>
-      <ownedRule xmi:id="_g1WiU9wbEeCT5O2F6sGn5g" name="input_and_output_parameter" constrainedElement="_g1WiUNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1WiVNwbEeCT5O2F6sGn5g" annotatedElement="_g1WiU9wbEeCT5O2F6sGn5g">
-          <body>A selection behavior has one input parameter and one output parameter. The input parameter must be a bag of elements of the same as or a supertype of the type of source object node. The output parameter must be the same or a subtype of the type of source object node. The behavior cannot have side effects.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1WiVdwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>true</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_g1WiVtwbEeCT5O2F6sGn5g" name="no_actions" constrainedElement="_g1WiUNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1WiV9wbEeCT5O2F6sGn5g" annotatedElement="_g1WiVtwbEeCT5O2F6sGn5g">
-          <body>Object flows may not have actions at either end.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1WiWNwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>true</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_g1WiWdwbEeCT5O2F6sGn5g" name="transformation_behaviour" constrainedElement="_g1WiUNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1WiWtwbEeCT5O2F6sGn5g" annotatedElement="_g1WiWdwbEeCT5O2F6sGn5g">
-          <body>A transformation behavior has one input parameter and one output parameter. The input parameter must be the same as or a supertype of the type of object token coming from the source end. The output parameter must be the same or a subtype of the type of object token expected downstream. The behavior cannot have side effects.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1WiW9wbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>true</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_g1WiXNwbEeCT5O2F6sGn5g" name="selection_behaviour" constrainedElement="_g1WiUNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1WiXdwbEeCT5O2F6sGn5g" annotatedElement="_g1WiXNwbEeCT5O2F6sGn5g">
-          <body>An object flow may have a selection behavior only if has an object node as a source.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1WiXtwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>true</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_g1WiX9wbEeCT5O2F6sGn5g" name="compatible_types" constrainedElement="_g1WiUNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1WiYNwbEeCT5O2F6sGn5g" annotatedElement="_g1WiX9wbEeCT5O2F6sGn5g">
-          <body>Object nodes connected by an object flow, with optionally intervening control nodes, must have compatible types. In particular, the downstream object node type must be the same or a supertype of the upstream object node type.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1WiYdwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>true</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_g1WiYtwbEeCT5O2F6sGn5g" name="same_upper_bounds" constrainedElement="_g1WiUNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1WiY9wbEeCT5O2F6sGn5g" annotatedElement="_g1WiYtwbEeCT5O2F6sGn5g">
-          <body>Object nodes connected by an object flow, with optionally intervening control nodes, must have the same upper bounds.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1WiZNwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>true</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_g1WiZdwbEeCT5O2F6sGn5g" name="target" constrainedElement="_g1WiUNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1WiZtwbEeCT5O2F6sGn5g" annotatedElement="_g1WiZdwbEeCT5O2F6sGn5g">
-          <body>An edge with constant weight may not target an object node, or lead to an object node downstream with no intervening actions, that has an upper bound less than the weight.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1WiZ9wbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>true</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_g1WiaNwbEeCT5O2F6sGn5g" name="is_multicast_or_is_multireceive" constrainedElement="_g1WiUNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1WiadwbEeCT5O2F6sGn5g" annotatedElement="_g1WiaNwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VbVVUxE9EeGOffqMW1YiZA" name="is_multicast_or_is_multireceive" constrainedElement="_VbVVUBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VbVVVBE9EeGOffqMW1YiZA" annotatedElement="_VbVVUxE9EeGOffqMW1YiZA">
           <body>isMulticast and isMultireceive cannot both be true.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1WiatwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VbVVVRE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>true</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_g1Wia9wbEeCT5O2F6sGn5g" general="_gzZagNwbEeCT5O2F6sGn5g"/>
-      <ownedAttribute xmi:id="_g1WibNwbEeCT5O2F6sGn5g" name="isMulticast" visibility="public">
-        <ownedComment xmi:id="_g1WibdwbEeCT5O2F6sGn5g" annotatedElement="_g1WibNwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VbVVVhE9EeGOffqMW1YiZA" name="selection_behaviour" constrainedElement="_VbVVUBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VbVVVxE9EeGOffqMW1YiZA" annotatedElement="_VbVVVhE9EeGOffqMW1YiZA">
+          <body>An object flow may have a selection behavior only if has an object node as a source.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VbVVWBE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>true</body>
+        </specification>
+      </ownedRule>
+      <ownedRule xmi:id="_VbVVWRE9EeGOffqMW1YiZA" name="compatible_types" constrainedElement="_VbVVUBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VbVVWhE9EeGOffqMW1YiZA" annotatedElement="_VbVVWRE9EeGOffqMW1YiZA">
+          <body>Object nodes connected by an object flow, with optionally intervening control nodes, must have compatible types. In particular, the downstream object node type must be the same or a supertype of the upstream object node type.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VbVVWxE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>true</body>
+        </specification>
+      </ownedRule>
+      <ownedRule xmi:id="_VbVVXBE9EeGOffqMW1YiZA" name="no_actions" constrainedElement="_VbVVUBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VbVVXRE9EeGOffqMW1YiZA" annotatedElement="_VbVVXBE9EeGOffqMW1YiZA">
+          <body>Object flows may not have actions at either end.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VbVVXhE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>true</body>
+        </specification>
+      </ownedRule>
+      <ownedRule xmi:id="_VbVVXxE9EeGOffqMW1YiZA" name="input_and_output_parameter" constrainedElement="_VbVVUBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VbVVYBE9EeGOffqMW1YiZA" annotatedElement="_VbVVXxE9EeGOffqMW1YiZA">
+          <body>A selection behavior has one input parameter and one output parameter. The input parameter must be a bag of elements of the same as or a supertype of the type of source object node. The output parameter must be the same or a subtype of the type of source object node. The behavior cannot have side effects.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VbVVYRE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>true</body>
+        </specification>
+      </ownedRule>
+      <ownedRule xmi:id="_VbVVYhE9EeGOffqMW1YiZA" name="transformation_behaviour" constrainedElement="_VbVVUBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VbVVYxE9EeGOffqMW1YiZA" annotatedElement="_VbVVYhE9EeGOffqMW1YiZA">
+          <body>A transformation behavior has one input parameter and one output parameter. The input parameter must be the same as or a supertype of the type of object token coming from the source end. The output parameter must be the same or a subtype of the type of object token expected downstream. The behavior cannot have side effects.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VbVVZBE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>true</body>
+        </specification>
+      </ownedRule>
+      <ownedRule xmi:id="_VbVVZRE9EeGOffqMW1YiZA" name="target" constrainedElement="_VbVVUBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VbVVZhE9EeGOffqMW1YiZA" annotatedElement="_VbVVZRE9EeGOffqMW1YiZA">
+          <body>An edge with constant weight may not target an object node, or lead to an object node downstream with no intervening actions, that has an upper bound less than the weight.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VbVVZxE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>true</body>
+        </specification>
+      </ownedRule>
+      <ownedRule xmi:id="_VbVVaBE9EeGOffqMW1YiZA" name="same_upper_bounds" constrainedElement="_VbVVUBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VbVVaRE9EeGOffqMW1YiZA" annotatedElement="_VbVVaBE9EeGOffqMW1YiZA">
+          <body>Object nodes connected by an object flow, with optionally intervening control nodes, must have the same upper bounds.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VbVVahE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>true</body>
+        </specification>
+      </ownedRule>
+      <generalization xmi:id="_VbVVaxE9EeGOffqMW1YiZA" general="_VVcIsBE9EeGOffqMW1YiZA"/>
+      <ownedAttribute xmi:id="_VbVVbBE9EeGOffqMW1YiZA" name="isMulticast" visibility="public">
+        <ownedComment xmi:id="_VbVVbRE9EeGOffqMW1YiZA" annotatedElement="_VbVVbBE9EeGOffqMW1YiZA">
           <body>Tells whether the objects in the flow are passed by multicasting.</body>
         </ownedComment>
         <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
-        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_g1WibtwbEeCT5O2F6sGn5g"/>
+        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_VbVVbhE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g1Wib9wbEeCT5O2F6sGn5g" name="isMultireceive" visibility="public">
-        <ownedComment xmi:id="_g1WicNwbEeCT5O2F6sGn5g" annotatedElement="_g1Wib9wbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VbVVbxE9EeGOffqMW1YiZA" name="isMultireceive" visibility="public">
+        <ownedComment xmi:id="_VbVVcBE9EeGOffqMW1YiZA" annotatedElement="_VbVVbxE9EeGOffqMW1YiZA">
           <body>Tells whether the objects in the flow are gathered from respondents to multicasting.</body>
         </ownedComment>
         <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
-        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_g1WicdwbEeCT5O2F6sGn5g"/>
+        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_VbVVcRE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g1WictwbEeCT5O2F6sGn5g" name="selection" visibility="public" type="_TUPtYGveEdq4DLWZOhbdEA" association="_gy4dINwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1Wic9wbEeCT5O2F6sGn5g" annotatedElement="_g1WictwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VbVVchE9EeGOffqMW1YiZA" name="selection" visibility="public" type="_TUPtYGveEdq4DLWZOhbdEA" association="_VUiJwBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VbVVcxE9EeGOffqMW1YiZA" annotatedElement="_VbVVchE9EeGOffqMW1YiZA">
           <body>Selects tokens from a source object node.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1WidNwbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VbVVdBE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g1WiddwbEeCT5O2F6sGn5g" name="transformation" visibility="public" type="_TUPtYGveEdq4DLWZOhbdEA" association="_gy9VpNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1WidtwbEeCT5O2F6sGn5g" annotatedElement="_g1WiddwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VbVVdRE9EeGOffqMW1YiZA" name="transformation" visibility="public" type="_TUPtYGveEdq4DLWZOhbdEA" association="_VUqsoBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VbV8YBE9EeGOffqMW1YiZA" annotatedElement="_VbVVdRE9EeGOffqMW1YiZA">
           <body>Changes or replaces data tokens flowing along edge.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1Wid9wbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VbV8YRE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g1XJYNwbEeCT5O2F6sGn5g" name="ObjectNode" isAbstract="true">
-      <ownedComment xmi:id="_g1XJYdwbEeCT5O2F6sGn5g" annotatedElement="_g1XJYNwbEeCT5O2F6sGn5g">
-        <body>Object nodes have support for token selection, limitation on the number of tokens, specifying the state required for tokens, and carrying control values.</body>
-      </ownedComment>
-      <ownedComment xmi:id="_g1XJYtwbEeCT5O2F6sGn5g" annotatedElement="_g1XJYNwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VbcDABE9EeGOffqMW1YiZA" name="ObjectNode" isAbstract="true">
+      <ownedComment xmi:id="_VbcDARE9EeGOffqMW1YiZA" annotatedElement="_VbcDABE9EeGOffqMW1YiZA">
         <body>An object node is an abstract activity node that is part of defining object flow in an activity.</body>
       </ownedComment>
-      <ownedRule xmi:id="_g1XJY9wbEeCT5O2F6sGn5g" name="input_output_parameter" constrainedElement="_g1XJYNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1XJZNwbEeCT5O2F6sGn5g" annotatedElement="_g1XJY9wbEeCT5O2F6sGn5g">
-          <body>A selection behavior has one input parameter and one output parameter. The input parameter must be a bag of elements of the same type as the object node or a supertype of the type of object node. The output parameter must be the same or a subtype of the type of object node. The behavior cannot have side effects.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1XJZdwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>true</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_g1XJZtwbEeCT5O2F6sGn5g" name="selection_behavior" constrainedElement="_g1XJYNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1XJZ9wbEeCT5O2F6sGn5g" annotatedElement="_g1XJZtwbEeCT5O2F6sGn5g">
-          <body>If an object node has a selection behavior, then the ordering of the object node is ordered, and vice versa.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1XJaNwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>true</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_g1XJadwbEeCT5O2F6sGn5g" name="object_flow_edges" constrainedElement="_g1XJYNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1XJatwbEeCT5O2F6sGn5g" annotatedElement="_g1XJadwbEeCT5O2F6sGn5g">
+      <ownedComment xmi:id="_VbcDAhE9EeGOffqMW1YiZA" annotatedElement="_VbcDABE9EeGOffqMW1YiZA">
+        <body>Object nodes have support for token selection, limitation on the number of tokens, specifying the state required for tokens, and carrying control values.</body>
+      </ownedComment>
+      <ownedRule xmi:id="_VbcDAxE9EeGOffqMW1YiZA" name="object_flow_edges" constrainedElement="_VbcDABE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VbcDBBE9EeGOffqMW1YiZA" annotatedElement="_VbcDAxE9EeGOffqMW1YiZA">
           <body>All edges coming into or going out of object nodes must be object flow edges.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1XJa9wbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VbcDBRE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>true</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_g1XJbNwbEeCT5O2F6sGn5g" general="_g2UysNwbEeCT5O2F6sGn5g"/>
-      <generalization xmi:id="_g1XJbdwbEeCT5O2F6sGn5g" general="_gzbPsNwbEeCT5O2F6sGn5g"/>
-      <ownedAttribute xmi:id="_g1XJbtwbEeCT5O2F6sGn5g" name="inState" visibility="public" type="_g2Ce0NwbEeCT5O2F6sGn5g" association="_gyfbmtwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1XJb9wbEeCT5O2F6sGn5g" annotatedElement="_g1XJbtwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VbcDBhE9EeGOffqMW1YiZA" name="selection_behavior" constrainedElement="_VbcDABE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VbcDBxE9EeGOffqMW1YiZA" annotatedElement="_VbcDBhE9EeGOffqMW1YiZA">
+          <body>If an object node has a selection behavior, then the ordering of the object node is ordered, and vice versa.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VbcDCBE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>true</body>
+        </specification>
+      </ownedRule>
+      <ownedRule xmi:id="_VbcDCRE9EeGOffqMW1YiZA" name="input_output_parameter" constrainedElement="_VbcDABE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VbcDChE9EeGOffqMW1YiZA" annotatedElement="_VbcDCRE9EeGOffqMW1YiZA">
+          <body>A selection behavior has one input parameter and one output parameter. The input parameter must be a bag of elements of the same type as the object node or a supertype of the type of object node. The output parameter must be the same or a subtype of the type of object node. The behavior cannot have side effects.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VbcDCxE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>true</body>
+        </specification>
+      </ownedRule>
+      <generalization xmi:id="_VbcDDBE9EeGOffqMW1YiZA" general="_WpiyYAs-EeGcpbeCPJfCmw"/>
+      <generalization xmi:id="_VbcDDRE9EeGOffqMW1YiZA" general="_VfDXsBE9EeGOffqMW1YiZA"/>
+      <ownedAttribute xmi:id="_VbcDDhE9EeGOffqMW1YiZA" name="inState" visibility="public" type="_VeRUkBE9EeGOffqMW1YiZA" association="_VToK0BE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VbcDDxE9EeGOffqMW1YiZA" annotatedElement="_VbcDDhE9EeGOffqMW1YiZA">
           <body>The required states of the object available at this point in the activity.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1XJcNwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g1XJcdwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VbcDEBE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VbcDERE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g1XJctwbEeCT5O2F6sGn5g" name="isControlType" visibility="public">
-        <ownedComment xmi:id="_g1XJc9wbEeCT5O2F6sGn5g" annotatedElement="_g1XJctwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VbcDEhE9EeGOffqMW1YiZA" name="isControlType" visibility="public">
+        <ownedComment xmi:id="_VbcDExE9EeGOffqMW1YiZA" annotatedElement="_VbcDEhE9EeGOffqMW1YiZA">
           <body>Tells whether the type of the object node is to be treated as control.</body>
         </ownedComment>
         <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
-        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_g1XJdNwbEeCT5O2F6sGn5g"/>
+        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_VbcDFBE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g1XJddwbEeCT5O2F6sGn5g" name="ordering" visibility="public" type="_g2d8rtwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1XJdtwbEeCT5O2F6sGn5g" annotatedElement="_g1XJddwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VbcDFRE9EeGOffqMW1YiZA" name="ordering" visibility="public" type="_VfPk8BE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VbcDFhE9EeGOffqMW1YiZA" annotatedElement="_VbcDFRE9EeGOffqMW1YiZA">
           <body>Tells whether and how the tokens in the object node are ordered for selection to traverse edges outgoing from the object node.</body>
         </ownedComment>
-        <defaultValue xmi:type="uml:InstanceValue" xmi:id="_g1XJd9wbEeCT5O2F6sGn5g" type="_g2d8rtwbEeCT5O2F6sGn5g" instance="_g2d8ttwbEeCT5O2F6sGn5g"/>
+        <defaultValue xmi:type="uml:InstanceValue" xmi:id="_VbcDFxE9EeGOffqMW1YiZA" type="_VfPk8BE9EeGOffqMW1YiZA" instance="_VfPk-BE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g1XJeNwbEeCT5O2F6sGn5g" name="selection" visibility="public" type="_TUPtYGveEdq4DLWZOhbdEA" association="_gy4dJNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1XJedwbEeCT5O2F6sGn5g" annotatedElement="_g1XJeNwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VbcDGBE9EeGOffqMW1YiZA" name="selection" visibility="public" type="_TUPtYGveEdq4DLWZOhbdEA" association="_VUiJxBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VbcDGRE9EeGOffqMW1YiZA" annotatedElement="_VbcDGBE9EeGOffqMW1YiZA">
           <body>Selects tokens for outgoing edges.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1XJetwbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VbcDGhE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g1XJe9wbEeCT5O2F6sGn5g" name="upperBound" visibility="public" type="_g2YdENwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_g0JocNwbEeCT5O2F6sGn5g" association="_gy-jyNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1XJfNwbEeCT5O2F6sGn5g" annotatedElement="_g1XJe9wbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VbcDGxE9EeGOffqMW1YiZA" name="upperBound" visibility="public" type="_VfGbABE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_GDD2YAtAEeGcpbeCPJfCmw" association="_VUtv-BE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VbcDHBE9EeGOffqMW1YiZA" annotatedElement="_VbcDGxE9EeGOffqMW1YiZA">
           <body>The maximum number of tokens allowed in the node. Objects cannot flow into the node if the upper bound is reached.</body>
         </ownedComment>
       </ownedAttribute>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g1XJfdwbEeCT5O2F6sGn5g" name="Observation" isAbstract="true">
-      <ownedComment xmi:id="_g1XJftwbEeCT5O2F6sGn5g" annotatedElement="_g1XJfdwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VbcqEBE9EeGOffqMW1YiZA" name="Observation" isAbstract="true">
+      <ownedComment xmi:id="_VbcqERE9EeGOffqMW1YiZA" annotatedElement="_VbcqEBE9EeGOffqMW1YiZA">
         <body>Observation is a superclass of TimeObservation and DurationObservation in order for TimeExpression and Duration to refer to either in a simple way.</body>
       </ownedComment>
-      <generalization xmi:id="_g1XJf9wbEeCT5O2F6sGn5g" general="_jKxnwGwLEdq7X4sGURiZYA"/>
+      <generalization xmi:id="_VbcqEhE9EeGOffqMW1YiZA" general="_jKxnwGwLEdq7X4sGURiZYA"/>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g1XwcNwbEeCT5O2F6sGn5g" name="OccurrenceSpecification">
-      <ownedComment xmi:id="_g1XwcdwbEeCT5O2F6sGn5g" annotatedElement="_g1XwcNwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VbdRIBE9EeGOffqMW1YiZA" name="OccurrenceSpecification">
+      <ownedComment xmi:id="_VbdRIRE9EeGOffqMW1YiZA" annotatedElement="_VbdRIBE9EeGOffqMW1YiZA">
         <body>An occurrence specification is the basic semantic unit of interactions. The sequences of occurrences specified by them are the meanings of interactions.</body>
       </ownedComment>
-      <generalization xmi:id="_g1XwctwbEeCT5O2F6sGn5g" general="_g0cjYNwbEeCT5O2F6sGn5g"/>
-      <ownedAttribute xmi:id="_g1Xwc9wbEeCT5O2F6sGn5g" name="covered" visibility="public" type="_g0hb4NwbEeCT5O2F6sGn5g" redefinedProperty="_g0cjY9wbEeCT5O2F6sGn5g" association="_gyXfwNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1XwdNwbEeCT5O2F6sGn5g" annotatedElement="_g1Xwc9wbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_VbdRIhE9EeGOffqMW1YiZA" general="_VZuLwBE9EeGOffqMW1YiZA"/>
+      <ownedAttribute xmi:id="_VbdRIxE9EeGOffqMW1YiZA" name="covered" visibility="public" type="_VZ0SYBE9EeGOffqMW1YiZA" redefinedProperty="_VZuLwxE9EeGOffqMW1YiZA" association="_VTK30BE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VbdRJBE9EeGOffqMW1YiZA" annotatedElement="_VbdRIxE9EeGOffqMW1YiZA">
           <body>References the Lifeline on which the OccurrenceSpecification appears.</body>
         </ownedComment>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g1XwddwbEeCT5O2F6sGn5g" name="toAfter" visibility="public" type="_g0V1udwbEeCT5O2F6sGn5g" association="_gySnUtwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1XwdtwbEeCT5O2F6sGn5g" annotatedElement="_g1XwddwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VbdRJRE9EeGOffqMW1YiZA" name="toAfter" visibility="public" type="_VZe7MBE9EeGOffqMW1YiZA" association="_VS_RoBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VbdRJhE9EeGOffqMW1YiZA" annotatedElement="_VbdRJRE9EeGOffqMW1YiZA">
           <body>References the GeneralOrderings that specify EventOcurrences that must occur after this OccurrenceSpecification</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1Xwd9wbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g1XweNwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VbdRJxE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VbdRKBE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g1XwedwbEeCT5O2F6sGn5g" name="toBefore" visibility="public" type="_g0V1udwbEeCT5O2F6sGn5g" association="_gy9Vo9wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1XwetwbEeCT5O2F6sGn5g" annotatedElement="_g1XwedwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VbdRKRE9EeGOffqMW1YiZA" name="toBefore" visibility="public" type="_VZe7MBE9EeGOffqMW1YiZA" association="_VUqFlxE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VbdRKhE9EeGOffqMW1YiZA" annotatedElement="_VbdRKRE9EeGOffqMW1YiZA">
           <body>References the GeneralOrderings that specify EventOcurrences that must occur before this OccurrenceSpecification</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1Xwe9wbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g1XwfNwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VbdRKxE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VbdRLBE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="__pbPMLG4EeCDe8CO90iVKQ" name="OpaqueAction">
-      <ownedComment xmi:id="_g1XwfdwbEeCT5O2F6sGn5g" annotatedElement="__pbPMLG4EeCDe8CO90iVKQ">
+      <ownedComment xmi:id="_VbdRLRE9EeGOffqMW1YiZA" annotatedElement="__pbPMLG4EeCDe8CO90iVKQ">
         <body>An action with implementation-specific semantics.</body>
       </ownedComment>
-      <generalization xmi:id="_g1XwftwbEeCT5O2F6sGn5g" general="_6WKakLLQEeCsYvaJqFFivQ"/>
+      <generalization xmi:id="_VbdRLhE9EeGOffqMW1YiZA" general="_6WKakLLQEeCsYvaJqFFivQ"/>
       <ownedAttribute xmi:id="__pbPMbG4EeCDe8CO90iVKQ" name="body" visibility="public" isOrdered="true" isUnique="false">
-        <ownedComment xmi:id="_g1Xwf9wbEeCT5O2F6sGn5g" annotatedElement="__pbPMbG4EeCDe8CO90iVKQ">
+        <ownedComment xmi:id="_VbdRLxE9EeGOffqMW1YiZA" annotatedElement="__pbPMbG4EeCDe8CO90iVKQ">
           <body>Specifies the action in one or more languages.</body>
         </ownedComment>
         <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1XwgNwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g1XwgdwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Vbd4MBE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Vbd4MRE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g1YXgNwbEeCT5O2F6sGn5g" name="inputValue" visibility="public" type="_g0aHKdwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_gzBnMNwbEeCT5O2F6sGn5g" association="_gygps9wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1YXgdwbEeCT5O2F6sGn5g" annotatedElement="_g1YXgNwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VbefQBE9EeGOffqMW1YiZA" name="inputValue" visibility="public" type="_VZp6WRE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_VU4IABE9EeGOffqMW1YiZA" association="_VTqACBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VbefQRE9EeGOffqMW1YiZA" annotatedElement="_VbefQBE9EeGOffqMW1YiZA">
           <body>Provides input to the action.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1YXgtwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g1YXg9wbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VbefQhE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VbefQxE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
       <ownedAttribute xmi:id="__pbPNLG4EeCDe8CO90iVKQ" name="language" visibility="public" isOrdered="true">
-        <ownedComment xmi:id="_g1YXhNwbEeCT5O2F6sGn5g" annotatedElement="__pbPNLG4EeCDe8CO90iVKQ">
+        <ownedComment xmi:id="_VbefRBE9EeGOffqMW1YiZA" annotatedElement="__pbPNLG4EeCDe8CO90iVKQ">
           <body>Languages the body strings use, in the same order as the body strings</body>
         </ownedComment>
         <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1YXhdwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g1YXhtwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VbefRRE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VbefRhE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g1YXh9wbEeCT5O2F6sGn5g" name="outputValue" visibility="public" type="_g1fsRdwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_gzCOK9wbEeCT5O2F6sGn5g" association="_gyn-cNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1YXiNwbEeCT5O2F6sGn5g" annotatedElement="_g1YXh9wbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VbfGUBE9EeGOffqMW1YiZA" name="outputValue" visibility="public" type="_VcHYcBE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_VU4vEBE9EeGOffqMW1YiZA" association="_VT-JEBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VbfGURE9EeGOffqMW1YiZA" annotatedElement="_VbfGUBE9EeGOffqMW1YiZA">
           <body>Takes output from the action.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1YXidwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g1YXitwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VbfGUhE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VbfGUxE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="_k9tagLG4EeCDe8CO90iVKQ" name="OpaqueBehavior">
-      <ownedComment xmi:id="_g1Y-kNwbEeCT5O2F6sGn5g" annotatedElement="_k9tagLG4EeCDe8CO90iVKQ">
+      <ownedComment xmi:id="_VbftYBE9EeGOffqMW1YiZA" annotatedElement="_k9tagLG4EeCDe8CO90iVKQ">
         <body>An behavior with implementation-specific semantics.</body>
       </ownedComment>
-      <generalization xmi:id="_g1Y-kdwbEeCT5O2F6sGn5g" general="_TUPtYGveEdq4DLWZOhbdEA"/>
+      <generalization xmi:id="_VbftYRE9EeGOffqMW1YiZA" general="_TUPtYGveEdq4DLWZOhbdEA"/>
       <ownedAttribute xmi:id="_k9tagbG4EeCDe8CO90iVKQ" name="body" visibility="public" isOrdered="true" isUnique="false">
-        <ownedComment xmi:id="_g1Y-ktwbEeCT5O2F6sGn5g" annotatedElement="_k9tagbG4EeCDe8CO90iVKQ">
+        <ownedComment xmi:id="_VbftYhE9EeGOffqMW1YiZA" annotatedElement="_k9tagbG4EeCDe8CO90iVKQ">
           <body>Specifies the behavior in one or more languages.</body>
         </ownedComment>
         <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1Y-k9wbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g1Y-lNwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VbftYxE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VbgUcBE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
       <ownedAttribute xmi:id="_k9tahLG4EeCDe8CO90iVKQ" name="language" visibility="public" isOrdered="true">
-        <ownedComment xmi:id="_g1Y-ldwbEeCT5O2F6sGn5g" annotatedElement="_k9tahLG4EeCDe8CO90iVKQ">
+        <ownedComment xmi:id="_VbhikBE9EeGOffqMW1YiZA" annotatedElement="_k9tahLG4EeCDe8CO90iVKQ">
           <body>Languages the body strings use in the same order as the body strings.</body>
         </ownedComment>
         <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1Y-ltwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g1Y-l9wbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VbiJoBE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VbiJoRE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="_ChRfcGveEdq4DLWZOhbdEA" name="OpaqueExpression">
-      <ownedComment xmi:id="_g1ZloNwbEeCT5O2F6sGn5g" annotatedElement="_ChRfcGveEdq4DLWZOhbdEA">
+      <ownedComment xmi:id="_Vbl0ABE9EeGOffqMW1YiZA" annotatedElement="_ChRfcGveEdq4DLWZOhbdEA">
         <body>An opaque expression is an uninterpreted textual statement that denotes a (possibly empty) set of values when evaluated in a context.</body>
       </ownedComment>
-      <ownedComment xmi:id="_g1ZlodwbEeCT5O2F6sGn5g" annotatedElement="_ChRfcGveEdq4DLWZOhbdEA">
+      <ownedComment xmi:id="_Vbl0ARE9EeGOffqMW1YiZA" annotatedElement="_ChRfcGveEdq4DLWZOhbdEA">
         <body>Provides a mechanism for precisely defining the behavior of an opaque expression. An opaque expression is defined by a behavior restricted to return one result.</body>
       </ownedComment>
-      <ownedRule xmi:id="_g1ZlotwbEeCT5O2F6sGn5g" name="language_body_size" constrainedElement="_ChRfcGveEdq4DLWZOhbdEA">
-        <ownedComment xmi:id="_g1Zlo9wbEeCT5O2F6sGn5g" annotatedElement="_g1ZlotwbEeCT5O2F6sGn5g">
-          <body>If the language attribute is not empty, then the size of the body and language arrays must be the same.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1ZlpNwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>language->notEmpty() implies (body->size() = language->size())</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_g1ZlpdwbEeCT5O2F6sGn5g" name="one_return_result_parameter" constrainedElement="_ChRfcGveEdq4DLWZOhbdEA">
-        <ownedComment xmi:id="_g1ZlptwbEeCT5O2F6sGn5g" annotatedElement="_g1ZlpdwbEeCT5O2F6sGn5g">
-          <body>The behavior must have exactly one return result parameter.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1Zlp9wbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>self.behavior.notEmpty() implies
-  self.behavior.ownedParameter->select(p | p.direction=#return)->size() = 1</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_g1ZlqNwbEeCT5O2F6sGn5g" name="only_return_result_parameters" constrainedElement="_ChRfcGveEdq4DLWZOhbdEA">
-        <ownedComment xmi:id="_g1ZlqdwbEeCT5O2F6sGn5g" annotatedElement="_g1ZlqNwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VbmbEBE9EeGOffqMW1YiZA" name="only_return_result_parameters" constrainedElement="_ChRfcGveEdq4DLWZOhbdEA">
+        <ownedComment xmi:id="_VbmbERE9EeGOffqMW1YiZA" annotatedElement="_VbmbEBE9EeGOffqMW1YiZA">
           <body>The behavior may only have return result parameters.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1ZlqtwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VbmbEhE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>self.behavior.notEmpty() implies
   self.behavior.ownedParameters->select(p | p.direction&lt;>#return)->isEmpty()</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_g1Zlq9wbEeCT5O2F6sGn5g" general="_g2YdENwbEeCT5O2F6sGn5g"/>
-      <ownedAttribute xmi:id="_g1aMsNwbEeCT5O2F6sGn5g" name="behavior" visibility="public" type="_TUPtYGveEdq4DLWZOhbdEA" association="_gyTOWNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1aMsdwbEeCT5O2F6sGn5g" annotatedElement="_g1aMsNwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VbmbExE9EeGOffqMW1YiZA" name="one_return_result_parameter" constrainedElement="_ChRfcGveEdq4DLWZOhbdEA">
+        <ownedComment xmi:id="_VbmbFBE9EeGOffqMW1YiZA" annotatedElement="_VbmbExE9EeGOffqMW1YiZA">
+          <body>The behavior must have exactly one return result parameter.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VbmbFRE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>self.behavior.notEmpty() implies
+  self.behavior.ownedParameter->select(p | p.direction=#return)->size() = 1</body>
+        </specification>
+      </ownedRule>
+      <ownedRule xmi:id="_VbmbFhE9EeGOffqMW1YiZA" name="language_body_size" constrainedElement="_ChRfcGveEdq4DLWZOhbdEA">
+        <ownedComment xmi:id="_VbmbFxE9EeGOffqMW1YiZA" annotatedElement="_VbmbFhE9EeGOffqMW1YiZA">
+          <body>If the language attribute is not empty, then the size of the body and language arrays must be the same.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VbmbGBE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>language->notEmpty() implies (body->size() = language->size())</body>
+        </specification>
+      </ownedRule>
+      <generalization xmi:id="_VbmbGRE9EeGOffqMW1YiZA" general="_VfGbABE9EeGOffqMW1YiZA"/>
+      <ownedAttribute xmi:id="_VbmbGhE9EeGOffqMW1YiZA" name="behavior" visibility="public" type="_TUPtYGveEdq4DLWZOhbdEA" association="_VS_4sBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VbmbGxE9EeGOffqMW1YiZA" annotatedElement="_VbmbGhE9EeGOffqMW1YiZA">
           <body>Specifies the behavior of the opaque expression.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1aMstwbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VbmbHBE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
       <ownedAttribute xmi:id="_w__dcLG0EeCDe8CO90iVKQ" name="body" visibility="public" isOrdered="true" isUnique="false">
-        <ownedComment xmi:id="_g1aMs9wbEeCT5O2F6sGn5g" annotatedElement="_w__dcLG0EeCDe8CO90iVKQ">
+        <ownedComment xmi:id="_VbmbHRE9EeGOffqMW1YiZA" annotatedElement="_w__dcLG0EeCDe8CO90iVKQ">
           <body>The text of the expression, possibly in multiple languages.</body>
         </ownedComment>
         <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1aMtNwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g1aMtdwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VbmbHhE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VbmbHxE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
       <ownedAttribute xmi:id="_D0kWwLG1EeCDe8CO90iVKQ" name="language" visibility="public" isOrdered="true">
-        <ownedComment xmi:id="_g1aMttwbEeCT5O2F6sGn5g" annotatedElement="_D0kWwLG1EeCDe8CO90iVKQ">
+        <ownedComment xmi:id="_VbnpMBE9EeGOffqMW1YiZA" annotatedElement="_D0kWwLG1EeCDe8CO90iVKQ">
           <body>Specifies the languages in which the expression is stated. The interpretation of the expression body depends on the languages. If the languages are unspecified, they might be implicit from the expression body or the context. Languages are matched to body strings by order.</body>
         </ownedComment>
         <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1aMt9wbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g1aMuNwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VbnpMRE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VbnpMhE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g1azwNwbEeCT5O2F6sGn5g" name="result" visibility="public" type="_KyaPMGveEdq4DLWZOhbdEA" isReadOnly="true" isDerived="true" association="_gy0yzNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1azwdwbEeCT5O2F6sGn5g" annotatedElement="_g1azwNwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VboQQBE9EeGOffqMW1YiZA" name="result" visibility="public" type="_KyaPMGveEdq4DLWZOhbdEA" isReadOnly="true" isDerived="true" association="_VUd4UBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VboQQRE9EeGOffqMW1YiZA" annotatedElement="_VboQQBE9EeGOffqMW1YiZA">
           <body>Restricts an opaque expression to return exactly one return result. When the invocation of the opaque expression completes, a single set of values is returned to its owner. This association is derived from the single return result parameter of the associated behavior.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1azwtwbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VboQQhE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
       <ownedOperation xmi:id="_qQchgGWKEdq-f4093SZhVA" name="stringValue" visibility="protected" isQuery="true">
         <ownedParameter xmi:id="_sRo9MGWKEdq-f4093SZhVA" direction="return">
           <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
         </ownedParameter>
       </ownedOperation>
-      <ownedOperation xmi:id="_g1azw9wbEeCT5O2F6sGn5g" name="isIntegral" visibility="public" bodyCondition="_g1azxdwbEeCT5O2F6sGn5g" isQuery="true">
-        <ownedComment xmi:id="_g1azxNwbEeCT5O2F6sGn5g" annotatedElement="_g1azw9wbEeCT5O2F6sGn5g">
+      <ownedOperation xmi:id="_VboQQxE9EeGOffqMW1YiZA" name="isIntegral" visibility="public" bodyCondition="_VboQRRE9EeGOffqMW1YiZA" isQuery="true">
+        <ownedComment xmi:id="_VboQRBE9EeGOffqMW1YiZA" annotatedElement="_VboQQxE9EeGOffqMW1YiZA">
           <body>The query isIntegral() tells whether an expression is intended to produce an integer.</body>
         </ownedComment>
-        <ownedRule xmi:id="_g1azxdwbEeCT5O2F6sGn5g" name="spec" constrainedElement="_g1azw9wbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1azxtwbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VboQRRE9EeGOffqMW1YiZA" name="spec" constrainedElement="_VboQQxE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VboQRhE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = false</body>
           </specification>
         </ownedRule>
-        <ownedParameter xmi:id="_g1azx9wbEeCT5O2F6sGn5g" name="result" visibility="public" direction="return">
+        <ownedParameter xmi:id="_VboQRxE9EeGOffqMW1YiZA" name="result" visibility="public" direction="return">
           <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
         </ownedParameter>
       </ownedOperation>
-      <ownedOperation xmi:id="_g1azyNwbEeCT5O2F6sGn5g" name="isNonNegative" visibility="public" bodyCondition="_g1azzNwbEeCT5O2F6sGn5g" isQuery="true" precondition="_g1azytwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1azydwbEeCT5O2F6sGn5g" annotatedElement="_g1azyNwbEeCT5O2F6sGn5g">
+      <ownedOperation xmi:id="_Vbo3UBE9EeGOffqMW1YiZA" name="isNonNegative" visibility="public" bodyCondition="_Vbo3UhE9EeGOffqMW1YiZA" isQuery="true" precondition="_Vbo3VBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_Vbo3URE9EeGOffqMW1YiZA" annotatedElement="_Vbo3UBE9EeGOffqMW1YiZA">
           <body>The query isNonNegative() tells whether an integer expression has a non-negative value.</body>
         </ownedComment>
-        <ownedRule xmi:id="_g1azytwbEeCT5O2F6sGn5g" name="pre" constrainedElement="_g1azyNwbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1azy9wbEeCT5O2F6sGn5g">
-            <language>OCL</language>
-            <body>self.isIntegral()</body>
-          </specification>
-        </ownedRule>
-        <ownedRule xmi:id="_g1azzNwbEeCT5O2F6sGn5g" name="spec" constrainedElement="_g1azyNwbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1azzdwbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_Vbo3UhE9EeGOffqMW1YiZA" name="spec" constrainedElement="_Vbo3UBE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_Vbo3UxE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = false</body>
           </specification>
         </ownedRule>
-        <ownedParameter xmi:id="_g1azztwbEeCT5O2F6sGn5g" name="result" visibility="public" direction="return">
+        <ownedRule xmi:id="_Vbo3VBE9EeGOffqMW1YiZA" name="pre" constrainedElement="_Vbo3UBE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_Vbo3VRE9EeGOffqMW1YiZA">
+            <language>OCL</language>
+            <body>self.isIntegral()</body>
+          </specification>
+        </ownedRule>
+        <ownedParameter xmi:id="_Vbo3VhE9EeGOffqMW1YiZA" name="result" visibility="public" direction="return">
           <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
         </ownedParameter>
       </ownedOperation>
-      <ownedOperation xmi:id="_g1azz9wbEeCT5O2F6sGn5g" name="isPositive" visibility="public" bodyCondition="_g1az0dwbEeCT5O2F6sGn5g" isQuery="true" precondition="_g1az09wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1az0NwbEeCT5O2F6sGn5g" annotatedElement="_g1azz9wbEeCT5O2F6sGn5g">
+      <ownedOperation xmi:id="_Vbo3VxE9EeGOffqMW1YiZA" name="isPositive" visibility="public" bodyCondition="_Vbo3WRE9EeGOffqMW1YiZA" isQuery="true" precondition="_Vbo3WxE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_Vbo3WBE9EeGOffqMW1YiZA" annotatedElement="_Vbo3VxE9EeGOffqMW1YiZA">
           <body>The query isPositive() tells whether an integer expression has a positive value.</body>
         </ownedComment>
-        <ownedRule xmi:id="_g1az0dwbEeCT5O2F6sGn5g" name="spec" constrainedElement="_g1azz9wbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1az0twbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_Vbo3WRE9EeGOffqMW1YiZA" name="spec" constrainedElement="_Vbo3VxE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_Vbo3WhE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = false</body>
           </specification>
         </ownedRule>
-        <ownedRule xmi:id="_g1az09wbEeCT5O2F6sGn5g" name="pre" constrainedElement="_g1azz9wbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1az1NwbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_Vbo3WxE9EeGOffqMW1YiZA" name="pre" constrainedElement="_Vbo3VxE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_Vbo3XBE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>self.isIntegral()</body>
           </specification>
         </ownedRule>
-        <ownedParameter xmi:id="_g1az1dwbEeCT5O2F6sGn5g" name="result" visibility="public" direction="return">
+        <ownedParameter xmi:id="_Vbo3XRE9EeGOffqMW1YiZA" name="result" visibility="public" direction="return">
           <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
         </ownedParameter>
       </ownedOperation>
-      <ownedOperation xmi:id="_mv9LcFYiEdqB6vblk3tuMA" name="result" visibility="public" bodyCondition="_g1ba0dwbEeCT5O2F6sGn5g" isQuery="true">
-        <ownedComment xmi:id="_g1ba0NwbEeCT5O2F6sGn5g" annotatedElement="_mv9LcFYiEdqB6vblk3tuMA">
+      <ownedOperation xmi:id="_mv9LcFYiEdqB6vblk3tuMA" name="result" visibility="public" bodyCondition="_Vb1roBE9EeGOffqMW1YiZA" isQuery="true">
+        <ownedComment xmi:id="_Vbo3XhE9EeGOffqMW1YiZA" annotatedElement="_mv9LcFYiEdqB6vblk3tuMA">
           <body>Missing derivation for OpaqueExpression::/result : Parameter</body>
         </ownedComment>
-        <ownedRule xmi:id="_g1ba0dwbEeCT5O2F6sGn5g" name="spec" constrainedElement="_mv9LcFYiEdqB6vblk3tuMA _g1azwNwbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1ba0twbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_Vb1roBE9EeGOffqMW1YiZA" name="spec" constrainedElement="_mv9LcFYiEdqB6vblk3tuMA _VboQQBE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_Vb1roRE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>true</body>
           </specification>
         </ownedRule>
         <ownedParameter xmi:id="_vXTbwFYiEdqB6vblk3tuMA" name="result" visibility="public" type="_KyaPMGveEdq4DLWZOhbdEA" direction="return">
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1ba09wbEeCT5O2F6sGn5g"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Vb1rohE9EeGOffqMW1YiZA"/>
           <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_0JhNkVYiEdqB6vblk3tuMA" value="1"/>
         </ownedParameter>
       </ownedOperation>
-      <ownedOperation xmi:id="_g1ba1NwbEeCT5O2F6sGn5g" name="value" visibility="public" bodyCondition="_g1ba2NwbEeCT5O2F6sGn5g" isQuery="true" precondition="_g1ba1twbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1ba1dwbEeCT5O2F6sGn5g" annotatedElement="_g1ba1NwbEeCT5O2F6sGn5g">
+      <ownedOperation xmi:id="_Vb9ncBE9EeGOffqMW1YiZA" name="value" visibility="public" bodyCondition="_Vb9ndBE9EeGOffqMW1YiZA" isQuery="true" precondition="_Vb9nchE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_Vb9ncRE9EeGOffqMW1YiZA" annotatedElement="_Vb9ncBE9EeGOffqMW1YiZA">
           <body>The query value() gives an integer value for an expression intended to produce one.</body>
         </ownedComment>
-        <ownedRule xmi:id="_g1ba1twbEeCT5O2F6sGn5g" name="pre" constrainedElement="_g1ba1NwbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1ba19wbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_Vb9nchE9EeGOffqMW1YiZA" name="pre" constrainedElement="_Vb9ncBE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_Vb9ncxE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>self.isIntegral()</body>
           </specification>
         </ownedRule>
-        <ownedRule xmi:id="_g1ba2NwbEeCT5O2F6sGn5g" name="spec" constrainedElement="_g1ba1NwbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1ba2dwbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_Vb9ndBE9EeGOffqMW1YiZA" name="spec" constrainedElement="_Vb9ncBE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_Vb9ndRE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>true</body>
           </specification>
         </ownedRule>
-        <ownedParameter xmi:id="_g1ba2twbEeCT5O2F6sGn5g" name="result" visibility="public" direction="return">
+        <ownedParameter xmi:id="_Vb9ndhE9EeGOffqMW1YiZA" name="result" visibility="public" direction="return">
           <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
         </ownedParameter>
       </ownedOperation>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="_M4X2IGveEdq4DLWZOhbdEA" name="Operation">
-      <ownedComment xmi:id="_g1cB4NwbEeCT5O2F6sGn5g" annotatedElement="_M4X2IGveEdq4DLWZOhbdEA">
-        <body>Operation specializes TemplateableElement in order to support specification of template operations and bound operations. Operation specializes ParameterableElement to specify that an operation can be exposed as a formal template parameter, and provided as an actual parameter in a binding of a template.</body>
-      </ownedComment>
-      <ownedComment xmi:id="_g1cB4dwbEeCT5O2F6sGn5g" annotatedElement="_M4X2IGveEdq4DLWZOhbdEA">
-        <body>An operation may invoke both the execution of method behaviors as well as other behavioral responses.</body>
-      </ownedComment>
-      <ownedComment xmi:id="_g1cB4twbEeCT5O2F6sGn5g" annotatedElement="_M4X2IGveEdq4DLWZOhbdEA">
+      <ownedComment xmi:id="_Vb-OgBE9EeGOffqMW1YiZA" annotatedElement="_M4X2IGveEdq4DLWZOhbdEA">
         <body>An operation is a behavioral feature of a classifier that specifies the name, type, parameters, and constraints for invoking an associated behavior.</body>
       </ownedComment>
-      <ownedRule xmi:id="_g1cB49wbEeCT5O2F6sGn5g" name="at_most_one_return" constrainedElement="_M4X2IGveEdq4DLWZOhbdEA">
-        <ownedComment xmi:id="_g1cB5NwbEeCT5O2F6sGn5g" annotatedElement="_g1cB49wbEeCT5O2F6sGn5g">
+      <ownedComment xmi:id="_Vb-OgRE9EeGOffqMW1YiZA" annotatedElement="_M4X2IGveEdq4DLWZOhbdEA">
+        <body>An operation may invoke both the execution of method behaviors as well as other behavioral responses.</body>
+      </ownedComment>
+      <ownedComment xmi:id="_Vb-OghE9EeGOffqMW1YiZA" annotatedElement="_M4X2IGveEdq4DLWZOhbdEA">
+        <body>Operation specializes TemplateableElement in order to support specification of template operations and bound operations. Operation specializes ParameterableElement to specify that an operation can be exposed as a formal template parameter, and provided as an actual parameter in a binding of a template.</body>
+      </ownedComment>
+      <ownedRule xmi:id="_Vb-1kBE9EeGOffqMW1YiZA" name="at_most_one_return" constrainedElement="_M4X2IGveEdq4DLWZOhbdEA">
+        <ownedComment xmi:id="_Vb-1kRE9EeGOffqMW1YiZA" annotatedElement="_Vb-1kBE9EeGOffqMW1YiZA">
           <body>An operation can have at most one return parameter; i.e., an owned parameter with the direction set to 'return'</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1cB5dwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_Vb-1khE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>self.ownedParameter->select(par | par.direction = #return)->size() &lt;= 1</body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_g1cB5twbEeCT5O2F6sGn5g" name="only_body_for_query" constrainedElement="_M4X2IGveEdq4DLWZOhbdEA">
-        <ownedComment xmi:id="_g1cB59wbEeCT5O2F6sGn5g" annotatedElement="_g1cB5twbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_Vb-1kxE9EeGOffqMW1YiZA" name="only_body_for_query" constrainedElement="_M4X2IGveEdq4DLWZOhbdEA">
+        <ownedComment xmi:id="_Vb-1lBE9EeGOffqMW1YiZA" annotatedElement="_Vb-1kxE9EeGOffqMW1YiZA">
           <body>A bodyCondition can only be specified for a query operation.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1cB6NwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_Vb-1lRE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>bodyCondition->notEmpty() implies isQuery</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_g1cB6dwbEeCT5O2F6sGn5g" general="_g2PTINwbEeCT5O2F6sGn5g"/>
-      <generalization xmi:id="_g1cB6twbEeCT5O2F6sGn5g" general="_g1noENwbEeCT5O2F6sGn5g"/>
-      <generalization xmi:id="_g1cB69wbEeCT5O2F6sGn5g" general="_rHT3YKOsEdqi_5gqUMOQtA"/>
-      <ownedAttribute xmi:id="_g1co8NwbEeCT5O2F6sGn5g" name="bodyCondition" visibility="public" type="_g0AegNwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_g1TfANwbEeCT5O2F6sGn5g" association="_gyTOXNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1co8dwbEeCT5O2F6sGn5g" annotatedElement="_g1co8NwbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_Vb-1lhE9EeGOffqMW1YiZA" general="_VeuAgBE9EeGOffqMW1YiZA"/>
+      <generalization xmi:id="_Vb-1lxE9EeGOffqMW1YiZA" general="_rHT3YKOsEdqi_5gqUMOQtA"/>
+      <generalization xmi:id="_Vb-1mBE9EeGOffqMW1YiZA" general="_Vc730BE9EeGOffqMW1YiZA"/>
+      <ownedAttribute xmi:id="_Vb-1mRE9EeGOffqMW1YiZA" name="bodyCondition" visibility="public" type="_VYbLQBE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_Var1FBE9EeGOffqMW1YiZA" association="_VS_4tBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_Vb-1mhE9EeGOffqMW1YiZA" annotatedElement="_Vb-1mRE9EeGOffqMW1YiZA">
           <body>An optional Constraint on the result values of an invocation of this Operation.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1co8twbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Vb-1mxE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g1co89wbEeCT5O2F6sGn5g" name="class" visibility="public" type="_00owUGvdEdq4DLWZOhbdEA" subsettedProperty="_YUdlwLbAEeCRxrN1JUGuxA _1vzv0LbIEeCRxrN1JUGuxA _zYrE4La-EeCRxrN1JUGuxA" association="_gypzoNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1co9NwbEeCT5O2F6sGn5g" annotatedElement="_g1co89wbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_Vb-1nBE9EeGOffqMW1YiZA" name="class" visibility="public" type="_00owUGvdEdq4DLWZOhbdEA" subsettedProperty="_YUdlwLbAEeCRxrN1JUGuxA _zYrE4La-EeCRxrN1JUGuxA _1vzv0LbIEeCRxrN1JUGuxA" association="_VUBzcBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_Vb-1nRE9EeGOffqMW1YiZA" annotatedElement="_Vb-1nBE9EeGOffqMW1YiZA">
           <body>The class that owns the operation.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1co9dwbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Vb-1nhE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g1co9twbEeCT5O2F6sGn5g" name="datatype" visibility="public" type="__1ap4HLzEdqziYxiZo0YtA" subsettedProperty="_YUdlwLbAEeCRxrN1JUGuxA _1vzv0LbIEeCRxrN1JUGuxA _zYrE4La-EeCRxrN1JUGuxA" association="_gypzodwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1co99wbEeCT5O2F6sGn5g" annotatedElement="_g1co9twbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_Vb_coBE9EeGOffqMW1YiZA" name="datatype" visibility="public" type="__1ap4HLzEdqziYxiZo0YtA" subsettedProperty="_YUdlwLbAEeCRxrN1JUGuxA _zYrE4La-EeCRxrN1JUGuxA _1vzv0LbIEeCRxrN1JUGuxA" association="_VUBzcRE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_Vb_coRE9EeGOffqMW1YiZA" annotatedElement="_Vb_coBE9EeGOffqMW1YiZA">
           <body>The DataType that owns this Operation.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1co-NwbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Vb_cohE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g1co-dwbEeCT5O2F6sGn5g" name="interface" visibility="public" type="_8Ugn8GvtEdqG6fBIPwe-mw" subsettedProperty="_YUdlwLbAEeCRxrN1JUGuxA _1vzv0LbIEeCRxrN1JUGuxA _zYrE4La-EeCRxrN1JUGuxA" association="_gypzotwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1co-twbEeCT5O2F6sGn5g" annotatedElement="_g1co-dwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_Vb_coxE9EeGOffqMW1YiZA" name="interface" visibility="public" type="_8Ugn8GvtEdqG6fBIPwe-mw" subsettedProperty="_YUdlwLbAEeCRxrN1JUGuxA _zYrE4La-EeCRxrN1JUGuxA _1vzv0LbIEeCRxrN1JUGuxA" association="_VUBzchE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_Vb_cpBE9EeGOffqMW1YiZA" annotatedElement="_Vb_coxE9EeGOffqMW1YiZA">
           <body>The Interface that owns this Operation.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1co-9wbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Vb_cpRE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g1co_NwbEeCT5O2F6sGn5g" name="isOrdered" visibility="public" isReadOnly="true" isDerived="true">
-        <ownedComment xmi:id="_g1co_dwbEeCT5O2F6sGn5g" annotatedElement="_g1co_NwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_Vb_cphE9EeGOffqMW1YiZA" name="isOrdered" visibility="public" isReadOnly="true" isDerived="true">
+        <ownedComment xmi:id="_Vb_cpxE9EeGOffqMW1YiZA" annotatedElement="_Vb_cphE9EeGOffqMW1YiZA">
           <body>This information is derived from the return result for this Operation.</body>
         </ownedComment>
-        <ownedComment xmi:id="_g1co_twbEeCT5O2F6sGn5g" annotatedElement="_g1co_NwbEeCT5O2F6sGn5g">
+        <ownedComment xmi:id="_Vb_cqBE9EeGOffqMW1YiZA" annotatedElement="_Vb_cphE9EeGOffqMW1YiZA">
           <body>Specifies whether the return parameter is ordered or not, if present.</body>
         </ownedComment>
         <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
-        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_g1co_9wbEeCT5O2F6sGn5g"/>
+        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_Vb_cqRE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g1cpANwbEeCT5O2F6sGn5g" name="isQuery" visibility="public">
-        <ownedComment xmi:id="_g1cpAdwbEeCT5O2F6sGn5g" annotatedElement="_g1cpANwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_Vb_cqhE9EeGOffqMW1YiZA" name="isQuery" visibility="public">
+        <ownedComment xmi:id="_Vb_cqxE9EeGOffqMW1YiZA" annotatedElement="_Vb_cqhE9EeGOffqMW1YiZA">
           <body>Specifies whether an execution of the BehavioralFeature leaves the state of the system unchanged (isQuery=true) or whether side effects may occur (isQuery=false).</body>
         </ownedComment>
         <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
-        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_g1cpAtwbEeCT5O2F6sGn5g"/>
+        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_Vb_crBE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g1cpA9wbEeCT5O2F6sGn5g" name="isUnique" visibility="public" isReadOnly="true" isDerived="true">
-        <ownedComment xmi:id="_g1cpBNwbEeCT5O2F6sGn5g" annotatedElement="_g1cpA9wbEeCT5O2F6sGn5g">
-          <body>This information is derived from the return result for this Operation.</body>
-        </ownedComment>
-        <ownedComment xmi:id="_g1cpBdwbEeCT5O2F6sGn5g" annotatedElement="_g1cpA9wbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VcADsBE9EeGOffqMW1YiZA" name="isUnique" visibility="public" isReadOnly="true" isDerived="true">
+        <ownedComment xmi:id="_VcADsRE9EeGOffqMW1YiZA" annotatedElement="_VcADsBE9EeGOffqMW1YiZA">
           <body>Specifies whether the return parameter is unique or not, if present.</body>
         </ownedComment>
+        <ownedComment xmi:id="_VcADshE9EeGOffqMW1YiZA" annotatedElement="_VcADsBE9EeGOffqMW1YiZA">
+          <body>This information is derived from the return result for this Operation.</body>
+        </ownedComment>
         <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
-        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_g1cpBtwbEeCT5O2F6sGn5g" value="true"/>
+        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_VcADsxE9EeGOffqMW1YiZA" value="true"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g1cpB9wbEeCT5O2F6sGn5g" name="lower" visibility="public" isReadOnly="true" isDerived="true">
-        <ownedComment xmi:id="_g1cpCNwbEeCT5O2F6sGn5g" annotatedElement="_g1cpB9wbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VcADtBE9EeGOffqMW1YiZA" name="lower" visibility="public" isReadOnly="true" isDerived="true">
+        <ownedComment xmi:id="_VcADtRE9EeGOffqMW1YiZA" annotatedElement="_VcADtBE9EeGOffqMW1YiZA">
+          <body>This information is derived from the return result for this Operation.</body>
+        </ownedComment>
+        <ownedComment xmi:id="_VcADthE9EeGOffqMW1YiZA" annotatedElement="_VcADtBE9EeGOffqMW1YiZA">
           <body>Specifies the lower multiplicity of the return parameter, if present.</body>
         </ownedComment>
-        <ownedComment xmi:id="_g1cpCdwbEeCT5O2F6sGn5g" annotatedElement="_g1cpB9wbEeCT5O2F6sGn5g">
-          <body>This information is derived from the return result for this Operation.</body>
-        </ownedComment>
         <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1cpCtwbEeCT5O2F6sGn5g"/>
-        <defaultValue xmi:type="uml:LiteralInteger" xmi:id="_g1cpC9wbEeCT5O2F6sGn5g" value="1"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VcADtxE9EeGOffqMW1YiZA"/>
+        <defaultValue xmi:type="uml:LiteralInteger" xmi:id="_VcADuBE9EeGOffqMW1YiZA" value="1"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g1dQANwbEeCT5O2F6sGn5g" name="ownedParameter" visibility="public" type="_KyaPMGveEdq4DLWZOhbdEA" isOrdered="true" aggregation="composite" redefinedProperty="_gzkZoNwbEeCT5O2F6sGn5g" association="_gypzrNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1dQAdwbEeCT5O2F6sGn5g" annotatedElement="_g1dQANwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VcADuRE9EeGOffqMW1YiZA" name="ownedParameter" visibility="public" type="_KyaPMGveEdq4DLWZOhbdEA" isOrdered="true" aggregation="composite" redefinedProperty="_VWJ6YBE9EeGOffqMW1YiZA" association="_VUCahhE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VcADuhE9EeGOffqMW1YiZA" annotatedElement="_VcADuRE9EeGOffqMW1YiZA">
           <body>Specifies the ordered set of formal parameters of this BehavioralFeature.</body>
         </ownedComment>
-        <ownedComment xmi:id="_g1dQAtwbEeCT5O2F6sGn5g" annotatedElement="_g1dQANwbEeCT5O2F6sGn5g">
+        <ownedComment xmi:id="_VcADuxE9EeGOffqMW1YiZA" annotatedElement="_VcADuRE9EeGOffqMW1YiZA">
           <body>Specifies the parameters owned by this Operation.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1dQA9wbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g1dQBNwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VcADvBE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VcADvRE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g1dQBdwbEeCT5O2F6sGn5g" name="postcondition" visibility="public" type="_g0AegNwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_g1TfANwbEeCT5O2F6sGn5g" association="_gys289wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1dQBtwbEeCT5O2F6sGn5g" annotatedElement="_g1dQBdwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VcADvhE9EeGOffqMW1YiZA" name="postcondition" visibility="public" type="_VYbLQBE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_Var1FBE9EeGOffqMW1YiZA" association="_VUJvQxE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VcADvxE9EeGOffqMW1YiZA" annotatedElement="_VcADvhE9EeGOffqMW1YiZA">
           <body>An optional set of Constraints specifying the state of the system when the Operation is completed.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1dQB9wbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g1dQCNwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VcADwBE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VcADwRE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g1dQCdwbEeCT5O2F6sGn5g" name="precondition" visibility="public" type="_g0AegNwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_g1TfANwbEeCT5O2F6sGn5g" association="_gys2_twbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1dQCtwbEeCT5O2F6sGn5g" annotatedElement="_g1dQCdwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VcAqwBE9EeGOffqMW1YiZA" name="precondition" visibility="public" type="_VYbLQBE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_Var1FBE9EeGOffqMW1YiZA" association="_VUKWVxE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VcAqwRE9EeGOffqMW1YiZA" annotatedElement="_VcAqwBE9EeGOffqMW1YiZA">
           <body>An optional set of Constraints on the state of the system when the Operation is invoked.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1dQC9wbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g1dQDNwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VcAqwhE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VcAqwxE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g1dQDdwbEeCT5O2F6sGn5g" name="raisedException" visibility="public" type="_ynRtoGvtEdqG6fBIPwe-mw" redefinedProperty="_gzkZqNwbEeCT5O2F6sGn5g" association="_gyusJ9wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1dQDtwbEeCT5O2F6sGn5g" annotatedElement="_g1dQDdwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VcAqxBE9EeGOffqMW1YiZA" name="raisedException" visibility="public" type="_ynRtoGvtEdqG6fBIPwe-mw" redefinedProperty="_VWJ6aBE9EeGOffqMW1YiZA" association="_VUNZoBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VcAqxRE9EeGOffqMW1YiZA" annotatedElement="_VcAqxBE9EeGOffqMW1YiZA">
           <body>References the Types representing exceptions that may be raised during an invocation of this operation.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1dQD9wbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g1dQENwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VcAqxhE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VcAqxxE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g1dQEdwbEeCT5O2F6sGn5g" name="redefinedOperation" visibility="public" type="_M4X2IGveEdq4DLWZOhbdEA" subsettedProperty="_g15U7twbEeCT5O2F6sGn5g" association="_gywhXNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1dQEtwbEeCT5O2F6sGn5g" annotatedElement="_g1dQEdwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VcBR0BE9EeGOffqMW1YiZA" name="redefinedOperation" visibility="public" type="_M4X2IGveEdq4DLWZOhbdEA" subsettedProperty="_VdtT4BE9EeGOffqMW1YiZA" association="_VUSSJBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VcBR0RE9EeGOffqMW1YiZA" annotatedElement="_VcBR0BE9EeGOffqMW1YiZA">
           <body>References the Operations that are redefined by this Operation.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1dQE9wbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g1dQFNwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VcBR0hE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VcBR0xE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g1dQFdwbEeCT5O2F6sGn5g" name="templateParameter" visibility="public" type="_g1fsQNwbEeCT5O2F6sGn5g" redefinedProperty="_g1noFtwbEeCT5O2F6sGn5g" association="_gynXaNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1dQFtwbEeCT5O2F6sGn5g" annotatedElement="_g1dQFdwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VcBR1BE9EeGOffqMW1YiZA" name="templateParameter" visibility="public" type="_VcGxYBE9EeGOffqMW1YiZA" redefinedProperty="_Vc731hE9EeGOffqMW1YiZA" association="_VT86-BE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VcBR1RE9EeGOffqMW1YiZA" annotatedElement="_VcBR1BE9EeGOffqMW1YiZA">
           <body>The template parameter that exposes this element as a formal parameter.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1dQF9wbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VcBR1hE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g1dQGNwbEeCT5O2F6sGn5g" name="type" visibility="public" type="_ynRtoGvtEdqG6fBIPwe-mw" isReadOnly="true" isDerived="true" association="_gy98vNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1dQGdwbEeCT5O2F6sGn5g" annotatedElement="_g1dQGNwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VcBR1xE9EeGOffqMW1YiZA" name="type" visibility="public" type="_ynRtoGvtEdqG6fBIPwe-mw" isReadOnly="true" isDerived="true" association="_VUtI4BE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VcBR2BE9EeGOffqMW1YiZA" annotatedElement="_VcBR1xE9EeGOffqMW1YiZA">
           <body>This information is derived from the return result for this Operation.</body>
         </ownedComment>
-        <ownedComment xmi:id="_g1dQGtwbEeCT5O2F6sGn5g" annotatedElement="_g1dQGNwbEeCT5O2F6sGn5g">
+        <ownedComment xmi:id="_VcBR2RE9EeGOffqMW1YiZA" annotatedElement="_VcBR1xE9EeGOffqMW1YiZA">
           <body>Specifies the return result of the operation, if present.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1dQG9wbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VcBR2hE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g1d3ENwbEeCT5O2F6sGn5g" name="upper" visibility="public" isReadOnly="true" isDerived="true">
-        <ownedComment xmi:id="_g1d3EdwbEeCT5O2F6sGn5g" annotatedElement="_g1d3ENwbEeCT5O2F6sGn5g">
-          <body>Specifies the upper multiplicity of the return parameter, if present.</body>
-        </ownedComment>
-        <ownedComment xmi:id="_g1d3EtwbEeCT5O2F6sGn5g" annotatedElement="_g1d3ENwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VcBR2xE9EeGOffqMW1YiZA" name="upper" visibility="public" isReadOnly="true" isDerived="true">
+        <ownedComment xmi:id="_VcBR3BE9EeGOffqMW1YiZA" annotatedElement="_VcBR2xE9EeGOffqMW1YiZA">
           <body>This information is derived from the return result for this Operation.</body>
         </ownedComment>
+        <ownedComment xmi:id="_VcBR3RE9EeGOffqMW1YiZA" annotatedElement="_VcBR2xE9EeGOffqMW1YiZA">
+          <body>Specifies the upper multiplicity of the return parameter, if present.</body>
+        </ownedComment>
         <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#UnlimitedNatural"/>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1d3E9wbEeCT5O2F6sGn5g"/>
-        <defaultValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g1d3FNwbEeCT5O2F6sGn5g" value="1"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VcBR3hE9EeGOffqMW1YiZA"/>
+        <defaultValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VcBR3xE9EeGOffqMW1YiZA" value="1"/>
       </ownedAttribute>
       <ownedOperation xmi:id="_HxDswKOyEdqi_5gqUMOQtA" name="getReturnResult">
         <ownedComment xmi:id="_tVUrUOwfEdqYHf-imTcTdw" annotatedElement="_HxDswKOyEdqi_5gqUMOQtA">
@@ -10330,15 +10333,21 @@
           <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#UnlimitedNatural"/>
         </ownedParameter>
       </ownedOperation>
-      <ownedOperation xmi:id="_g1d3FdwbEeCT5O2F6sGn5g" name="isConsistentWith" visibility="public" bodyCondition="_g1d3GNwbEeCT5O2F6sGn5g" isQuery="true" precondition="_g1d3GtwbEeCT5O2F6sGn5g" redefinedOperation="_g1578NwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1d3FtwbEeCT5O2F6sGn5g" annotatedElement="_g1d3FdwbEeCT5O2F6sGn5g">
+      <ownedOperation xmi:id="_VcB44BE9EeGOffqMW1YiZA" name="isConsistentWith" visibility="public" bodyCondition="_VcB45RE9EeGOffqMW1YiZA" isQuery="true" precondition="_VcB44xE9EeGOffqMW1YiZA" redefinedOperation="_Vd1PsBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VcB44RE9EeGOffqMW1YiZA" annotatedElement="_VcB44BE9EeGOffqMW1YiZA">
           <body>A redefining operation is consistent with a redefined operation if it has the same number of owned parameters, and the type of each owned parameter conforms to the type of the corresponding redefined parameter.</body>
         </ownedComment>
-        <ownedComment xmi:id="_g1d3F9wbEeCT5O2F6sGn5g" annotatedElement="_g1d3FdwbEeCT5O2F6sGn5g">
+        <ownedComment xmi:id="_VcB44hE9EeGOffqMW1YiZA" annotatedElement="_VcB44BE9EeGOffqMW1YiZA">
           <body>The query isConsistentWith() specifies, for any two Operations in a context in which redefinition is possible, whether redefinition would be consistent in the sense of maintaining type covariance. Other senses of consistency may be required, for example to determine consistency in the sense of contravariance. Users may define alternative queries under names different from 'isConsistentWith()', as for example, users may define a query named 'isContravariantWith()'.</body>
         </ownedComment>
-        <ownedRule xmi:id="_g1d3GNwbEeCT5O2F6sGn5g" name="spec" constrainedElement="_g1d3FdwbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1d3GdwbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VcB44xE9EeGOffqMW1YiZA" name="pre" constrainedElement="_VcB44BE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VcB45BE9EeGOffqMW1YiZA">
+            <language>OCL</language>
+            <body>redefinee.isRedefinitionContextValid(self)</body>
+          </specification>
+        </ownedRule>
+        <ownedRule xmi:id="_VcB45RE9EeGOffqMW1YiZA" name="spec" constrainedElement="_VcB44BE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VcB45hE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = redefinee.oclIsKindOf(Operation) and
 let op : Operation = redefinee.oclAsType(Operation) in
@@ -10347,51 +10356,45 @@
 		forAll(i |op.ownedParameter->at(1).type.conformsTo(self.ownedParameter->at(i).type))</body>
           </specification>
         </ownedRule>
-        <ownedRule xmi:id="_g1d3GtwbEeCT5O2F6sGn5g" name="pre" constrainedElement="_g1d3FdwbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1d3G9wbEeCT5O2F6sGn5g">
-            <language>OCL</language>
-            <body>redefinee.isRedefinitionContextValid(self)</body>
-          </specification>
-        </ownedRule>
-        <ownedParameter xmi:id="_g1d3HNwbEeCT5O2F6sGn5g" name="result" visibility="public" direction="return">
+        <ownedParameter xmi:id="_VcB45xE9EeGOffqMW1YiZA" name="result" visibility="public" direction="return">
           <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
         </ownedParameter>
-        <ownedParameter xmi:id="_g1d3HdwbEeCT5O2F6sGn5g" name="redefinee" visibility="public" type="_uCRA4La-EeCRxrN1JUGuxA"/>
+        <ownedParameter xmi:id="_VcB46BE9EeGOffqMW1YiZA" name="redefinee" visibility="public" type="_uCRA4La-EeCRxrN1JUGuxA"/>
       </ownedOperation>
-      <ownedOperation xmi:id="_g1d3HtwbEeCT5O2F6sGn5g" name="isOrdered" visibility="public" bodyCondition="_g1d3INwbEeCT5O2F6sGn5g" isQuery="true">
-        <ownedComment xmi:id="_g1d3H9wbEeCT5O2F6sGn5g" annotatedElement="_g1d3HtwbEeCT5O2F6sGn5g">
+      <ownedOperation xmi:id="_VcB46RE9EeGOffqMW1YiZA" name="isOrdered" visibility="public" bodyCondition="_VcB46xE9EeGOffqMW1YiZA" isQuery="true">
+        <ownedComment xmi:id="_VcB46hE9EeGOffqMW1YiZA" annotatedElement="_VcB46RE9EeGOffqMW1YiZA">
           <body>If this operation has a return parameter, isOrdered equals the value of isOrdered for that parameter. Otherwise isOrdered is false.</body>
         </ownedComment>
-        <ownedRule xmi:id="_g1d3INwbEeCT5O2F6sGn5g" name="spec" constrainedElement="_g1d3HtwbEeCT5O2F6sGn5g _g1co_NwbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1d3IdwbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VcB46xE9EeGOffqMW1YiZA" name="spec" constrainedElement="_VcB46RE9EeGOffqMW1YiZA _Vb_cphE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VcB47BE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = if returnResult()->notEmpty() then returnResult()->any().isOrdered else false endif</body>
           </specification>
         </ownedRule>
-        <ownedParameter xmi:id="_g1d3ItwbEeCT5O2F6sGn5g" name="result" visibility="public" direction="return">
+        <ownedParameter xmi:id="_VcB47RE9EeGOffqMW1YiZA" name="result" visibility="public" direction="return">
           <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
         </ownedParameter>
       </ownedOperation>
-      <ownedOperation xmi:id="_g1d3I9wbEeCT5O2F6sGn5g" name="isUnique" visibility="public" bodyCondition="_g1d3JdwbEeCT5O2F6sGn5g" isQuery="true">
-        <ownedComment xmi:id="_g1d3JNwbEeCT5O2F6sGn5g" annotatedElement="_g1d3I9wbEeCT5O2F6sGn5g">
+      <ownedOperation xmi:id="_VcB47hE9EeGOffqMW1YiZA" name="isUnique" visibility="public" bodyCondition="_VcB48BE9EeGOffqMW1YiZA" isQuery="true">
+        <ownedComment xmi:id="_VcB47xE9EeGOffqMW1YiZA" annotatedElement="_VcB47hE9EeGOffqMW1YiZA">
           <body>If this operation has a return parameter, isUnique equals the value of isUnique for that parameter. Otherwise isUnique is true.</body>
         </ownedComment>
-        <ownedRule xmi:id="_g1d3JdwbEeCT5O2F6sGn5g" name="spec" constrainedElement="_g1d3I9wbEeCT5O2F6sGn5g _g1cpA9wbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1d3JtwbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VcB48BE9EeGOffqMW1YiZA" name="spec" constrainedElement="_VcB47hE9EeGOffqMW1YiZA _VcADsBE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VcB48RE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = if returnResult()->notEmpty() then returnResult()->any().isUnique else true endif</body>
           </specification>
         </ownedRule>
-        <ownedParameter xmi:id="_g1d3J9wbEeCT5O2F6sGn5g" name="result" visibility="public" direction="return">
+        <ownedParameter xmi:id="_VcB48hE9EeGOffqMW1YiZA" name="result" visibility="public" direction="return">
           <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
         </ownedParameter>
       </ownedOperation>
-      <ownedOperation xmi:id="_ho5pgFYLEdqrn7iZ0eqieg" name="lower" visibility="public" bodyCondition="_g1eeINwbEeCT5O2F6sGn5g" isQuery="true">
-        <ownedComment xmi:id="_g1d3KNwbEeCT5O2F6sGn5g" annotatedElement="_ho5pgFYLEdqrn7iZ0eqieg">
+      <ownedOperation xmi:id="_ho5pgFYLEdqrn7iZ0eqieg" name="lower" visibility="public" bodyCondition="_VcCf8RE9EeGOffqMW1YiZA" isQuery="true">
+        <ownedComment xmi:id="_VcCf8BE9EeGOffqMW1YiZA" annotatedElement="_ho5pgFYLEdqrn7iZ0eqieg">
           <body>If this operation has a return parameter, lower equals the value of lower for that parameter. Otherwise lower is not defined.</body>
         </ownedComment>
-        <ownedRule xmi:id="_g1eeINwbEeCT5O2F6sGn5g" name="spec" constrainedElement="_ho5pgFYLEdqrn7iZ0eqieg _g1cpB9wbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1eeIdwbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VcCf8RE9EeGOffqMW1YiZA" name="spec" constrainedElement="_ho5pgFYLEdqrn7iZ0eqieg _VcADtBE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VcCf8hE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = if returnResult()->notEmpty() then returnResult()->any().lower else Set{} endif</body>
           </specification>
@@ -10400,39 +10403,39 @@
           <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
         </ownedParameter>
       </ownedOperation>
-      <ownedOperation xmi:id="_g1eeItwbEeCT5O2F6sGn5g" name="returnResult" visibility="public" bodyCondition="_g1eeJNwbEeCT5O2F6sGn5g" isQuery="true">
-        <ownedComment xmi:id="_g1eeI9wbEeCT5O2F6sGn5g" annotatedElement="_g1eeItwbEeCT5O2F6sGn5g">
+      <ownedOperation xmi:id="_VcDHABE9EeGOffqMW1YiZA" name="returnResult" visibility="public" bodyCondition="_VcDHAhE9EeGOffqMW1YiZA" isQuery="true">
+        <ownedComment xmi:id="_VcDHARE9EeGOffqMW1YiZA" annotatedElement="_VcDHABE9EeGOffqMW1YiZA">
           <body>The query returnResult() returns the set containing the return parameter of the Operation if one exists, otherwise, it returns an empty set</body>
         </ownedComment>
-        <ownedRule xmi:id="_g1eeJNwbEeCT5O2F6sGn5g" name="spec" constrainedElement="_g1eeItwbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1eeJdwbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VcDHAhE9EeGOffqMW1YiZA" name="spec" constrainedElement="_VcDHABE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VcDHAxE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = ownedParameter->select (par | par.direction = #return)</body>
           </specification>
         </ownedRule>
-        <ownedParameter xmi:id="_g1eeJtwbEeCT5O2F6sGn5g" name="result" visibility="public" type="_KyaPMGveEdq4DLWZOhbdEA" direction="return">
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1eeJ9wbEeCT5O2F6sGn5g"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g1eeKNwbEeCT5O2F6sGn5g" value="*"/>
+        <ownedParameter xmi:id="_VcDHBBE9EeGOffqMW1YiZA" name="result" visibility="public" type="_KyaPMGveEdq4DLWZOhbdEA" direction="return">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VcDHBRE9EeGOffqMW1YiZA"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VcDHBhE9EeGOffqMW1YiZA" value="*"/>
         </ownedParameter>
       </ownedOperation>
-      <ownedOperation xmi:id="_CytvwLKHEeCwDd6B2NQzWA" name="type" visibility="public" bodyCondition="_g1eeKtwbEeCT5O2F6sGn5g" isQuery="true">
-        <ownedComment xmi:id="_g1eeKdwbEeCT5O2F6sGn5g" annotatedElement="_CytvwLKHEeCwDd6B2NQzWA">
+      <ownedOperation xmi:id="_CytvwLKHEeCwDd6B2NQzWA" name="type" visibility="public" bodyCondition="_VcDHCBE9EeGOffqMW1YiZA" isQuery="true">
+        <ownedComment xmi:id="_VcDHBxE9EeGOffqMW1YiZA" annotatedElement="_CytvwLKHEeCwDd6B2NQzWA">
           <body>If this operation has a return parameter, type equals the value of type for that parameter. Otherwise type is not defined.</body>
         </ownedComment>
-        <ownedRule xmi:id="_g1eeKtwbEeCT5O2F6sGn5g" name="spec" constrainedElement="_CytvwLKHEeCwDd6B2NQzWA _g1dQGNwbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1eeK9wbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VcDHCBE9EeGOffqMW1YiZA" name="spec" constrainedElement="_CytvwLKHEeCwDd6B2NQzWA _VcBR1xE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VcDHCRE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = if returnResult()->notEmpty() then returnResult()->any().type else Set{} endif</body>
           </specification>
         </ownedRule>
         <ownedParameter xmi:id="_QkL7kLKHEeCwDd6B2NQzWA" name="result" visibility="public" type="_ynRtoGvtEdqG6fBIPwe-mw" direction="return"/>
       </ownedOperation>
-      <ownedOperation xmi:id="_ljsEEFYLEdqrn7iZ0eqieg" name="upper" visibility="public" bodyCondition="_g1fFMdwbEeCT5O2F6sGn5g" isQuery="true">
-        <ownedComment xmi:id="_g1fFMNwbEeCT5O2F6sGn5g" annotatedElement="_ljsEEFYLEdqrn7iZ0eqieg">
+      <ownedOperation xmi:id="_ljsEEFYLEdqrn7iZ0eqieg" name="upper" visibility="public" bodyCondition="_VcE8MRE9EeGOffqMW1YiZA" isQuery="true">
+        <ownedComment xmi:id="_VcE8MBE9EeGOffqMW1YiZA" annotatedElement="_ljsEEFYLEdqrn7iZ0eqieg">
           <body>If this operation has a return parameter, upper equals the value of upper for that parameter. Otherwise upper is not defined.</body>
         </ownedComment>
-        <ownedRule xmi:id="_g1fFMdwbEeCT5O2F6sGn5g" name="spec" constrainedElement="_ljsEEFYLEdqrn7iZ0eqieg _g1d3ENwbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1fFMtwbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VcE8MRE9EeGOffqMW1YiZA" name="spec" constrainedElement="_ljsEEFYLEdqrn7iZ0eqieg _VcBR2xE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VcE8MhE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = if returnResult()->notEmpty() then returnResult()->any().upper else Set{} endif</body>
           </specification>
@@ -10442,108 +10445,108 @@
         </ownedParameter>
       </ownedOperation>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g1fsQNwbEeCT5O2F6sGn5g" name="OperationTemplateParameter">
-      <ownedComment xmi:id="_g1fsQdwbEeCT5O2F6sGn5g" annotatedElement="_g1fsQNwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VcGxYBE9EeGOffqMW1YiZA" name="OperationTemplateParameter">
+      <ownedComment xmi:id="_VcGxYRE9EeGOffqMW1YiZA" annotatedElement="_VcGxYBE9EeGOffqMW1YiZA">
         <body>An operation template parameter exposes an operation as a formal parameter for a template.</body>
       </ownedComment>
-      <generalization xmi:id="_g1fsQtwbEeCT5O2F6sGn5g" general="_KxRzgGvuEdqG6fBIPwe-mw"/>
-      <ownedAttribute xmi:id="_g1fsQ9wbEeCT5O2F6sGn5g" name="parameteredElement" visibility="public" type="_M4X2IGveEdq4DLWZOhbdEA" redefinedProperty="_g2M25twbEeCT5O2F6sGn5g" association="_gynXaNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1fsRNwbEeCT5O2F6sGn5g" annotatedElement="_g1fsQ9wbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_VcGxYhE9EeGOffqMW1YiZA" general="_KxRzgGvuEdqG6fBIPwe-mw"/>
+      <ownedAttribute xmi:id="_VcGxYxE9EeGOffqMW1YiZA" name="parameteredElement" visibility="public" type="_M4X2IGveEdq4DLWZOhbdEA" redefinedProperty="_Veq9MxE9EeGOffqMW1YiZA" association="_VT86-BE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VcGxZBE9EeGOffqMW1YiZA" annotatedElement="_VcGxYxE9EeGOffqMW1YiZA">
           <body>The operation for this template parameter.</body>
         </ownedComment>
       </ownedAttribute>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g1fsRdwbEeCT5O2F6sGn5g" name="OutputPin">
-      <ownedComment xmi:id="_g1fsRtwbEeCT5O2F6sGn5g" annotatedElement="_g1fsRdwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VcHYcBE9EeGOffqMW1YiZA" name="OutputPin">
+      <ownedComment xmi:id="_VcHYcRE9EeGOffqMW1YiZA" annotatedElement="_VcHYcBE9EeGOffqMW1YiZA">
         <body>An output pin is a pin that holds output values produced by an action.</body>
       </ownedComment>
-      <ownedRule xmi:id="_g1fsR9wbEeCT5O2F6sGn5g" name="incoming_edges_structured_only" constrainedElement="_g1fsRdwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1fsSNwbEeCT5O2F6sGn5g" annotatedElement="_g1fsR9wbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VcHYchE9EeGOffqMW1YiZA" name="incoming_edges_structured_only" constrainedElement="_VcHYcBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VcHYcxE9EeGOffqMW1YiZA" annotatedElement="_VcHYchE9EeGOffqMW1YiZA">
           <body>Output pins may have incoming edges only when they are on actions that are structured nodes, and these edges may not target a node contained by the structured node.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1fsSdwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VcHYdBE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>true</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_g1fsStwbEeCT5O2F6sGn5g" general="_g1oPLNwbEeCT5O2F6sGn5g"/>
+      <generalization xmi:id="_VcHYdRE9EeGOffqMW1YiZA" general="_Vc9F8BE9EeGOffqMW1YiZA"/>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="_-cvRAGvzEdq7X4sGURiZYA" name="Package">
-      <ownedComment xmi:id="_g1fsS9wbEeCT5O2F6sGn5g" annotatedElement="_-cvRAGvzEdq7X4sGURiZYA">
+      <ownedComment xmi:id="_VcHYdhE9EeGOffqMW1YiZA" annotatedElement="_-cvRAGvzEdq7X4sGURiZYA">
         <body>A package can have one or more profile applications to indicate which profiles have been applied. Because a profile is a package, it is possible to apply a profile not only to packages, but also to profiles.</body>
       </ownedComment>
-      <ownedComment xmi:id="_g1fsTNwbEeCT5O2F6sGn5g" annotatedElement="_-cvRAGvzEdq7X4sGURiZYA">
+      <ownedComment xmi:id="_VcHYdxE9EeGOffqMW1YiZA" annotatedElement="_-cvRAGvzEdq7X4sGURiZYA">
         <body>Package specializes TemplateableElement and PackageableElement specializes ParameterableElement to specify that a package can be used as a template and a PackageableElement as a template parameter.</body>
       </ownedComment>
-      <ownedComment xmi:id="_g1fsTdwbEeCT5O2F6sGn5g" annotatedElement="_-cvRAGvzEdq7X4sGURiZYA">
+      <ownedComment xmi:id="_VcHYeBE9EeGOffqMW1YiZA" annotatedElement="_-cvRAGvzEdq7X4sGURiZYA">
         <body>A package is used to group elements, and provides a namespace for the grouped elements.</body>
       </ownedComment>
-      <ownedRule xmi:id="_g1fsTtwbEeCT5O2F6sGn5g" name="elements_public_or_private" constrainedElement="_-cvRAGvzEdq7X4sGURiZYA">
-        <ownedComment xmi:id="_g1fsT9wbEeCT5O2F6sGn5g" annotatedElement="_g1fsTtwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VcHYeRE9EeGOffqMW1YiZA" name="elements_public_or_private" constrainedElement="_-cvRAGvzEdq7X4sGURiZYA">
+        <ownedComment xmi:id="_VcHYehE9EeGOffqMW1YiZA" annotatedElement="_VcHYeRE9EeGOffqMW1YiZA">
           <body>If an element that is owned by a package has visibility, it is public or private.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1fsUNwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VcHYexE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>self.ownedElements->forAll(e | e.visibility->notEmpty() implies e.visbility = #public or e.visibility = #private)</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_g1gTUNwbEeCT5O2F6sGn5g" general="_jKxnwGwLEdq7X4sGURiZYA"/>
-      <generalization xmi:id="_g1gTUdwbEeCT5O2F6sGn5g" general="_g2PTINwbEeCT5O2F6sGn5g"/>
-      <generalization xmi:id="_g1gTUtwbEeCT5O2F6sGn5g" general="_ZiwkoGwLEdq7X4sGURiZYA"/>
-      <ownedAttribute xmi:id="_g1gTU9wbEeCT5O2F6sGn5g" name="URI" visibility="public">
-        <ownedComment xmi:id="_g1gTVNwbEeCT5O2F6sGn5g" annotatedElement="_g1gTU9wbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_VcHYfBE9EeGOffqMW1YiZA" general="_ZiwkoGwLEdq7X4sGURiZYA"/>
+      <generalization xmi:id="_VcHYfRE9EeGOffqMW1YiZA" general="_jKxnwGwLEdq7X4sGURiZYA"/>
+      <generalization xmi:id="_VcH_gBE9EeGOffqMW1YiZA" general="_VeuAgBE9EeGOffqMW1YiZA"/>
+      <ownedAttribute xmi:id="_VcH_gRE9EeGOffqMW1YiZA" name="URI" visibility="public">
+        <ownedComment xmi:id="_VcH_ghE9EeGOffqMW1YiZA" annotatedElement="_VcH_gRE9EeGOffqMW1YiZA">
           <body>Provides an identifier for the package that can be used for many purposes. A URI is the universally unique identification of the package following the IETF URI specification, RFC 2396 http://www.ietf.org/rfc/rfc2396.txt and it must comply with those syntax rules.</body>
         </ownedComment>
         <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1gTVdwbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VcH_gxE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g1gTVtwbEeCT5O2F6sGn5g" name="nestedPackage" visibility="public" type="_-cvRAGvzEdq7X4sGURiZYA" aggregation="composite" isDerived="true" subsettedProperty="_g1g6ZNwbEeCT5O2F6sGn5g" association="_gyk7K9wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1gTV9wbEeCT5O2F6sGn5g" annotatedElement="_g1gTVtwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VcKbwBE9EeGOffqMW1YiZA" name="nestedPackage" visibility="public" type="_-cvRAGvzEdq7X4sGURiZYA" aggregation="composite" isDerived="true" subsettedProperty="_VcP7VBE9EeGOffqMW1YiZA" association="_VT0_JhE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VcKbwRE9EeGOffqMW1YiZA" annotatedElement="_VcKbwBE9EeGOffqMW1YiZA">
           <body>References the packaged elements that are Packages.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1gTWNwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g1gTWdwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VcKbwhE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VcKbwxE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_XSjCgLbQEeCRxrN1JUGuxA" name="nestingPackage" visibility="public" type="_-cvRAGvzEdq7X4sGURiZYA" subsettedProperty="_gyro0dwbEeCT5O2F6sGn5g _1vzv0LbIEeCRxrN1JUGuxA" association="_gyk7K9wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1gTWtwbEeCT5O2F6sGn5g" annotatedElement="_XSjCgLbQEeCRxrN1JUGuxA">
+      <ownedAttribute xmi:id="_XSjCgLbQEeCRxrN1JUGuxA" name="nestingPackage" visibility="public" type="_-cvRAGvzEdq7X4sGURiZYA" subsettedProperty="_VUHTARE9EeGOffqMW1YiZA _1vzv0LbIEeCRxrN1JUGuxA" association="_VT0_JhE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VcKbxBE9EeGOffqMW1YiZA" annotatedElement="_XSjCgLbQEeCRxrN1JUGuxA">
           <body>References the Package that owns this Package.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1gTW9wbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VcKbxRE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g1gTXNwbEeCT5O2F6sGn5g" name="ownedStereotype" visibility="public" type="_A7vDAGv0Edq7X4sGURiZYA" isReadOnly="true" aggregation="composite" isDerived="true" subsettedProperty="_g1g6ZNwbEeCT5O2F6sGn5g" association="_gyrBwNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1gTXdwbEeCT5O2F6sGn5g" annotatedElement="_g1gTXNwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VcLC0BE9EeGOffqMW1YiZA" name="ownedStereotype" visibility="public" type="_A7vDAGv0Edq7X4sGURiZYA" isReadOnly="true" aggregation="composite" isDerived="true" subsettedProperty="_VcP7VBE9EeGOffqMW1YiZA" association="_VUEPsBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VcLC0RE9EeGOffqMW1YiZA" annotatedElement="_VcLC0BE9EeGOffqMW1YiZA">
           <body>References the Stereotypes that are owned by the Package</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1gTXtwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g1gTX9wbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VcLC0hE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VcLC0xE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g1gTYNwbEeCT5O2F6sGn5g" name="ownedType" visibility="public" type="_ynRtoGvtEdqG6fBIPwe-mw" aggregation="composite" isDerived="true" subsettedProperty="_g1g6ZNwbEeCT5O2F6sGn5g" association="_gyrBxdwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1gTYdwbEeCT5O2F6sGn5g" annotatedElement="_g1gTYNwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VcLC1BE9EeGOffqMW1YiZA" name="ownedType" visibility="public" type="_ynRtoGvtEdqG6fBIPwe-mw" aggregation="composite" isDerived="true" subsettedProperty="_VcP7VBE9EeGOffqMW1YiZA" association="_VUEPtRE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VcLC1RE9EeGOffqMW1YiZA" annotatedElement="_VcLC1BE9EeGOffqMW1YiZA">
           <body>References the packaged elements that are Types.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1gTYtwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g1gTY9wbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VcLC1hE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VcLC1xE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g1g6YNwbEeCT5O2F6sGn5g" name="packageMerge" visibility="public" type="_g1j9sNwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_g0JocNwbEeCT5O2F6sGn5g _gy5rStwbEeCT5O2F6sGn5g" association="_gyrBytwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1g6YdwbEeCT5O2F6sGn5g" annotatedElement="_g1g6YNwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VcP7UBE9EeGOffqMW1YiZA" name="packageMerge" visibility="public" type="_VcsAMBE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_VUkmBhE9EeGOffqMW1YiZA _GDD2YAtAEeGcpbeCPJfCmw" association="_VUGE4BE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VcP7URE9EeGOffqMW1YiZA" annotatedElement="_VcP7UBE9EeGOffqMW1YiZA">
           <body>References the PackageMerges that are owned by this Package.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1g6YtwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g1g6Y9wbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VcP7UhE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VcP7UxE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g1g6ZNwbEeCT5O2F6sGn5g" name="packagedElement" visibility="public" type="_jKxnwGwLEdq7X4sGURiZYA" aggregation="composite" subsettedProperty="_g1S4AdwbEeCT5O2F6sGn5g" association="_gyro0NwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1g6ZdwbEeCT5O2F6sGn5g" annotatedElement="_g1g6ZNwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VcP7VBE9EeGOffqMW1YiZA" name="packagedElement" visibility="public" type="_jKxnwGwLEdq7X4sGURiZYA" aggregation="composite" subsettedProperty="_Var1EBE9EeGOffqMW1YiZA" association="_VUHTABE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VcP7VRE9EeGOffqMW1YiZA" annotatedElement="_VcP7VBE9EeGOffqMW1YiZA">
           <body>Specifies the packageable elements that are owned by this Package.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1g6ZtwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g1g6Z9wbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VcP7VhE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VcP7VxE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g1g6aNwbEeCT5O2F6sGn5g" name="profileApplication" visibility="public" type="_uY5yQGv5Edq7X4sGURiZYA" aggregation="composite" subsettedProperty="_g0JocNwbEeCT5O2F6sGn5g _gy5rStwbEeCT5O2F6sGn5g" association="_gyteAdwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1g6adwbEeCT5O2F6sGn5g" annotatedElement="_g1g6aNwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VcQiYBE9EeGOffqMW1YiZA" name="profileApplication" visibility="public" type="_uY5yQGv5Edq7X4sGURiZYA" aggregation="composite" subsettedProperty="_VUkmBhE9EeGOffqMW1YiZA _GDD2YAtAEeGcpbeCPJfCmw" association="_VUK9YBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VcQiYRE9EeGOffqMW1YiZA" annotatedElement="_VcQiYBE9EeGOffqMW1YiZA">
           <body>References the ProfileApplications that indicate which profiles have been applied to the Package.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1g6atwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g1g6a9wbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VcQiYhE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VcQiYxE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
       <ownedOperation xmi:id="_r--GcGv5Edq7X4sGURiZYA" name="applyProfile">
         <ownedComment xmi:id="_pfXbgOwhEdqYHf-imTcTdw" annotatedElement="_r--GcGv5Edq7X4sGURiZYA">
@@ -10765,29 +10768,29 @@
           </ownedComment>
         </ownedParameter>
       </ownedOperation>
-      <ownedOperation xmi:id="_g1g6bNwbEeCT5O2F6sGn5g" name="allApplicableStereotypes" visibility="public" bodyCondition="_g1g6btwbEeCT5O2F6sGn5g" isQuery="true">
-        <ownedComment xmi:id="_g1g6bdwbEeCT5O2F6sGn5g" annotatedElement="_g1g6bNwbEeCT5O2F6sGn5g">
+      <ownedOperation xmi:id="_VcQiZBE9EeGOffqMW1YiZA" name="allApplicableStereotypes" visibility="public" bodyCondition="_VcQiZhE9EeGOffqMW1YiZA" isQuery="true">
+        <ownedComment xmi:id="_VcQiZRE9EeGOffqMW1YiZA" annotatedElement="_VcQiZBE9EeGOffqMW1YiZA">
           <body>The query allApplicableStereotypes() returns all the directly or indirectly owned stereotypes, including stereotypes contained in sub-profiles.</body>
         </ownedComment>
-        <ownedRule xmi:id="_g1g6btwbEeCT5O2F6sGn5g" name="spec" constrainedElement="_g1g6bNwbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1g6b9wbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VcQiZhE9EeGOffqMW1YiZA" name="spec" constrainedElement="_VcQiZBE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VcQiZxE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = 
 self.ownedStereotype->union(self.ownedMember->
 	select(oclIsKindOf(Package)).oclAsType(Package).allApplicableStereotypes()->flatten())->asSet()</body>
           </specification>
         </ownedRule>
-        <ownedParameter xmi:id="_g1g6cNwbEeCT5O2F6sGn5g" name="result" visibility="public" type="_A7vDAGv0Edq7X4sGURiZYA" direction="return">
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1g6cdwbEeCT5O2F6sGn5g"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g1g6ctwbEeCT5O2F6sGn5g" value="*"/>
+        <ownedParameter xmi:id="_VcQiaBE9EeGOffqMW1YiZA" name="result" visibility="public" type="_A7vDAGv0Edq7X4sGURiZYA" direction="return">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VcQiaRE9EeGOffqMW1YiZA"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VcQiahE9EeGOffqMW1YiZA" value="*"/>
         </ownedParameter>
       </ownedOperation>
-      <ownedOperation xmi:id="_g1g6c9wbEeCT5O2F6sGn5g" name="containingProfile" visibility="public" bodyCondition="_g1g6ddwbEeCT5O2F6sGn5g" isQuery="true">
-        <ownedComment xmi:id="_g1g6dNwbEeCT5O2F6sGn5g" annotatedElement="_g1g6c9wbEeCT5O2F6sGn5g">
+      <ownedOperation xmi:id="_VcQiaxE9EeGOffqMW1YiZA" name="containingProfile" visibility="public" bodyCondition="_VcQibRE9EeGOffqMW1YiZA" isQuery="true">
+        <ownedComment xmi:id="_VcQibBE9EeGOffqMW1YiZA" annotatedElement="_VcQiaxE9EeGOffqMW1YiZA">
           <body>The query containingProfile() returns the closest profile directly or indirectly containing this package (or this package itself, if it is a profile).</body>
         </ownedComment>
-        <ownedRule xmi:id="_g1g6ddwbEeCT5O2F6sGn5g" name="spec" constrainedElement="_g1g6c9wbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1g6dtwbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VcQibRE9EeGOffqMW1YiZA" name="spec" constrainedElement="_VcQiaxE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VcQibhE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result =
 if self.oclIsKindOf(Profile) then 
@@ -10797,279 +10800,279 @@
 endif</body>
           </specification>
         </ownedRule>
-        <ownedParameter xmi:id="_g1g6d9wbEeCT5O2F6sGn5g" name="result" visibility="public" type="__pew8GvzEdq7X4sGURiZYA" direction="return">
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1g6eNwbEeCT5O2F6sGn5g"/>
+        <ownedParameter xmi:id="_VcQibxE9EeGOffqMW1YiZA" name="result" visibility="public" type="__pew8GvzEdq7X4sGURiZYA" direction="return">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VcQicBE9EeGOffqMW1YiZA"/>
         </ownedParameter>
       </ownedOperation>
-      <ownedOperation xmi:id="_g1hhcNwbEeCT5O2F6sGn5g" name="makesVisible" visibility="public" bodyCondition="_g1hhdNwbEeCT5O2F6sGn5g" isQuery="true" precondition="_g1hhctwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1hhcdwbEeCT5O2F6sGn5g" annotatedElement="_g1hhcNwbEeCT5O2F6sGn5g">
+      <ownedOperation xmi:id="_VcRJcBE9EeGOffqMW1YiZA" name="makesVisible" visibility="public" bodyCondition="_VcRJchE9EeGOffqMW1YiZA" isQuery="true" precondition="_VcRJdBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VcRJcRE9EeGOffqMW1YiZA" annotatedElement="_VcRJcBE9EeGOffqMW1YiZA">
           <body>The query makesVisible() defines whether a Package makes an element visible outside itself. Elements with no visibility and elements with public visibility are made visible.</body>
         </ownedComment>
-        <ownedRule xmi:id="_g1hhctwbEeCT5O2F6sGn5g" name="pre" constrainedElement="_g1hhcNwbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1hhc9wbEeCT5O2F6sGn5g">
-            <language>OCL</language>
-            <body>self.member->includes(el)</body>
-          </specification>
-        </ownedRule>
-        <ownedRule xmi:id="_g1hhdNwbEeCT5O2F6sGn5g" name="spec" constrainedElement="_g1hhcNwbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1hhddwbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VcRJchE9EeGOffqMW1YiZA" name="spec" constrainedElement="_VcRJcBE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VcRJcxE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = (ownedMember->includes(el)) or
 (elementImport->select(ei|ei.importedElement = #public)->collect(ei|ei.importedElement)->includes(el)) or
 (packageImport->select(pi|pi.visibility = #public)->collect(pi|pi.importedPackage.member->includes(el))->notEmpty())</body>
           </specification>
         </ownedRule>
-        <ownedParameter xmi:id="_g1hhdtwbEeCT5O2F6sGn5g" name="result" visibility="public" direction="return">
+        <ownedRule xmi:id="_VcRJdBE9EeGOffqMW1YiZA" name="pre" constrainedElement="_VcRJcBE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VcRJdRE9EeGOffqMW1YiZA">
+            <language>OCL</language>
+            <body>self.member->includes(el)</body>
+          </specification>
+        </ownedRule>
+        <ownedParameter xmi:id="_VcRJdhE9EeGOffqMW1YiZA" name="result" visibility="public" direction="return">
           <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
         </ownedParameter>
-        <ownedParameter xmi:id="_g1hhd9wbEeCT5O2F6sGn5g" name="el" visibility="public" type="_csVgUGvtEdqG6fBIPwe-mw"/>
+        <ownedParameter xmi:id="_VcRJdxE9EeGOffqMW1YiZA" name="el" visibility="public" type="_csVgUGvtEdqG6fBIPwe-mw"/>
       </ownedOperation>
-      <ownedOperation xmi:id="_g1hheNwbEeCT5O2F6sGn5g" name="mustBeOwned" visibility="public" bodyCondition="_g1hhetwbEeCT5O2F6sGn5g" isQuery="true" redefinedOperation="_g0JoftwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1hhedwbEeCT5O2F6sGn5g" annotatedElement="_g1hheNwbEeCT5O2F6sGn5g">
+      <ownedOperation xmi:id="_VcRJeBE9EeGOffqMW1YiZA" name="mustBeOwned" visibility="public" bodyCondition="_VcRJehE9EeGOffqMW1YiZA" isQuery="true" redefinedOperation="_VZHu0BE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VcRJeRE9EeGOffqMW1YiZA" annotatedElement="_VcRJeBE9EeGOffqMW1YiZA">
           <body>The query mustBeOwned() indicates whether elements of this type must have an owner.</body>
         </ownedComment>
-        <ownedRule xmi:id="_g1hhetwbEeCT5O2F6sGn5g" name="spec" constrainedElement="_g1hheNwbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1hhe9wbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VcRJehE9EeGOffqMW1YiZA" name="spec" constrainedElement="_VcRJeBE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VcRJexE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = false</body>
           </specification>
         </ownedRule>
-        <ownedParameter xmi:id="_g1hhfNwbEeCT5O2F6sGn5g" name="result" visibility="public" direction="return">
+        <ownedParameter xmi:id="_VcRJfBE9EeGOffqMW1YiZA" name="result" visibility="public" direction="return">
           <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
         </ownedParameter>
       </ownedOperation>
-      <ownedOperation xmi:id="__wMTILL4EeCBifIhhuFqZA" name="nestedPackage" visibility="public" bodyCondition="_g1hhftwbEeCT5O2F6sGn5g" isQuery="true">
-        <ownedComment xmi:id="_g1hhfdwbEeCT5O2F6sGn5g" annotatedElement="__wMTILL4EeCBifIhhuFqZA">
+      <ownedOperation xmi:id="__wMTILL4EeCBifIhhuFqZA" name="nestedPackage" visibility="public" bodyCondition="_VcRwgBE9EeGOffqMW1YiZA" isQuery="true">
+        <ownedComment xmi:id="_VcRJfRE9EeGOffqMW1YiZA" annotatedElement="__wMTILL4EeCBifIhhuFqZA">
           <body>Missing derivation for Package::/nestedPackage : Package</body>
         </ownedComment>
-        <ownedRule xmi:id="_g1hhftwbEeCT5O2F6sGn5g" name="spec" constrainedElement="__wMTILL4EeCBifIhhuFqZA _g1gTVtwbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1hhf9wbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VcRwgBE9EeGOffqMW1YiZA" name="spec" constrainedElement="__wMTILL4EeCBifIhhuFqZA _VcKbwBE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VcRwgRE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>true</body>
           </specification>
         </ownedRule>
         <ownedParameter xmi:id="_EbpVoLL5EeCBifIhhuFqZA" name="result" visibility="public" type="_-cvRAGvzEdq7X4sGURiZYA" direction="return">
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1hhgNwbEeCT5O2F6sGn5g"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g1hhgdwbEeCT5O2F6sGn5g" value="*"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VcRwghE9EeGOffqMW1YiZA"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VcRwgxE9EeGOffqMW1YiZA" value="*"/>
         </ownedParameter>
       </ownedOperation>
-      <ownedOperation xmi:id="_kWuyMLL5EeCBifIhhuFqZA" name="ownedStereotype" visibility="public" bodyCondition="_g1iIgdwbEeCT5O2F6sGn5g" isQuery="true">
-        <ownedComment xmi:id="_g1iIgNwbEeCT5O2F6sGn5g" annotatedElement="_kWuyMLL5EeCBifIhhuFqZA">
+      <ownedOperation xmi:id="_kWuyMLL5EeCBifIhhuFqZA" name="ownedStereotype" visibility="public" bodyCondition="_VcSXkRE9EeGOffqMW1YiZA" isQuery="true">
+        <ownedComment xmi:id="_VcSXkBE9EeGOffqMW1YiZA" annotatedElement="_kWuyMLL5EeCBifIhhuFqZA">
           <body>Missing derivation for Package::/ownedStereotype : Stereotype</body>
         </ownedComment>
-        <ownedRule xmi:id="_g1iIgdwbEeCT5O2F6sGn5g" name="spec" constrainedElement="_kWuyMLL5EeCBifIhhuFqZA _g1gTXNwbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1iIgtwbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VcSXkRE9EeGOffqMW1YiZA" name="spec" constrainedElement="_kWuyMLL5EeCBifIhhuFqZA _VcLC0BE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VcSXkhE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>true</body>
           </specification>
         </ownedRule>
         <ownedParameter xmi:id="_mRoYoLL5EeCBifIhhuFqZA" name="result" visibility="public" type="_A7vDAGv0Edq7X4sGURiZYA" direction="return">
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1iIg9wbEeCT5O2F6sGn5g"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g1iIhNwbEeCT5O2F6sGn5g" value="*"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VcSXkxE9EeGOffqMW1YiZA"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VcSXlBE9EeGOffqMW1YiZA" value="*"/>
         </ownedParameter>
       </ownedOperation>
-      <ownedOperation xmi:id="_yfRaMLL5EeCBifIhhuFqZA" name="ownedType" visibility="public" bodyCondition="_g1iIhtwbEeCT5O2F6sGn5g" isQuery="true">
-        <ownedComment xmi:id="_g1iIhdwbEeCT5O2F6sGn5g" annotatedElement="_yfRaMLL5EeCBifIhhuFqZA">
+      <ownedOperation xmi:id="_yfRaMLL5EeCBifIhhuFqZA" name="ownedType" visibility="public" bodyCondition="_VcS-oRE9EeGOffqMW1YiZA" isQuery="true">
+        <ownedComment xmi:id="_VcS-oBE9EeGOffqMW1YiZA" annotatedElement="_yfRaMLL5EeCBifIhhuFqZA">
           <body>Missing derivation for Package::/ownedType : Type</body>
         </ownedComment>
-        <ownedRule xmi:id="_g1iIhtwbEeCT5O2F6sGn5g" name="spec" constrainedElement="_yfRaMLL5EeCBifIhhuFqZA _g1gTYNwbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1iIh9wbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VcS-oRE9EeGOffqMW1YiZA" name="spec" constrainedElement="_yfRaMLL5EeCBifIhhuFqZA _VcLC1BE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VcS-ohE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>true</body>
           </specification>
         </ownedRule>
         <ownedParameter xmi:id="_0NLGcLL5EeCBifIhhuFqZA" name="result" visibility="public" type="_ynRtoGvtEdqG6fBIPwe-mw" direction="return">
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1iIiNwbEeCT5O2F6sGn5g"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g1iIidwbEeCT5O2F6sGn5g" value="*"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VcS-oxE9EeGOffqMW1YiZA"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VcS-pBE9EeGOffqMW1YiZA" value="*"/>
         </ownedParameter>
       </ownedOperation>
-      <ownedOperation xmi:id="_g1ivkNwbEeCT5O2F6sGn5g" name="visibleMembers" visibility="public" bodyCondition="_g1ivktwbEeCT5O2F6sGn5g" isQuery="true">
-        <ownedComment xmi:id="_g1ivkdwbEeCT5O2F6sGn5g" annotatedElement="_g1ivkNwbEeCT5O2F6sGn5g">
+      <ownedOperation xmi:id="_VcTlsBE9EeGOffqMW1YiZA" name="visibleMembers" visibility="public" bodyCondition="_VcTlshE9EeGOffqMW1YiZA" isQuery="true">
+        <ownedComment xmi:id="_VcTlsRE9EeGOffqMW1YiZA" annotatedElement="_VcTlsBE9EeGOffqMW1YiZA">
           <body>The query visibleMembers() defines which members of a Package can be accessed outside it.</body>
         </ownedComment>
-        <ownedRule xmi:id="_g1ivktwbEeCT5O2F6sGn5g" name="spec" constrainedElement="_g1ivkNwbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1ivk9wbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VcTlshE9EeGOffqMW1YiZA" name="spec" constrainedElement="_VcTlsBE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VcTlsxE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = member->select( m | self.makesVisible(m))</body>
           </specification>
         </ownedRule>
-        <ownedParameter xmi:id="_g1ivlNwbEeCT5O2F6sGn5g" name="result" visibility="public" type="_jKxnwGwLEdq7X4sGURiZYA" direction="return">
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1ivldwbEeCT5O2F6sGn5g"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g1ivltwbEeCT5O2F6sGn5g" value="*"/>
+        <ownedParameter xmi:id="_VcTltBE9EeGOffqMW1YiZA" name="result" visibility="public" type="_jKxnwGwLEdq7X4sGURiZYA" direction="return">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VcTltRE9EeGOffqMW1YiZA"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VcTlthE9EeGOffqMW1YiZA" value="*"/>
         </ownedParameter>
       </ownedOperation>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="_SnNPIGwIEdq7X4sGURiZYA" name="PackageImport">
-      <ownedComment xmi:id="_g1jWoNwbEeCT5O2F6sGn5g" annotatedElement="_SnNPIGwIEdq7X4sGURiZYA">
+      <ownedComment xmi:id="_VcVa4BE9EeGOffqMW1YiZA" annotatedElement="_SnNPIGwIEdq7X4sGURiZYA">
         <body>A package import is a relationship that allows the use of unqualified names to refer to package members from other namespaces.</body>
       </ownedComment>
-      <ownedRule xmi:id="_g1jWodwbEeCT5O2F6sGn5g" name="public_or_private" constrainedElement="_SnNPIGwIEdq7X4sGURiZYA">
-        <ownedComment xmi:id="_g1jWotwbEeCT5O2F6sGn5g" annotatedElement="_g1jWodwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VcVa4RE9EeGOffqMW1YiZA" name="public_or_private" constrainedElement="_SnNPIGwIEdq7X4sGURiZYA">
+        <ownedComment xmi:id="_VcVa4hE9EeGOffqMW1YiZA" annotatedElement="_VcVa4RE9EeGOffqMW1YiZA">
           <body>The visibility of a PackageImport is either public or private.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1jWo9wbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VcVa4xE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>self.visibility = #public or self.visibility = #private</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_g1jWpNwbEeCT5O2F6sGn5g" general="_JBgfoKPAEdqi_5gqUMOQtA"/>
-      <ownedAttribute xmi:id="_g1jWpdwbEeCT5O2F6sGn5g" name="importedPackage" visibility="public" type="_-cvRAGvzEdq7X4sGURiZYA" subsettedProperty="_g0HzRNwbEeCT5O2F6sGn5g" association="_gyfblNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1jWptwbEeCT5O2F6sGn5g" annotatedElement="_g1jWpdwbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_VcVa5BE9EeGOffqMW1YiZA" general="_JBgfoKPAEdqi_5gqUMOQtA"/>
+      <ownedAttribute xmi:id="_VcZsUBE9EeGOffqMW1YiZA" name="importedPackage" visibility="public" type="_-cvRAGvzEdq7X4sGURiZYA" subsettedProperty="_VY66iBE9EeGOffqMW1YiZA" association="_VTnjxBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VcZsURE9EeGOffqMW1YiZA" annotatedElement="_VcZsUBE9EeGOffqMW1YiZA">
           <body>Specifies the Package whose members are imported into a Namespace.</body>
         </ownedComment>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g1jWp9wbEeCT5O2F6sGn5g" name="importingNamespace" visibility="public" type="_ZiwkoGwLEdq7X4sGURiZYA" subsettedProperty="_g0HzQdwbEeCT5O2F6sGn5g _g0JodNwbEeCT5O2F6sGn5g" association="_gyrBydwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1jWqNwbEeCT5O2F6sGn5g" annotatedElement="_g1jWp9wbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VcZsUhE9EeGOffqMW1YiZA" name="importingNamespace" visibility="public" type="_ZiwkoGwLEdq7X4sGURiZYA" subsettedProperty="_N3hRMAtAEeGcpbeCPJfCmw _VY66hRE9EeGOffqMW1YiZA" association="_VUFd0BE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VcZsUxE9EeGOffqMW1YiZA" annotatedElement="_VcZsUhE9EeGOffqMW1YiZA">
           <body>Specifies the Namespace that imports the members from a Package.</body>
         </ownedComment>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g1jWqdwbEeCT5O2F6sGn5g" name="visibility" visibility="public" type="_AyM_oGwMEdq7X4sGURiZYA">
-        <ownedComment xmi:id="_g1jWqtwbEeCT5O2F6sGn5g" annotatedElement="_g1jWqdwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VcZsVBE9EeGOffqMW1YiZA" name="visibility" visibility="public" type="_AyM_oGwMEdq7X4sGURiZYA">
+        <ownedComment xmi:id="_VcZsVRE9EeGOffqMW1YiZA" annotatedElement="_VcZsVBE9EeGOffqMW1YiZA">
           <body>Specifies the visibility of the imported PackageableElements within the importing Namespace, i.e., whether imported elements will in turn be visible to other packages that use that importingPackage as an importedPackage. If the PackageImport is public, the imported elements will be visible outside the package, while if it is private they will not.</body>
         </ownedComment>
-        <defaultValue xmi:type="uml:InstanceValue" xmi:id="_g1jWq9wbEeCT5O2F6sGn5g" type="_AyM_oGwMEdq7X4sGURiZYA" instance="_g2fK39wbEeCT5O2F6sGn5g"/>
+        <defaultValue xmi:type="uml:InstanceValue" xmi:id="_VcZsVhE9EeGOffqMW1YiZA" type="_AyM_oGwMEdq7X4sGURiZYA" instance="_VfSBMBE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g1j9sNwbEeCT5O2F6sGn5g" name="PackageMerge">
-      <ownedComment xmi:id="_g1j9sdwbEeCT5O2F6sGn5g" annotatedElement="_g1j9sNwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VcsAMBE9EeGOffqMW1YiZA" name="PackageMerge">
+      <ownedComment xmi:id="_VcsAMRE9EeGOffqMW1YiZA" annotatedElement="_VcsAMBE9EeGOffqMW1YiZA">
         <body>A package merge defines how the contents of one package are extended by the contents of another package.</body>
       </ownedComment>
-      <generalization xmi:id="_g1j9stwbEeCT5O2F6sGn5g" general="_JBgfoKPAEdqi_5gqUMOQtA"/>
-      <ownedAttribute xmi:id="_g1j9s9wbEeCT5O2F6sGn5g" name="mergedPackage" visibility="public" type="_-cvRAGvzEdq7X4sGURiZYA" subsettedProperty="_g0HzRNwbEeCT5O2F6sGn5g" association="_gyjF99wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1j9tNwbEeCT5O2F6sGn5g" annotatedElement="_g1j9s9wbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_VcsAMhE9EeGOffqMW1YiZA" general="_JBgfoKPAEdqi_5gqUMOQtA"/>
+      <ownedAttribute xmi:id="_VcsAMxE9EeGOffqMW1YiZA" name="mergedPackage" visibility="public" type="_-cvRAGvzEdq7X4sGURiZYA" subsettedProperty="_VY66iBE9EeGOffqMW1YiZA" association="_VTxUwBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VcsANBE9EeGOffqMW1YiZA" annotatedElement="_VcsAMxE9EeGOffqMW1YiZA">
           <body>References the Package that is to be merged with the receiving package of the PackageMerge.</body>
         </ownedComment>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g1j9tdwbEeCT5O2F6sGn5g" name="receivingPackage" visibility="public" type="_-cvRAGvzEdq7X4sGURiZYA" subsettedProperty="_g0HzQdwbEeCT5O2F6sGn5g _g0JodNwbEeCT5O2F6sGn5g" association="_gyrBytwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1j9ttwbEeCT5O2F6sGn5g" annotatedElement="_g1j9tdwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VcsANRE9EeGOffqMW1YiZA" name="receivingPackage" visibility="public" type="_-cvRAGvzEdq7X4sGURiZYA" subsettedProperty="_N3hRMAtAEeGcpbeCPJfCmw _VY66hRE9EeGOffqMW1YiZA" association="_VUGE4BE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VcsANhE9EeGOffqMW1YiZA" annotatedElement="_VcsANRE9EeGOffqMW1YiZA">
           <body>References the Package that is being extended with the contents of the merged package of the PackageMerge.</body>
         </ownedComment>
       </ownedAttribute>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="_jKxnwGwLEdq7X4sGURiZYA" name="PackageableElement" isAbstract="true">
-      <ownedComment xmi:id="_g1j9t9wbEeCT5O2F6sGn5g" annotatedElement="_jKxnwGwLEdq7X4sGURiZYA">
-        <body>A packageable element indicates a named element that may be owned directly by a package.</body>
-      </ownedComment>
-      <ownedComment xmi:id="_g1j9uNwbEeCT5O2F6sGn5g" annotatedElement="_jKxnwGwLEdq7X4sGURiZYA">
+      <ownedComment xmi:id="_VcsANxE9EeGOffqMW1YiZA" annotatedElement="_jKxnwGwLEdq7X4sGURiZYA">
         <body>Packageable elements are able to serve as a template parameter.</body>
       </ownedComment>
-      <generalization xmi:id="_g1j9udwbEeCT5O2F6sGn5g" general="_g1noENwbEeCT5O2F6sGn5g"/>
-      <generalization xmi:id="_g1j9utwbEeCT5O2F6sGn5g" general="_csVgUGvtEdqG6fBIPwe-mw"/>
-      <ownedAttribute xmi:id="_g1j9u9wbEeCT5O2F6sGn5g" name="visibility" visibility="public" type="_AyM_oGwMEdq7X4sGURiZYA" redefinedProperty="_PfdtELG0EeCDe8CO90iVKQ">
-        <ownedComment xmi:id="_g1j9vNwbEeCT5O2F6sGn5g" annotatedElement="_g1j9u9wbEeCT5O2F6sGn5g">
+      <ownedComment xmi:id="_VcvqkBE9EeGOffqMW1YiZA" annotatedElement="_jKxnwGwLEdq7X4sGURiZYA">
+        <body>A packageable element indicates a named element that may be owned directly by a package.</body>
+      </ownedComment>
+      <generalization xmi:id="_VcvqkRE9EeGOffqMW1YiZA" general="_Vc730BE9EeGOffqMW1YiZA"/>
+      <generalization xmi:id="_VcvqkhE9EeGOffqMW1YiZA" general="_csVgUGvtEdqG6fBIPwe-mw"/>
+      <ownedAttribute xmi:id="_VcvqkxE9EeGOffqMW1YiZA" name="visibility" visibility="public" type="_AyM_oGwMEdq7X4sGURiZYA" redefinedProperty="_PfdtELG0EeCDe8CO90iVKQ">
+        <ownedComment xmi:id="_VcvqlBE9EeGOffqMW1YiZA" annotatedElement="_VcvqkxE9EeGOffqMW1YiZA">
           <body>Indicates that packageable elements must always have a visibility, i.e., visibility is not optional.</body>
         </ownedComment>
-        <defaultValue xmi:type="uml:InstanceValue" xmi:id="_g1j9vdwbEeCT5O2F6sGn5g" type="_AyM_oGwMEdq7X4sGURiZYA" instance="_g2fK39wbEeCT5O2F6sGn5g"/>
+        <defaultValue xmi:type="uml:InstanceValue" xmi:id="_VcvqlRE9EeGOffqMW1YiZA" type="_AyM_oGwMEdq7X4sGURiZYA" instance="_VfSBMBE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="_KyaPMGveEdq4DLWZOhbdEA" name="Parameter">
-      <ownedComment xmi:id="_g1j9vtwbEeCT5O2F6sGn5g" annotatedElement="_KyaPMGveEdq4DLWZOhbdEA">
-        <body>A parameter is a specification of an argument used to pass information into or out of an invocation of a behavioral feature.</body>
-      </ownedComment>
-      <ownedComment xmi:id="_g1j9v9wbEeCT5O2F6sGn5g" annotatedElement="_KyaPMGveEdq4DLWZOhbdEA">
-        <body>Parameters have support for streaming, exceptions, and parameter sets.</body>
-      </ownedComment>
-      <ownedComment xmi:id="_g1j9wNwbEeCT5O2F6sGn5g" annotatedElement="_KyaPMGveEdq4DLWZOhbdEA">
+      <ownedComment xmi:id="_VcwRoBE9EeGOffqMW1YiZA" annotatedElement="_KyaPMGveEdq4DLWZOhbdEA">
         <body>Parameters are allowed to be treated as connectable elements.</body>
       </ownedComment>
-      <ownedRule xmi:id="_g1j9wdwbEeCT5O2F6sGn5g" name="in_and_out" constrainedElement="_KyaPMGveEdq4DLWZOhbdEA">
-        <ownedComment xmi:id="_g1j9wtwbEeCT5O2F6sGn5g" annotatedElement="_g1j9wdwbEeCT5O2F6sGn5g">
-          <body>Only in and inout parameters may have a delete effect. Only out, inout, and return parameters may have a create effect.</body>
+      <ownedComment xmi:id="_VcwRoRE9EeGOffqMW1YiZA" annotatedElement="_KyaPMGveEdq4DLWZOhbdEA">
+        <body>A parameter is a specification of an argument used to pass information into or out of an invocation of a behavioral feature.</body>
+      </ownedComment>
+      <ownedComment xmi:id="_VcwRohE9EeGOffqMW1YiZA" annotatedElement="_KyaPMGveEdq4DLWZOhbdEA">
+        <body>Parameters have support for streaming, exceptions, and parameter sets.</body>
+      </ownedComment>
+      <ownedRule xmi:id="_VcwRoxE9EeGOffqMW1YiZA" name="reentrant_behaviors" constrainedElement="_KyaPMGveEdq4DLWZOhbdEA">
+        <ownedComment xmi:id="_VcwRpBE9EeGOffqMW1YiZA" annotatedElement="_VcwRoxE9EeGOffqMW1YiZA">
+          <body>Reentrant behaviors cannot have stream parameters.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1j9w9wbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VcwRpRE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>true</body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_g1j9xNwbEeCT5O2F6sGn5g" name="not_exception" constrainedElement="_KyaPMGveEdq4DLWZOhbdEA">
-        <ownedComment xmi:id="_g1j9xdwbEeCT5O2F6sGn5g" annotatedElement="_g1j9xNwbEeCT5O2F6sGn5g">
-          <body>An input parameter cannot be an exception.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1j9xtwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>true</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_g1kkwNwbEeCT5O2F6sGn5g" name="connector_end" constrainedElement="_KyaPMGveEdq4DLWZOhbdEA">
-        <ownedComment xmi:id="_g1kkwdwbEeCT5O2F6sGn5g" annotatedElement="_g1kkwNwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VcwRphE9EeGOffqMW1YiZA" name="connector_end" constrainedElement="_KyaPMGveEdq4DLWZOhbdEA">
+        <ownedComment xmi:id="_VcwRpxE9EeGOffqMW1YiZA" annotatedElement="_VcwRphE9EeGOffqMW1YiZA">
           <body>A parameter may only be associated with a connector end within the context of a collaboration.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1kkwtwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VcwRqBE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>self.end.notEmpty() implies self.collaboration.notEmpty()</body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_g1kkw9wbEeCT5O2F6sGn5g" name="reentrant_behaviors" constrainedElement="_KyaPMGveEdq4DLWZOhbdEA">
-        <ownedComment xmi:id="_g1kkxNwbEeCT5O2F6sGn5g" annotatedElement="_g1kkw9wbEeCT5O2F6sGn5g">
-          <body>Reentrant behaviors cannot have stream parameters.</body>
+      <ownedRule xmi:id="_VcwRqRE9EeGOffqMW1YiZA" name="not_exception" constrainedElement="_KyaPMGveEdq4DLWZOhbdEA">
+        <ownedComment xmi:id="_VcwRqhE9EeGOffqMW1YiZA" annotatedElement="_VcwRqRE9EeGOffqMW1YiZA">
+          <body>An input parameter cannot be an exception.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1kkxdwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VcwRqxE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>true</body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_g1kkxtwbEeCT5O2F6sGn5g" name="stream_and_exception" constrainedElement="_KyaPMGveEdq4DLWZOhbdEA">
-        <ownedComment xmi:id="_g1kkx9wbEeCT5O2F6sGn5g" annotatedElement="_g1kkxtwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VcwRrBE9EeGOffqMW1YiZA" name="in_and_out" constrainedElement="_KyaPMGveEdq4DLWZOhbdEA">
+        <ownedComment xmi:id="_VcwRrRE9EeGOffqMW1YiZA" annotatedElement="_VcwRrBE9EeGOffqMW1YiZA">
+          <body>Only in and inout parameters may have a delete effect. Only out, inout, and return parameters may have a create effect.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_Vcw4sBE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>true</body>
+        </specification>
+      </ownedRule>
+      <ownedRule xmi:id="_Vcw4sRE9EeGOffqMW1YiZA" name="stream_and_exception" constrainedElement="_KyaPMGveEdq4DLWZOhbdEA">
+        <ownedComment xmi:id="_Vcw4shE9EeGOffqMW1YiZA" annotatedElement="_Vcw4sRE9EeGOffqMW1YiZA">
           <body>A parameter cannot be a stream and exception at the same time.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1kkyNwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_Vcw4sxE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>true</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_g1kkydwbEeCT5O2F6sGn5g" general="_Gjgl0GveEdq4DLWZOhbdEA"/>
-      <generalization xmi:id="_g1kkytwbEeCT5O2F6sGn5g" general="_0dB44PnhEdunWsS3se92JQ"/>
+      <generalization xmi:id="_Vcw4tBE9EeGOffqMW1YiZA" general="_Gjgl0GveEdq4DLWZOhbdEA"/>
+      <generalization xmi:id="_Vcw4tRE9EeGOffqMW1YiZA" general="_0dB44PnhEdunWsS3se92JQ"/>
       <ownedAttribute xmi:id="_ZSw9sLG1EeCDe8CO90iVKQ" name="default" visibility="public" isDerived="true">
-        <ownedComment xmi:id="_g1kky9wbEeCT5O2F6sGn5g" annotatedElement="_ZSw9sLG1EeCDe8CO90iVKQ">
+        <ownedComment xmi:id="_Vcw4thE9EeGOffqMW1YiZA" annotatedElement="_ZSw9sLG1EeCDe8CO90iVKQ">
           <body>Specifies a String that represents a value to be used when no argument is supplied for the Parameter.</body>
         </ownedComment>
         <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1kkzNwbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Vcw4txE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g1kkzdwbEeCT5O2F6sGn5g" name="defaultValue" visibility="public" type="_g2YdENwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_g0JocNwbEeCT5O2F6sGn5g" association="_gyYG1NwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1kkztwbEeCT5O2F6sGn5g" annotatedElement="_g1kkzdwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_Vcyt4BE9EeGOffqMW1YiZA" name="defaultValue" visibility="public" type="_VfGbABE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_GDD2YAtAEeGcpbeCPJfCmw" association="_VTMtAhE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_Vcyt4RE9EeGOffqMW1YiZA" annotatedElement="_Vcyt4BE9EeGOffqMW1YiZA">
           <body>Specifies a ValueSpecification that represents a value to be used when no argument is supplied for the Parameter.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1kkz9wbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Vcyt4hE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g1lL0NwbEeCT5O2F6sGn5g" name="direction" visibility="public" type="_g2ejsNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1lL0dwbEeCT5O2F6sGn5g" annotatedElement="_g1lL0NwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VczU8BE9EeGOffqMW1YiZA" name="direction" visibility="public" type="_VfQMABE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VczU8RE9EeGOffqMW1YiZA" annotatedElement="_VczU8BE9EeGOffqMW1YiZA">
           <body>Indicates whether a parameter is being sent into or out of a behavioral element.</body>
         </ownedComment>
-        <defaultValue xmi:type="uml:InstanceValue" xmi:id="_g1lL0twbEeCT5O2F6sGn5g" type="_g2ejsNwbEeCT5O2F6sGn5g" instance="_g2ejstwbEeCT5O2F6sGn5g"/>
+        <defaultValue xmi:type="uml:InstanceValue" xmi:id="_VczU8hE9EeGOffqMW1YiZA" type="_VfQMABE9EeGOffqMW1YiZA" instance="_VfQMAhE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
       <ownedAttribute xmi:id="_rkJDULG1EeCDe8CO90iVKQ" name="effect" visibility="public" type="_oNLHgLG1EeCDe8CO90iVKQ">
-        <ownedComment xmi:id="_g1lL09wbEeCT5O2F6sGn5g" annotatedElement="_rkJDULG1EeCDe8CO90iVKQ">
+        <ownedComment xmi:id="_VczU8xE9EeGOffqMW1YiZA" annotatedElement="_rkJDULG1EeCDe8CO90iVKQ">
           <body>Specifies the effect that the owner of the parameter has on values passed in or out of the parameter.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1lL1NwbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VczU9BE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g1lL1dwbEeCT5O2F6sGn5g" name="isException" visibility="public">
-        <ownedComment xmi:id="_g1lL1twbEeCT5O2F6sGn5g" annotatedElement="_g1lL1dwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VczU9RE9EeGOffqMW1YiZA" name="isException" visibility="public">
+        <ownedComment xmi:id="_VczU9hE9EeGOffqMW1YiZA" annotatedElement="_VczU9RE9EeGOffqMW1YiZA">
           <body>Tells whether an output parameter may emit a value to the exclusion of the other outputs.</body>
         </ownedComment>
         <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
-        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_g1lL19wbEeCT5O2F6sGn5g"/>
+        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_VczU9xE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g1lL2NwbEeCT5O2F6sGn5g" name="isStream" visibility="public">
-        <ownedComment xmi:id="_g1lL2dwbEeCT5O2F6sGn5g" annotatedElement="_g1lL2NwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_Vcz8ABE9EeGOffqMW1YiZA" name="isStream" visibility="public">
+        <ownedComment xmi:id="_Vcz8ARE9EeGOffqMW1YiZA" annotatedElement="_Vcz8ABE9EeGOffqMW1YiZA">
           <body>Tells whether an input parameter may accept values while its behavior is executing, or whether an output parameter post values while the behavior is executing.</body>
         </ownedComment>
         <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
-        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_g1lL2twbEeCT5O2F6sGn5g"/>
+        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_Vcz8AhE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_lHJ7gLbIEeCRxrN1JUGuxA" name="operation" visibility="public" type="_M4X2IGveEdq4DLWZOhbdEA" subsettedProperty="_gyqasdwbEeCT5O2F6sGn5g _1vzv0LbIEeCRxrN1JUGuxA" association="_gypzrNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1lL29wbEeCT5O2F6sGn5g" annotatedElement="_lHJ7gLbIEeCRxrN1JUGuxA">
+      <ownedAttribute xmi:id="_lHJ7gLbIEeCRxrN1JUGuxA" name="operation" visibility="public" type="_M4X2IGveEdq4DLWZOhbdEA" subsettedProperty="_VUDBkRE9EeGOffqMW1YiZA _1vzv0LbIEeCRxrN1JUGuxA" association="_VUCahhE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_Vcz8AxE9EeGOffqMW1YiZA" annotatedElement="_lHJ7gLbIEeCRxrN1JUGuxA">
           <body>References the Operation owning this parameter.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1lL3NwbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Vcz8BBE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g1ly4NwbEeCT5O2F6sGn5g" name="parameterSet" visibility="public" type="_g1mZ8NwbEeCT5O2F6sGn5g" association="_gyro09wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1ly4dwbEeCT5O2F6sGn5g" annotatedElement="_g1ly4NwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_Vcz8BRE9EeGOffqMW1YiZA" name="parameterSet" visibility="public" type="_Vc7QwBE9EeGOffqMW1YiZA" association="_VUHTAxE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_Vcz8BhE9EeGOffqMW1YiZA" annotatedElement="_Vcz8BRE9EeGOffqMW1YiZA">
           <body>The parameter sets containing the parameter. See ParameterSet.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1ly4twbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g1ly49wbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Vcz8BxE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Vcz8CBE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
       <ownedOperation xmi:id="_QKbgcWXCEdqEJs8umHJc9g" name="isSetDefault" visibility="protected" isQuery="true">
         <ownedParameter xmi:id="_TKzhMGXCEdqEJs8umHJc9g" direction="return">
@@ -11142,334 +11145,334 @@
         </ownedParameter>
       </ownedOperation>
       <ownedOperation xmi:id="_VQnXIGXCEdqEJs8umHJc9g" name="unsetDefault" visibility="protected"/>
-      <ownedOperation xmi:id="_7UJKkFYJEdqrn7iZ0eqieg" name="default" visibility="public" bodyCondition="_g1ly5dwbEeCT5O2F6sGn5g" isQuery="true">
-        <ownedComment xmi:id="_g1ly5NwbEeCT5O2F6sGn5g" annotatedElement="_7UJKkFYJEdqrn7iZ0eqieg">
+      <ownedOperation xmi:id="_7UJKkFYJEdqrn7iZ0eqieg" name="default" visibility="public" bodyCondition="_Vc0jEBE9EeGOffqMW1YiZA" isQuery="true">
+        <ownedComment xmi:id="_Vcz8CRE9EeGOffqMW1YiZA" annotatedElement="_7UJKkFYJEdqrn7iZ0eqieg">
           <body>Missing derivation for Parameter::/default : String</body>
         </ownedComment>
-        <ownedRule xmi:id="_g1ly5dwbEeCT5O2F6sGn5g" name="spec" constrainedElement="_7UJKkFYJEdqrn7iZ0eqieg _ZSw9sLG1EeCDe8CO90iVKQ">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1ly5twbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_Vc0jEBE9EeGOffqMW1YiZA" name="spec" constrainedElement="_7UJKkFYJEdqrn7iZ0eqieg _ZSw9sLG1EeCDe8CO90iVKQ">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_Vc0jERE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>true</body>
           </specification>
         </ownedRule>
         <ownedParameter xmi:id="_-PwAEFYJEdqrn7iZ0eqieg" name="result" visibility="public" direction="return">
           <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1ly59wbEeCT5O2F6sGn5g"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Vc0jEhE9EeGOffqMW1YiZA"/>
           <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4VLgQVYjEdqB6vblk3tuMA" value="1"/>
         </ownedParameter>
       </ownedOperation>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g1mZ8NwbEeCT5O2F6sGn5g" name="ParameterSet">
-      <ownedComment xmi:id="_g1nBANwbEeCT5O2F6sGn5g" annotatedElement="_g1mZ8NwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_Vc7QwBE9EeGOffqMW1YiZA" name="ParameterSet">
+      <ownedComment xmi:id="_Vc7QwRE9EeGOffqMW1YiZA" annotatedElement="_Vc7QwBE9EeGOffqMW1YiZA">
         <body>A parameter set is an element that provides alternative sets of inputs or outputs that a behavior may use.</body>
       </ownedComment>
-      <ownedRule xmi:id="_g1nBAdwbEeCT5O2F6sGn5g" name="same_parameterized_entity" constrainedElement="_g1mZ8NwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1nBAtwbEeCT5O2F6sGn5g" annotatedElement="_g1nBAdwbEeCT5O2F6sGn5g">
-          <body>The parameters in a parameter set must all be inputs or all be outputs of the same parameterized entity, and the parameter set is owned by that entity.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1nBA9wbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>true</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_g1nBBNwbEeCT5O2F6sGn5g" name="input" constrainedElement="_g1mZ8NwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1nBBdwbEeCT5O2F6sGn5g" annotatedElement="_g1nBBNwbEeCT5O2F6sGn5g">
-          <body>If a behavior has input parameters that are in a parameter set, then any inputs that are not in a parameter set must be streaming. Same for output parameters.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1nBBtwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>true</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_g1nBB9wbEeCT5O2F6sGn5g" name="two_parameter_sets" constrainedElement="_g1mZ8NwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1nBCNwbEeCT5O2F6sGn5g" annotatedElement="_g1nBB9wbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_Vc7QwhE9EeGOffqMW1YiZA" name="two_parameter_sets" constrainedElement="_Vc7QwBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_Vc7QwxE9EeGOffqMW1YiZA" annotatedElement="_Vc7QwhE9EeGOffqMW1YiZA">
           <body>Two parameter sets cannot have exactly the same set of parameters.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1nBCdwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_Vc7QxBE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>true</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_g1nBCtwbEeCT5O2F6sGn5g" general="_csVgUGvtEdqG6fBIPwe-mw"/>
-      <ownedAttribute xmi:id="_g1nBC9wbEeCT5O2F6sGn5g" name="condition" visibility="public" type="_g0AegNwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_g0JocNwbEeCT5O2F6sGn5g" association="_gyVqk9wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1nBDNwbEeCT5O2F6sGn5g" annotatedElement="_g1nBC9wbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_Vc7QxRE9EeGOffqMW1YiZA" name="input" constrainedElement="_Vc7QwBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_Vc7QxhE9EeGOffqMW1YiZA" annotatedElement="_Vc7QxRE9EeGOffqMW1YiZA">
+          <body>If a behavior has input parameters that are in a parameter set, then any inputs that are not in a parameter set must be streaming. Same for output parameters.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_Vc7QxxE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>true</body>
+        </specification>
+      </ownedRule>
+      <ownedRule xmi:id="_Vc7QyBE9EeGOffqMW1YiZA" name="same_parameterized_entity" constrainedElement="_Vc7QwBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_Vc7QyRE9EeGOffqMW1YiZA" annotatedElement="_Vc7QyBE9EeGOffqMW1YiZA">
+          <body>The parameters in a parameter set must all be inputs or all be outputs of the same parameterized entity, and the parameter set is owned by that entity.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_Vc7QyhE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>true</body>
+        </specification>
+      </ownedRule>
+      <generalization xmi:id="_Vc7QyxE9EeGOffqMW1YiZA" general="_csVgUGvtEdqG6fBIPwe-mw"/>
+      <ownedAttribute xmi:id="_Vc7QzBE9EeGOffqMW1YiZA" name="condition" visibility="public" type="_VYbLQBE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_GDD2YAtAEeGcpbeCPJfCmw" association="_VTF_UBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_Vc7QzRE9EeGOffqMW1YiZA" annotatedElement="_Vc7QzBE9EeGOffqMW1YiZA">
           <body>Constraint that should be satisfied for the owner of the parameters in an input parameter set to start execution using the values provided for those parameters, or the owner of the parameters in an output parameter set to end execution providing the values for those parameters, if all preconditions and conditions on input parameter sets were satisfied.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1nBDdwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g1nBDtwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Vc7QzhE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Vc7QzxE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g1nBD9wbEeCT5O2F6sGn5g" name="parameter" visibility="public" type="_KyaPMGveEdq4DLWZOhbdEA" association="_gyro09wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1nBENwbEeCT5O2F6sGn5g" annotatedElement="_g1nBD9wbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_Vc7Q0BE9EeGOffqMW1YiZA" name="parameter" visibility="public" type="_KyaPMGveEdq4DLWZOhbdEA" association="_VUHTAxE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_Vc7Q0RE9EeGOffqMW1YiZA" annotatedElement="_Vc7Q0BE9EeGOffqMW1YiZA">
           <body>Parameters in the parameter set.</body>
         </ownedComment>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g1nBEdwbEeCT5O2F6sGn5g" value="*"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Vc7Q0hE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g1noENwbEeCT5O2F6sGn5g" name="ParameterableElement" isAbstract="true">
-      <ownedComment xmi:id="_g1noEdwbEeCT5O2F6sGn5g" annotatedElement="_g1noENwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_Vc730BE9EeGOffqMW1YiZA" name="ParameterableElement" isAbstract="true">
+      <ownedComment xmi:id="_Vc730RE9EeGOffqMW1YiZA" annotatedElement="_Vc730BE9EeGOffqMW1YiZA">
         <body>A parameterable element is an element that can be exposed as a formal template parameter for a template, or specified as an actual parameter in a binding of a template.</body>
       </ownedComment>
-      <generalization xmi:id="_g1noEtwbEeCT5O2F6sGn5g" general="_kl90MGvbEdq4DLWZOhbdEA"/>
-      <ownedAttribute xmi:id="_g1noE9wbEeCT5O2F6sGn5g" name="owningTemplateParameter" visibility="public" type="_KxRzgGvuEdqG6fBIPwe-mw" subsettedProperty="_g1noFtwbEeCT5O2F6sGn5g _g0JodNwbEeCT5O2F6sGn5g" association="_gyqatNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1noFNwbEeCT5O2F6sGn5g" annotatedElement="_g1noE9wbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_Vc730hE9EeGOffqMW1YiZA" general="_kl90MGvbEdq4DLWZOhbdEA"/>
+      <ownedAttribute xmi:id="_Vc730xE9EeGOffqMW1YiZA" name="owningTemplateParameter" visibility="public" type="_KxRzgGvuEdqG6fBIPwe-mw" subsettedProperty="_Vc731hE9EeGOffqMW1YiZA _N3hRMAtAEeGcpbeCPJfCmw" association="_VUDBlBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_Vc731BE9EeGOffqMW1YiZA" annotatedElement="_Vc730xE9EeGOffqMW1YiZA">
           <body>The formal template parameter that owns this element.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1noFdwbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Vc731RE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g1noFtwbEeCT5O2F6sGn5g" name="templateParameter" visibility="public" type="_KxRzgGvuEdqG6fBIPwe-mw" association="_gyro3dwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1noF9wbEeCT5O2F6sGn5g" annotatedElement="_g1noFtwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_Vc731hE9EeGOffqMW1YiZA" name="templateParameter" visibility="public" type="_KxRzgGvuEdqG6fBIPwe-mw" association="_VUH6FBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_Vc731xE9EeGOffqMW1YiZA" annotatedElement="_Vc731hE9EeGOffqMW1YiZA">
           <body>The template parameter that exposes this element as a formal parameter.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1noGNwbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Vc732BE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedOperation xmi:id="_g1noGdwbEeCT5O2F6sGn5g" name="isCompatibleWith" visibility="public" bodyCondition="_g1noG9wbEeCT5O2F6sGn5g" isQuery="true">
-        <ownedComment xmi:id="_g1noGtwbEeCT5O2F6sGn5g" annotatedElement="_g1noGdwbEeCT5O2F6sGn5g">
+      <ownedOperation xmi:id="_Vc732RE9EeGOffqMW1YiZA" name="isCompatibleWith" visibility="public" bodyCondition="_Vc732xE9EeGOffqMW1YiZA" isQuery="true">
+        <ownedComment xmi:id="_Vc732hE9EeGOffqMW1YiZA" annotatedElement="_Vc732RE9EeGOffqMW1YiZA">
           <body>The query isCompatibleWith() determines if this parameterable element is compatible with the specified parameterable element. By default parameterable element P is compatible with parameterable element Q if the kind of P is the same or a subtype as the kind of Q. Subclasses should override this operation to specify different compatibility constraints.</body>
         </ownedComment>
-        <ownedRule xmi:id="_g1noG9wbEeCT5O2F6sGn5g" name="spec" constrainedElement="_g1noGdwbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1noHNwbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_Vc732xE9EeGOffqMW1YiZA" name="spec" constrainedElement="_Vc732RE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_Vc733BE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = p->oclIsKindOf(self.oclType)</body>
           </specification>
         </ownedRule>
-        <ownedParameter xmi:id="_g1noHdwbEeCT5O2F6sGn5g" name="result" visibility="public" direction="return">
+        <ownedParameter xmi:id="_Vc733RE9EeGOffqMW1YiZA" name="result" visibility="public" direction="return">
           <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
         </ownedParameter>
-        <ownedParameter xmi:id="_g1noHtwbEeCT5O2F6sGn5g" name="p" visibility="public" type="_g1noENwbEeCT5O2F6sGn5g"/>
+        <ownedParameter xmi:id="_Vc733hE9EeGOffqMW1YiZA" name="p" visibility="public" type="_Vc730BE9EeGOffqMW1YiZA"/>
       </ownedOperation>
-      <ownedOperation xmi:id="_g1noH9wbEeCT5O2F6sGn5g" name="isTemplateParameter" visibility="public" bodyCondition="_g1noIdwbEeCT5O2F6sGn5g" isQuery="true">
-        <ownedComment xmi:id="_g1noINwbEeCT5O2F6sGn5g" annotatedElement="_g1noH9wbEeCT5O2F6sGn5g">
+      <ownedOperation xmi:id="_Vc733xE9EeGOffqMW1YiZA" name="isTemplateParameter" visibility="public" bodyCondition="_Vc734RE9EeGOffqMW1YiZA" isQuery="true">
+        <ownedComment xmi:id="_Vc734BE9EeGOffqMW1YiZA" annotatedElement="_Vc733xE9EeGOffqMW1YiZA">
           <body>The query isTemplateParameter() determines if this parameterable element is exposed as a formal template parameter.</body>
         </ownedComment>
-        <ownedRule xmi:id="_g1noIdwbEeCT5O2F6sGn5g" name="spec" constrainedElement="_g1noH9wbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1noItwbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_Vc734RE9EeGOffqMW1YiZA" name="spec" constrainedElement="_Vc733xE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_Vc734hE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = templateParameter->notEmpty()</body>
           </specification>
         </ownedRule>
-        <ownedParameter xmi:id="_g1noI9wbEeCT5O2F6sGn5g" name="result" visibility="public" direction="return">
+        <ownedParameter xmi:id="_Vc734xE9EeGOffqMW1YiZA" name="result" visibility="public" direction="return">
           <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
         </ownedParameter>
       </ownedOperation>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g1oPINwbEeCT5O2F6sGn5g" name="PartDecomposition">
-      <ownedComment xmi:id="_g1oPIdwbEeCT5O2F6sGn5g" annotatedElement="_g1oPINwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_Vc8e4BE9EeGOffqMW1YiZA" name="PartDecomposition">
+      <ownedComment xmi:id="_Vc8e4RE9EeGOffqMW1YiZA" annotatedElement="_Vc8e4BE9EeGOffqMW1YiZA">
         <body>A part decomposition is a description of the internal interactions of one lifeline relative to an interaction.</body>
       </ownedComment>
-      <ownedRule xmi:id="_g1oPItwbEeCT5O2F6sGn5g" name="commutativity_of_decomposition" constrainedElement="_g1oPINwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1oPI9wbEeCT5O2F6sGn5g" annotatedElement="_g1oPItwbEeCT5O2F6sGn5g">
-          <body>Assume that within Interaction X, Lifeline L is of class C and decomposed to D. Assume also that there is within X an InteractionUse (say) U that covers L. According to the constraint above U will have a counterpart CU within D. Within the Interaction referenced by U, L should also be decomposed, and the decomposition should reference CU. (This rule is called commutativity of decomposition)</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1oPJNwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>true</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_g1oPJdwbEeCT5O2F6sGn5g" name="assume" constrainedElement="_g1oPINwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1oPJtwbEeCT5O2F6sGn5g" annotatedElement="_g1oPJdwbEeCT5O2F6sGn5g">
-          <body>Assume that within Interaction X, Lifeline L is of class C and decomposed to D. Within X there is a sequence of constructs along L (such constructs are CombinedFragments, InteractionUse and (plain) OccurrenceSpecifications). Then a corresponding sequence of constructs must appear within D, matched one-to-one in the same order. i) CombinedFragment covering L are matched with an extra-global CombinedFragment in D ii) An InteractionUse covering L are matched with a global (i.e. covering all Lifelines) InteractionUse in D. iii) A plain OccurrenceSpecification on L is considered an actualGate that must be matched by a formalGate of D</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1oPJ9wbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>true</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_g1oPKNwbEeCT5O2F6sGn5g" name="parts_of_internal_structures" constrainedElement="_g1oPINwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1oPKdwbEeCT5O2F6sGn5g" annotatedElement="_g1oPKNwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_Vc8e4hE9EeGOffqMW1YiZA" name="parts_of_internal_structures" constrainedElement="_Vc8e4BE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_Vc8e4xE9EeGOffqMW1YiZA" annotatedElement="_Vc8e4hE9EeGOffqMW1YiZA">
           <body>PartDecompositions apply only to Parts that are Parts of Internal Structures not to Parts of Collaborations.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1oPKtwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_Vc8e5BE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>true</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_g1oPK9wbEeCT5O2F6sGn5g" general="_g0dxgNwbEeCT5O2F6sGn5g"/>
+      <ownedRule xmi:id="_Vc8e5RE9EeGOffqMW1YiZA" name="assume" constrainedElement="_Vc8e4BE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_Vc8e5hE9EeGOffqMW1YiZA" annotatedElement="_Vc8e5RE9EeGOffqMW1YiZA">
+          <body>Assume that within Interaction X, Lifeline L is of class C and decomposed to D. Within X there is a sequence of constructs along L (such constructs are CombinedFragments, InteractionUse and (plain) OccurrenceSpecifications). Then a corresponding sequence of constructs must appear within D, matched one-to-one in the same order. i) CombinedFragment covering L are matched with an extra-global CombinedFragment in D ii) An InteractionUse covering L are matched with a global (i.e. covering all Lifelines) InteractionUse in D. iii) A plain OccurrenceSpecification on L is considered an actualGate that must be matched by a formalGate of D</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_Vc8e5xE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>true</body>
+        </specification>
+      </ownedRule>
+      <ownedRule xmi:id="_Vc8e6BE9EeGOffqMW1YiZA" name="commutativity_of_decomposition" constrainedElement="_Vc8e4BE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_Vc8e6RE9EeGOffqMW1YiZA" annotatedElement="_Vc8e6BE9EeGOffqMW1YiZA">
+          <body>Assume that within Interaction X, Lifeline L is of class C and decomposed to D. Assume also that there is within X an InteractionUse (say) U that covers L. According to the constraint above U will have a counterpart CU within D. Within the Interaction referenced by U, L should also be decomposed, and the decomposition should reference CU. (This rule is called commutativity of decomposition)</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_Vc8e6hE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>true</body>
+        </specification>
+      </ownedRule>
+      <generalization xmi:id="_Vc8e6xE9EeGOffqMW1YiZA" general="_VZvZ4BE9EeGOffqMW1YiZA"/>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g1oPLNwbEeCT5O2F6sGn5g" name="Pin" isAbstract="true">
-      <ownedComment xmi:id="_g1oPLdwbEeCT5O2F6sGn5g" annotatedElement="_g1oPLNwbEeCT5O2F6sGn5g">
-        <body>A pin is an object node for inputs and outputs to actions.</body>
-      </ownedComment>
-      <ownedComment xmi:id="_g1oPLtwbEeCT5O2F6sGn5g" annotatedElement="_g1oPLNwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_Vc9F8BE9EeGOffqMW1YiZA" name="Pin" isAbstract="true">
+      <ownedComment xmi:id="_Vc9F8RE9EeGOffqMW1YiZA" annotatedElement="_Vc9F8BE9EeGOffqMW1YiZA">
         <body>A pin is a typed element and multiplicity element that provides values to actions and accept result values from them.</body>
       </ownedComment>
-      <ownedRule xmi:id="_g1oPL9wbEeCT5O2F6sGn5g" name="control_pins" constrainedElement="_g1oPLNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1oPMNwbEeCT5O2F6sGn5g" annotatedElement="_g1oPL9wbEeCT5O2F6sGn5g">
+      <ownedComment xmi:id="_Vc9F8hE9EeGOffqMW1YiZA" annotatedElement="_Vc9F8BE9EeGOffqMW1YiZA">
+        <body>A pin is an object node for inputs and outputs to actions.</body>
+      </ownedComment>
+      <ownedRule xmi:id="_Vc9F8xE9EeGOffqMW1YiZA" name="control_pins" constrainedElement="_Vc9F8BE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_Vc9F9BE9EeGOffqMW1YiZA" annotatedElement="_Vc9F8xE9EeGOffqMW1YiZA">
           <body>Control pins have a control type</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1oPMdwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_Vc9F9RE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>isControl implies isControlType</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_g1oPMtwbEeCT5O2F6sGn5g" general="_g1XJYNwbEeCT5O2F6sGn5g"/>
-      <generalization xmi:id="_g1oPM9wbEeCT5O2F6sGn5g" general="_Gjgl0GveEdq4DLWZOhbdEA"/>
-      <ownedAttribute xmi:id="_g1oPNNwbEeCT5O2F6sGn5g" name="isControl" visibility="public">
-        <ownedComment xmi:id="_g1oPNdwbEeCT5O2F6sGn5g" annotatedElement="_g1oPNNwbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_Vc9F9hE9EeGOffqMW1YiZA" general="_Gjgl0GveEdq4DLWZOhbdEA"/>
+      <generalization xmi:id="_Vc9F9xE9EeGOffqMW1YiZA" general="_VbcDABE9EeGOffqMW1YiZA"/>
+      <ownedAttribute xmi:id="_Vc9F-BE9EeGOffqMW1YiZA" name="isControl" visibility="public">
+        <ownedComment xmi:id="_Vc9F-RE9EeGOffqMW1YiZA" annotatedElement="_Vc9F-BE9EeGOffqMW1YiZA">
           <body>Tells whether the pins provide data to the actions, or just controls when it executes it.</body>
         </ownedComment>
         <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
-        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_g1oPNtwbEeCT5O2F6sGn5g"/>
+        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_Vc9F-hE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="_ZAuvEGveEdq4DLWZOhbdEA" name="Port">
-      <ownedComment xmi:id="_g1oPN9wbEeCT5O2F6sGn5g" annotatedElement="_ZAuvEGveEdq4DLWZOhbdEA">
-        <body>A port is a property of a classifier that specifies a distinct interaction point between that classifier and its environment or between the (behavior of the) classifier and its internal parts. Ports are connected to properties of the classifier by connectors through which requests can be made to invoke the behavioral features of a classifier. A Port may specify the services a classifier provides (offers) to its environment as well as the services that a classifier expects (requires) of its environment.</body>
-      </ownedComment>
-      <ownedComment xmi:id="_g1o2MNwbEeCT5O2F6sGn5g" annotatedElement="_ZAuvEGveEdq4DLWZOhbdEA">
+      <ownedComment xmi:id="_Vc9F-xE9EeGOffqMW1YiZA" annotatedElement="_ZAuvEGveEdq4DLWZOhbdEA">
         <body>A port has an associated protocol state machine.</body>
       </ownedComment>
-      <ownedRule xmi:id="_g1o2MdwbEeCT5O2F6sGn5g" name="port_destroyed" constrainedElement="_ZAuvEGveEdq4DLWZOhbdEA">
-        <ownedComment xmi:id="_g1o2MtwbEeCT5O2F6sGn5g" annotatedElement="_g1o2MdwbEeCT5O2F6sGn5g">
-          <body>When a port is destroyed, all connectors attached to this port will be destroyed also.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1o2M9wbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>true</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_g1o2NNwbEeCT5O2F6sGn5g" name="port_aggregation" constrainedElement="_ZAuvEGveEdq4DLWZOhbdEA">
-        <ownedComment xmi:id="_g1o2NdwbEeCT5O2F6sGn5g" annotatedElement="_g1o2NNwbEeCT5O2F6sGn5g">
-          <body>Port.aggregation must be composite.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1o2NtwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>true</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_g1o2N9wbEeCT5O2F6sGn5g" name="default_value" constrainedElement="_ZAuvEGveEdq4DLWZOhbdEA">
-        <ownedComment xmi:id="_g1o2ONwbEeCT5O2F6sGn5g" annotatedElement="_g1o2N9wbEeCT5O2F6sGn5g">
+      <ownedComment xmi:id="_Vc9tABE9EeGOffqMW1YiZA" annotatedElement="_ZAuvEGveEdq4DLWZOhbdEA">
+        <body>A port is a property of a classifier that specifies a distinct interaction point between that classifier and its environment or between the (behavior of the) classifier and its internal parts. Ports are connected to properties of the classifier by connectors through which requests can be made to invoke the behavioral features of a classifier. A Port may specify the services a classifier provides (offers) to its environment as well as the services that a classifier expects (requires) of its environment.</body>
+      </ownedComment>
+      <ownedRule xmi:id="_Vc9tARE9EeGOffqMW1YiZA" name="default_value" constrainedElement="_ZAuvEGveEdq4DLWZOhbdEA">
+        <ownedComment xmi:id="_Vc9tAhE9EeGOffqMW1YiZA" annotatedElement="_Vc9tARE9EeGOffqMW1YiZA">
           <body>A defaultValue for port cannot be specified when the type of the Port is an Interface</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1o2OdwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_Vc9tAxE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>true</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_g1o2OtwbEeCT5O2F6sGn5g" general="_Jp_1oGveEdq4DLWZOhbdEA"/>
-      <ownedAttribute xmi:id="_g1o2O9wbEeCT5O2F6sGn5g" name="isBehavior" visibility="public">
-        <ownedComment xmi:id="_g1o2PNwbEeCT5O2F6sGn5g" annotatedElement="_g1o2O9wbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_Vc9tBBE9EeGOffqMW1YiZA" name="port_aggregation" constrainedElement="_ZAuvEGveEdq4DLWZOhbdEA">
+        <ownedComment xmi:id="_Vc9tBRE9EeGOffqMW1YiZA" annotatedElement="_Vc9tBBE9EeGOffqMW1YiZA">
+          <body>Port.aggregation must be composite.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_Vc9tBhE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>true</body>
+        </specification>
+      </ownedRule>
+      <ownedRule xmi:id="_Vc9tBxE9EeGOffqMW1YiZA" name="port_destroyed" constrainedElement="_ZAuvEGveEdq4DLWZOhbdEA">
+        <ownedComment xmi:id="_Vc9tCBE9EeGOffqMW1YiZA" annotatedElement="_Vc9tBxE9EeGOffqMW1YiZA">
+          <body>When a port is destroyed, all connectors attached to this port will be destroyed also.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_Vc9tCRE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>true</body>
+        </specification>
+      </ownedRule>
+      <generalization xmi:id="_Vc9tChE9EeGOffqMW1YiZA" general="_Jp_1oGveEdq4DLWZOhbdEA"/>
+      <ownedAttribute xmi:id="_Vc9tCxE9EeGOffqMW1YiZA" name="isBehavior" visibility="public">
+        <ownedComment xmi:id="_Vc9tDBE9EeGOffqMW1YiZA" annotatedElement="_Vc9tCxE9EeGOffqMW1YiZA">
           <body>Specifies whether requests arriving at this port are sent to the classifier behavior of this classifier. Such ports are referred to as behavior port. Any invocation of a behavioral feature targeted at a behavior port will be handled by the instance of the owning classifier itself, rather than by any instances that this classifier may contain.</body>
         </ownedComment>
         <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
-        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_g1o2PdwbEeCT5O2F6sGn5g"/>
+        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_Vc9tDRE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g1o2PtwbEeCT5O2F6sGn5g" name="isConjugated" visibility="public">
-        <ownedComment xmi:id="_g1o2P9wbEeCT5O2F6sGn5g" annotatedElement="_g1o2PtwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_Vc-UEBE9EeGOffqMW1YiZA" name="isConjugated" visibility="public">
+        <ownedComment xmi:id="_Vc-UERE9EeGOffqMW1YiZA" annotatedElement="_Vc-UEBE9EeGOffqMW1YiZA">
           <body>Specifies the way that the provided and required interfaces are derived from the Port’s Type. The default value is false.</body>
         </ownedComment>
         <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
-        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_g1o2QNwbEeCT5O2F6sGn5g"/>
+        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_Vc-UEhE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g1o2QdwbEeCT5O2F6sGn5g" name="isService" visibility="public">
-        <ownedComment xmi:id="_g1o2QtwbEeCT5O2F6sGn5g" annotatedElement="_g1o2QdwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_Vc-UExE9EeGOffqMW1YiZA" name="isService" visibility="public">
+        <ownedComment xmi:id="_Vc-UFBE9EeGOffqMW1YiZA" annotatedElement="_Vc-UExE9EeGOffqMW1YiZA">
           <body>If true indicates that this port is used to provide the published functionality of a classifier; if false, this port is used to implement the classifier but is not part of the essential externally-visible functionality of the classifier and can, therefore, be altered or deleted along with the internal implementation of the classifier and other properties that are considered part of its implementation.</body>
         </ownedComment>
         <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
-        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_g1o2Q9wbEeCT5O2F6sGn5g" value="true"/>
+        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_Vc-UFRE9EeGOffqMW1YiZA" value="true"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g1o2RNwbEeCT5O2F6sGn5g" name="protocol" visibility="public" type="_g1xZENwbEeCT5O2F6sGn5g" association="_gyteCtwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1o2RdwbEeCT5O2F6sGn5g" annotatedElement="_g1o2RNwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_Vc-UFhE9EeGOffqMW1YiZA" name="protocol" visibility="public" type="_VdXVoBE9EeGOffqMW1YiZA" association="_VULkcBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_Vc-UFxE9EeGOffqMW1YiZA" annotatedElement="_Vc-UFhE9EeGOffqMW1YiZA">
           <body>References an optional protocol state machine which describes valid interactions at this interaction point.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1o2RtwbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Vc-UGBE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g1pdQNwbEeCT5O2F6sGn5g" name="provided" visibility="public" type="_8Ugn8GvtEdqG6fBIPwe-mw" isReadOnly="true" isDerived="true" association="_gyuFFNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1pdQdwbEeCT5O2F6sGn5g" annotatedElement="_g1pdQNwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_Vc-UGRE9EeGOffqMW1YiZA" name="provided" visibility="public" type="_8Ugn8GvtEdqG6fBIPwe-mw" isReadOnly="true" isDerived="true" association="_VUMLgBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_Vc-UGhE9EeGOffqMW1YiZA" annotatedElement="_Vc-UGRE9EeGOffqMW1YiZA">
           <body>References the interfaces specifying the set of operations and receptions that the classifier offers to its environment via this port, and which it will handle either directly or by forwarding it to a part of its internal structure. This association is derived according to the value of isConjugated. If isConjugated is false, provided is derived as the union of the sets of interfaces realized by the type of the port and its supertypes, or directly from the type of the port if the port is typed by an interface. If isConjugated is true, it is derived as the union of the sets of interfaces used by the type of the port and its supertypes.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1pdQtwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g1pdQ9wbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Vc-UGxE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Vc-UHBE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g1pdRNwbEeCT5O2F6sGn5g" name="redefinedPort" visibility="public" type="_ZAuvEGveEdq4DLWZOhbdEA" subsettedProperty="_g1uVwNwbEeCT5O2F6sGn5g" association="_gyxIYNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1pdRdwbEeCT5O2F6sGn5g" annotatedElement="_g1pdRNwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_Vc-UHRE9EeGOffqMW1YiZA" name="redefinedPort" visibility="public" type="_ZAuvEGveEdq4DLWZOhbdEA" subsettedProperty="_VdIFEBE9EeGOffqMW1YiZA" association="_VUS5MBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_Vc-UHhE9EeGOffqMW1YiZA" annotatedElement="_Vc-UHRE9EeGOffqMW1YiZA">
           <body>A port may be redefined when its containing classifier is specialized. The redefining port may have additional interfaces to those that are associated with the redefined port or it may replace an interface by one of its subtypes.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1pdRtwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g1pdR9wbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Vc-UHxE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Vc-UIBE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g1pdSNwbEeCT5O2F6sGn5g" name="required" visibility="public" type="_8Ugn8GvtEdqG6fBIPwe-mw" isReadOnly="true" isDerived="true" association="_gy0LtNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1pdSdwbEeCT5O2F6sGn5g" annotatedElement="_g1pdSNwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_Vc-7IBE9EeGOffqMW1YiZA" name="required" visibility="public" type="_8Ugn8GvtEdqG6fBIPwe-mw" isReadOnly="true" isDerived="true" association="_VUcDJBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_Vc-7IRE9EeGOffqMW1YiZA" annotatedElement="_Vc-7IBE9EeGOffqMW1YiZA">
           <body>References the interfaces specifying the set of operations and receptions that the classifier expects its environment to handle via this port. This association is derived according to the value of isConjugated. If isConjugated is false, required is derived as the union of the sets of interfaces used by the type of the port and its supertypes. If isConjugated is true, it is derived as the union of the sets of interfaces realized by the type of the port and its supertypes, or directly from the type of the port if the port is typed by an interface.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1pdStwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g1pdS9wbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Vc-7IhE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Vc-7IxE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedOperation xmi:id="_gtr8cFYhEdqB6vblk3tuMA" name="provided" visibility="public" bodyCondition="_g1pdTdwbEeCT5O2F6sGn5g" isQuery="true">
-        <ownedComment xmi:id="_g1pdTNwbEeCT5O2F6sGn5g" annotatedElement="_gtr8cFYhEdqB6vblk3tuMA">
+      <ownedOperation xmi:id="_gtr8cFYhEdqB6vblk3tuMA" name="provided" visibility="public" bodyCondition="_Vc-7JRE9EeGOffqMW1YiZA" isQuery="true">
+        <ownedComment xmi:id="_Vc-7JBE9EeGOffqMW1YiZA" annotatedElement="_gtr8cFYhEdqB6vblk3tuMA">
           <body>Missing derivation for Port::/provided : Interface</body>
         </ownedComment>
-        <ownedRule xmi:id="_g1pdTdwbEeCT5O2F6sGn5g" name="spec" constrainedElement="_gtr8cFYhEdqB6vblk3tuMA _g1pdQNwbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1pdTtwbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_Vc-7JRE9EeGOffqMW1YiZA" name="spec" constrainedElement="_gtr8cFYhEdqB6vblk3tuMA _Vc-UGRE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_Vc-7JhE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>true</body>
           </specification>
         </ownedRule>
         <ownedParameter xmi:id="_jIqKEFYhEdqB6vblk3tuMA" name="result" visibility="public" type="_8Ugn8GvtEdqG6fBIPwe-mw" direction="return">
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1pdT9wbEeCT5O2F6sGn5g"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g1pdUNwbEeCT5O2F6sGn5g" value="*"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Vc-7JxE9EeGOffqMW1YiZA"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Vc-7KBE9EeGOffqMW1YiZA" value="*"/>
         </ownedParameter>
       </ownedOperation>
-      <ownedOperation xmi:id="_mxt7cFYhEdqB6vblk3tuMA" name="required" visibility="public" bodyCondition="_g1qEUdwbEeCT5O2F6sGn5g" isQuery="true">
-        <ownedComment xmi:id="_g1qEUNwbEeCT5O2F6sGn5g" annotatedElement="_mxt7cFYhEdqB6vblk3tuMA">
+      <ownedOperation xmi:id="_mxt7cFYhEdqB6vblk3tuMA" name="required" visibility="public" bodyCondition="_Vc_iMRE9EeGOffqMW1YiZA" isQuery="true">
+        <ownedComment xmi:id="_Vc_iMBE9EeGOffqMW1YiZA" annotatedElement="_mxt7cFYhEdqB6vblk3tuMA">
           <body>Missing derivation for Port::/required : Interface</body>
         </ownedComment>
-        <ownedRule xmi:id="_g1qEUdwbEeCT5O2F6sGn5g" name="spec" constrainedElement="_mxt7cFYhEdqB6vblk3tuMA _g1pdSNwbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1qEUtwbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_Vc_iMRE9EeGOffqMW1YiZA" name="spec" constrainedElement="_mxt7cFYhEdqB6vblk3tuMA _Vc-7IBE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_Vc_iMhE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>true</body>
           </specification>
         </ownedRule>
         <ownedParameter xmi:id="_osMrIFYhEdqB6vblk3tuMA" name="result" visibility="public" type="_8Ugn8GvtEdqG6fBIPwe-mw" direction="return">
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1qEU9wbEeCT5O2F6sGn5g"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g1qEVNwbEeCT5O2F6sGn5g" value="*"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Vc_iMxE9EeGOffqMW1YiZA"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Vc_iNBE9EeGOffqMW1YiZA" value="*"/>
         </ownedParameter>
       </ownedOperation>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="_V6vuYGwGEdq7X4sGURiZYA" name="PrimitiveType">
-      <ownedComment xmi:id="_g1qEVdwbEeCT5O2F6sGn5g" annotatedElement="_V6vuYGwGEdq7X4sGURiZYA">
+      <ownedComment xmi:id="_VdBXYBE9EeGOffqMW1YiZA" annotatedElement="_V6vuYGwGEdq7X4sGURiZYA">
         <body>A primitive type defines a predefined data type, without any relevant substructure (i.e., it has no parts in the context of UML). A primitive datatype may have an algebra and operations defined outside of UML, for example, mathematically.</body>
       </ownedComment>
-      <generalization xmi:id="_g1qrYNwbEeCT5O2F6sGn5g" general="__1ap4HLzEdqziYxiZo0YtA"/>
+      <generalization xmi:id="_VdBXYRE9EeGOffqMW1YiZA" general="__1ap4HLzEdqziYxiZo0YtA"/>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="__pew8GvzEdq7X4sGURiZYA" name="Profile">
-      <ownedComment xmi:id="_g1qrYdwbEeCT5O2F6sGn5g" annotatedElement="__pew8GvzEdq7X4sGURiZYA">
+      <ownedComment xmi:id="_VdB-cBE9EeGOffqMW1YiZA" annotatedElement="__pew8GvzEdq7X4sGURiZYA">
         <body>A profile defines limited extensions to a reference metamodel with the purpose of adapting the metamodel to a specific platform or domain.</body>
       </ownedComment>
-      <ownedRule xmi:id="_g1qrYtwbEeCT5O2F6sGn5g" name="metaclass_reference_not_specialized" constrainedElement="__pew8GvzEdq7X4sGURiZYA">
-        <ownedComment xmi:id="_g1qrY9wbEeCT5O2F6sGn5g" annotatedElement="_g1qrYtwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VdB-cRE9EeGOffqMW1YiZA" name="metaclass_reference_not_specialized" constrainedElement="__pew8GvzEdq7X4sGURiZYA">
+        <ownedComment xmi:id="_VdB-chE9EeGOffqMW1YiZA" annotatedElement="_VdB-cRE9EeGOffqMW1YiZA">
           <body>An element imported as a metaclassReference is not specialized or generalized in a Profile.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1qrZNwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VdB-cxE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>self.metaclassReference.importedElement->
 	select(c | c.oclIsKindOf(Classifier) and
 		(c.generalization.namespace = self or	c.specialization.namespace = self))->isEmpty()</body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_g1qrZdwbEeCT5O2F6sGn5g" name="references_same_metamodel" constrainedElement="__pew8GvzEdq7X4sGURiZYA">
-        <ownedComment xmi:id="_g1qrZtwbEeCT5O2F6sGn5g" annotatedElement="_g1qrZdwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VdB-dBE9EeGOffqMW1YiZA" name="references_same_metamodel" constrainedElement="__pew8GvzEdq7X4sGURiZYA">
+        <ownedComment xmi:id="_VdB-dRE9EeGOffqMW1YiZA" annotatedElement="_VdB-dBE9EeGOffqMW1YiZA">
           <body>All elements imported either as metaclassReferences or through metamodelReferences are members of the same base reference metamodel.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1qrZ9wbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VdB-dhE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>self.metamodelReference.importedPackage.elementImport.importedElement.allOwningPackages()->
   union(self.metaclassReference.importedElement.allOwningPackages() )->notEmpty()</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_g1qraNwbEeCT5O2F6sGn5g" general="_-cvRAGvzEdq7X4sGURiZYA"/>
-      <ownedAttribute xmi:id="_g1qradwbEeCT5O2F6sGn5g" name="metaclassReference" visibility="public" type="_RPl78GwIEdq7X4sGURiZYA" aggregation="composite" subsettedProperty="_g1S39dwbEeCT5O2F6sGn5g" association="_gyjtBNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1qratwbEeCT5O2F6sGn5g" annotatedElement="_g1qradwbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_VdB-dxE9EeGOffqMW1YiZA" general="_-cvRAGvzEdq7X4sGURiZYA"/>
+      <ownedAttribute xmi:id="_VdB-eBE9EeGOffqMW1YiZA" name="metaclassReference" visibility="public" type="_RPl78GwIEdq7X4sGURiZYA" aggregation="composite" subsettedProperty="_VarOABE9EeGOffqMW1YiZA" association="_VTx71BE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VdB-eRE9EeGOffqMW1YiZA" annotatedElement="_VdB-eBE9EeGOffqMW1YiZA">
           <body>References a metaclass that may be extended.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1qra9wbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g1qrbNwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VdB-ehE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VdB-exE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g1qrbdwbEeCT5O2F6sGn5g" name="metamodelReference" visibility="public" type="_SnNPIGwIEdq7X4sGURiZYA" aggregation="composite" subsettedProperty="_g1TfBNwbEeCT5O2F6sGn5g" association="_gyjtB9wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1qrbtwbEeCT5O2F6sGn5g" annotatedElement="_g1qrbdwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VdClgBE9EeGOffqMW1YiZA" name="metamodelReference" visibility="public" type="_SnNPIGwIEdq7X4sGURiZYA" aggregation="composite" subsettedProperty="_Var1GBE9EeGOffqMW1YiZA" association="_VTyi4BE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VdClgRE9EeGOffqMW1YiZA" annotatedElement="_VdClgBE9EeGOffqMW1YiZA">
           <body>References a package containing (directly or indirectly) metaclasses that may be extended.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1qrb9wbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g1qrcNwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VdClghE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VdClgxE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
       <ownedOperation xmi:id="_2QKPIGwJEdq7X4sGURiZYA" name="create">
         <ownedComment xmi:id="_QbUdUOwjEdqYHf-imTcTdw" annotatedElement="_2QKPIGwJEdq7X4sGURiZYA">
@@ -11612,26 +11615,26 @@
       </nestedClassifier>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="_uY5yQGv5Edq7X4sGURiZYA" name="ProfileApplication">
-      <ownedComment xmi:id="_g1rScNwbEeCT5O2F6sGn5g" annotatedElement="_uY5yQGv5Edq7X4sGURiZYA">
+      <ownedComment xmi:id="_VdDMkBE9EeGOffqMW1YiZA" annotatedElement="_uY5yQGv5Edq7X4sGURiZYA">
         <body>A profile application is used to show which profiles have been applied to a package.</body>
       </ownedComment>
-      <generalization xmi:id="_g1rScdwbEeCT5O2F6sGn5g" general="_JBgfoKPAEdqi_5gqUMOQtA"/>
-      <ownedAttribute xmi:id="_g1rSctwbEeCT5O2F6sGn5g" name="appliedProfile" visibility="public" type="__pew8GvzEdq7X4sGURiZYA" subsettedProperty="_g0HzRNwbEeCT5O2F6sGn5g" association="_gySAQtwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1rSc9wbEeCT5O2F6sGn5g" annotatedElement="_g1rSctwbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_VdDMkRE9EeGOffqMW1YiZA" general="_JBgfoKPAEdqi_5gqUMOQtA"/>
+      <ownedAttribute xmi:id="_VdDzoBE9EeGOffqMW1YiZA" name="appliedProfile" visibility="public" type="__pew8GvzEdq7X4sGURiZYA" subsettedProperty="_VY66iBE9EeGOffqMW1YiZA" association="_VS9cdBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VdDzoRE9EeGOffqMW1YiZA" annotatedElement="_VdDzoBE9EeGOffqMW1YiZA">
           <body>References the Profiles that are applied to a Package through this ProfileApplication.</body>
         </ownedComment>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g1rSdNwbEeCT5O2F6sGn5g" name="applyingPackage" visibility="public" type="_-cvRAGvzEdq7X4sGURiZYA" subsettedProperty="_g0HzQdwbEeCT5O2F6sGn5g _g0JodNwbEeCT5O2F6sGn5g" association="_gyteAdwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1rSddwbEeCT5O2F6sGn5g" annotatedElement="_g1rSdNwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VdDzohE9EeGOffqMW1YiZA" name="applyingPackage" visibility="public" type="_-cvRAGvzEdq7X4sGURiZYA" subsettedProperty="_N3hRMAtAEeGcpbeCPJfCmw _VY66hRE9EeGOffqMW1YiZA" association="_VUK9YBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VdDzoxE9EeGOffqMW1YiZA" annotatedElement="_VdDzohE9EeGOffqMW1YiZA">
           <body>The package that owns the profile application.</body>
         </ownedComment>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g1rSdtwbEeCT5O2F6sGn5g" name="isStrict" visibility="public">
-        <ownedComment xmi:id="_g1rSd9wbEeCT5O2F6sGn5g" annotatedElement="_g1rSdtwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VdDzpBE9EeGOffqMW1YiZA" name="isStrict" visibility="public">
+        <ownedComment xmi:id="_VdDzpRE9EeGOffqMW1YiZA" annotatedElement="_VdDzpBE9EeGOffqMW1YiZA">
           <body>Specifies that the Profile filtering rules for the metaclasses of the referenced metamodel shall be strictly applied.</body>
         </ownedComment>
         <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
-        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_g1rSeNwbEeCT5O2F6sGn5g"/>
+        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_VdDzphE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
       <ownedOperation xmi:id="_GXI1QW10EdqniMBnIUw7ig" name="getAppliedDefinition" isQuery="true">
         <ownedComment xmi:id="_ifO5QOwkEdqYHf-imTcTdw" annotatedElement="_GXI1QW10EdqniMBnIUw7ig">
@@ -11660,59 +11663,69 @@
       </ownedOperation>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="_Jp_1oGveEdq4DLWZOhbdEA" name="Property">
-      <ownedComment xmi:id="_g1rSedwbEeCT5O2F6sGn5g" annotatedElement="_Jp_1oGveEdq4DLWZOhbdEA">
+      <ownedComment xmi:id="_VdDzpxE9EeGOffqMW1YiZA" annotatedElement="_Jp_1oGveEdq4DLWZOhbdEA">
         <body>Property represents a declared state of one or more instances in terms of a named relationship to a value or values. When a property is an attribute of a classifier, the value or values are related to the instance of the classifier by being held in slots of the instance. When a property is an association end, the value or values are related to the instance or instances at the other end(s) of the association. The range of valid values represented by the property can be controlled by setting the property's type.</body>
       </ownedComment>
-      <ownedComment xmi:id="_g1rSetwbEeCT5O2F6sGn5g" annotatedElement="_Jp_1oGveEdq4DLWZOhbdEA">
-        <body>A property has the capability of being a deployment target in a deployment relationship. This enables modeling the deployment to hierarchical nodes that have properties functioning as internal parts.</body>
-      </ownedComment>
-      <ownedComment xmi:id="_g1r5gNwbEeCT5O2F6sGn5g" annotatedElement="_Jp_1oGveEdq4DLWZOhbdEA">
-        <body>Property specializes ParameterableElement to specify that a property can be exposed as a formal template parameter, and provided as an actual parameter in a binding of a template.</body>
-      </ownedComment>
-      <ownedComment xmi:id="_g1r5gdwbEeCT5O2F6sGn5g" annotatedElement="_Jp_1oGveEdq4DLWZOhbdEA">
-        <body>A property represents a set of instances that are owned by a containing classifier instance.</body>
-      </ownedComment>
-      <ownedComment xmi:id="_g1r5gtwbEeCT5O2F6sGn5g" annotatedElement="_Jp_1oGveEdq4DLWZOhbdEA">
+      <ownedComment xmi:id="_VdEasBE9EeGOffqMW1YiZA" annotatedElement="_Jp_1oGveEdq4DLWZOhbdEA">
         <body>A property is a structural feature of a classifier that characterizes instances of the classifier. A property related by ownedAttribute to a classifier (other than an association) represents an attribute and might also represent an association end. It relates an instance of the class to a value or set of values of the type of the attribute. A property related by memberEnd or its specializations to an association represents an end of the association. The type of the property is the type of the end of the association.</body>
       </ownedComment>
-      <ownedRule xmi:id="_g1r5g9wbEeCT5O2F6sGn5g" name="subsetting_context_conforms" constrainedElement="_Jp_1oGveEdq4DLWZOhbdEA">
-        <ownedComment xmi:id="_g1r5hNwbEeCT5O2F6sGn5g" annotatedElement="_g1r5g9wbEeCT5O2F6sGn5g">
-          <body>Subsetting may only occur when the context of the subsetting property conforms to the context of the subsetted property.</body>
+      <ownedComment xmi:id="_VdEasRE9EeGOffqMW1YiZA" annotatedElement="_Jp_1oGveEdq4DLWZOhbdEA">
+        <body>A property has the capability of being a deployment target in a deployment relationship. This enables modeling the deployment to hierarchical nodes that have properties functioning as internal parts.</body>
+      </ownedComment>
+      <ownedComment xmi:id="_VdEashE9EeGOffqMW1YiZA" annotatedElement="_Jp_1oGveEdq4DLWZOhbdEA">
+        <body>Property specializes ParameterableElement to specify that a property can be exposed as a formal template parameter, and provided as an actual parameter in a binding of a template.</body>
+      </ownedComment>
+      <ownedComment xmi:id="_VdEasxE9EeGOffqMW1YiZA" annotatedElement="_Jp_1oGveEdq4DLWZOhbdEA">
+        <body>A property represents a set of instances that are owned by a containing classifier instance.</body>
+      </ownedComment>
+      <ownedRule xmi:id="_VdEatBE9EeGOffqMW1YiZA" name="subsetted_property_names" constrainedElement="_Jp_1oGveEdq4DLWZOhbdEA">
+        <ownedComment xmi:id="_VdEatRE9EeGOffqMW1YiZA" annotatedElement="_VdEatBE9EeGOffqMW1YiZA">
+          <body>A property may not subset a property with the same name.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1r5hdwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VdEathE9EeGOffqMW1YiZA">
           <language>OCL</language>
-          <body>self.subsettedProperty->notEmpty() implies
-  (self.subsettingContext()->notEmpty() and self.subsettingContext()->forAll (sc |
-    self.subsettedProperty->forAll(sp |
-      sp.subsettingContext()->exists(c | sc.conformsTo(c)))))</body>
+          <body>true</body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_g1r5htwbEeCT5O2F6sGn5g" name="derived_union_is_read_only" constrainedElement="_Jp_1oGveEdq4DLWZOhbdEA">
-        <ownedComment xmi:id="_g1r5h9wbEeCT5O2F6sGn5g" annotatedElement="_g1r5htwbEeCT5O2F6sGn5g">
-          <body>A derived union is read only.</body>
+      <ownedRule xmi:id="_VdEatxE9EeGOffqMW1YiZA" name="subsetting_rules" constrainedElement="_Jp_1oGveEdq4DLWZOhbdEA">
+        <ownedComment xmi:id="_VdEauBE9EeGOffqMW1YiZA" annotatedElement="_VdEatxE9EeGOffqMW1YiZA">
+          <body>A subsetting property may strengthen the type of the subsetted property, and its upper bound may be less.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1r5iNwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VdEauRE9EeGOffqMW1YiZA">
           <language>OCL</language>
-          <body>isDerivedUnion implies isReadOnly</body>
+          <body>self.subsettedProperty->forAll(sp |
+  self.type.conformsTo(sp.type) and
+    ((self.upperBound()->notEmpty() and sp.upperBound()->notEmpty()) implies
+      self.upperBound()&lt;=sp.upperBound() ))</body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_g1r5idwbEeCT5O2F6sGn5g" name="multiplicity_of_composite" constrainedElement="_Jp_1oGveEdq4DLWZOhbdEA">
-        <ownedComment xmi:id="_g1r5itwbEeCT5O2F6sGn5g" annotatedElement="_g1r5idwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VdEauhE9EeGOffqMW1YiZA" name="multiplicity_of_composite" constrainedElement="_Jp_1oGveEdq4DLWZOhbdEA">
+        <ownedComment xmi:id="_VdEauxE9EeGOffqMW1YiZA" annotatedElement="_VdEauhE9EeGOffqMW1YiZA">
           <body>A multiplicity on an aggregate end of a composite aggregation must not have an upper bound greater than 1.</body>
         </ownedComment>
-        <ownedComment xmi:id="_g1r5i9wbEeCT5O2F6sGn5g" annotatedElement="_g1r5idwbEeCT5O2F6sGn5g">
+        <ownedComment xmi:id="_VdEavBE9EeGOffqMW1YiZA" annotatedElement="_VdEauhE9EeGOffqMW1YiZA">
           <body>A multiplicity of a composite aggregation must not have an upper bound greater than 1.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1r5jNwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VdEavRE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>isComposite implies (upperBound()->isEmpty() or upperBound() &lt;= 1)</body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_g1r5jdwbEeCT5O2F6sGn5g" name="redefined_property_inherited" constrainedElement="_Jp_1oGveEdq4DLWZOhbdEA">
-        <ownedComment xmi:id="_g1r5jtwbEeCT5O2F6sGn5g" annotatedElement="_g1r5jdwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VdEavhE9EeGOffqMW1YiZA" name="binding_to_attribute" constrainedElement="_Jp_1oGveEdq4DLWZOhbdEA">
+        <ownedComment xmi:id="_VdEavxE9EeGOffqMW1YiZA" annotatedElement="_VdEavhE9EeGOffqMW1YiZA">
+          <body>A binding of a property template parameter representing an attribute must be to an attribute.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VdEawBE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>(isAttribute(self) and (templateParameterSubstitution->notEmpty())
+  implies (templateParameterSubstitution->forAll(ts | isAttribute(ts.formal)))</body>
+        </specification>
+      </ownedRule>
+      <ownedRule xmi:id="_VdFBwBE9EeGOffqMW1YiZA" name="redefined_property_inherited" constrainedElement="_Jp_1oGveEdq4DLWZOhbdEA">
+        <ownedComment xmi:id="_VdFBwRE9EeGOffqMW1YiZA" annotatedElement="_VdFBwBE9EeGOffqMW1YiZA">
           <body>A redefined property must be inherited from a more general classifier containing the redefining property.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1r5j9wbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VdFBwhE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>if (redefinedProperty->notEmpty()) then
   (redefinitionContext->notEmpty() and
@@ -11721,186 +11734,179 @@
           fc.allParents()))->asSet())->collect(c| c.allFeatures())->asSet()->includes(rp))</body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_g1r5kNwbEeCT5O2F6sGn5g" name="subsetting_rules" constrainedElement="_Jp_1oGveEdq4DLWZOhbdEA">
-        <ownedComment xmi:id="_g1r5kdwbEeCT5O2F6sGn5g" annotatedElement="_g1r5kNwbEeCT5O2F6sGn5g">
-          <body>A subsetting property may strengthen the type of the subsetted property, and its upper bound may be less.</body>
+      <ownedRule xmi:id="_VdFBwxE9EeGOffqMW1YiZA" name="subsetting_context_conforms" constrainedElement="_Jp_1oGveEdq4DLWZOhbdEA">
+        <ownedComment xmi:id="_VdFBxBE9EeGOffqMW1YiZA" annotatedElement="_VdFBwxE9EeGOffqMW1YiZA">
+          <body>Subsetting may only occur when the context of the subsetting property conforms to the context of the subsetted property.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1r5ktwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VdFBxRE9EeGOffqMW1YiZA">
           <language>OCL</language>
-          <body>self.subsettedProperty->forAll(sp |
-  self.type.conformsTo(sp.type) and
-    ((self.upperBound()->notEmpty() and sp.upperBound()->notEmpty()) implies
-      self.upperBound()&lt;=sp.upperBound() ))</body>
+          <body>self.subsettedProperty->notEmpty() implies
+  (self.subsettingContext()->notEmpty() and self.subsettingContext()->forAll (sc |
+    self.subsettedProperty->forAll(sp |
+      sp.subsettingContext()->exists(c | sc.conformsTo(c)))))</body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_g1r5k9wbEeCT5O2F6sGn5g" name="binding_to_attribute" constrainedElement="_Jp_1oGveEdq4DLWZOhbdEA">
-        <ownedComment xmi:id="_g1r5lNwbEeCT5O2F6sGn5g" annotatedElement="_g1r5k9wbEeCT5O2F6sGn5g">
-          <body>A binding of a property template parameter representing an attribute must be to an attribute.</body>
+      <ownedRule xmi:id="_VdFBxhE9EeGOffqMW1YiZA" name="deployment_target" constrainedElement="_Jp_1oGveEdq4DLWZOhbdEA">
+        <ownedComment xmi:id="_VdFBxxE9EeGOffqMW1YiZA" annotatedElement="_VdFBxhE9EeGOffqMW1YiZA">
+          <body>A Property can be a DeploymentTarget if it is a kind of Node and functions as a part in the internal structure of an encompassing Node.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1r5ldwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VdFByBE9EeGOffqMW1YiZA">
           <language>OCL</language>
-          <body>(isAttribute(self) and (templateParameterSubstitution->notEmpty())
-  implies (templateParameterSubstitution->forAll(ts | isAttribute(ts.formal)))</body>
+          <body>true</body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_g1r5ltwbEeCT5O2F6sGn5g" name="derived_union_is_derived" constrainedElement="_Jp_1oGveEdq4DLWZOhbdEA">
-        <ownedComment xmi:id="_g1r5l9wbEeCT5O2F6sGn5g" annotatedElement="_g1r5ltwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VdFByRE9EeGOffqMW1YiZA" name="derived_union_is_derived" constrainedElement="_Jp_1oGveEdq4DLWZOhbdEA">
+        <ownedComment xmi:id="_VdFByhE9EeGOffqMW1YiZA" annotatedElement="_VdFByRE9EeGOffqMW1YiZA">
           <body>A derived union is derived.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1r5mNwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VdFByxE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>isDerivedUnion implies isDerived</body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_g1sgkNwbEeCT5O2F6sGn5g" name="deployment_target" constrainedElement="_Jp_1oGveEdq4DLWZOhbdEA">
-        <ownedComment xmi:id="_g1sgkdwbEeCT5O2F6sGn5g" annotatedElement="_g1sgkNwbEeCT5O2F6sGn5g">
-          <body>A Property can be a DeploymentTarget if it is a kind of Node and functions as a part in the internal structure of an encompassing Node.</body>
+      <ownedRule xmi:id="_VdFBzBE9EeGOffqMW1YiZA" name="derived_union_is_read_only" constrainedElement="_Jp_1oGveEdq4DLWZOhbdEA">
+        <ownedComment xmi:id="_VdFBzRE9EeGOffqMW1YiZA" annotatedElement="_VdFBzBE9EeGOffqMW1YiZA">
+          <body>A derived union is read only.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1sgktwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VdFBzhE9EeGOffqMW1YiZA">
           <language>OCL</language>
-          <body>true</body>
+          <body>isDerivedUnion implies isReadOnly</body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_g1sgk9wbEeCT5O2F6sGn5g" name="subsetted_property_names" constrainedElement="_Jp_1oGveEdq4DLWZOhbdEA">
-        <ownedComment xmi:id="_g1sglNwbEeCT5O2F6sGn5g" annotatedElement="_g1sgk9wbEeCT5O2F6sGn5g">
-          <body>A property may not subset a property with the same name.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1sgldwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>true</body>
-        </specification>
-      </ownedRule>
-      <generalization xmi:id="_g1sgltwbEeCT5O2F6sGn5g" general="_0dB44PnhEdunWsS3se92JQ"/>
-      <generalization xmi:id="_g1sgl9wbEeCT5O2F6sGn5g" general="_PkmfgLLXEeCsYvaJqFFivQ"/>
-      <generalization xmi:id="_g1sgmNwbEeCT5O2F6sGn5g" general="_g2HXUNwbEeCT5O2F6sGn5g"/>
-      <ownedAttribute xmi:id="_g1sgmdwbEeCT5O2F6sGn5g" name="aggregation" visibility="public" type="_B3q9cGwNEdq7X4sGURiZYA">
-        <ownedComment xmi:id="_g1sgmtwbEeCT5O2F6sGn5g" annotatedElement="_g1sgmdwbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_VdFBzxE9EeGOffqMW1YiZA" general="_Vef-EBE9EeGOffqMW1YiZA"/>
+      <generalization xmi:id="_VdFB0BE9EeGOffqMW1YiZA" general="_0dB44PnhEdunWsS3se92JQ"/>
+      <generalization xmi:id="_VdFo0BE9EeGOffqMW1YiZA" general="_PkmfgLLXEeCsYvaJqFFivQ"/>
+      <ownedAttribute xmi:id="_VdFo0RE9EeGOffqMW1YiZA" name="aggregation" visibility="public" type="_B3q9cGwNEdq7X4sGURiZYA">
+        <ownedComment xmi:id="_VdFo0hE9EeGOffqMW1YiZA" annotatedElement="_VdFo0RE9EeGOffqMW1YiZA">
           <body>Specifies the kind of aggregation that applies to the Property.</body>
         </ownedComment>
-        <defaultValue xmi:type="uml:InstanceValue" xmi:id="_g1sgm9wbEeCT5O2F6sGn5g" type="_B3q9cGwNEdq7X4sGURiZYA" instance="_g2cHcdwbEeCT5O2F6sGn5g"/>
+        <defaultValue xmi:type="uml:InstanceValue" xmi:id="_VdFo0xE9EeGOffqMW1YiZA" type="_B3q9cGwNEdq7X4sGURiZYA" instance="_VfL6kBE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g1sgnNwbEeCT5O2F6sGn5g" name="association" visibility="public" type="_AwvxoGwNEdq7X4sGURiZYA" subsettedProperty="_gyjF9NwbEeCT5O2F6sGn5g" association="_gyjF8twbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1sgndwbEeCT5O2F6sGn5g" annotatedElement="_g1sgnNwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VdFo1BE9EeGOffqMW1YiZA" name="association" visibility="public" type="_AwvxoGwNEdq7X4sGURiZYA" subsettedProperty="_VTwttRE9EeGOffqMW1YiZA" association="_VTwtsxE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VdFo1RE9EeGOffqMW1YiZA" annotatedElement="_VdFo1BE9EeGOffqMW1YiZA">
           <body>References the association of which this property is a member, if any.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1sgntwbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VdFo1hE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g1sgn9wbEeCT5O2F6sGn5g" name="associationEnd" visibility="public" type="_Jp_1oGveEdq4DLWZOhbdEA" subsettedProperty="_g0JodNwbEeCT5O2F6sGn5g" association="_gyuFGNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1sgoNwbEeCT5O2F6sGn5g" annotatedElement="_g1sgn9wbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VdFo1xE9EeGOffqMW1YiZA" name="associationEnd" visibility="public" type="_Jp_1oGveEdq4DLWZOhbdEA" subsettedProperty="_N3hRMAtAEeGcpbeCPJfCmw" association="_VUMLhBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VdFo2BE9EeGOffqMW1YiZA" annotatedElement="_VdFo1xE9EeGOffqMW1YiZA">
           <body>Designates the optional association end that owns a qualifier attribute.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1sgodwbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VdFo2RE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_Ef_yMLa_EeCRxrN1JUGuxA" name="class" visibility="public" type="_00owUGvdEdq4DLWZOhbdEA" subsettedProperty="_1vzv0LbIEeCRxrN1JUGuxA _gyolhdwbEeCT5O2F6sGn5g _gySnUNwbEeCT5O2F6sGn5g _YUdlwLbAEeCRxrN1JUGuxA _zYrE4La-EeCRxrN1JUGuxA" association="_gyn-fdwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1sgo9wbEeCT5O2F6sGn5g" annotatedElement="_Ef_yMLa_EeCRxrN1JUGuxA">
+      <ownedAttribute xmi:id="_Ef_yMLa_EeCRxrN1JUGuxA" name="class" visibility="public" type="_00owUGvdEdq4DLWZOhbdEA" subsettedProperty="_VS-qlBE9EeGOffqMW1YiZA _VT_XNRE9EeGOffqMW1YiZA _1vzv0LbIEeCRxrN1JUGuxA _YUdlwLbAEeCRxrN1JUGuxA _zYrE4La-EeCRxrN1JUGuxA" association="_VT-wIxE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VdFo2hE9EeGOffqMW1YiZA" annotatedElement="_Ef_yMLa_EeCRxrN1JUGuxA">
           <body>References the Class that owns the Property.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1sgpNwbEeCT5O2F6sGn5g"/>
+        <ownedComment xmi:id="_VdFo2xE9EeGOffqMW1YiZA" annotatedElement="_Ef_yMLa_EeCRxrN1JUGuxA">
+          <body>References the Class that owns the Property.</body>
+        </ownedComment>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VdFo3BE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_06bWELa_EeCRxrN1JUGuxA" name="datatype" visibility="public" type="__1ap4HLzEdqziYxiZo0YtA" subsettedProperty="_1vzv0LbIEeCRxrN1JUGuxA _gySnUNwbEeCT5O2F6sGn5g _YUdlwLbAEeCRxrN1JUGuxA _zYrE4La-EeCRxrN1JUGuxA" association="_gyn-ftwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1tHoNwbEeCT5O2F6sGn5g" annotatedElement="_06bWELa_EeCRxrN1JUGuxA">
+      <ownedAttribute xmi:id="_06bWELa_EeCRxrN1JUGuxA" name="datatype" visibility="public" type="__1ap4HLzEdqziYxiZo0YtA" subsettedProperty="_VS-qlBE9EeGOffqMW1YiZA _1vzv0LbIEeCRxrN1JUGuxA _YUdlwLbAEeCRxrN1JUGuxA _zYrE4La-EeCRxrN1JUGuxA" association="_VT-wJBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VdGP4BE9EeGOffqMW1YiZA" annotatedElement="_06bWELa_EeCRxrN1JUGuxA">
           <body>The DataType that owns this Property.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1tHodwbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VdGP4RE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
       <ownedAttribute xmi:id="_L_JWELG2EeCDe8CO90iVKQ" name="default" visibility="public" isDerived="true">
-        <ownedComment xmi:id="_g1tHotwbEeCT5O2F6sGn5g" annotatedElement="_L_JWELG2EeCDe8CO90iVKQ">
-          <body>A String that is evaluated to give a default value for the Property when an object of the owning Classifier is instantiated.</body>
-        </ownedComment>
-        <ownedComment xmi:id="_g1tHo9wbEeCT5O2F6sGn5g" annotatedElement="_L_JWELG2EeCDe8CO90iVKQ">
+        <ownedComment xmi:id="_VdGP4hE9EeGOffqMW1YiZA" annotatedElement="_L_JWELG2EeCDe8CO90iVKQ">
           <body>Specifies a String that represents a value to be used when no argument is supplied for the Property.</body>
         </ownedComment>
+        <ownedComment xmi:id="_VdGP4xE9EeGOffqMW1YiZA" annotatedElement="_L_JWELG2EeCDe8CO90iVKQ">
+          <body>A String that is evaluated to give a default value for the Property when an object of the owning Classifier is instantiated.</body>
+        </ownedComment>
         <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1tHpNwbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VdGP5BE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g1tHpdwbEeCT5O2F6sGn5g" name="defaultValue" visibility="public" type="_g2YdENwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_g0JocNwbEeCT5O2F6sGn5g" association="_gyYG19wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1tHptwbEeCT5O2F6sGn5g" annotatedElement="_g1tHpdwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VdG28BE9EeGOffqMW1YiZA" name="defaultValue" visibility="public" type="_VfGbABE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_GDD2YAtAEeGcpbeCPJfCmw" association="_VTNUEBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VdG28RE9EeGOffqMW1YiZA" annotatedElement="_VdG28BE9EeGOffqMW1YiZA">
           <body>A ValueSpecification that is evaluated to give a default value for the Property when an object of the owning Classifier is instantiated.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1tHp9wbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VdG28hE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_68HLsLa_EeCRxrN1JUGuxA" name="interface" visibility="public" type="_8Ugn8GvtEdqG6fBIPwe-mw" subsettedProperty="_1vzv0LbIEeCRxrN1JUGuxA _gySnUNwbEeCT5O2F6sGn5g _YUdlwLbAEeCRxrN1JUGuxA _zYrE4La-EeCRxrN1JUGuxA" association="_gyn-f9wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1tHqNwbEeCT5O2F6sGn5g" annotatedElement="_68HLsLa_EeCRxrN1JUGuxA">
+      <ownedAttribute xmi:id="_68HLsLa_EeCRxrN1JUGuxA" name="interface" visibility="public" type="_8Ugn8GvtEdqG6fBIPwe-mw" subsettedProperty="_VS-qlBE9EeGOffqMW1YiZA _1vzv0LbIEeCRxrN1JUGuxA _YUdlwLbAEeCRxrN1JUGuxA _zYrE4La-EeCRxrN1JUGuxA" association="_VT-wJRE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VdG28xE9EeGOffqMW1YiZA" annotatedElement="_68HLsLa_EeCRxrN1JUGuxA">
           <body>References the Interface that owns the Property</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1tHqdwbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VdG29BE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g1tusNwbEeCT5O2F6sGn5g" name="isComposite" visibility="public" isDerived="true">
-        <ownedComment xmi:id="_g1tusdwbEeCT5O2F6sGn5g" annotatedElement="_g1tusNwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VdG29RE9EeGOffqMW1YiZA" name="isComposite" visibility="public" isDerived="true">
+        <ownedComment xmi:id="_VdG29hE9EeGOffqMW1YiZA" annotatedElement="_VdG29RE9EeGOffqMW1YiZA">
           <body>If isComposite is true, the object containing the attribute is a container for the object or value contained in the attribute.</body>
         </ownedComment>
-        <ownedComment xmi:id="_g1tustwbEeCT5O2F6sGn5g" annotatedElement="_g1tusNwbEeCT5O2F6sGn5g">
+        <ownedComment xmi:id="_VdG29xE9EeGOffqMW1YiZA" annotatedElement="_VdG29RE9EeGOffqMW1YiZA">
           <body>This is a derived value, indicating whether the aggregation of the Property is composite or not.</body>
         </ownedComment>
         <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
-        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_g1tus9wbEeCT5O2F6sGn5g"/>
+        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_VdG2-BE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g1tutNwbEeCT5O2F6sGn5g" name="isDerived" visibility="public">
-        <ownedComment xmi:id="_g1tutdwbEeCT5O2F6sGn5g" annotatedElement="_g1tutNwbEeCT5O2F6sGn5g">
-          <body>Specifies whether the Property is derived, i.e., whether its value or values can be computed from other information.</body>
-        </ownedComment>
-        <ownedComment xmi:id="_g1tuttwbEeCT5O2F6sGn5g" annotatedElement="_g1tutNwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VdG2-RE9EeGOffqMW1YiZA" name="isDerived" visibility="public">
+        <ownedComment xmi:id="_VdG2-hE9EeGOffqMW1YiZA" annotatedElement="_VdG2-RE9EeGOffqMW1YiZA">
           <body>If isDerived is true, the value of the attribute is derived from information elsewhere.</body>
         </ownedComment>
+        <ownedComment xmi:id="_VdG2-xE9EeGOffqMW1YiZA" annotatedElement="_VdG2-RE9EeGOffqMW1YiZA">
+          <body>Specifies whether the Property is derived, i.e., whether its value or values can be computed from other information.</body>
+        </ownedComment>
         <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
-        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_g1tut9wbEeCT5O2F6sGn5g"/>
+        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_VdG2_BE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g1tuuNwbEeCT5O2F6sGn5g" name="isDerivedUnion" visibility="public">
-        <ownedComment xmi:id="_g1tuudwbEeCT5O2F6sGn5g" annotatedElement="_g1tuuNwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VdHeABE9EeGOffqMW1YiZA" name="isDerivedUnion" visibility="public">
+        <ownedComment xmi:id="_VdHeARE9EeGOffqMW1YiZA" annotatedElement="_VdHeABE9EeGOffqMW1YiZA">
           <body>Specifies whether the property is derived as the union of all of the properties that are constrained to subset it.</body>
         </ownedComment>
         <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
-        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_g1tuutwbEeCT5O2F6sGn5g"/>
+        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_VdHeAhE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g1tuu9wbEeCT5O2F6sGn5g" name="isID" visibility="public">
-        <ownedComment xmi:id="_g1tuvNwbEeCT5O2F6sGn5g" annotatedElement="_g1tuu9wbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VdHeAxE9EeGOffqMW1YiZA" name="isID" visibility="public">
+        <ownedComment xmi:id="_VdHeBBE9EeGOffqMW1YiZA" annotatedElement="_VdHeAxE9EeGOffqMW1YiZA">
           <body>True indicates this property can be used to uniquely identify an instance of the containing Class.</body>
         </ownedComment>
         <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
-        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_g1tuvdwbEeCT5O2F6sGn5g"/>
+        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_VdHeBRE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g1tuvtwbEeCT5O2F6sGn5g" name="isReadOnly" visibility="public" redefinedProperty="_g2HXVtwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1tuv9wbEeCT5O2F6sGn5g" annotatedElement="_g1tuvtwbEeCT5O2F6sGn5g">
-          <body>If isReadOnly is true, the attribute may not be written to after initialization.</body>
-        </ownedComment>
-        <ownedComment xmi:id="_g1tuwNwbEeCT5O2F6sGn5g" annotatedElement="_g1tuvtwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VdHeBhE9EeGOffqMW1YiZA" name="isReadOnly" visibility="public" redefinedProperty="_Vef-FhE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VdHeBxE9EeGOffqMW1YiZA" annotatedElement="_VdHeBhE9EeGOffqMW1YiZA">
           <body>If true, the attribute may only be read, and not written.</body>
         </ownedComment>
+        <ownedComment xmi:id="_VdHeCBE9EeGOffqMW1YiZA" annotatedElement="_VdHeBhE9EeGOffqMW1YiZA">
+          <body>If isReadOnly is true, the attribute may not be written to after initialization.</body>
+        </ownedComment>
         <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
-        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_g1tuwdwbEeCT5O2F6sGn5g"/>
+        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_VdHeCRE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g1tuwtwbEeCT5O2F6sGn5g" name="opposite" visibility="public" type="_Jp_1oGveEdq4DLWZOhbdEA" isDerived="true" association="_gynXadwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1tuw9wbEeCT5O2F6sGn5g" annotatedElement="_g1tuwtwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VdHeChE9EeGOffqMW1YiZA" name="opposite" visibility="public" type="_Jp_1oGveEdq4DLWZOhbdEA" isDerived="true" association="_VT9iABE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VdHeCxE9EeGOffqMW1YiZA" annotatedElement="_VdHeChE9EeGOffqMW1YiZA">
           <body>In the case where the property is one navigable end of a binary association with both ends navigable, this gives the other end.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1tuxNwbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VdHeDBE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g1tuxdwbEeCT5O2F6sGn5g" name="owningAssociation" visibility="public" type="_AwvxoGwNEdq7X4sGURiZYA" subsettedProperty="_YUdlwLbAEeCRxrN1JUGuxA _1vzv0LbIEeCRxrN1JUGuxA _g1sgnNwbEeCT5O2F6sGn5g _zYrE4La-EeCRxrN1JUGuxA" association="_gypMl9wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1tuxtwbEeCT5O2F6sGn5g" annotatedElement="_g1tuxdwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VdHeDRE9EeGOffqMW1YiZA" name="owningAssociation" visibility="public" type="_AwvxoGwNEdq7X4sGURiZYA" subsettedProperty="_YUdlwLbAEeCRxrN1JUGuxA _zYrE4La-EeCRxrN1JUGuxA _1vzv0LbIEeCRxrN1JUGuxA _VdFo1BE9EeGOffqMW1YiZA" association="_VUAlVhE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VdHeDhE9EeGOffqMW1YiZA" annotatedElement="_VdHeDRE9EeGOffqMW1YiZA">
           <body>References the owning association of this property, if any.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1tux9wbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VdHeDxE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g1tuyNwbEeCT5O2F6sGn5g" name="qualifier" visibility="public" type="_Jp_1oGveEdq4DLWZOhbdEA" isOrdered="true" aggregation="composite" subsettedProperty="_g0JocNwbEeCT5O2F6sGn5g" association="_gyuFGNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1tuydwbEeCT5O2F6sGn5g" annotatedElement="_g1tuyNwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VdHeEBE9EeGOffqMW1YiZA" name="qualifier" visibility="public" type="_Jp_1oGveEdq4DLWZOhbdEA" isOrdered="true" aggregation="composite" subsettedProperty="_GDD2YAtAEeGcpbeCPJfCmw" association="_VUMLhBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VdHeERE9EeGOffqMW1YiZA" annotatedElement="_VdHeEBE9EeGOffqMW1YiZA">
           <body>An optional list of ordered qualifier attributes for the end. If the list is empty, then the Association is not qualified.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1tuytwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g1tuy9wbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VdHeEhE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VdHeExE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g1uVwNwbEeCT5O2F6sGn5g" name="redefinedProperty" visibility="public" type="_Jp_1oGveEdq4DLWZOhbdEA" subsettedProperty="_g15U7twbEeCT5O2F6sGn5g" association="_gyxIZNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1uVwdwbEeCT5O2F6sGn5g" annotatedElement="_g1uVwNwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VdIFEBE9EeGOffqMW1YiZA" name="redefinedProperty" visibility="public" type="_Jp_1oGveEdq4DLWZOhbdEA" subsettedProperty="_VdtT4BE9EeGOffqMW1YiZA" association="_VUV8gBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VdIFERE9EeGOffqMW1YiZA" annotatedElement="_VdIFEBE9EeGOffqMW1YiZA">
           <body>References the properties that are redefined by this property.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1uVwtwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g1uVw9wbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VdIFEhE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VdIFExE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g1uVxNwbEeCT5O2F6sGn5g" name="subsettedProperty" visibility="public" type="_Jp_1oGveEdq4DLWZOhbdEA" association="_gy7gddwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1uVxdwbEeCT5O2F6sGn5g" annotatedElement="_g1uVxNwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VdIFFBE9EeGOffqMW1YiZA" name="subsettedProperty" visibility="public" type="_Jp_1oGveEdq4DLWZOhbdEA" association="_VUnpVBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VdIFFRE9EeGOffqMW1YiZA" annotatedElement="_VdIFFBE9EeGOffqMW1YiZA">
           <body>References the properties of which this property is constrained to be a subset.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1uVxtwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g1uVx9wbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VdIFFhE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VdIFFxE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
       <ownedOperation xmi:id="_bAUx8K6-EdqjppZik4kD8A" name="getOtherEnd">
         <ownedComment xmi:id="__u7VUOweEdqYHf-imTcTdw" annotatedElement="_bAUx8K6-EdqjppZik4kD8A">
@@ -12001,78 +12007,81 @@
         </ownedParameter>
       </ownedOperation>
       <ownedOperation xmi:id="_kGtosGXCEdqEJs8umHJc9g" name="unsetDefault" visibility="protected"/>
-      <ownedOperation xmi:id="_oLamMFYJEdqrn7iZ0eqieg" name="default" visibility="public" bodyCondition="_g1uVydwbEeCT5O2F6sGn5g" isQuery="true">
-        <ownedComment xmi:id="_g1uVyNwbEeCT5O2F6sGn5g" annotatedElement="_oLamMFYJEdqrn7iZ0eqieg">
+      <ownedOperation xmi:id="_oLamMFYJEdqrn7iZ0eqieg" name="default" visibility="public" bodyCondition="_VdIFGRE9EeGOffqMW1YiZA" isQuery="true">
+        <ownedComment xmi:id="_VdIFGBE9EeGOffqMW1YiZA" annotatedElement="_oLamMFYJEdqrn7iZ0eqieg">
           <body>Missing derivation for Property::/default : String</body>
         </ownedComment>
-        <ownedRule xmi:id="_g1uVydwbEeCT5O2F6sGn5g" name="spec" constrainedElement="_oLamMFYJEdqrn7iZ0eqieg _L_JWELG2EeCDe8CO90iVKQ">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1uVytwbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VdIFGRE9EeGOffqMW1YiZA" name="spec" constrainedElement="_oLamMFYJEdqrn7iZ0eqieg _L_JWELG2EeCDe8CO90iVKQ">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VdIFGhE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>true</body>
           </specification>
         </ownedRule>
         <ownedParameter xmi:id="_vkrSwFYJEdqrn7iZ0eqieg" name="result" visibility="public" direction="return">
           <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1uVy9wbEeCT5O2F6sGn5g"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VdIFGxE9EeGOffqMW1YiZA"/>
           <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_uJsjsVYjEdqB6vblk3tuMA" value="1"/>
         </ownedParameter>
       </ownedOperation>
-      <ownedOperation xmi:id="_g1u80NwbEeCT5O2F6sGn5g" name="isAttribute" visibility="public" bodyCondition="_g1u80twbEeCT5O2F6sGn5g" isQuery="true">
-        <ownedComment xmi:id="_g1u80dwbEeCT5O2F6sGn5g" annotatedElement="_g1u80NwbEeCT5O2F6sGn5g">
+      <ownedOperation xmi:id="_VdIsIBE9EeGOffqMW1YiZA" name="isAttribute" visibility="public" bodyCondition="_VdIsIhE9EeGOffqMW1YiZA" isQuery="true">
+        <ownedComment xmi:id="_VdIsIRE9EeGOffqMW1YiZA" annotatedElement="_VdIsIBE9EeGOffqMW1YiZA">
           <body>The query isAttribute() is true if the Property is defined as an attribute of some classifier.</body>
         </ownedComment>
-        <ownedRule xmi:id="_g1u80twbEeCT5O2F6sGn5g" name="spec" constrainedElement="_g1u80NwbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1u809wbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VdIsIhE9EeGOffqMW1YiZA" name="spec" constrainedElement="_VdIsIBE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VdIsIxE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = Classifier.allInstances->exists(c | c.attribute->includes(p))</body>
           </specification>
         </ownedRule>
-        <ownedParameter xmi:id="_g1u81NwbEeCT5O2F6sGn5g" name="result" visibility="public" direction="return">
+        <ownedParameter xmi:id="_VdIsJBE9EeGOffqMW1YiZA" name="result" visibility="public" direction="return">
           <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
         </ownedParameter>
-        <ownedParameter xmi:id="_g1u81dwbEeCT5O2F6sGn5g" name="p" visibility="public" type="_Jp_1oGveEdq4DLWZOhbdEA"/>
+        <ownedParameter xmi:id="_VdIsJRE9EeGOffqMW1YiZA" name="p" visibility="public" type="_Jp_1oGveEdq4DLWZOhbdEA"/>
       </ownedOperation>
-      <ownedOperation xmi:id="_g1u81twbEeCT5O2F6sGn5g" name="isCompatibleWith" visibility="public" bodyCondition="_g1u82NwbEeCT5O2F6sGn5g" isQuery="true" redefinedOperation="_g1noGdwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1u819wbEeCT5O2F6sGn5g" annotatedElement="_g1u81twbEeCT5O2F6sGn5g">
+      <ownedOperation xmi:id="_VdJTMBE9EeGOffqMW1YiZA" name="isCompatibleWith" visibility="public" bodyCondition="_VdJTMhE9EeGOffqMW1YiZA" isQuery="true" redefinedOperation="_Vc732RE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VdJTMRE9EeGOffqMW1YiZA" annotatedElement="_VdJTMBE9EeGOffqMW1YiZA">
           <body>The query isCompatibleWith() determines if this parameterable element is compatible with the specified parameterable element. By default parameterable element P is compatible with parameterable element Q if the kind of P is the same or a subtype as the kind of Q. In addition, for properties, the type must be conformant with the type of the specified parameterable element.</body>
         </ownedComment>
-        <ownedRule xmi:id="_g1u82NwbEeCT5O2F6sGn5g" name="spec" constrainedElement="_g1u81twbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1u82dwbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VdJTMhE9EeGOffqMW1YiZA" name="spec" constrainedElement="_VdJTMBE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VdJTMxE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = p->oclIsKindOf(self.oclType) and self.type.conformsTo(p.oclAsType(TypedElement).type)</body>
           </specification>
         </ownedRule>
-        <ownedParameter xmi:id="_g1u82twbEeCT5O2F6sGn5g" name="result" visibility="public" direction="return">
+        <ownedParameter xmi:id="_VdJTNBE9EeGOffqMW1YiZA" name="result" visibility="public" direction="return">
           <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
         </ownedParameter>
-        <ownedParameter xmi:id="_g1u829wbEeCT5O2F6sGn5g" name="p" visibility="public" type="_g1noENwbEeCT5O2F6sGn5g"/>
+        <ownedParameter xmi:id="_VdJTNRE9EeGOffqMW1YiZA" name="p" visibility="public" type="_Vc730BE9EeGOffqMW1YiZA"/>
       </ownedOperation>
-      <ownedOperation xmi:id="_g1u83NwbEeCT5O2F6sGn5g" name="isComposite" visibility="public" bodyCondition="_g1u83twbEeCT5O2F6sGn5g" isQuery="true">
-        <ownedComment xmi:id="_g1u83dwbEeCT5O2F6sGn5g" annotatedElement="_g1u83NwbEeCT5O2F6sGn5g">
+      <ownedOperation xmi:id="_VdJTNhE9EeGOffqMW1YiZA" name="isComposite" visibility="public" bodyCondition="_VdJTOBE9EeGOffqMW1YiZA" isQuery="true">
+        <ownedComment xmi:id="_VdJTNxE9EeGOffqMW1YiZA" annotatedElement="_VdJTNhE9EeGOffqMW1YiZA">
           <body>The value of isComposite is true only if aggregation is composite.</body>
         </ownedComment>
-        <ownedRule xmi:id="_g1u83twbEeCT5O2F6sGn5g" name="spec" constrainedElement="_g1u83NwbEeCT5O2F6sGn5g _g1tusNwbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1u839wbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VdJTOBE9EeGOffqMW1YiZA" name="spec" constrainedElement="_VdJTNhE9EeGOffqMW1YiZA _VdG29RE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VdJTORE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = (self.aggregation = #composite)</body>
           </specification>
         </ownedRule>
-        <ownedParameter xmi:id="_g1u84NwbEeCT5O2F6sGn5g" name="result" visibility="public" direction="return">
+        <ownedParameter xmi:id="_VdJTOhE9EeGOffqMW1YiZA" name="result" visibility="public" direction="return">
           <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
         </ownedParameter>
       </ownedOperation>
-      <ownedOperation xmi:id="_g1u84dwbEeCT5O2F6sGn5g" name="isConsistentWith" visibility="public" bodyCondition="_g1u85twbEeCT5O2F6sGn5g" isQuery="true" precondition="_g1u85NwbEeCT5O2F6sGn5g" redefinedOperation="_g1578NwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1u849wbEeCT5O2F6sGn5g" annotatedElement="_g1u84dwbEeCT5O2F6sGn5g">
+      <ownedOperation xmi:id="_VdJTOxE9EeGOffqMW1YiZA" name="isConsistentWith" visibility="public" bodyCondition="_VdJTQBE9EeGOffqMW1YiZA" isQuery="true" precondition="_VdJTPhE9EeGOffqMW1YiZA" redefinedOperation="_Vd1PsBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VdJTPBE9EeGOffqMW1YiZA" annotatedElement="_VdJTOxE9EeGOffqMW1YiZA">
+          <body>The query isConsistentWith() specifies, for any two Properties in a context in which redefinition is possible, whether redefinition would be logically consistent. A redefining property is consistent with a redefined property if the type of the redefining property conforms to the type of the redefined property, the multiplicity of the redefining property (if specified) is contained in the multiplicity of the redefined property.</body>
+        </ownedComment>
+        <ownedComment xmi:id="_VdJTPRE9EeGOffqMW1YiZA" annotatedElement="_VdJTOxE9EeGOffqMW1YiZA">
           <body>The query isConsistentWith() specifies, for any two Properties in a context in which redefinition is possible, whether redefinition would be logically consistent. A redefining property is consistent with a redefined property if the type of the redefining property conforms to the type of the redefined property, and the multiplicity of the redefining property (if specified) is contained in the multiplicity of the redefined property.</body>
         </ownedComment>
-        <ownedRule xmi:id="_g1u85NwbEeCT5O2F6sGn5g" name="pre" constrainedElement="_g1u84dwbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1u85dwbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VdJTPhE9EeGOffqMW1YiZA" name="pre" constrainedElement="_VdJTOxE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VdJTPxE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>redefinee.isRedefinitionContextValid(self)</body>
           </specification>
         </ownedRule>
-        <ownedRule xmi:id="_g1u85twbEeCT5O2F6sGn5g" name="spec" constrainedElement="_g1u84dwbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1u859wbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VdJTQBE9EeGOffqMW1YiZA" name="spec" constrainedElement="_VdJTOxE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VdJTQRE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = redefinee.oclIsKindOf(Property) and 
   let prop : Property = redefinee.oclAsType(Property) in 
@@ -12082,31 +12091,31 @@
   (self.isComposite implies prop.isComposite))</body>
           </specification>
         </ownedRule>
-        <ownedParameter xmi:id="_g1u86NwbEeCT5O2F6sGn5g" name="result" visibility="public" direction="return">
+        <ownedParameter xmi:id="_VdJTQhE9EeGOffqMW1YiZA" name="result" visibility="public" direction="return">
           <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
         </ownedParameter>
-        <ownedParameter xmi:id="_g1u86dwbEeCT5O2F6sGn5g" name="redefinee" visibility="public" type="_uCRA4La-EeCRxrN1JUGuxA"/>
+        <ownedParameter xmi:id="_VdJTQxE9EeGOffqMW1YiZA" name="redefinee" visibility="public" type="_uCRA4La-EeCRxrN1JUGuxA"/>
       </ownedOperation>
-      <ownedOperation xmi:id="_g1u86twbEeCT5O2F6sGn5g" name="isNavigable" visibility="public" bodyCondition="_g1u87NwbEeCT5O2F6sGn5g" isQuery="true">
-        <ownedComment xmi:id="_g1u869wbEeCT5O2F6sGn5g" annotatedElement="_g1u86twbEeCT5O2F6sGn5g">
+      <ownedOperation xmi:id="_VdJTRBE9EeGOffqMW1YiZA" name="isNavigable" visibility="public" bodyCondition="_VdJ6QRE9EeGOffqMW1YiZA" isQuery="true">
+        <ownedComment xmi:id="_VdJ6QBE9EeGOffqMW1YiZA" annotatedElement="_VdJTRBE9EeGOffqMW1YiZA">
           <body>The query isNavigable() indicates whether it is possible to navigate across the property.</body>
         </ownedComment>
-        <ownedRule xmi:id="_g1u87NwbEeCT5O2F6sGn5g" name="spec" constrainedElement="_g1u86twbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1vj4NwbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VdJ6QRE9EeGOffqMW1YiZA" name="spec" constrainedElement="_VdJTRBE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VdJ6QhE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = not classifier->isEmpty() or association.owningAssociation.navigableOwnedEnd->includes(self)</body>
           </specification>
         </ownedRule>
-        <ownedParameter xmi:id="_g1vj4dwbEeCT5O2F6sGn5g" name="result" visibility="public" direction="return">
+        <ownedParameter xmi:id="_VdJ6QxE9EeGOffqMW1YiZA" name="result" visibility="public" direction="return">
           <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
         </ownedParameter>
       </ownedOperation>
-      <ownedOperation xmi:id="_meukALL6EeCBifIhhuFqZA" name="opposite" visibility="public" bodyCondition="_g1vj49wbEeCT5O2F6sGn5g" isQuery="true">
-        <ownedComment xmi:id="_g1vj4twbEeCT5O2F6sGn5g" annotatedElement="_meukALL6EeCBifIhhuFqZA">
+      <ownedOperation xmi:id="_meukALL6EeCBifIhhuFqZA" name="opposite" visibility="public" bodyCondition="_VdQn8RE9EeGOffqMW1YiZA" isQuery="true">
+        <ownedComment xmi:id="_VdQn8BE9EeGOffqMW1YiZA" annotatedElement="_meukALL6EeCBifIhhuFqZA">
           <body>If this property is owned by a class, associated with a binary association, and the other end of the association is also owned by a class, then opposite gives the other end.</body>
         </ownedComment>
-        <ownedRule xmi:id="_g1vj49wbEeCT5O2F6sGn5g" name="spec" constrainedElement="_meukALL6EeCBifIhhuFqZA _g1tuwtwbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1vj5NwbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VdQn8RE9EeGOffqMW1YiZA" name="spec" constrainedElement="_meukALL6EeCBifIhhuFqZA _VdHeChE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VdQn8hE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = if owningAssociation->isEmpty() and association.memberEnd->size() = 2
   then
@@ -12120,12 +12129,12 @@
           <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_s9sLgbL6EeCBifIhhuFqZA"/>
         </ownedParameter>
       </ownedOperation>
-      <ownedOperation xmi:id="_g1vj5dwbEeCT5O2F6sGn5g" name="subsettingContext" visibility="public" bodyCondition="_g1vj59wbEeCT5O2F6sGn5g" isQuery="true">
-        <ownedComment xmi:id="_g1vj5twbEeCT5O2F6sGn5g" annotatedElement="_g1vj5dwbEeCT5O2F6sGn5g">
+      <ownedOperation xmi:id="_VdRPABE9EeGOffqMW1YiZA" name="subsettingContext" visibility="public" bodyCondition="_VdRPAhE9EeGOffqMW1YiZA" isQuery="true">
+        <ownedComment xmi:id="_VdRPARE9EeGOffqMW1YiZA" annotatedElement="_VdRPABE9EeGOffqMW1YiZA">
           <body>The query subsettingContext() gives the context for subsetting a property. It consists, in the case of an attribute, of the corresponding classifier, and in the case of an association end, all of the classifiers at the other ends.</body>
         </ownedComment>
-        <ownedRule xmi:id="_g1vj59wbEeCT5O2F6sGn5g" name="spec" constrainedElement="_g1vj5dwbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1vj6NwbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VdRPAhE9EeGOffqMW1YiZA" name="spec" constrainedElement="_VdRPABE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VdRPAxE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = if association->notEmpty()
 then association.endType-type
@@ -12133,438 +12142,438 @@
 endif</body>
           </specification>
         </ownedRule>
-        <ownedParameter xmi:id="_g1vj6dwbEeCT5O2F6sGn5g" name="result" visibility="public" type="_ynRtoGvtEdqG6fBIPwe-mw" direction="return">
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1vj6twbEeCT5O2F6sGn5g"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g1vj69wbEeCT5O2F6sGn5g" value="*"/>
+        <ownedParameter xmi:id="_VdRPBBE9EeGOffqMW1YiZA" name="result" visibility="public" type="_ynRtoGvtEdqG6fBIPwe-mw" direction="return">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VdRPBRE9EeGOffqMW1YiZA"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VdRPBhE9EeGOffqMW1YiZA" value="*"/>
         </ownedParameter>
       </ownedOperation>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g1wyANwbEeCT5O2F6sGn5g" name="ProtocolConformance">
-      <ownedComment xmi:id="_g1wyAdwbEeCT5O2F6sGn5g" annotatedElement="_g1wyANwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VdWHgBE9EeGOffqMW1YiZA" name="ProtocolConformance">
+      <ownedComment xmi:id="_VdWHgRE9EeGOffqMW1YiZA" annotatedElement="_VdWHgBE9EeGOffqMW1YiZA">
         <body>Protocol state machines can be redefined into more specific protocol state machines, or into behavioral state machines. Protocol conformance declares that the specific protocol state machine specifies a protocol that conforms to the general state machine one, or that the specific behavioral state machine abide by the protocol of the general protocol state machine.</body>
       </ownedComment>
-      <generalization xmi:id="_g1wyAtwbEeCT5O2F6sGn5g" general="_JBgfoKPAEdqi_5gqUMOQtA"/>
-      <ownedAttribute xmi:id="_g1wyA9wbEeCT5O2F6sGn5g" name="generalMachine" visibility="public" type="_g1xZENwbEeCT5O2F6sGn5g" subsettedProperty="_g0HzRNwbEeCT5O2F6sGn5g" association="_gydmadwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1wyBNwbEeCT5O2F6sGn5g" annotatedElement="_g1wyA9wbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_VdWHghE9EeGOffqMW1YiZA" general="_JBgfoKPAEdqi_5gqUMOQtA"/>
+      <ownedAttribute xmi:id="_VdWHgxE9EeGOffqMW1YiZA" name="generalMachine" visibility="public" type="_VdXVoBE9EeGOffqMW1YiZA" subsettedProperty="_VY66iBE9EeGOffqMW1YiZA" association="_VTj5YBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VdWHhBE9EeGOffqMW1YiZA" annotatedElement="_VdWHgxE9EeGOffqMW1YiZA">
           <body>Specifies the protocol state machine to which the specific state machine conforms.</body>
         </ownedComment>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g1wyBdwbEeCT5O2F6sGn5g" name="specificMachine" visibility="public" type="_g1xZENwbEeCT5O2F6sGn5g" subsettedProperty="_g0HzQdwbEeCT5O2F6sGn5g _g0JodNwbEeCT5O2F6sGn5g" association="_gyVql9wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1wyBtwbEeCT5O2F6sGn5g" annotatedElement="_g1wyBdwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VdWHhRE9EeGOffqMW1YiZA" name="specificMachine" visibility="public" type="_VdXVoBE9EeGOffqMW1YiZA" subsettedProperty="_N3hRMAtAEeGcpbeCPJfCmw _VY66hRE9EeGOffqMW1YiZA" association="_VTF_VBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VdWHhhE9EeGOffqMW1YiZA" annotatedElement="_VdWHhRE9EeGOffqMW1YiZA">
           <body>Specifies the state machine which conforms to the general state machine.</body>
         </ownedComment>
       </ownedAttribute>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g1xZENwbEeCT5O2F6sGn5g" name="ProtocolStateMachine">
-      <ownedComment xmi:id="_g1xZEdwbEeCT5O2F6sGn5g" annotatedElement="_g1xZENwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VdXVoBE9EeGOffqMW1YiZA" name="ProtocolStateMachine">
+      <ownedComment xmi:id="_VdXVoRE9EeGOffqMW1YiZA" annotatedElement="_VdXVoBE9EeGOffqMW1YiZA">
         <body>A protocol state machine is always defined in the context of a classifier. It specifies which operations of the classifier can be called in which state and under which condition, thus specifying the allowed call sequences on the classifier's operations. A protocol state machine presents the possible and permitted transitions on the instances of its context classifier, together with the operations which carry the transitions. In this manner, an instance lifecycle can be created for a classifier, by specifying the order in which the operations can be activated and the states through which an instance progresses during its existence.</body>
       </ownedComment>
-      <ownedRule xmi:id="_g1xZEtwbEeCT5O2F6sGn5g" name="classifier_context" constrainedElement="_g1xZENwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1xZE9wbEeCT5O2F6sGn5g" annotatedElement="_g1xZEtwbEeCT5O2F6sGn5g">
-          <body>A protocol state machine must only have a classifier context, not a behavioral feature context.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1xZFNwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>(not context->isEmpty( )) and specification->isEmpty()</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_g1xZFdwbEeCT5O2F6sGn5g" name="deep_or_shallow_history" constrainedElement="_g1xZENwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1xZFtwbEeCT5O2F6sGn5g" annotatedElement="_g1xZFdwbEeCT5O2F6sGn5g">
-          <body>Protocol state machines cannot have deep or shallow history pseudostates.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1xZF9wbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>region->forAll (r | r.subvertex->forAll (v | v.oclIsKindOf(Psuedostate) implies
-((v.kind &lt;> #deepHistory) and (v.kind &lt;> #shallowHistory)))))
-</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_g1xZGNwbEeCT5O2F6sGn5g" name="entry_exit_do" constrainedElement="_g1xZENwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1xZGdwbEeCT5O2F6sGn5g" annotatedElement="_g1xZGNwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VdXVohE9EeGOffqMW1YiZA" name="entry_exit_do" constrainedElement="_VdXVoBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VdXVoxE9EeGOffqMW1YiZA" annotatedElement="_VdXVohE9EeGOffqMW1YiZA">
           <body>The states of a protocol state machine cannot have entry, exit, or do activity actions.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1xZGtwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VdXVpBE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>region->forAll(r | r.subvertex->forAll(v | v.oclIsKindOf(State) implies
 (v.entry->isEmpty() and v.exit->isEmpty() and v.doActivity->isEmpty())))
 </body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_g1xZG9wbEeCT5O2F6sGn5g" name="ports_connected" constrainedElement="_g1xZENwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1xZHNwbEeCT5O2F6sGn5g" annotatedElement="_g1xZG9wbEeCT5O2F6sGn5g">
-          <body>If two ports are connected, then the protocol state machine of the required interface (if defined) must be conformant to the protocol state machine of the provided interface (if defined).</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1xZHdwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>true</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_g1xZHtwbEeCT5O2F6sGn5g" name="protocol_transitions" constrainedElement="_g1xZENwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1xZH9wbEeCT5O2F6sGn5g" annotatedElement="_g1xZHtwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VdXVpRE9EeGOffqMW1YiZA" name="protocol_transitions" constrainedElement="_VdXVoBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VdXVphE9EeGOffqMW1YiZA" annotatedElement="_VdXVpRE9EeGOffqMW1YiZA">
           <body>All transitions of a protocol state machine must be protocol transitions. (transitions as extended by the ProtocolStateMachines package)</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1xZINwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VdXVpxE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>region->forAll(r | r.transition->forAll(t | t.oclIsTypeOf(ProtocolTransition)))</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_g1xZIdwbEeCT5O2F6sGn5g" general="_g2EUANwbEeCT5O2F6sGn5g"/>
-      <ownedAttribute xmi:id="_g1xZItwbEeCT5O2F6sGn5g" name="conformance" visibility="public" type="_g1wyANwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_g0JocNwbEeCT5O2F6sGn5g _gy5rStwbEeCT5O2F6sGn5g" association="_gyVql9wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1xZI9wbEeCT5O2F6sGn5g" annotatedElement="_g1xZItwbEeCT5O2F6sGn5g">
-          <body>Conformance between protocol state machines.</body>
+      <ownedRule xmi:id="_VdXVqBE9EeGOffqMW1YiZA" name="deep_or_shallow_history" constrainedElement="_VdXVoBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VdXVqRE9EeGOffqMW1YiZA" annotatedElement="_VdXVqBE9EeGOffqMW1YiZA">
+          <body>Protocol state machines cannot have deep or shallow history pseudostates.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1xZJNwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g1xZJdwbEeCT5O2F6sGn5g" value="*"/>
-      </ownedAttribute>
-    </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_Dtp8ULL7EeCBifIhhuFqZA" name="ProtocolTransition">
-      <ownedComment xmi:id="_g1xZJtwbEeCT5O2F6sGn5g" annotatedElement="_Dtp8ULL7EeCBifIhhuFqZA">
-        <body>A protocol transition specifies a legal transition for an operation. Transitions of protocol state machines have the following information: a pre condition (guard), on trigger, and a post condition. Every protocol transition is associated to zero or one operation (referred BehavioralFeature) that belongs to the context classifier of the protocol state machine.</body>
-      </ownedComment>
-      <ownedRule xmi:id="_g1xZJ9wbEeCT5O2F6sGn5g" name="refers_to_operation" constrainedElement="_Dtp8ULL7EeCBifIhhuFqZA">
-        <ownedComment xmi:id="_g1xZKNwbEeCT5O2F6sGn5g" annotatedElement="_g1xZJ9wbEeCT5O2F6sGn5g">
-          <body>If a protocol transition refers to an operation (i. e. has a call trigger corresponding to an operation), then that operation should apply to the context classifier of the state machine of the protocol transition.</body>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VdXVqhE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>region->forAll (r | r.subvertex->forAll (v | v.oclIsKindOf(Psuedostate) implies
+((v.kind &lt;> #deepHistory) and (v.kind &lt;> #shallowHistory)))))
+</body>
+        </specification>
+      </ownedRule>
+      <ownedRule xmi:id="_VdXVqxE9EeGOffqMW1YiZA" name="classifier_context" constrainedElement="_VdXVoBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VdXVrBE9EeGOffqMW1YiZA" annotatedElement="_VdXVqxE9EeGOffqMW1YiZA">
+          <body>A protocol state machine must only have a classifier context, not a behavioral feature context.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1xZKdwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VdXVrRE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>(not context->isEmpty( )) and specification->isEmpty()</body>
+        </specification>
+      </ownedRule>
+      <ownedRule xmi:id="_VdXVrhE9EeGOffqMW1YiZA" name="ports_connected" constrainedElement="_VdXVoBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VdXVrxE9EeGOffqMW1YiZA" annotatedElement="_VdXVrhE9EeGOffqMW1YiZA">
+          <body>If two ports are connected, then the protocol state machine of the required interface (if defined) must be conformant to the protocol state machine of the provided interface (if defined).</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VdXVsBE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>true</body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_g1xZKtwbEeCT5O2F6sGn5g" name="associated_actions" constrainedElement="_Dtp8ULL7EeCBifIhhuFqZA">
-        <ownedComment xmi:id="_g1xZK9wbEeCT5O2F6sGn5g" annotatedElement="_g1xZKtwbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_VdXVsRE9EeGOffqMW1YiZA" general="_VeWNEBE9EeGOffqMW1YiZA"/>
+      <ownedAttribute xmi:id="_VdXVshE9EeGOffqMW1YiZA" name="conformance" visibility="public" type="_VdWHgBE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_VUkmBhE9EeGOffqMW1YiZA _GDD2YAtAEeGcpbeCPJfCmw" association="_VTF_VBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VdXVsxE9EeGOffqMW1YiZA" annotatedElement="_VdXVshE9EeGOffqMW1YiZA">
+          <body>Conformance between protocol state machines.</body>
+        </ownedComment>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VdXVtBE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VdXVtRE9EeGOffqMW1YiZA" value="*"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Class" xmi:id="_Dtp8ULL7EeCBifIhhuFqZA" name="ProtocolTransition">
+      <ownedComment xmi:id="_VdXVthE9EeGOffqMW1YiZA" annotatedElement="_Dtp8ULL7EeCBifIhhuFqZA">
+        <body>A protocol transition specifies a legal transition for an operation. Transitions of protocol state machines have the following information: a pre condition (guard), on trigger, and a post condition. Every protocol transition is associated to zero or one operation (referred BehavioralFeature) that belongs to the context classifier of the protocol state machine.</body>
+      </ownedComment>
+      <ownedRule xmi:id="_VdX8sBE9EeGOffqMW1YiZA" name="refers_to_operation" constrainedElement="_Dtp8ULL7EeCBifIhhuFqZA">
+        <ownedComment xmi:id="_VdX8sRE9EeGOffqMW1YiZA" annotatedElement="_VdX8sBE9EeGOffqMW1YiZA">
+          <body>If a protocol transition refers to an operation (i. e. has a call trigger corresponding to an operation), then that operation should apply to the context classifier of the state machine of the protocol transition.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VdX8shE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>true</body>
+        </specification>
+      </ownedRule>
+      <ownedRule xmi:id="_VdX8sxE9EeGOffqMW1YiZA" name="associated_actions" constrainedElement="_Dtp8ULL7EeCBifIhhuFqZA">
+        <ownedComment xmi:id="_VdX8tBE9EeGOffqMW1YiZA" annotatedElement="_VdX8sxE9EeGOffqMW1YiZA">
           <body>A protocol transition never has associated actions.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1xZLNwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VdX8tRE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>effect->isEmpty()</body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_g1xZLdwbEeCT5O2F6sGn5g" name="belongs_to_psm" constrainedElement="_Dtp8ULL7EeCBifIhhuFqZA">
-        <ownedComment xmi:id="_g1xZLtwbEeCT5O2F6sGn5g" annotatedElement="_g1xZLdwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VdX8thE9EeGOffqMW1YiZA" name="belongs_to_psm" constrainedElement="_Dtp8ULL7EeCBifIhhuFqZA">
+        <ownedComment xmi:id="_VdX8txE9EeGOffqMW1YiZA" annotatedElement="_VdX8thE9EeGOffqMW1YiZA">
           <body>A protocol transition always belongs to a protocol state machine.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1xZL9wbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VdX8uBE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>container.belongsToPSM()</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_g1xZMNwbEeCT5O2F6sGn5g" general="_ykKV8PnlEdunWsS3se92JQ"/>
-      <ownedAttribute xmi:id="_g1xZMdwbEeCT5O2F6sGn5g" name="postCondition" visibility="public" type="_g0AegNwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_g1TfANwbEeCT5O2F6sGn5g" association="_gysP7twbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1xZMtwbEeCT5O2F6sGn5g" annotatedElement="_g1xZMdwbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_VdX8uRE9EeGOffqMW1YiZA" general="_ykKV8PnlEdunWsS3se92JQ"/>
+      <ownedAttribute xmi:id="_VdX8uhE9EeGOffqMW1YiZA" name="postCondition" visibility="public" type="_VYbLQBE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_Var1FBE9EeGOffqMW1YiZA" association="_VUJINBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VdX8uxE9EeGOffqMW1YiZA" annotatedElement="_VdX8uhE9EeGOffqMW1YiZA">
           <body>Specifies the post condition of the transition which is the condition that should be obtained once the transition is triggered. This post condition is part of the post condition of the operation connected to the transition.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1xZM9wbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VdX8vBE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g1xZNNwbEeCT5O2F6sGn5g" name="preCondition" visibility="public" type="_g0AegNwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_g2SWfdwbEeCT5O2F6sGn5g" association="_gys299wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1xZNdwbEeCT5O2F6sGn5g" annotatedElement="_g1xZNNwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VdYjwBE9EeGOffqMW1YiZA" name="preCondition" visibility="public" type="_VYbLQBE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_Ve9RExE9EeGOffqMW1YiZA" association="_VUKWUBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VdYjwRE9EeGOffqMW1YiZA" annotatedElement="_VdYjwBE9EeGOffqMW1YiZA">
           <body>Specifies the precondition of the transition. It specifies the condition that should be verified before triggering the transition. This guard condition added to the source state will be evaluated as part of the precondition of the operation referred by the transition if any.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1xZNtwbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VdYjwhE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g1yAINwbEeCT5O2F6sGn5g" name="referred" visibility="public" type="_M4X2IGveEdq4DLWZOhbdEA" isReadOnly="true" isDerived="true" association="_gyyWgNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1yAIdwbEeCT5O2F6sGn5g" annotatedElement="_g1yAINwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VdYjwxE9EeGOffqMW1YiZA" name="referred" visibility="public" type="_M4X2IGveEdq4DLWZOhbdEA" isReadOnly="true" isDerived="true" association="_VUYYxBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VdYjxBE9EeGOffqMW1YiZA" annotatedElement="_VdYjwxE9EeGOffqMW1YiZA">
           <body>This association refers to the associated operation. It is derived from the operation of the call trigger when applicable.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1yAItwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g1yAI9wbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VdYjxRE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VdYjxhE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedOperation xmi:id="_IZYEkLL7EeCBifIhhuFqZA" name="referred" visibility="public" bodyCondition="_g1yAJdwbEeCT5O2F6sGn5g" isQuery="true">
-        <ownedComment xmi:id="_g1yAJNwbEeCT5O2F6sGn5g" annotatedElement="_IZYEkLL7EeCBifIhhuFqZA">
+      <ownedOperation xmi:id="_IZYEkLL7EeCBifIhhuFqZA" name="referred" visibility="public" bodyCondition="_VdYjyBE9EeGOffqMW1YiZA" isQuery="true">
+        <ownedComment xmi:id="_VdYjxxE9EeGOffqMW1YiZA" annotatedElement="_IZYEkLL7EeCBifIhhuFqZA">
           <body>Missing derivation for ProtocolTransition::/referred : Operation</body>
         </ownedComment>
-        <ownedRule xmi:id="_g1yAJdwbEeCT5O2F6sGn5g" name="spec" constrainedElement="_IZYEkLL7EeCBifIhhuFqZA _g1yAINwbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1yAJtwbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VdYjyBE9EeGOffqMW1YiZA" name="spec" constrainedElement="_IZYEkLL7EeCBifIhhuFqZA _VdYjwxE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VdYjyRE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>true</body>
           </specification>
         </ownedRule>
         <ownedParameter xmi:id="_JnbMELL7EeCBifIhhuFqZA" name="result" visibility="public" type="_M4X2IGveEdq4DLWZOhbdEA" direction="return">
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1yAJ9wbEeCT5O2F6sGn5g"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g1yAKNwbEeCT5O2F6sGn5g" value="*"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VdYjyhE9EeGOffqMW1YiZA"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VdYjyxE9EeGOffqMW1YiZA" value="*"/>
         </ownedParameter>
       </ownedOperation>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g1zOQNwbEeCT5O2F6sGn5g" name="Pseudostate">
-      <ownedComment xmi:id="_g1zOQdwbEeCT5O2F6sGn5g" annotatedElement="_g1zOQNwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VdaY8BE9EeGOffqMW1YiZA" name="Pseudostate">
+      <ownedComment xmi:id="_VdaY8RE9EeGOffqMW1YiZA" annotatedElement="_VdaY8BE9EeGOffqMW1YiZA">
         <body>A pseudostate is an abstraction that encompasses different types of transient vertices in the state machine graph.</body>
       </ownedComment>
-      <ownedRule xmi:id="_g1zOQtwbEeCT5O2F6sGn5g" name="transitions_outgoing" constrainedElement="_g1zOQNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1zOQ9wbEeCT5O2F6sGn5g" annotatedElement="_g1zOQtwbEeCT5O2F6sGn5g">
-          <body>All transitions outgoing a fork vertex must target states in different regions of an orthogonal state.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1zORNwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>(self.kind = #fork) implies
-  self.outgoing->forAll (t1, t2 | t1&lt;>t2 implies
-    (self.stateMachine.LCA(t1.target, t2.target).container.isOrthogonal))</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_g1zORdwbEeCT5O2F6sGn5g" name="choice_vertex" constrainedElement="_g1zOQNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1zORtwbEeCT5O2F6sGn5g" annotatedElement="_g1zORdwbEeCT5O2F6sGn5g">
-          <body>In a complete statemachine, a choice vertex must have at least one incoming and one outgoing transition.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1zOR9wbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>(self.kind = #choice) implies
-((self.incoming->size >= 1) and (self.outgoing->size >= 1))
-</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_g1zOSNwbEeCT5O2F6sGn5g" name="outgoing_from_initial" constrainedElement="_g1zOQNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1zOSdwbEeCT5O2F6sGn5g" annotatedElement="_g1zOSNwbEeCT5O2F6sGn5g">
-          <body>The outgoing transition from and initial vertex may have a behavior, but not a trigger or a guard.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1zOStwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>(self.kind = #initial) implies (self.outgoing.guard->isEmpty()
-  and self.outgoing.trigger->isEmpty())</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_g1zOS9wbEeCT5O2F6sGn5g" name="join_vertex" constrainedElement="_g1zOQNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1zOTNwbEeCT5O2F6sGn5g" annotatedElement="_g1zOS9wbEeCT5O2F6sGn5g">
-          <body>In a complete statemachine, a join vertex must have at least two incoming transitions and exactly one outgoing transition.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1zOTdwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>(self.kind = #join) implies
-((self.outgoing->size = 1) and (self.incoming->size >= 2))
-</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_g1zOTtwbEeCT5O2F6sGn5g" name="junction_vertex" constrainedElement="_g1zOQNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1zOT9wbEeCT5O2F6sGn5g" annotatedElement="_g1zOTtwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VdaY8hE9EeGOffqMW1YiZA" name="junction_vertex" constrainedElement="_VdaY8BE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VdaY8xE9EeGOffqMW1YiZA" annotatedElement="_VdaY8hE9EeGOffqMW1YiZA">
           <body>In a complete statemachine, a junction vertex must have at least one incoming and one outgoing transition.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1zOUNwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VdaY9BE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>(self.kind = #junction) implies
 ((self.incoming->size >= 1) and (self.outgoing->size >= 1))
 </body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_g1zOUdwbEeCT5O2F6sGn5g" name="history_vertices" constrainedElement="_g1zOQNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1zOUtwbEeCT5O2F6sGn5g" annotatedElement="_g1zOUdwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VdaY9RE9EeGOffqMW1YiZA" name="history_vertices" constrainedElement="_VdaY8BE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VdaY9hE9EeGOffqMW1YiZA" annotatedElement="_VdaY9RE9EeGOffqMW1YiZA">
           <body>History vertices can have at most one outgoing transition.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1zOU9wbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VdaY9xE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>((self.kind = #deepHistory) or (self.kind = #shallowHistory)) implies
 (self.outgoing->size &lt;= 1)
 </body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_g1zOVNwbEeCT5O2F6sGn5g" name="initial_vertex" constrainedElement="_g1zOQNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1zOVdwbEeCT5O2F6sGn5g" annotatedElement="_g1zOVNwbEeCT5O2F6sGn5g">
-          <body>An initial vertex can have at most one outgoing transition.</body>
+      <ownedRule xmi:id="_VdaY-BE9EeGOffqMW1YiZA" name="transitions_outgoing" constrainedElement="_VdaY8BE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VdaY-RE9EeGOffqMW1YiZA" annotatedElement="_VdaY-BE9EeGOffqMW1YiZA">
+          <body>All transitions outgoing a fork vertex must target states in different regions of an orthogonal state.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1zOVtwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VdaY-hE9EeGOffqMW1YiZA">
           <language>OCL</language>
-          <body>(self.kind = #initial) implies (self.outgoing->size &lt;= 1)</body>
+          <body>(self.kind = #fork) implies
+  self.outgoing->forAll (t1, t2 | t1&lt;>t2 implies
+    (self.stateMachine.LCA(t1.target, t2.target).container.isOrthogonal))</body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_g1zOV9wbEeCT5O2F6sGn5g" name="fork_vertex" constrainedElement="_g1zOQNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1zOWNwbEeCT5O2F6sGn5g" annotatedElement="_g1zOV9wbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VdaY-xE9EeGOffqMW1YiZA" name="outgoing_from_initial" constrainedElement="_VdaY8BE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VdaY_BE9EeGOffqMW1YiZA" annotatedElement="_VdaY-xE9EeGOffqMW1YiZA">
+          <body>The outgoing transition from and initial vertex may have a behavior, but not a trigger or a guard.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VdaY_RE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>(self.kind = #initial) implies (self.outgoing.guard->isEmpty()
+  and self.outgoing.trigger->isEmpty())</body>
+        </specification>
+      </ownedRule>
+      <ownedRule xmi:id="_VdaY_hE9EeGOffqMW1YiZA" name="fork_vertex" constrainedElement="_VdaY8BE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VdaY_xE9EeGOffqMW1YiZA" annotatedElement="_VdaY_hE9EeGOffqMW1YiZA">
           <body>In a complete statemachine, a fork vertex must have at least two outgoing transitions and exactly one incoming transition.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1zOWdwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VdaZABE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>(self.kind = #fork) implies
 ((self.incoming->size = 1) and (self.outgoing->size >= 2))
 </body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_g1zOWtwbEeCT5O2F6sGn5g" name="transitions_incoming" constrainedElement="_g1zOQNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1zOW9wbEeCT5O2F6sGn5g" annotatedElement="_g1zOWtwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VdaZARE9EeGOffqMW1YiZA" name="join_vertex" constrainedElement="_VdaY8BE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VdaZAhE9EeGOffqMW1YiZA" annotatedElement="_VdaZARE9EeGOffqMW1YiZA">
+          <body>In a complete statemachine, a join vertex must have at least two incoming transitions and exactly one outgoing transition.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VdaZAxE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>(self.kind = #join) implies
+((self.outgoing->size = 1) and (self.incoming->size >= 2))
+</body>
+        </specification>
+      </ownedRule>
+      <ownedRule xmi:id="_VdaZBBE9EeGOffqMW1YiZA" name="choice_vertex" constrainedElement="_VdaY8BE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VdaZBRE9EeGOffqMW1YiZA" annotatedElement="_VdaZBBE9EeGOffqMW1YiZA">
+          <body>In a complete statemachine, a choice vertex must have at least one incoming and one outgoing transition.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VdaZBhE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>(self.kind = #choice) implies
+((self.incoming->size >= 1) and (self.outgoing->size >= 1))
+</body>
+        </specification>
+      </ownedRule>
+      <ownedRule xmi:id="_VdaZBxE9EeGOffqMW1YiZA" name="initial_vertex" constrainedElement="_VdaY8BE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VdaZCBE9EeGOffqMW1YiZA" annotatedElement="_VdaZBxE9EeGOffqMW1YiZA">
+          <body>An initial vertex can have at most one outgoing transition.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VdaZCRE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>(self.kind = #initial) implies (self.outgoing->size &lt;= 1)</body>
+        </specification>
+      </ownedRule>
+      <ownedRule xmi:id="_VdaZChE9EeGOffqMW1YiZA" name="transitions_incoming" constrainedElement="_VdaY8BE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VdaZCxE9EeGOffqMW1YiZA" annotatedElement="_VdaZChE9EeGOffqMW1YiZA">
           <body>All transitions incoming a join vertex must originate in different regions of an orthogonal state.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1zOXNwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VdaZDBE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>(self.kind = #join) implies
   self.incoming->forAll (t1, t2 | t1&lt;>t2 implies
     (self.stateMachine.LCA(t1.source, t2.source).container.isOrthogonal))</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_g1zOXdwbEeCT5O2F6sGn5g" general="_xM1WoPnlEdunWsS3se92JQ"/>
-      <ownedAttribute xmi:id="_g1zOXtwbEeCT5O2F6sGn5g" name="kind" visibility="public" type="_g2fKwNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1zOX9wbEeCT5O2F6sGn5g" annotatedElement="_g1zOXtwbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_VdaZDRE9EeGOffqMW1YiZA" general="_xM1WoPnlEdunWsS3se92JQ"/>
+      <ownedAttribute xmi:id="_VdaZDhE9EeGOffqMW1YiZA" name="kind" visibility="public" type="_VfRaIBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VdaZDxE9EeGOffqMW1YiZA" annotatedElement="_VdaZDhE9EeGOffqMW1YiZA">
           <body>Determines the precise type of the Pseudostate and can be one of: entryPoint, exitPoint, initial, deepHistory, shallowHistory, join, fork, junction, terminate or choice.</body>
         </ownedComment>
-        <defaultValue xmi:type="uml:InstanceValue" xmi:id="_g1zOYNwbEeCT5O2F6sGn5g" type="_g2fKwNwbEeCT5O2F6sGn5g" instance="_g2fKwtwbEeCT5O2F6sGn5g"/>
+        <defaultValue xmi:type="uml:InstanceValue" xmi:id="_VdaZEBE9EeGOffqMW1YiZA" type="_VfRaIBE9EeGOffqMW1YiZA" instance="_VfRaIhE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g1zOYdwbEeCT5O2F6sGn5g" name="state" visibility="public" type="_g2Ce0NwbEeCT5O2F6sGn5g" subsettedProperty="_1vzv0LbIEeCRxrN1JUGuxA" association="_gyVqmdwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1zOYtwbEeCT5O2F6sGn5g" annotatedElement="_g1zOYdwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VdaZERE9EeGOffqMW1YiZA" name="state" visibility="public" type="_VeRUkBE9EeGOffqMW1YiZA" subsettedProperty="_1vzv0LbIEeCRxrN1JUGuxA" association="_VTGmYBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VdaZEhE9EeGOffqMW1YiZA" annotatedElement="_VdaZERE9EeGOffqMW1YiZA">
           <body>The State that owns this pseudostate and in which it appears.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1zOY9wbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VdaZExE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g1zOZNwbEeCT5O2F6sGn5g" name="stateMachine" visibility="public" type="_g2EUANwbEeCT5O2F6sGn5g" subsettedProperty="_1vzv0LbIEeCRxrN1JUGuxA" association="_gyVqmtwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1zOZdwbEeCT5O2F6sGn5g" annotatedElement="_g1zOZNwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VdaZFBE9EeGOffqMW1YiZA" name="stateMachine" visibility="public" type="_VeWNEBE9EeGOffqMW1YiZA" subsettedProperty="_1vzv0LbIEeCRxrN1JUGuxA" association="_VTGmYRE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VdaZFRE9EeGOffqMW1YiZA" annotatedElement="_VdaZFBE9EeGOffqMW1YiZA">
           <body>The StateMachine in which this Pseudostate is defined. This only applies to Pseudostates of the kind entryPoint or exitPoint.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1zOZtwbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VdaZFhE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g1zOZ9wbEeCT5O2F6sGn5g" name="QualifierValue">
-      <ownedComment xmi:id="_g1zOaNwbEeCT5O2F6sGn5g" annotatedElement="_g1zOZ9wbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VdbnEBE9EeGOffqMW1YiZA" name="QualifierValue">
+      <ownedComment xmi:id="_VdbnERE9EeGOffqMW1YiZA" annotatedElement="_VdbnEBE9EeGOffqMW1YiZA">
         <body>A qualifier value is not an action. It is an element that identifies links. It gives a single qualifier within a link end data specification.</body>
       </ownedComment>
-      <ownedRule xmi:id="_g1zOadwbEeCT5O2F6sGn5g" name="multiplicity_of_qualifier" constrainedElement="_g1zOZ9wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1zOatwbEeCT5O2F6sGn5g" annotatedElement="_g1zOadwbEeCT5O2F6sGn5g">
-          <body>The multiplicity of the qualifier value input pin is &quot;1..1&quot;.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1zOa9wbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>self.value.multiplicity.is(1,1)</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_g1zObNwbEeCT5O2F6sGn5g" name="type_of_qualifier" constrainedElement="_g1zOZ9wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1zObdwbEeCT5O2F6sGn5g" annotatedElement="_g1zObNwbEeCT5O2F6sGn5g">
-          <body>The type of the qualifier value input pin is the same as the type of the qualifier attribute.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1zObtwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>self.value.type = self.qualifier.type</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_g1zOb9wbEeCT5O2F6sGn5g" name="qualifier_attribute" constrainedElement="_g1zOZ9wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1zOcNwbEeCT5O2F6sGn5g" annotatedElement="_g1zOb9wbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VdbnEhE9EeGOffqMW1YiZA" name="qualifier_attribute" constrainedElement="_VdbnEBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VdbnExE9EeGOffqMW1YiZA" annotatedElement="_VdbnEhE9EeGOffqMW1YiZA">
           <body>The qualifier attribute must be a qualifier of the association end of the link-end data.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1zOcdwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VdbnFBE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>self.LinkEndData.end->collect(qualifier)->includes(self.qualifier)</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_g1zOctwbEeCT5O2F6sGn5g" general="_kl90MGvbEdq4DLWZOhbdEA"/>
-      <ownedAttribute xmi:id="_g1zOc9wbEeCT5O2F6sGn5g" name="qualifier" visibility="public" type="_Jp_1oGveEdq4DLWZOhbdEA" association="_gyuFG9wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1zOdNwbEeCT5O2F6sGn5g" annotatedElement="_g1zOc9wbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VdbnFRE9EeGOffqMW1YiZA" name="multiplicity_of_qualifier" constrainedElement="_VdbnEBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VdbnFhE9EeGOffqMW1YiZA" annotatedElement="_VdbnFRE9EeGOffqMW1YiZA">
+          <body>The multiplicity of the qualifier value input pin is &quot;1..1&quot;.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VdbnFxE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>self.value.multiplicity.is(1,1)</body>
+        </specification>
+      </ownedRule>
+      <ownedRule xmi:id="_VdbnGBE9EeGOffqMW1YiZA" name="type_of_qualifier" constrainedElement="_VdbnEBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VdbnGRE9EeGOffqMW1YiZA" annotatedElement="_VdbnGBE9EeGOffqMW1YiZA">
+          <body>The type of the qualifier value input pin is the same as the type of the qualifier attribute.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VdbnGhE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>self.value.type = self.qualifier.type</body>
+        </specification>
+      </ownedRule>
+      <generalization xmi:id="_VdbnGxE9EeGOffqMW1YiZA" general="_kl90MGvbEdq4DLWZOhbdEA"/>
+      <ownedAttribute xmi:id="_VdbnHBE9EeGOffqMW1YiZA" name="qualifier" visibility="public" type="_Jp_1oGveEdq4DLWZOhbdEA" association="_VUMykBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VdbnHRE9EeGOffqMW1YiZA" annotatedElement="_VdbnHBE9EeGOffqMW1YiZA">
           <body>Attribute representing the qualifier for which the value is to be specified.</body>
         </ownedComment>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g1zOddwbEeCT5O2F6sGn5g" name="value" visibility="public" type="_g0aHKdwbEeCT5O2F6sGn5g" association="_gy_K1twbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1zOdtwbEeCT5O2F6sGn5g" annotatedElement="_g1zOddwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VdbnHhE9EeGOffqMW1YiZA" name="value" visibility="public" type="_VZp6WRE9EeGOffqMW1YiZA" association="_VUwMNhE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VdbnHxE9EeGOffqMW1YiZA" annotatedElement="_VdbnHhE9EeGOffqMW1YiZA">
           <body>Input pin from which the specified value for the qualifier is taken.</body>
         </ownedComment>
       </ownedAttribute>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g1z1UNwbEeCT5O2F6sGn5g" name="RaiseExceptionAction">
-      <ownedComment xmi:id="_g1z1UdwbEeCT5O2F6sGn5g" annotatedElement="_g1z1UNwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VdbnIBE9EeGOffqMW1YiZA" name="RaiseExceptionAction">
+      <ownedComment xmi:id="_VdbnIRE9EeGOffqMW1YiZA" annotatedElement="_VdbnIBE9EeGOffqMW1YiZA">
         <body>A raise exception action is an action that causes an exception to occur. The input value becomes the exception object.</body>
       </ownedComment>
-      <generalization xmi:id="_g1z1UtwbEeCT5O2F6sGn5g" general="_6WKakLLQEeCsYvaJqFFivQ"/>
-      <ownedAttribute xmi:id="_g1z1U9wbEeCT5O2F6sGn5g" name="exception" visibility="public" type="_g0aHKdwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_gzBnMNwbEeCT5O2F6sGn5g" association="_gybKMNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1z1VNwbEeCT5O2F6sGn5g" annotatedElement="_g1z1U9wbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_VdbnIhE9EeGOffqMW1YiZA" general="_6WKakLLQEeCsYvaJqFFivQ"/>
+      <ownedAttribute xmi:id="_VdbnIxE9EeGOffqMW1YiZA" name="exception" visibility="public" type="_VZp6WRE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_VU4IABE9EeGOffqMW1YiZA" association="_VTWeABE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VdbnJBE9EeGOffqMW1YiZA" annotatedElement="_VdbnIxE9EeGOffqMW1YiZA">
           <body>An input pin whose value becomes an exception object.</body>
         </ownedComment>
       </ownedAttribute>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g1z1VdwbEeCT5O2F6sGn5g" name="ReadExtentAction">
-      <ownedComment xmi:id="_g1z1VtwbEeCT5O2F6sGn5g" annotatedElement="_g1z1VdwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VdcOIBE9EeGOffqMW1YiZA" name="ReadExtentAction">
+      <ownedComment xmi:id="_VdcOIRE9EeGOffqMW1YiZA" annotatedElement="_VdcOIBE9EeGOffqMW1YiZA">
         <body>A read extent action is an action that retrieves the current instances of a classifier.</body>
       </ownedComment>
-      <ownedRule xmi:id="_g1z1V9wbEeCT5O2F6sGn5g" name="type_is_classifier" constrainedElement="_g1z1VdwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1z1WNwbEeCT5O2F6sGn5g" annotatedElement="_g1z1V9wbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VdcOIhE9EeGOffqMW1YiZA" name="type_is_classifier" constrainedElement="_VdcOIBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VdcOIxE9EeGOffqMW1YiZA" annotatedElement="_VdcOIhE9EeGOffqMW1YiZA">
           <body>The type of the result output pin is the classifier.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1z1WdwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VdcOJBE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>true</body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_g1z1WtwbEeCT5O2F6sGn5g" name="multiplicity_of_result" constrainedElement="_g1z1VdwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1z1W9wbEeCT5O2F6sGn5g" annotatedElement="_g1z1WtwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VdcOJRE9EeGOffqMW1YiZA" name="multiplicity_of_result" constrainedElement="_VdcOIBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VdcOJhE9EeGOffqMW1YiZA" annotatedElement="_VdcOJRE9EeGOffqMW1YiZA">
           <body>The multiplicity of the result output pin is 0..*.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1z1XNwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VdcOJxE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>self.result.multiplicity.is(0,#null)</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_g1z1XdwbEeCT5O2F6sGn5g" general="_6WKakLLQEeCsYvaJqFFivQ"/>
-      <ownedAttribute xmi:id="_g1z1XtwbEeCT5O2F6sGn5g" name="classifier" visibility="public" type="_6UV2QGwJEdq7X4sGURiZYA" association="_gyUcgdwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1z1X9wbEeCT5O2F6sGn5g" annotatedElement="_g1z1XtwbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_VdcOKBE9EeGOffqMW1YiZA" general="_6WKakLLQEeCsYvaJqFFivQ"/>
+      <ownedAttribute xmi:id="_VdcOKRE9EeGOffqMW1YiZA" name="classifier" visibility="public" type="_6UV2QGwJEdq7X4sGURiZYA" association="_VTC8BBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VdcOKhE9EeGOffqMW1YiZA" annotatedElement="_VdcOKRE9EeGOffqMW1YiZA">
           <body>The classifier whose instances are to be retrieved.</body>
         </ownedComment>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g1z1YNwbEeCT5O2F6sGn5g" name="result" visibility="public" type="_g1fsRdwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_gzCOK9wbEeCT5O2F6sGn5g" association="_gy1Z0NwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1z1YdwbEeCT5O2F6sGn5g" annotatedElement="_g1z1YNwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VdcOKxE9EeGOffqMW1YiZA" name="result" visibility="public" type="_VcHYcBE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_VU4vEBE9EeGOffqMW1YiZA" association="_VUd4VBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VdcOLBE9EeGOffqMW1YiZA" annotatedElement="_VdcOKxE9EeGOffqMW1YiZA">
           <body>The runtime instances of the classifier.</body>
         </ownedComment>
       </ownedAttribute>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g10cYNwbEeCT5O2F6sGn5g" name="ReadIsClassifiedObjectAction">
-      <ownedComment xmi:id="_g10cYdwbEeCT5O2F6sGn5g" annotatedElement="_g10cYNwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_Vdc1MBE9EeGOffqMW1YiZA" name="ReadIsClassifiedObjectAction">
+      <ownedComment xmi:id="_Vdc1MRE9EeGOffqMW1YiZA" annotatedElement="_Vdc1MBE9EeGOffqMW1YiZA">
         <body>A read is classified object action is an action that determines whether a runtime object is classified by a given classifier.</body>
       </ownedComment>
-      <ownedRule xmi:id="_g10cYtwbEeCT5O2F6sGn5g" name="no_type" constrainedElement="_g10cYNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g10cY9wbEeCT5O2F6sGn5g" annotatedElement="_g10cYtwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_Vdc1MhE9EeGOffqMW1YiZA" name="no_type" constrainedElement="_Vdc1MBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_Vdc1MxE9EeGOffqMW1YiZA" annotatedElement="_Vdc1MhE9EeGOffqMW1YiZA">
           <body>The input pin has no type.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g10cZNwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_Vdc1NBE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>self.object.type->isEmpty()</body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_g10cZdwbEeCT5O2F6sGn5g" name="multiplicity_of_output" constrainedElement="_g10cYNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g10cZtwbEeCT5O2F6sGn5g" annotatedElement="_g10cZdwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_Vdc1NRE9EeGOffqMW1YiZA" name="multiplicity_of_output" constrainedElement="_Vdc1MBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_Vdc1NhE9EeGOffqMW1YiZA" annotatedElement="_Vdc1NRE9EeGOffqMW1YiZA">
           <body>The multiplicity of the output pin is 1..1.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g10cZ9wbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_Vdc1NxE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>self.result.multiplicity.is(1,1)</body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_g10caNwbEeCT5O2F6sGn5g" name="boolean_result" constrainedElement="_g10cYNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g10cadwbEeCT5O2F6sGn5g" annotatedElement="_g10caNwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_Vdc1OBE9EeGOffqMW1YiZA" name="boolean_result" constrainedElement="_Vdc1MBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_Vdc1ORE9EeGOffqMW1YiZA" annotatedElement="_Vdc1OBE9EeGOffqMW1YiZA">
           <body>The type of the output pin is Boolean</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g10catwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_Vdc1OhE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>self.result.type = Boolean</body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_g10ca9wbEeCT5O2F6sGn5g" name="multiplicity_of_input" constrainedElement="_g10cYNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g10cbNwbEeCT5O2F6sGn5g" annotatedElement="_g10ca9wbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_Vdc1OxE9EeGOffqMW1YiZA" name="multiplicity_of_input" constrainedElement="_Vdc1MBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_Vdc1PBE9EeGOffqMW1YiZA" annotatedElement="_Vdc1OxE9EeGOffqMW1YiZA">
           <body>The multiplicity of the input pin is 1..1.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g10cbdwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_Vdc1PRE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>self.object.multiplicity.is(1,1)</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_g10cbtwbEeCT5O2F6sGn5g" general="_6WKakLLQEeCsYvaJqFFivQ"/>
-      <ownedAttribute xmi:id="_g10cb9wbEeCT5O2F6sGn5g" name="classifier" visibility="public" type="_6UV2QGwJEdq7X4sGURiZYA" association="_gyVDgNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g10ccNwbEeCT5O2F6sGn5g" annotatedElement="_g10cb9wbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_Vdc1PhE9EeGOffqMW1YiZA" general="_6WKakLLQEeCsYvaJqFFivQ"/>
+      <ownedAttribute xmi:id="_Vdc1PxE9EeGOffqMW1YiZA" name="classifier" visibility="public" type="_6UV2QGwJEdq7X4sGURiZYA" association="_VTEKIBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_Vdc1QBE9EeGOffqMW1YiZA" annotatedElement="_Vdc1PxE9EeGOffqMW1YiZA">
           <body>The classifier against which the classification of the input object is tested.</body>
         </ownedComment>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g10ccdwbEeCT5O2F6sGn5g" name="isDirect" visibility="public">
-        <ownedComment xmi:id="_g10cctwbEeCT5O2F6sGn5g" annotatedElement="_g10ccdwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_Vdc1QRE9EeGOffqMW1YiZA" name="isDirect" visibility="public">
+        <ownedComment xmi:id="_Vdc1QhE9EeGOffqMW1YiZA" annotatedElement="_Vdc1QRE9EeGOffqMW1YiZA">
           <body>Indicates whether the classifier must directly classify the input object.</body>
         </ownedComment>
         <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
-        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_g10cc9wbEeCT5O2F6sGn5g"/>
+        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_Vdc1QxE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g10cdNwbEeCT5O2F6sGn5g" name="object" visibility="public" type="_g0aHKdwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_gzBnMNwbEeCT5O2F6sGn5g" association="_gyliNNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g10cddwbEeCT5O2F6sGn5g" annotatedElement="_g10cdNwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_Vdc1RBE9EeGOffqMW1YiZA" name="object" visibility="public" type="_VZp6WRE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_VU4IABE9EeGOffqMW1YiZA" association="_VT2NQxE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_Vdc1RRE9EeGOffqMW1YiZA" annotatedElement="_Vdc1RBE9EeGOffqMW1YiZA">
           <body>Holds the object whose classification is to be tested.</body>
         </ownedComment>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g10cdtwbEeCT5O2F6sGn5g" name="result" visibility="public" type="_g1fsRdwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_gzCOK9wbEeCT5O2F6sGn5g" association="_gy1Z09wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g10cd9wbEeCT5O2F6sGn5g" annotatedElement="_g10cdtwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_Vdc1RhE9EeGOffqMW1YiZA" name="result" visibility="public" type="_VcHYcBE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_VU4vEBE9EeGOffqMW1YiZA" association="_VUd4VxE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_Vdc1RxE9EeGOffqMW1YiZA" annotatedElement="_Vdc1RhE9EeGOffqMW1YiZA">
           <body>After termination of the action, will hold the result of the test.</body>
         </ownedComment>
       </ownedAttribute>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g11DcNwbEeCT5O2F6sGn5g" name="ReadLinkAction">
-      <ownedComment xmi:id="_g11DcdwbEeCT5O2F6sGn5g" annotatedElement="_g11DcNwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VdeDUBE9EeGOffqMW1YiZA" name="ReadLinkAction">
+      <ownedComment xmi:id="_VdeDURE9EeGOffqMW1YiZA" annotatedElement="_VdeDUBE9EeGOffqMW1YiZA">
         <body>A read link action is a link action that navigates across associations to retrieve objects on one end.</body>
       </ownedComment>
-      <ownedRule xmi:id="_g11DctwbEeCT5O2F6sGn5g" name="type_and_ordering" constrainedElement="_g11DcNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g11Dc9wbEeCT5O2F6sGn5g" annotatedElement="_g11DctwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VdeDUhE9EeGOffqMW1YiZA" name="type_and_ordering" constrainedElement="_VdeDUBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VdeDUxE9EeGOffqMW1YiZA" annotatedElement="_VdeDUhE9EeGOffqMW1YiZA">
           <body>The type and ordering of the result output pin are same as the type and ordering of the open association end.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g11DdNwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VdeDVBE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>let openend : Property = self.endData->select(ed | ed.value->size() = 0)->asSequence()->first().end in
 self.result.type = openend.type
@@ -12572,22 +12581,42 @@
 </body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_g11DddwbEeCT5O2F6sGn5g" name="compatible_multiplicity" constrainedElement="_g11DcNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g11DdtwbEeCT5O2F6sGn5g" annotatedElement="_g11DddwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VdeDVRE9EeGOffqMW1YiZA" name="one_open_end" constrainedElement="_VdeDUBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VdeDVhE9EeGOffqMW1YiZA" annotatedElement="_VdeDVRE9EeGOffqMW1YiZA">
+          <body>Exactly one link-end data specification (the 'open' end) must not have an end object input pin.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VdeDVxE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>self.endData->select(ed | ed.value->size() = 0)->size() = 1</body>
+        </specification>
+      </ownedRule>
+      <ownedRule xmi:id="_VdeDWBE9EeGOffqMW1YiZA" name="compatible_multiplicity" constrainedElement="_VdeDUBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VdeDWRE9EeGOffqMW1YiZA" annotatedElement="_VdeDWBE9EeGOffqMW1YiZA">
           <body>The multiplicity of the open association end must be compatible with the multiplicity of the result output pin.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g11Dd9wbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VdeDWhE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>let openend : Property = self.endData->select(ed | ed.value->size() = 0)->asSequence()->first().end in
 openend.multiplicity.compatibleWith(self.result.multiplicity)
 </body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_g11DeNwbEeCT5O2F6sGn5g" name="visibility" constrainedElement="_g11DcNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g11DedwbEeCT5O2F6sGn5g" annotatedElement="_g11DeNwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VdeDWxE9EeGOffqMW1YiZA" name="navigable_open_end" constrainedElement="_VdeDUBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VdeDXBE9EeGOffqMW1YiZA" annotatedElement="_VdeDWxE9EeGOffqMW1YiZA">
+          <body>The open end must be navigable.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VdeDXRE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>let openend : Property = self.endData->select(ed | ed.value->size() = 0)->asSequence()->first().end in
+openend.isNavigable()
+</body>
+        </specification>
+      </ownedRule>
+      <ownedRule xmi:id="_VdeDXhE9EeGOffqMW1YiZA" name="visibility" constrainedElement="_VdeDUBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VdeDXxE9EeGOffqMW1YiZA" annotatedElement="_VdeDXhE9EeGOffqMW1YiZA">
           <body>Visibility of the open end must allow access to the object performing the action.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g11DetwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VdeDYBE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>let host : Classifier = self.context in
 let openend : Property = self.endData->select(ed | ed.value->size() = 0)->asSequence()->first().end in
@@ -12599,711 +12628,691 @@
 </body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_g11De9wbEeCT5O2F6sGn5g" name="one_open_end" constrainedElement="_g11DcNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g11DfNwbEeCT5O2F6sGn5g" annotatedElement="_g11De9wbEeCT5O2F6sGn5g">
-          <body>Exactly one link-end data specification (the 'open' end) must not have an end object input pin.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g11DfdwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>self.endData->select(ed | ed.value->size() = 0)->size() = 1</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_g11DftwbEeCT5O2F6sGn5g" name="navigable_open_end" constrainedElement="_g11DcNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g11Df9wbEeCT5O2F6sGn5g" annotatedElement="_g11DftwbEeCT5O2F6sGn5g">
-          <body>The open end must be navigable.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g11DgNwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>let openend : Property = self.endData->select(ed | ed.value->size() = 0)->asSequence()->first().end in
-openend.isNavigable()
-</body>
-        </specification>
-      </ownedRule>
-      <generalization xmi:id="_g11DgdwbEeCT5O2F6sGn5g" general="_g0iC8NwbEeCT5O2F6sGn5g"/>
-      <ownedAttribute xmi:id="_g11DgtwbEeCT5O2F6sGn5g" name="result" visibility="public" type="_g1fsRdwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_gzCOK9wbEeCT5O2F6sGn5g" association="_gy1Z1twbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g11Dg9wbEeCT5O2F6sGn5g" annotatedElement="_g11DgtwbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_VdeDYRE9EeGOffqMW1YiZA" general="_VZ1ggBE9EeGOffqMW1YiZA"/>
+      <ownedAttribute xmi:id="_VdeDYhE9EeGOffqMW1YiZA" name="result" visibility="public" type="_VcHYcBE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_VU4vEBE9EeGOffqMW1YiZA" association="_VUefYBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VdeDYxE9EeGOffqMW1YiZA" annotatedElement="_VdeDYhE9EeGOffqMW1YiZA">
           <body>The pin on which are put the objects participating in the association at the end not specified by the inputs.</body>
         </ownedComment>
       </ownedAttribute>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g11qgNwbEeCT5O2F6sGn5g" name="ReadLinkObjectEndAction">
-      <ownedComment xmi:id="_g11qgdwbEeCT5O2F6sGn5g" annotatedElement="_g11qgNwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VdfRcBE9EeGOffqMW1YiZA" name="ReadLinkObjectEndAction">
+      <ownedComment xmi:id="_VdfRcRE9EeGOffqMW1YiZA" annotatedElement="_VdfRcBE9EeGOffqMW1YiZA">
         <body>A read link object end action is an action that retrieves an end object from a link object.</body>
       </ownedComment>
-      <ownedRule xmi:id="_g11qgtwbEeCT5O2F6sGn5g" name="property" constrainedElement="_g11qgNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g11qg9wbEeCT5O2F6sGn5g" annotatedElement="_g11qgtwbEeCT5O2F6sGn5g">
-          <body>The property must be an association end.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g11qhNwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>self.end.association.notEmpty()</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_g11qhdwbEeCT5O2F6sGn5g" name="multiplicity_of_object" constrainedElement="_g11qgNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g11qhtwbEeCT5O2F6sGn5g" annotatedElement="_g11qhdwbEeCT5O2F6sGn5g">
-          <body>The multiplicity of the object input pin is 1..1.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g11qh9wbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>self.object.multiplicity.is(1,1)</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_g11qiNwbEeCT5O2F6sGn5g" name="ends_of_association" constrainedElement="_g11qgNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g11qidwbEeCT5O2F6sGn5g" annotatedElement="_g11qiNwbEeCT5O2F6sGn5g">
-          <body>The ends of the association must not be static.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g11qitwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>self.end.association.memberEnd->forall(e | not e.isStatic)</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_g11qi9wbEeCT5O2F6sGn5g" name="type_of_result" constrainedElement="_g11qgNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g11qjNwbEeCT5O2F6sGn5g" annotatedElement="_g11qi9wbEeCT5O2F6sGn5g">
-          <body>The type of the result output pin is the same as the type of the association end.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g11qjdwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>self.result.type = self.end.type</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_g11qjtwbEeCT5O2F6sGn5g" name="multiplicity_of_result" constrainedElement="_g11qgNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g11qj9wbEeCT5O2F6sGn5g" annotatedElement="_g11qjtwbEeCT5O2F6sGn5g">
-          <body>The multiplicity of the result output pin is 1..1.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g11qkNwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>self.result.multiplicity.is(1,1)</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_g11qkdwbEeCT5O2F6sGn5g" name="type_of_object" constrainedElement="_g11qgNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g11qktwbEeCT5O2F6sGn5g" annotatedElement="_g11qkdwbEeCT5O2F6sGn5g">
-          <body>The type of the object input pin is the association class that owns the association end.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g11qk9wbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>self.object.type = self.end.association</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_g11qlNwbEeCT5O2F6sGn5g" name="association_of_association" constrainedElement="_g11qgNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g11qldwbEeCT5O2F6sGn5g" annotatedElement="_g11qlNwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VdfRchE9EeGOffqMW1YiZA" name="association_of_association" constrainedElement="_VdfRcBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VdfRcxE9EeGOffqMW1YiZA" annotatedElement="_VdfRchE9EeGOffqMW1YiZA">
           <body>The association of the association end must be an association class.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g11qltwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VdfRdBE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>self.end.Association.oclIsKindOf(AssociationClass)</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_g11ql9wbEeCT5O2F6sGn5g" general="_6WKakLLQEeCsYvaJqFFivQ"/>
-      <ownedAttribute xmi:id="_g11qmNwbEeCT5O2F6sGn5g" name="end" visibility="public" type="_Jp_1oGveEdq4DLWZOhbdEA" association="_gyajENwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g11qmdwbEeCT5O2F6sGn5g" annotatedElement="_g11qmNwbEeCT5O2F6sGn5g">
-          <body>Link end to be read.</body>
-        </ownedComment>
-      </ownedAttribute>
-      <ownedAttribute xmi:id="_g11qmtwbEeCT5O2F6sGn5g" name="object" visibility="public" type="_g0aHKdwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_gzBnMNwbEeCT5O2F6sGn5g" association="_gyliN9wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g11qm9wbEeCT5O2F6sGn5g" annotatedElement="_g11qmtwbEeCT5O2F6sGn5g">
-          <body>Gives the input pin from which the link object is obtained.</body>
-        </ownedComment>
-      </ownedAttribute>
-      <ownedAttribute xmi:id="_g11qnNwbEeCT5O2F6sGn5g" name="result" visibility="public" type="_g1fsRdwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_gzCOK9wbEeCT5O2F6sGn5g" association="_gy1Z2dwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g11qndwbEeCT5O2F6sGn5g" annotatedElement="_g11qnNwbEeCT5O2F6sGn5g">
-          <body>Pin where the result value is placed.</body>
-        </ownedComment>
-      </ownedAttribute>
-    </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g12RkNwbEeCT5O2F6sGn5g" name="ReadLinkObjectEndQualifierAction">
-      <ownedComment xmi:id="_g12RkdwbEeCT5O2F6sGn5g" annotatedElement="_g12RkNwbEeCT5O2F6sGn5g">
-        <body>A read link object end qualifier action is an action that retrieves a qualifier end value from a link object.</body>
-      </ownedComment>
-      <ownedRule xmi:id="_g12RktwbEeCT5O2F6sGn5g" name="multiplicity_of_object" constrainedElement="_g12RkNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g12Rk9wbEeCT5O2F6sGn5g" annotatedElement="_g12RktwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VdfRdRE9EeGOffqMW1YiZA" name="multiplicity_of_object" constrainedElement="_VdfRcBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VdfRdhE9EeGOffqMW1YiZA" annotatedElement="_VdfRdRE9EeGOffqMW1YiZA">
           <body>The multiplicity of the object input pin is 1..1.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g12RlNwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VdfRdxE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>self.object.multiplicity.is(1,1)</body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_g12RldwbEeCT5O2F6sGn5g" name="type_of_object" constrainedElement="_g12RkNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g12RltwbEeCT5O2F6sGn5g" annotatedElement="_g12RldwbEeCT5O2F6sGn5g">
-          <body>The type of the object input pin is the association class that owns the association end that has the given qualifier attribute.</body>
+      <ownedRule xmi:id="_VdfReBE9EeGOffqMW1YiZA" name="type_of_result" constrainedElement="_VdfRcBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VdfReRE9EeGOffqMW1YiZA" annotatedElement="_VdfReBE9EeGOffqMW1YiZA">
+          <body>The type of the result output pin is the same as the type of the association end.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g12Rl9wbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VdfRehE9EeGOffqMW1YiZA">
           <language>OCL</language>
-          <body>self.object.type = self.qualifier.associationEnd.association</body>
+          <body>self.result.type = self.end.type</body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_g12RmNwbEeCT5O2F6sGn5g" name="multiplicity_of_qualifier" constrainedElement="_g12RkNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g12RmdwbEeCT5O2F6sGn5g" annotatedElement="_g12RmNwbEeCT5O2F6sGn5g">
-          <body>The multiplicity of the qualifier attribute is 1..1.</body>
+      <ownedRule xmi:id="_VdfRexE9EeGOffqMW1YiZA" name="type_of_object" constrainedElement="_VdfRcBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VdfRfBE9EeGOffqMW1YiZA" annotatedElement="_VdfRexE9EeGOffqMW1YiZA">
+          <body>The type of the object input pin is the association class that owns the association end.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g12RmtwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VdfRfRE9EeGOffqMW1YiZA">
           <language>OCL</language>
-          <body>self.qualifier.multiplicity.is(1,1)</body>
+          <body>self.object.type = self.end.association</body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_g12Rm9wbEeCT5O2F6sGn5g" name="ends_of_association" constrainedElement="_g12RkNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g12RnNwbEeCT5O2F6sGn5g" annotatedElement="_g12Rm9wbEeCT5O2F6sGn5g">
-          <body>The ends of the association must not be static.</body>
+      <ownedRule xmi:id="_VdfRfhE9EeGOffqMW1YiZA" name="property" constrainedElement="_VdfRcBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VdfRfxE9EeGOffqMW1YiZA" annotatedElement="_VdfRfhE9EeGOffqMW1YiZA">
+          <body>The property must be an association end.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g12RndwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VdfRgBE9EeGOffqMW1YiZA">
           <language>OCL</language>
-          <body>self.qualifier.associationEnd.association.memberEnd->forall(e | not e.isStatic)</body>
+          <body>self.end.association.notEmpty()</body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_g12RntwbEeCT5O2F6sGn5g" name="multiplicity_of_result" constrainedElement="_g12RkNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g12Rn9wbEeCT5O2F6sGn5g" annotatedElement="_g12RntwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VdfRgRE9EeGOffqMW1YiZA" name="multiplicity_of_result" constrainedElement="_VdfRcBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VdfRghE9EeGOffqMW1YiZA" annotatedElement="_VdfRgRE9EeGOffqMW1YiZA">
           <body>The multiplicity of the result output pin is 1..1.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g12RoNwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VdfRgxE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>self.result.multiplicity.is(1,1)</body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_g12RodwbEeCT5O2F6sGn5g" name="same_type" constrainedElement="_g12RkNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g12RotwbEeCT5O2F6sGn5g" annotatedElement="_g12RodwbEeCT5O2F6sGn5g">
-          <body>The type of the result output pin is the same as the type of the qualifier attribute.</body>
+      <ownedRule xmi:id="_VdfRhBE9EeGOffqMW1YiZA" name="ends_of_association" constrainedElement="_VdfRcBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VdfRhRE9EeGOffqMW1YiZA" annotatedElement="_VdfRhBE9EeGOffqMW1YiZA">
+          <body>The ends of the association must not be static.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g12Ro9wbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VdfRhhE9EeGOffqMW1YiZA">
           <language>OCL</language>
-          <body>self.result.type = self.qualifier.type</body>
+          <body>self.end.association.memberEnd->forall(e | not e.isStatic)</body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_g12RpNwbEeCT5O2F6sGn5g" name="association_of_association" constrainedElement="_g12RkNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g12RpdwbEeCT5O2F6sGn5g" annotatedElement="_g12RpNwbEeCT5O2F6sGn5g">
-          <body>The association of the association end of the qualifier attribute must be an association class.</body>
+      <generalization xmi:id="_VdfRhxE9EeGOffqMW1YiZA" general="_6WKakLLQEeCsYvaJqFFivQ"/>
+      <ownedAttribute xmi:id="_VdfRiBE9EeGOffqMW1YiZA" name="end" visibility="public" type="_Jp_1oGveEdq4DLWZOhbdEA" association="_VTSzpBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VdfRiRE9EeGOffqMW1YiZA" annotatedElement="_VdfRiBE9EeGOffqMW1YiZA">
+          <body>Link end to be read.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g12RptwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>self.qualifier.associationEnd.association.oclIsKindOf(AssociationClass)</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_g12Rp9wbEeCT5O2F6sGn5g" name="qualifier_attribute" constrainedElement="_g12RkNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g12RqNwbEeCT5O2F6sGn5g" annotatedElement="_g12Rp9wbEeCT5O2F6sGn5g">
-          <body>The qualifier attribute must be a qualifier attribute of an association end.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g12RqdwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>self.qualifier.associationEnd->size() = 1</body>
-        </specification>
-      </ownedRule>
-      <generalization xmi:id="_g12RqtwbEeCT5O2F6sGn5g" general="_6WKakLLQEeCsYvaJqFFivQ"/>
-      <ownedAttribute xmi:id="_g12Rq9wbEeCT5O2F6sGn5g" name="object" visibility="public" type="_g0aHKdwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_gzBnMNwbEeCT5O2F6sGn5g" association="_gyliOtwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g12RrNwbEeCT5O2F6sGn5g" annotatedElement="_g12Rq9wbEeCT5O2F6sGn5g">
+      </ownedAttribute>
+      <ownedAttribute xmi:id="_VdfRihE9EeGOffqMW1YiZA" name="object" visibility="public" type="_VZp6WRE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_VU4IABE9EeGOffqMW1YiZA" association="_VT20UBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VdfRixE9EeGOffqMW1YiZA" annotatedElement="_VdfRihE9EeGOffqMW1YiZA">
           <body>Gives the input pin from which the link object is obtained.</body>
         </ownedComment>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g12RrdwbEeCT5O2F6sGn5g" name="qualifier" visibility="public" type="_Jp_1oGveEdq4DLWZOhbdEA" association="_gyusINwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g12RrtwbEeCT5O2F6sGn5g" annotatedElement="_g12RrdwbEeCT5O2F6sGn5g">
-          <body>The attribute representing the qualifier to be read.</body>
-        </ownedComment>
-      </ownedAttribute>
-      <ownedAttribute xmi:id="_g12Rr9wbEeCT5O2F6sGn5g" name="result" visibility="public" type="_g1fsRdwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_gzCOK9wbEeCT5O2F6sGn5g" association="_gy1Z3NwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g12RsNwbEeCT5O2F6sGn5g" annotatedElement="_g12Rr9wbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VdfRjBE9EeGOffqMW1YiZA" name="result" visibility="public" type="_VcHYcBE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_VU4vEBE9EeGOffqMW1YiZA" association="_VUefYxE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VdfRjRE9EeGOffqMW1YiZA" annotatedElement="_VdfRjBE9EeGOffqMW1YiZA">
           <body>Pin where the result value is placed.</body>
         </ownedComment>
       </ownedAttribute>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g124oNwbEeCT5O2F6sGn5g" name="ReadSelfAction">
-      <ownedComment xmi:id="_g124odwbEeCT5O2F6sGn5g" annotatedElement="_g124oNwbEeCT5O2F6sGn5g">
-        <body>A read self action is an action that retrieves the host object of an action.</body>
+    <packagedElement xmi:type="uml:Class" xmi:id="_VdgfkBE9EeGOffqMW1YiZA" name="ReadLinkObjectEndQualifierAction">
+      <ownedComment xmi:id="_VdgfkRE9EeGOffqMW1YiZA" annotatedElement="_VdgfkBE9EeGOffqMW1YiZA">
+        <body>A read link object end qualifier action is an action that retrieves a qualifier end value from a link object.</body>
       </ownedComment>
-      <ownedRule xmi:id="_g124otwbEeCT5O2F6sGn5g" name="contained" constrainedElement="_g124oNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g124o9wbEeCT5O2F6sGn5g" annotatedElement="_g124otwbEeCT5O2F6sGn5g">
-          <body>The action must be contained in an behavior that has a host classifier.</body>
+      <ownedRule xmi:id="_VdgfkhE9EeGOffqMW1YiZA" name="type_of_object" constrainedElement="_VdgfkBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VdgfkxE9EeGOffqMW1YiZA" annotatedElement="_VdgfkhE9EeGOffqMW1YiZA">
+          <body>The type of the object input pin is the association class that owns the association end that has the given qualifier attribute.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g124pNwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VdgflBE9EeGOffqMW1YiZA">
           <language>OCL</language>
-          <body>self.context->size() = 1</body>
+          <body>self.object.type = self.qualifier.associationEnd.association</body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_g124pdwbEeCT5O2F6sGn5g" name="multiplicity" constrainedElement="_g124oNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g124ptwbEeCT5O2F6sGn5g" annotatedElement="_g124pdwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VdgflRE9EeGOffqMW1YiZA" name="multiplicity_of_result" constrainedElement="_VdgfkBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VdgflhE9EeGOffqMW1YiZA" annotatedElement="_VdgflRE9EeGOffqMW1YiZA">
           <body>The multiplicity of the result output pin is 1..1.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g124p9wbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VdgflxE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>self.result.multiplicity.is(1,1)</body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_g124qNwbEeCT5O2F6sGn5g" name="not_static" constrainedElement="_g124oNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g124qdwbEeCT5O2F6sGn5g" annotatedElement="_g124qNwbEeCT5O2F6sGn5g">
-          <body>If the action is contained in an behavior that is acting as the body of a method, then the operation of the method must not be static.</body>
+      <ownedRule xmi:id="_VdgfmBE9EeGOffqMW1YiZA" name="same_type" constrainedElement="_VdgfkBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VdgfmRE9EeGOffqMW1YiZA" annotatedElement="_VdgfmBE9EeGOffqMW1YiZA">
+          <body>The type of the result output pin is the same as the type of the qualifier attribute.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g124qtwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VdgfmhE9EeGOffqMW1YiZA">
           <language>OCL</language>
-          <body>true</body>
+          <body>self.result.type = self.qualifier.type</body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_g124q9wbEeCT5O2F6sGn5g" name="type" constrainedElement="_g124oNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g124rNwbEeCT5O2F6sGn5g" annotatedElement="_g124q9wbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VdgfmxE9EeGOffqMW1YiZA" name="ends_of_association" constrainedElement="_VdgfkBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VdgfnBE9EeGOffqMW1YiZA" annotatedElement="_VdgfmxE9EeGOffqMW1YiZA">
+          <body>The ends of the association must not be static.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VdgfnRE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>self.qualifier.associationEnd.association.memberEnd->forall(e | not e.isStatic)</body>
+        </specification>
+      </ownedRule>
+      <ownedRule xmi:id="_VdgfnhE9EeGOffqMW1YiZA" name="multiplicity_of_qualifier" constrainedElement="_VdgfkBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VdgfnxE9EeGOffqMW1YiZA" annotatedElement="_VdgfnhE9EeGOffqMW1YiZA">
+          <body>The multiplicity of the qualifier attribute is 1..1.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VdgfoBE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>self.qualifier.multiplicity.is(1,1)</body>
+        </specification>
+      </ownedRule>
+      <ownedRule xmi:id="_VdgfoRE9EeGOffqMW1YiZA" name="multiplicity_of_object" constrainedElement="_VdgfkBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VdgfohE9EeGOffqMW1YiZA" annotatedElement="_VdgfoRE9EeGOffqMW1YiZA">
+          <body>The multiplicity of the object input pin is 1..1.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VdgfoxE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>self.object.multiplicity.is(1,1)</body>
+        </specification>
+      </ownedRule>
+      <ownedRule xmi:id="_VdgfpBE9EeGOffqMW1YiZA" name="association_of_association" constrainedElement="_VdgfkBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VdgfpRE9EeGOffqMW1YiZA" annotatedElement="_VdgfpBE9EeGOffqMW1YiZA">
+          <body>The association of the association end of the qualifier attribute must be an association class.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VdgfphE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>self.qualifier.associationEnd.association.oclIsKindOf(AssociationClass)</body>
+        </specification>
+      </ownedRule>
+      <ownedRule xmi:id="_VdgfpxE9EeGOffqMW1YiZA" name="qualifier_attribute" constrainedElement="_VdgfkBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VdgfqBE9EeGOffqMW1YiZA" annotatedElement="_VdgfpxE9EeGOffqMW1YiZA">
+          <body>The qualifier attribute must be a qualifier attribute of an association end.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VdgfqRE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>self.qualifier.associationEnd->size() = 1</body>
+        </specification>
+      </ownedRule>
+      <generalization xmi:id="_VdgfqhE9EeGOffqMW1YiZA" general="_6WKakLLQEeCsYvaJqFFivQ"/>
+      <ownedAttribute xmi:id="_VdgfqxE9EeGOffqMW1YiZA" name="object" visibility="public" type="_VZp6WRE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_VU4IABE9EeGOffqMW1YiZA" association="_VT20UxE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VdgfrBE9EeGOffqMW1YiZA" annotatedElement="_VdgfqxE9EeGOffqMW1YiZA">
+          <body>Gives the input pin from which the link object is obtained.</body>
+        </ownedComment>
+      </ownedAttribute>
+      <ownedAttribute xmi:id="_VdgfrRE9EeGOffqMW1YiZA" name="qualifier" visibility="public" type="_Jp_1oGveEdq4DLWZOhbdEA" association="_VUMylBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VdgfrhE9EeGOffqMW1YiZA" annotatedElement="_VdgfrRE9EeGOffqMW1YiZA">
+          <body>The attribute representing the qualifier to be read.</body>
+        </ownedComment>
+      </ownedAttribute>
+      <ownedAttribute xmi:id="_VdgfrxE9EeGOffqMW1YiZA" name="result" visibility="public" type="_VcHYcBE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_VU4vEBE9EeGOffqMW1YiZA" association="_VUefZhE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VdgfsBE9EeGOffqMW1YiZA" annotatedElement="_VdgfrxE9EeGOffqMW1YiZA">
+          <body>Pin where the result value is placed.</body>
+        </ownedComment>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Class" xmi:id="_VdhGoBE9EeGOffqMW1YiZA" name="ReadSelfAction">
+      <ownedComment xmi:id="_VdhGoRE9EeGOffqMW1YiZA" annotatedElement="_VdhGoBE9EeGOffqMW1YiZA">
+        <body>A read self action is an action that retrieves the host object of an action.</body>
+      </ownedComment>
+      <ownedRule xmi:id="_VdhGohE9EeGOffqMW1YiZA" name="contained" constrainedElement="_VdhGoBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VdhGoxE9EeGOffqMW1YiZA" annotatedElement="_VdhGohE9EeGOffqMW1YiZA">
+          <body>The action must be contained in an behavior that has a host classifier.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VdhGpBE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>self.context->size() = 1</body>
+        </specification>
+      </ownedRule>
+      <ownedRule xmi:id="_VdhGpRE9EeGOffqMW1YiZA" name="type" constrainedElement="_VdhGoBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VdhGphE9EeGOffqMW1YiZA" annotatedElement="_VdhGpRE9EeGOffqMW1YiZA">
           <body>The type of the result output pin is the host classifier.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g124rdwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VdhGpxE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>self.result.type = self.context</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_g124rtwbEeCT5O2F6sGn5g" general="_6WKakLLQEeCsYvaJqFFivQ"/>
-      <ownedAttribute xmi:id="_g124r9wbEeCT5O2F6sGn5g" name="result" visibility="public" type="_g1fsRdwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_gzCOK9wbEeCT5O2F6sGn5g" association="_gy2A4NwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g124sNwbEeCT5O2F6sGn5g" annotatedElement="_g124r9wbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VdhGqBE9EeGOffqMW1YiZA" name="not_static" constrainedElement="_VdhGoBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VdhGqRE9EeGOffqMW1YiZA" annotatedElement="_VdhGqBE9EeGOffqMW1YiZA">
+          <body>If the action is contained in an behavior that is acting as the body of a method, then the operation of the method must not be static.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VdhGqhE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>true</body>
+        </specification>
+      </ownedRule>
+      <ownedRule xmi:id="_VdhGqxE9EeGOffqMW1YiZA" name="multiplicity" constrainedElement="_VdhGoBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VdhGrBE9EeGOffqMW1YiZA" annotatedElement="_VdhGqxE9EeGOffqMW1YiZA">
+          <body>The multiplicity of the result output pin is 1..1.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VdhGrRE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>self.result.multiplicity.is(1,1)</body>
+        </specification>
+      </ownedRule>
+      <generalization xmi:id="_VdhGrhE9EeGOffqMW1YiZA" general="_6WKakLLQEeCsYvaJqFFivQ"/>
+      <ownedAttribute xmi:id="_VdhGrxE9EeGOffqMW1YiZA" name="result" visibility="public" type="_VcHYcBE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_VU4vEBE9EeGOffqMW1YiZA" association="_VUfGcBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VdhGsBE9EeGOffqMW1YiZA" annotatedElement="_VdhGrxE9EeGOffqMW1YiZA">
           <body>Gives the output pin on which the hosting object is placed.</body>
         </ownedComment>
       </ownedAttribute>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g13fsNwbEeCT5O2F6sGn5g" name="ReadStructuralFeatureAction">
-      <ownedComment xmi:id="_g13fsdwbEeCT5O2F6sGn5g" annotatedElement="_g13fsNwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VdhtsBE9EeGOffqMW1YiZA" name="ReadStructuralFeatureAction">
+      <ownedComment xmi:id="_VdhtsRE9EeGOffqMW1YiZA" annotatedElement="_VdhtsBE9EeGOffqMW1YiZA">
         <body>A read structural feature action is a structural feature action that retrieves the values of a structural feature.</body>
       </ownedComment>
-      <ownedRule xmi:id="_g13fstwbEeCT5O2F6sGn5g" name="multiplicity" constrainedElement="_g13fsNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g13fs9wbEeCT5O2F6sGn5g" annotatedElement="_g13fstwbEeCT5O2F6sGn5g">
-          <body>The multiplicity of the structural feature must be compatible with the multiplicity of the output pin.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g13ftNwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>self.structuralFeature.multiplicity.compatibleWith(self.result.multiplicity)</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_g13ftdwbEeCT5O2F6sGn5g" name="type_and_ordering" constrainedElement="_g13fsNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g13fttwbEeCT5O2F6sGn5g" annotatedElement="_g13ftdwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VdhtshE9EeGOffqMW1YiZA" name="type_and_ordering" constrainedElement="_VdhtsBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VdhtsxE9EeGOffqMW1YiZA" annotatedElement="_VdhtshE9EeGOffqMW1YiZA">
           <body>The type and ordering of the result output pin are the same as the type and ordering of the structural feature.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g13ft9wbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VdhttBE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>self.result.type = self.structuralFeature.type
 and self.result.ordering = self.structuralFeature.ordering
 </body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_g13fuNwbEeCT5O2F6sGn5g" general="_g2H-YNwbEeCT5O2F6sGn5g"/>
-      <ownedAttribute xmi:id="_g13fudwbEeCT5O2F6sGn5g" name="result" visibility="public" type="_g1fsRdwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_gzCOK9wbEeCT5O2F6sGn5g" association="_gy2A49wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g13futwbEeCT5O2F6sGn5g" annotatedElement="_g13fudwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VdhttRE9EeGOffqMW1YiZA" name="multiplicity" constrainedElement="_VdhtsBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VdhtthE9EeGOffqMW1YiZA" annotatedElement="_VdhttRE9EeGOffqMW1YiZA">
+          <body>The multiplicity of the structural feature must be compatible with the multiplicity of the output pin.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VdhttxE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>self.structuralFeature.multiplicity.compatibleWith(self.result.multiplicity)</body>
+        </specification>
+      </ownedRule>
+      <generalization xmi:id="_VdhtuBE9EeGOffqMW1YiZA" general="_VehMMBE9EeGOffqMW1YiZA"/>
+      <ownedAttribute xmi:id="_VdiUwBE9EeGOffqMW1YiZA" name="result" visibility="public" type="_VcHYcBE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_VU4vEBE9EeGOffqMW1YiZA" association="_VUfGcxE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VdiUwRE9EeGOffqMW1YiZA" annotatedElement="_VdiUwBE9EeGOffqMW1YiZA">
           <body>Gives the output pin on which the result is put.</body>
         </ownedComment>
       </ownedAttribute>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g13fu9wbEeCT5O2F6sGn5g" name="ReadVariableAction">
-      <ownedComment xmi:id="_g13fvNwbEeCT5O2F6sGn5g" annotatedElement="_g13fu9wbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_Vdi70BE9EeGOffqMW1YiZA" name="ReadVariableAction">
+      <ownedComment xmi:id="_Vdi70RE9EeGOffqMW1YiZA" annotatedElement="_Vdi70BE9EeGOffqMW1YiZA">
         <body>A read variable action is a variable action that retrieves the values of a variable.</body>
       </ownedComment>
-      <ownedRule xmi:id="_g13fvdwbEeCT5O2F6sGn5g" name="type_and_ordering" constrainedElement="_g13fu9wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g13fvtwbEeCT5O2F6sGn5g" annotatedElement="_g13fvdwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_Vdi70hE9EeGOffqMW1YiZA" name="type_and_ordering" constrainedElement="_Vdi70BE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_Vdi70xE9EeGOffqMW1YiZA" annotatedElement="_Vdi70hE9EeGOffqMW1YiZA">
           <body>The type and ordering of the result output pin of a read-variable action are the same as the type and ordering of the variable.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g14GwNwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_Vdi71BE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>self.result.type =self.variable.type
 and self.result.ordering = self.variable.ordering
 </body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_g14GwdwbEeCT5O2F6sGn5g" name="compatible_multiplicity" constrainedElement="_g13fu9wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g14GwtwbEeCT5O2F6sGn5g" annotatedElement="_g14GwdwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_Vdi71RE9EeGOffqMW1YiZA" name="compatible_multiplicity" constrainedElement="_Vdi70BE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_Vdi71hE9EeGOffqMW1YiZA" annotatedElement="_Vdi71RE9EeGOffqMW1YiZA">
           <body>The multiplicity of the variable must be compatible with the multiplicity of the output pin.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g14Gw9wbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_Vdi71xE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>self.variable.multiplicity.compatibleWith(self.result.multiplicity)</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_g14GxNwbEeCT5O2F6sGn5g" general="_g2ZrMNwbEeCT5O2F6sGn5g"/>
-      <ownedAttribute xmi:id="_g14GxdwbEeCT5O2F6sGn5g" name="result" visibility="public" type="_g1fsRdwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_gzCOK9wbEeCT5O2F6sGn5g" association="_gy2A5twbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g14GxtwbEeCT5O2F6sGn5g" annotatedElement="_g14GxdwbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_Vdi72BE9EeGOffqMW1YiZA" general="_VfIQRBE9EeGOffqMW1YiZA"/>
+      <ownedAttribute xmi:id="_Vdi72RE9EeGOffqMW1YiZA" name="result" visibility="public" type="_VcHYcBE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_VU4vEBE9EeGOffqMW1YiZA" association="_VUfGdhE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_Vdi72hE9EeGOffqMW1YiZA" annotatedElement="_Vdi72RE9EeGOffqMW1YiZA">
           <body>Gives the output pin on which the result is put.</body>
         </ownedComment>
       </ownedAttribute>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g14Gx9wbEeCT5O2F6sGn5g" name="Realization">
-      <ownedComment xmi:id="_g14GyNwbEeCT5O2F6sGn5g" annotatedElement="_g14Gx9wbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_Vdi72xE9EeGOffqMW1YiZA" name="Realization">
+      <ownedComment xmi:id="_Vdi73BE9EeGOffqMW1YiZA" annotatedElement="_Vdi72xE9EeGOffqMW1YiZA">
         <body>Realization is a specialized abstraction relationship between two sets of model elements, one representing a specification (the supplier) and the other represents an implementation of the latter (the client). Realization can be used to model stepwise refinement, optimizations, transformations, templates, model synthesis, framework composition, etc.</body>
       </ownedComment>
-      <generalization xmi:id="_g14GydwbEeCT5O2F6sGn5g" general="_gzAY9twbEeCT5O2F6sGn5g"/>
+      <generalization xmi:id="_Vdi73RE9EeGOffqMW1YiZA" general="_VU1EsBE9EeGOffqMW1YiZA"/>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g14t0NwbEeCT5O2F6sGn5g" name="Reception">
-      <ownedComment xmi:id="_g14t0dwbEeCT5O2F6sGn5g" annotatedElement="_g14t0NwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_Vdji4BE9EeGOffqMW1YiZA" name="Reception">
+      <ownedComment xmi:id="_Vdji4RE9EeGOffqMW1YiZA" annotatedElement="_Vdji4BE9EeGOffqMW1YiZA">
         <body>A reception is a declaration stating that a classifier is prepared to react to the receipt of a signal. A reception designates a signal and specifies the expected behavioral response. The details of handling a signal are specified by the behavior associated with the reception or the classifier itself.</body>
       </ownedComment>
-      <ownedRule xmi:id="_g14t0twbEeCT5O2F6sGn5g" name="not_query" constrainedElement="_g14t0NwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g14t09wbEeCT5O2F6sGn5g" annotatedElement="_g14t0twbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_Vdji4hE9EeGOffqMW1YiZA" name="not_query" constrainedElement="_Vdji4BE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_Vdji4xE9EeGOffqMW1YiZA" annotatedElement="_Vdji4hE9EeGOffqMW1YiZA">
           <body>A Reception can not be a query.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g14t1NwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_Vdji5BE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>not self.isQuery</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_g14t1dwbEeCT5O2F6sGn5g" general="_rHT3YKOsEdqi_5gqUMOQtA"/>
-      <ownedAttribute xmi:id="_g14t1twbEeCT5O2F6sGn5g" name="signal" visibility="public" type="_Pu3O0HL0EdqziYxiZo0YtA" association="_gy5ENNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g14t19wbEeCT5O2F6sGn5g" annotatedElement="_g14t1twbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_Vdji5RE9EeGOffqMW1YiZA" general="_rHT3YKOsEdqi_5gqUMOQtA"/>
+      <ownedAttribute xmi:id="_Vdji5hE9EeGOffqMW1YiZA" name="signal" visibility="public" type="_Pu3O0HL0EdqziYxiZo0YtA" association="_VUjX5BE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_Vdji5xE9EeGOffqMW1YiZA" annotatedElement="_Vdji5hE9EeGOffqMW1YiZA">
           <body>The signal that this reception handles.</body>
         </ownedComment>
       </ownedAttribute>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g14t2NwbEeCT5O2F6sGn5g" name="ReclassifyObjectAction">
-      <ownedComment xmi:id="_g14t2dwbEeCT5O2F6sGn5g" annotatedElement="_g14t2NwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VdlYEBE9EeGOffqMW1YiZA" name="ReclassifyObjectAction">
+      <ownedComment xmi:id="_VdlYERE9EeGOffqMW1YiZA" annotatedElement="_VdlYEBE9EeGOffqMW1YiZA">
         <body>A reclassify object action is an action that changes which classifiers classify an object.</body>
       </ownedComment>
-      <ownedRule xmi:id="_g14t2twbEeCT5O2F6sGn5g" name="input_pin" constrainedElement="_g14t2NwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g14t29wbEeCT5O2F6sGn5g" annotatedElement="_g14t2twbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VdlYEhE9EeGOffqMW1YiZA" name="input_pin" constrainedElement="_VdlYEBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VdlYExE9EeGOffqMW1YiZA" annotatedElement="_VdlYEhE9EeGOffqMW1YiZA">
           <body>The input pin has no type.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g14t3NwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VdlYFBE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>self.argument.type->size() = 0</body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_g14t3dwbEeCT5O2F6sGn5g" name="classifier_not_abstract" constrainedElement="_g14t2NwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g14t3twbEeCT5O2F6sGn5g" annotatedElement="_g14t3dwbEeCT5O2F6sGn5g">
-          <body>None of the new classifiers may be abstract.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g14t39wbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>not self.newClassifier->exists(isAbstract = true)</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_g14t4NwbEeCT5O2F6sGn5g" name="multiplicity" constrainedElement="_g14t2NwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g14t4dwbEeCT5O2F6sGn5g" annotatedElement="_g14t4NwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VdlYFRE9EeGOffqMW1YiZA" name="multiplicity" constrainedElement="_VdlYEBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VdlYFhE9EeGOffqMW1YiZA" annotatedElement="_VdlYFRE9EeGOffqMW1YiZA">
           <body>The multiplicity of the input pin is 1..1.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g14t4twbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VdlYFxE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>self.argument.multiplicity.is(1,1)</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_g14t49wbEeCT5O2F6sGn5g" general="_6WKakLLQEeCsYvaJqFFivQ"/>
-      <ownedAttribute xmi:id="_g14t5NwbEeCT5O2F6sGn5g" name="isReplaceAll" visibility="public">
-        <ownedComment xmi:id="_g14t5dwbEeCT5O2F6sGn5g" annotatedElement="_g14t5NwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VdlYGBE9EeGOffqMW1YiZA" name="classifier_not_abstract" constrainedElement="_VdlYEBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VdlYGRE9EeGOffqMW1YiZA" annotatedElement="_VdlYGBE9EeGOffqMW1YiZA">
+          <body>None of the new classifiers may be abstract.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VdlYGhE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>not self.newClassifier->exists(isAbstract = true)</body>
+        </specification>
+      </ownedRule>
+      <generalization xmi:id="_VdlYGxE9EeGOffqMW1YiZA" general="_6WKakLLQEeCsYvaJqFFivQ"/>
+      <ownedAttribute xmi:id="_VdlYHBE9EeGOffqMW1YiZA" name="isReplaceAll" visibility="public">
+        <ownedComment xmi:id="_VdlYHRE9EeGOffqMW1YiZA" annotatedElement="_VdlYHBE9EeGOffqMW1YiZA">
           <body>Specifies whether existing classifiers should be removed before adding the new classifiers.</body>
         </ownedComment>
         <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
-        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_g14t5twbEeCT5O2F6sGn5g"/>
+        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_VdlYHhE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g14t59wbEeCT5O2F6sGn5g" name="newClassifier" visibility="public" type="_6UV2QGwJEdq7X4sGURiZYA" association="_gyk7LNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g14t6NwbEeCT5O2F6sGn5g" annotatedElement="_g14t59wbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VdlYHxE9EeGOffqMW1YiZA" name="newClassifier" visibility="public" type="_6UV2QGwJEdq7X4sGURiZYA" association="_VT1mMBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VdlYIBE9EeGOffqMW1YiZA" annotatedElement="_VdlYHxE9EeGOffqMW1YiZA">
           <body>A set of classifiers to be added to the classifiers of the object.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g14t6dwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g14t6twbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VdlYIRE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VdlYIhE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g14t69wbEeCT5O2F6sGn5g" name="object" visibility="public" type="_g0aHKdwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_gzBnMNwbEeCT5O2F6sGn5g" association="_gyliPdwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g14t7NwbEeCT5O2F6sGn5g" annotatedElement="_g14t69wbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VdlYIxE9EeGOffqMW1YiZA" name="object" visibility="public" type="_VZp6WRE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_VU4IABE9EeGOffqMW1YiZA" association="_VT20VhE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VdlYJBE9EeGOffqMW1YiZA" annotatedElement="_VdlYIxE9EeGOffqMW1YiZA">
           <body>Holds the object to be reclassified.</body>
         </ownedComment>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g14t7dwbEeCT5O2F6sGn5g" name="oldClassifier" visibility="public" type="_6UV2QGwJEdq7X4sGURiZYA" association="_gymwU9wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g14t7twbEeCT5O2F6sGn5g" annotatedElement="_g14t7dwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VdlYJRE9EeGOffqMW1YiZA" name="oldClassifier" visibility="public" type="_6UV2QGwJEdq7X4sGURiZYA" association="_VT7s1hE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VdlYJhE9EeGOffqMW1YiZA" annotatedElement="_VdlYJRE9EeGOffqMW1YiZA">
           <body>A set of classifiers to be removed from the classifiers of the object.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g14t79wbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g14t8NwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VdlYJxE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VdlYKBE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="_uCRA4La-EeCRxrN1JUGuxA" name="RedefinableElement" isAbstract="true">
-      <ownedComment xmi:id="_g15U4NwbEeCT5O2F6sGn5g" annotatedElement="_uCRA4La-EeCRxrN1JUGuxA">
+      <ownedComment xmi:id="_Vdl_IBE9EeGOffqMW1YiZA" annotatedElement="_uCRA4La-EeCRxrN1JUGuxA">
         <body>A redefinable element is an element that, when defined in the context of a classifier, can be redefined more specifically or differently in the context of another classifier that specializes (directly or indirectly) the context classifier.</body>
       </ownedComment>
-      <ownedRule xmi:id="_g15U4dwbEeCT5O2F6sGn5g" name="redefinition_consistent" constrainedElement="_uCRA4La-EeCRxrN1JUGuxA">
-        <ownedComment xmi:id="_g15U4twbEeCT5O2F6sGn5g" annotatedElement="_g15U4dwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_Vdl_IRE9EeGOffqMW1YiZA" name="redefinition_consistent" constrainedElement="_uCRA4La-EeCRxrN1JUGuxA">
+        <ownedComment xmi:id="_Vdl_IhE9EeGOffqMW1YiZA" annotatedElement="_Vdl_IRE9EeGOffqMW1YiZA">
           <body>A redefining element must be consistent with each redefined element.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g15U49wbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_Vdl_IxE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>self.redefinedElement->forAll(re | re.isConsistentWith(self))</body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_g15U5NwbEeCT5O2F6sGn5g" name="non_leaf_redefinition" constrainedElement="_uCRA4La-EeCRxrN1JUGuxA">
-        <ownedComment xmi:id="_g15U5dwbEeCT5O2F6sGn5g" annotatedElement="_g15U5NwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_Vdl_JBE9EeGOffqMW1YiZA" name="non_leaf_redefinition" constrainedElement="_uCRA4La-EeCRxrN1JUGuxA">
+        <ownedComment xmi:id="_Vdl_JRE9EeGOffqMW1YiZA" annotatedElement="_Vdl_JBE9EeGOffqMW1YiZA">
           <body>A redefinable element can only redefine non-leaf redefinable elements</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g15U5twbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_Vdl_JhE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>self.redefinedElement->forAll(not isLeaf)</body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_g15U59wbEeCT5O2F6sGn5g" name="redefinition_context_valid" constrainedElement="_uCRA4La-EeCRxrN1JUGuxA">
-        <ownedComment xmi:id="_g15U6NwbEeCT5O2F6sGn5g" annotatedElement="_g15U59wbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_Vdl_JxE9EeGOffqMW1YiZA" name="redefinition_context_valid" constrainedElement="_uCRA4La-EeCRxrN1JUGuxA">
+        <ownedComment xmi:id="_Vdl_KBE9EeGOffqMW1YiZA" annotatedElement="_Vdl_JxE9EeGOffqMW1YiZA">
           <body>At least one of the redefinition contexts of the redefining element must be a specialization of at least one of the redefinition contexts for each redefined element.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g15U6dwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_Vdl_KRE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>self.redefinedElement->forAll(e | self.isRedefinitionContextValid(e))</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_g15U6twbEeCT5O2F6sGn5g" general="_csVgUGvtEdqG6fBIPwe-mw"/>
-      <ownedAttribute xmi:id="_g15U69wbEeCT5O2F6sGn5g" name="isLeaf" visibility="public">
-        <ownedComment xmi:id="_g15U7NwbEeCT5O2F6sGn5g" annotatedElement="_g15U69wbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_Vdl_KhE9EeGOffqMW1YiZA" general="_csVgUGvtEdqG6fBIPwe-mw"/>
+      <ownedAttribute xmi:id="_VdmmMBE9EeGOffqMW1YiZA" name="isLeaf" visibility="public">
+        <ownedComment xmi:id="_VdmmMRE9EeGOffqMW1YiZA" annotatedElement="_VdmmMBE9EeGOffqMW1YiZA">
           <body>Indicates whether it is possible to further redefine a RedefinableElement. If the value is true, then it is not possible to further redefine the RedefinableElement. Note that this property is preserved through package merge operations; that is, the capability to redefine a RedefinableElement (i.e., isLeaf=false) must be preserved in the resulting RedefinableElement of a package merge operation where a RedefinableElement with isLeaf=false is merged with a matching RedefinableElement with isLeaf=true: the resulting RedefinableElement will have isLeaf=false. Default value is false.</body>
         </ownedComment>
         <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
-        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_g15U7dwbEeCT5O2F6sGn5g"/>
+        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_VdmmMhE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g15U7twbEeCT5O2F6sGn5g" name="redefinedElement" visibility="public" type="_uCRA4La-EeCRxrN1JUGuxA" isReadOnly="true" isDerived="true" isDerivedUnion="true" association="_gywhUNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g15U79wbEeCT5O2F6sGn5g" annotatedElement="_g15U7twbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VdtT4BE9EeGOffqMW1YiZA" name="redefinedElement" visibility="public" type="_uCRA4La-EeCRxrN1JUGuxA" isReadOnly="true" isDerived="true" isDerivedUnion="true" association="_VURrEBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VdtT4RE9EeGOffqMW1YiZA" annotatedElement="_VdtT4BE9EeGOffqMW1YiZA">
           <body>The redefinable element that is being redefined by this element.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g15U8NwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g15U8dwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VdtT4hE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VdtT4xE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_zYrE4La-EeCRxrN1JUGuxA" name="redefinitionContext" visibility="public" type="_6UV2QGwJEdq7X4sGURiZYA" isReadOnly="true" isDerived="true" isDerivedUnion="true" association="_gyxIbtwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g15U8twbEeCT5O2F6sGn5g" annotatedElement="_zYrE4La-EeCRxrN1JUGuxA">
+      <ownedAttribute xmi:id="_zYrE4La-EeCRxrN1JUGuxA" name="redefinitionContext" visibility="public" type="_6UV2QGwJEdq7X4sGURiZYA" isReadOnly="true" isDerived="true" isDerivedUnion="true" association="_VUWjlhE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VdtT5BE9EeGOffqMW1YiZA" annotatedElement="_zYrE4La-EeCRxrN1JUGuxA">
           <body>References the contexts that this element may be redefined from.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g15U89wbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g15U9NwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Vdt68BE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Vdt68RE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedOperation xmi:id="_g1578NwbEeCT5O2F6sGn5g" name="isConsistentWith" visibility="public" bodyCondition="_g1578twbEeCT5O2F6sGn5g" isQuery="true" precondition="_g1579NwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1578dwbEeCT5O2F6sGn5g" annotatedElement="_g1578NwbEeCT5O2F6sGn5g">
+      <ownedOperation xmi:id="_Vd1PsBE9EeGOffqMW1YiZA" name="isConsistentWith" visibility="public" bodyCondition="_Vd1PshE9EeGOffqMW1YiZA" isQuery="true" precondition="_Vd1PtBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_Vd1PsRE9EeGOffqMW1YiZA" annotatedElement="_Vd1PsBE9EeGOffqMW1YiZA">
           <body>The query isConsistentWith() specifies, for any two RedefinableElements in a context in which redefinition is possible, whether redefinition would be logically consistent. By default, this is false; this operation must be overridden for subclasses of RedefinableElement to define the consistency conditions.</body>
         </ownedComment>
-        <ownedRule xmi:id="_g1578twbEeCT5O2F6sGn5g" name="spec" constrainedElement="_g1578NwbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g15789wbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_Vd1PshE9EeGOffqMW1YiZA" name="spec" constrainedElement="_Vd1PsBE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_Vd1PsxE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = false</body>
           </specification>
         </ownedRule>
-        <ownedRule xmi:id="_g1579NwbEeCT5O2F6sGn5g" name="pre" constrainedElement="_g1578NwbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1579dwbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_Vd1PtBE9EeGOffqMW1YiZA" name="pre" constrainedElement="_Vd1PsBE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_Vd1PtRE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>redefinee.isRedefinitionContextValid(self)</body>
           </specification>
         </ownedRule>
-        <ownedParameter xmi:id="_g1579twbEeCT5O2F6sGn5g" name="result" visibility="public" direction="return">
+        <ownedParameter xmi:id="_Vd1PthE9EeGOffqMW1YiZA" name="result" visibility="public" direction="return">
           <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
         </ownedParameter>
-        <ownedParameter xmi:id="_g15799wbEeCT5O2F6sGn5g" name="redefinee" visibility="public" type="_uCRA4La-EeCRxrN1JUGuxA"/>
+        <ownedParameter xmi:id="_Vd1PtxE9EeGOffqMW1YiZA" name="redefinee" visibility="public" type="_uCRA4La-EeCRxrN1JUGuxA"/>
       </ownedOperation>
-      <ownedOperation xmi:id="_g157-NwbEeCT5O2F6sGn5g" name="isRedefinitionContextValid" visibility="public" bodyCondition="_g157-twbEeCT5O2F6sGn5g" isQuery="true">
-        <ownedComment xmi:id="_g157-dwbEeCT5O2F6sGn5g" annotatedElement="_g157-NwbEeCT5O2F6sGn5g">
+      <ownedOperation xmi:id="_Vd1PuBE9EeGOffqMW1YiZA" name="isRedefinitionContextValid" visibility="public" bodyCondition="_Vd1PuhE9EeGOffqMW1YiZA" isQuery="true">
+        <ownedComment xmi:id="_Vd1PuRE9EeGOffqMW1YiZA" annotatedElement="_Vd1PuBE9EeGOffqMW1YiZA">
           <body>The query isRedefinitionContextValid() specifies whether the redefinition contexts of this RedefinableElement are properly related to the redefinition contexts of the specified RedefinableElement to allow this element to redefine the other. By default at least one of the redefinition contexts of this element must be a specialization of at least one of the redefinition contexts of the specified element.</body>
         </ownedComment>
-        <ownedRule xmi:id="_g157-twbEeCT5O2F6sGn5g" name="spec" constrainedElement="_g157-NwbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g157-9wbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_Vd1PuhE9EeGOffqMW1YiZA" name="spec" constrainedElement="_Vd1PuBE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_Vd1PuxE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = redefinitionContext->exists(c | c.allParents()->includes(redefined.redefinitionContext)))</body>
           </specification>
         </ownedRule>
-        <ownedParameter xmi:id="_g157_NwbEeCT5O2F6sGn5g" name="result" visibility="public" direction="return">
+        <ownedParameter xmi:id="_Vd1PvBE9EeGOffqMW1YiZA" name="result" visibility="public" direction="return">
           <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
         </ownedParameter>
-        <ownedParameter xmi:id="_g157_dwbEeCT5O2F6sGn5g" name="redefined" visibility="public" type="_uCRA4La-EeCRxrN1JUGuxA"/>
+        <ownedParameter xmi:id="_Vd1PvRE9EeGOffqMW1YiZA" name="redefined" visibility="public" type="_uCRA4La-EeCRxrN1JUGuxA"/>
       </ownedOperation>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="_9keOQGvdEdq4DLWZOhbdEA" name="RedefinableTemplateSignature">
-      <ownedComment xmi:id="_g157_twbEeCT5O2F6sGn5g" annotatedElement="_9keOQGvdEdq4DLWZOhbdEA">
+      <ownedComment xmi:id="_Vd12wBE9EeGOffqMW1YiZA" annotatedElement="_9keOQGvdEdq4DLWZOhbdEA">
         <body>A redefinable template signature supports the addition of formal template parameters in a specialization of a template classifier.</body>
       </ownedComment>
-      <ownedRule xmi:id="_g157_9wbEeCT5O2F6sGn5g" name="inherited_parameters" constrainedElement="_9keOQGvdEdq4DLWZOhbdEA">
-        <ownedComment xmi:id="_g158ANwbEeCT5O2F6sGn5g" annotatedElement="_g157_9wbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_Vd12wRE9EeGOffqMW1YiZA" name="inherited_parameters" constrainedElement="_9keOQGvdEdq4DLWZOhbdEA">
+        <ownedComment xmi:id="_Vd12whE9EeGOffqMW1YiZA" annotatedElement="_Vd12wRE9EeGOffqMW1YiZA">
           <body>The inherited parameters are the parameters of the extended template signature.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g158AdwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_Vd12wxE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>if extendedSignature->isEmpty() then Set{} else extendedSignature.parameter endif</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_g158AtwbEeCT5O2F6sGn5g" general="_uCRA4La-EeCRxrN1JUGuxA"/>
-      <generalization xmi:id="_g16jANwbEeCT5O2F6sGn5g" general="_g2OsENwbEeCT5O2F6sGn5g"/>
-      <ownedAttribute xmi:id="_g16jAdwbEeCT5O2F6sGn5g" name="classifier" visibility="public" type="_6UV2QGwJEdq7X4sGURiZYA" redefinedProperty="_g2OsHdwbEeCT5O2F6sGn5g" subsettedProperty="_zYrE4La-EeCRxrN1JUGuxA" association="_gyrBw9wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g16jAtwbEeCT5O2F6sGn5g" annotatedElement="_g16jAdwbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_Vd12xBE9EeGOffqMW1YiZA" general="_VesyYBE9EeGOffqMW1YiZA"/>
+      <generalization xmi:id="_Vd2d0BE9EeGOffqMW1YiZA" general="_uCRA4La-EeCRxrN1JUGuxA"/>
+      <ownedAttribute xmi:id="_Vd2d0RE9EeGOffqMW1YiZA" name="classifier" visibility="public" type="_6UV2QGwJEdq7X4sGURiZYA" redefinedProperty="_VesybRE9EeGOffqMW1YiZA" subsettedProperty="_zYrE4La-EeCRxrN1JUGuxA" association="_VUEPsxE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_Vd2d0hE9EeGOffqMW1YiZA" annotatedElement="_Vd2d0RE9EeGOffqMW1YiZA">
           <body>The classifier that owns this template signature.</body>
         </ownedComment>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g16jA9wbEeCT5O2F6sGn5g" name="extendedSignature" visibility="public" type="_9keOQGvdEdq4DLWZOhbdEA" subsettedProperty="_g15U7twbEeCT5O2F6sGn5g" association="_gycYSdwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g16jBNwbEeCT5O2F6sGn5g" annotatedElement="_g16jA9wbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_Vd3E4BE9EeGOffqMW1YiZA" name="extendedSignature" visibility="public" type="_9keOQGvdEdq4DLWZOhbdEA" subsettedProperty="_VdtT4BE9EeGOffqMW1YiZA" association="_VTZhUxE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_Vd3E4RE9EeGOffqMW1YiZA" annotatedElement="_Vd3E4BE9EeGOffqMW1YiZA">
           <body>The template signature that is extended by this template signature.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g16jBdwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g16jBtwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Vd3E4hE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Vd3E4xE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g16jB9wbEeCT5O2F6sGn5g" name="inheritedParameter" visibility="public" type="_KxRzgGvuEdqG6fBIPwe-mw" isReadOnly="true" isDerived="true" subsettedProperty="_g2OsGtwbEeCT5O2F6sGn5g" association="_gygCrNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g16jCNwbEeCT5O2F6sGn5g" annotatedElement="_g16jB9wbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_Vd3E5BE9EeGOffqMW1YiZA" name="inheritedParameter" visibility="public" type="_KxRzgGvuEdqG6fBIPwe-mw" isReadOnly="true" isDerived="true" subsettedProperty="_VesyahE9EeGOffqMW1YiZA" association="_VTqAABE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_Vd3E5RE9EeGOffqMW1YiZA" annotatedElement="_Vd3E5BE9EeGOffqMW1YiZA">
           <body>The formal template parameters of the extendedSignature.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g16jCdwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g16jCtwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Vd3E5hE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Vd3E5xE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedOperation xmi:id="_FvJUYFYLEdqrn7iZ0eqieg" name="inheritedParameter" visibility="public" bodyCondition="_g16jDNwbEeCT5O2F6sGn5g" isQuery="true">
-        <ownedComment xmi:id="_g16jC9wbEeCT5O2F6sGn5g" annotatedElement="_FvJUYFYLEdqrn7iZ0eqieg">
+      <ownedOperation xmi:id="_FvJUYFYLEdqrn7iZ0eqieg" name="inheritedParameter" visibility="public" bodyCondition="_Vd3E6RE9EeGOffqMW1YiZA" isQuery="true">
+        <ownedComment xmi:id="_Vd3E6BE9EeGOffqMW1YiZA" annotatedElement="_FvJUYFYLEdqrn7iZ0eqieg">
           <body>Missing derivation for RedefinableTemplateSignature::/inheritedParameter : TemplateParameter</body>
         </ownedComment>
-        <ownedRule xmi:id="_g16jDNwbEeCT5O2F6sGn5g" name="spec" constrainedElement="_FvJUYFYLEdqrn7iZ0eqieg _g16jB9wbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g16jDdwbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_Vd3E6RE9EeGOffqMW1YiZA" name="spec" constrainedElement="_FvJUYFYLEdqrn7iZ0eqieg _Vd3E5BE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_Vd3E6hE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>true</body>
           </specification>
         </ownedRule>
         <ownedParameter xmi:id="_Jbx-MFYLEdqrn7iZ0eqieg" name="result" visibility="public" type="_KxRzgGvuEdqG6fBIPwe-mw" direction="return">
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g16jDtwbEeCT5O2F6sGn5g"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g16jD9wbEeCT5O2F6sGn5g" value="*"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Vd3E6xE9EeGOffqMW1YiZA"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Vd3E7BE9EeGOffqMW1YiZA" value="*"/>
         </ownedParameter>
       </ownedOperation>
-      <ownedOperation xmi:id="_g17KENwbEeCT5O2F6sGn5g" name="isConsistentWith" visibility="public" bodyCondition="_g17KEtwbEeCT5O2F6sGn5g" isQuery="true" precondition="_g17KFNwbEeCT5O2F6sGn5g" redefinedOperation="_g1578NwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g17KEdwbEeCT5O2F6sGn5g" annotatedElement="_g17KENwbEeCT5O2F6sGn5g">
+      <ownedOperation xmi:id="_Vd3r8BE9EeGOffqMW1YiZA" name="isConsistentWith" visibility="public" bodyCondition="_Vd3r8hE9EeGOffqMW1YiZA" isQuery="true" precondition="_Vd3r9BE9EeGOffqMW1YiZA" redefinedOperation="_Vd1PsBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_Vd3r8RE9EeGOffqMW1YiZA" annotatedElement="_Vd3r8BE9EeGOffqMW1YiZA">
           <body>The query isConsistentWith() specifies, for any two RedefinableTemplateSignatures in a context in which redefinition is possible, whether redefinition would be logically consistent. A redefining template signature is always consistent with a redefined template signature, since redefinition only adds new formal parameters.</body>
         </ownedComment>
-        <ownedRule xmi:id="_g17KEtwbEeCT5O2F6sGn5g" name="spec" constrainedElement="_g17KENwbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g17KE9wbEeCT5O2F6sGn5g" name="spec">
+        <ownedRule xmi:id="_Vd3r8hE9EeGOffqMW1YiZA" name="spec" constrainedElement="_Vd3r8BE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_Vd3r8xE9EeGOffqMW1YiZA" name="spec">
             <language>OCL</language>
             <body>result = redefinee.oclIsKindOf(RedefineableTemplateSignature)</body>
           </specification>
         </ownedRule>
-        <ownedRule xmi:id="_g17KFNwbEeCT5O2F6sGn5g" name="pre" constrainedElement="_g17KENwbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g17KFdwbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_Vd3r9BE9EeGOffqMW1YiZA" name="pre" constrainedElement="_Vd3r8BE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_Vd3r9RE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>redefinee.isRedefinitionContextValid(self)</body>
           </specification>
         </ownedRule>
-        <ownedParameter xmi:id="_g17KFtwbEeCT5O2F6sGn5g" name="result" visibility="public" direction="return">
+        <ownedParameter xmi:id="_Vd3r9hE9EeGOffqMW1YiZA" name="result" visibility="public" direction="return">
           <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
         </ownedParameter>
-        <ownedParameter xmi:id="_g17KF9wbEeCT5O2F6sGn5g" name="redefinee" visibility="public" type="_uCRA4La-EeCRxrN1JUGuxA"/>
+        <ownedParameter xmi:id="_Vd3r9xE9EeGOffqMW1YiZA" name="redefinee" visibility="public" type="_uCRA4La-EeCRxrN1JUGuxA"/>
       </ownedOperation>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g17xINwbEeCT5O2F6sGn5g" name="ReduceAction">
-      <ownedComment xmi:id="_g17xIdwbEeCT5O2F6sGn5g" annotatedElement="_g17xINwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_Vd46EBE9EeGOffqMW1YiZA" name="ReduceAction">
+      <ownedComment xmi:id="_Vd46ERE9EeGOffqMW1YiZA" annotatedElement="_Vd46EBE9EeGOffqMW1YiZA">
         <body>A reduce action is an action that reduces a collection to a single value by combining the elements of the collection.</body>
       </ownedComment>
-      <ownedRule xmi:id="_g17xItwbEeCT5O2F6sGn5g" name="reducer_inputs_output" constrainedElement="_g17xINwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g17xI9wbEeCT5O2F6sGn5g" annotatedElement="_g17xItwbEeCT5O2F6sGn5g">
-          <body>The reducer behavior must have two input parameters and one output parameter, of types compatible with the types of elements of the input collection.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g17xJNwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>true</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_g17xJdwbEeCT5O2F6sGn5g" name="input_type_is_collection" constrainedElement="_g17xINwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g17xJtwbEeCT5O2F6sGn5g" annotatedElement="_g17xJdwbEeCT5O2F6sGn5g">
-          <body>The type of the input must be a collection.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g17xJ9wbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>true</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_g17xKNwbEeCT5O2F6sGn5g" name="output_types_are_compatible" constrainedElement="_g17xINwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g17xKdwbEeCT5O2F6sGn5g" annotatedElement="_g17xKNwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_Vd46EhE9EeGOffqMW1YiZA" name="output_types_are_compatible" constrainedElement="_Vd46EBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_Vd46ExE9EeGOffqMW1YiZA" annotatedElement="_Vd46EhE9EeGOffqMW1YiZA">
           <body>The type of the output must be compatible with the type of the output of the reducer behavior.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g17xKtwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_Vd46FBE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>true</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_g17xK9wbEeCT5O2F6sGn5g" general="_6WKakLLQEeCsYvaJqFFivQ"/>
-      <ownedAttribute xmi:id="_g17xLNwbEeCT5O2F6sGn5g" name="collection" visibility="public" type="_g0aHKdwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_gzBnMNwbEeCT5O2F6sGn5g" association="_gyVDj9wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g17xLdwbEeCT5O2F6sGn5g" annotatedElement="_g17xLNwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_Vd46FRE9EeGOffqMW1YiZA" name="reducer_inputs_output" constrainedElement="_Vd46EBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_Vd46FhE9EeGOffqMW1YiZA" annotatedElement="_Vd46FRE9EeGOffqMW1YiZA">
+          <body>The reducer behavior must have two input parameters and one output parameter, of types compatible with the types of elements of the input collection.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_Vd46FxE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>true</body>
+        </specification>
+      </ownedRule>
+      <ownedRule xmi:id="_Vd46GBE9EeGOffqMW1YiZA" name="input_type_is_collection" constrainedElement="_Vd46EBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_Vd46GRE9EeGOffqMW1YiZA" annotatedElement="_Vd46GBE9EeGOffqMW1YiZA">
+          <body>The type of the input must be a collection.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_Vd46GhE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>true</body>
+        </specification>
+      </ownedRule>
+      <generalization xmi:id="_Vd46GxE9EeGOffqMW1YiZA" general="_6WKakLLQEeCsYvaJqFFivQ"/>
+      <ownedAttribute xmi:id="_Vd46HBE9EeGOffqMW1YiZA" name="collection" visibility="public" type="_VZp6WRE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_VU4IABE9EeGOffqMW1YiZA" association="_VTFYQBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_Vd9ykBE9EeGOffqMW1YiZA" annotatedElement="_Vd46HBE9EeGOffqMW1YiZA">
           <body>The collection to be reduced.</body>
         </ownedComment>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g17xLtwbEeCT5O2F6sGn5g" name="isOrdered" visibility="public">
-        <ownedComment xmi:id="_g17xL9wbEeCT5O2F6sGn5g" annotatedElement="_g17xLtwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_Vd9ykRE9EeGOffqMW1YiZA" name="isOrdered" visibility="public">
+        <ownedComment xmi:id="_Vd9ykhE9EeGOffqMW1YiZA" annotatedElement="_Vd9ykRE9EeGOffqMW1YiZA">
           <body>Tells whether the order of the input collection should determine the order in which the behavior is applied to its elements.</body>
         </ownedComment>
         <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
-        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_g17xMNwbEeCT5O2F6sGn5g"/>
+        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_Vd9ykxE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g17xMdwbEeCT5O2F6sGn5g" name="reducer" visibility="public" type="_TUPtYGveEdq4DLWZOhbdEA" association="_gyxvf9wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g17xMtwbEeCT5O2F6sGn5g" annotatedElement="_g17xMdwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_Vd9ylBE9EeGOffqMW1YiZA" name="reducer" visibility="public" type="_TUPtYGveEdq4DLWZOhbdEA" association="_VUYYwBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_Vd9ylRE9EeGOffqMW1YiZA" annotatedElement="_Vd9ylBE9EeGOffqMW1YiZA">
           <body>Behavior that is applied to two elements of the input collection to produce a value that is the same type as elements of the collection.</body>
         </ownedComment>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g17xM9wbEeCT5O2F6sGn5g" name="result" visibility="public" type="_g1fsRdwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_gzCOK9wbEeCT5O2F6sGn5g" association="_gy2A6dwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g17xNNwbEeCT5O2F6sGn5g" annotatedElement="_g17xM9wbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_Vd9ylhE9EeGOffqMW1YiZA" name="result" visibility="public" type="_VcHYcBE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_VU4vEBE9EeGOffqMW1YiZA" association="_VUftgBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_Vd9ylxE9EeGOffqMW1YiZA" annotatedElement="_Vd9ylhE9EeGOffqMW1YiZA">
           <body>Gives the output pin on which the result is put.</body>
         </ownedComment>
       </ownedAttribute>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g18_QNwbEeCT5O2F6sGn5g" name="Region">
-      <ownedComment xmi:id="_g18_QdwbEeCT5O2F6sGn5g" annotatedElement="_g18_QNwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VeA14BE9EeGOffqMW1YiZA" name="Region">
+      <ownedComment xmi:id="_VeA14RE9EeGOffqMW1YiZA" annotatedElement="_VeA14BE9EeGOffqMW1YiZA">
         <body>A region is an orthogonal part of either a composite state or a state machine. It contains states and transitions.</body>
       </ownedComment>
-      <ownedRule xmi:id="_g18_QtwbEeCT5O2F6sGn5g" name="deep_history_vertex" constrainedElement="_g18_QNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g18_Q9wbEeCT5O2F6sGn5g" annotatedElement="_g18_QtwbEeCT5O2F6sGn5g">
-          <body>A region can have at most one deep history vertex</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g18_RNwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>self.subvertex->select (v | v.oclIsKindOf(Pseudostate))->
-select(p : Pseudostate | p.kind = #deepHistory)->size() &lt;= 1
-</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_g18_RdwbEeCT5O2F6sGn5g" name="shallow_history_vertex" constrainedElement="_g18_QNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g18_RtwbEeCT5O2F6sGn5g" annotatedElement="_g18_RdwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VeA14hE9EeGOffqMW1YiZA" name="shallow_history_vertex" constrainedElement="_VeA14BE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VeA14xE9EeGOffqMW1YiZA" annotatedElement="_VeA14hE9EeGOffqMW1YiZA">
           <body>A region can have at most one shallow history vertex</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g18_R9wbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VeA15BE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>self.subvertex->select(v | v.oclIsKindOf(Pseudostate))->
 select(p : Pseudostate | p.kind = #shallowHistory)->size() &lt;= 1
 </body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_g18_SNwbEeCT5O2F6sGn5g" name="owned" constrainedElement="_g18_QNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g18_SdwbEeCT5O2F6sGn5g" annotatedElement="_g18_SNwbEeCT5O2F6sGn5g">
-          <body>If a Region is owned by a StateMachine, then it cannot also be owned by a State and vice versa.</body>
+      <ownedRule xmi:id="_VeA15RE9EeGOffqMW1YiZA" name="deep_history_vertex" constrainedElement="_VeA14BE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VeA15hE9EeGOffqMW1YiZA" annotatedElement="_VeA15RE9EeGOffqMW1YiZA">
+          <body>A region can have at most one deep history vertex</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g18_StwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VeA15xE9EeGOffqMW1YiZA">
           <language>OCL</language>
-          <body>(stateMachine->notEmpty() implies state->isEmpty()) and (state->notEmpty() implies stateMachine->isEmpty())</body>
+          <body>self.subvertex->select (v | v.oclIsKindOf(Pseudostate))->
+select(p : Pseudostate | p.kind = #deepHistory)->size() &lt;= 1
+</body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_g18_S9wbEeCT5O2F6sGn5g" name="initial_vertex" constrainedElement="_g18_QNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g18_TNwbEeCT5O2F6sGn5g" annotatedElement="_g18_S9wbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VeA16BE9EeGOffqMW1YiZA" name="initial_vertex" constrainedElement="_VeA14BE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VeA16RE9EeGOffqMW1YiZA" annotatedElement="_VeA16BE9EeGOffqMW1YiZA">
           <body>A region can have at most one initial vertex</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g18_TdwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VeA16hE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>self.subvertex->select (v | v.oclIsKindOf(Pseudostate))->
 select(p : Pseudostate | p.kind = #initial)->size() &lt;= 1
 </body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_g18_TtwbEeCT5O2F6sGn5g" general="_ZiwkoGwLEdq7X4sGURiZYA"/>
-      <generalization xmi:id="_g18_T9wbEeCT5O2F6sGn5g" general="_uCRA4La-EeCRxrN1JUGuxA"/>
-      <ownedAttribute xmi:id="_g18_UNwbEeCT5O2F6sGn5g" name="extendedRegion" visibility="public" type="_g18_QNwbEeCT5O2F6sGn5g" subsettedProperty="_g15U7twbEeCT5O2F6sGn5g" association="_gycYRtwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g18_UdwbEeCT5O2F6sGn5g" annotatedElement="_g18_UNwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VeA16xE9EeGOffqMW1YiZA" name="owned" constrainedElement="_VeA14BE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VeA17BE9EeGOffqMW1YiZA" annotatedElement="_VeA16xE9EeGOffqMW1YiZA">
+          <body>If a Region is owned by a StateMachine, then it cannot also be owned by a State and vice versa.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VeA17RE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>(stateMachine->notEmpty() implies state->isEmpty()) and (state->notEmpty() implies stateMachine->isEmpty())</body>
+        </specification>
+      </ownedRule>
+      <generalization xmi:id="_VeA17hE9EeGOffqMW1YiZA" general="_uCRA4La-EeCRxrN1JUGuxA"/>
+      <generalization xmi:id="_VeA17xE9EeGOffqMW1YiZA" general="_ZiwkoGwLEdq7X4sGURiZYA"/>
+      <ownedAttribute xmi:id="_VeA18BE9EeGOffqMW1YiZA" name="extendedRegion" visibility="public" type="_VeA14BE9EeGOffqMW1YiZA" subsettedProperty="_VdtT4BE9EeGOffqMW1YiZA" association="_VTZhUBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VeA18RE9EeGOffqMW1YiZA" annotatedElement="_VeA18BE9EeGOffqMW1YiZA">
           <body>The region of which this region is an extension.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g18_UtwbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VeA18hE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g18_U9wbEeCT5O2F6sGn5g" name="redefinitionContext" visibility="public" type="_6UV2QGwJEdq7X4sGURiZYA" isReadOnly="true" isDerived="true" redefinedProperty="_zYrE4La-EeCRxrN1JUGuxA" association="_gyxvcNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g18_VNwbEeCT5O2F6sGn5g" annotatedElement="_g18_U9wbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VeA18xE9EeGOffqMW1YiZA" name="redefinitionContext" visibility="public" type="_6UV2QGwJEdq7X4sGURiZYA" isReadOnly="true" isDerived="true" redefinedProperty="_zYrE4La-EeCRxrN1JUGuxA" association="_VUXKoBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VeA19BE9EeGOffqMW1YiZA" annotatedElement="_VeA18xE9EeGOffqMW1YiZA">
           <body>References the classifier in which context this element may be redefined.</body>
         </ownedComment>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g18_VdwbEeCT5O2F6sGn5g" name="state" visibility="public" type="_g2Ce0NwbEeCT5O2F6sGn5g" subsettedProperty="_1vzv0LbIEeCRxrN1JUGuxA" association="_gyyWiNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g18_VtwbEeCT5O2F6sGn5g" annotatedElement="_g18_VdwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VeA19RE9EeGOffqMW1YiZA" name="state" visibility="public" type="_VeRUkBE9EeGOffqMW1YiZA" subsettedProperty="_1vzv0LbIEeCRxrN1JUGuxA" association="_VUY_1BE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VeA19hE9EeGOffqMW1YiZA" annotatedElement="_VeA19RE9EeGOffqMW1YiZA">
           <body>The State that owns the Region. If a Region is owned by a State, then it cannot also be owned by a StateMachine.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g18_V9wbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VeA19xE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g18_WNwbEeCT5O2F6sGn5g" name="stateMachine" visibility="public" type="_g2EUANwbEeCT5O2F6sGn5g" subsettedProperty="_1vzv0LbIEeCRxrN1JUGuxA" association="_gyyWidwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g18_WdwbEeCT5O2F6sGn5g" annotatedElement="_g18_WNwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VeA1-BE9EeGOffqMW1YiZA" name="stateMachine" visibility="public" type="_VeWNEBE9EeGOffqMW1YiZA" subsettedProperty="_1vzv0LbIEeCRxrN1JUGuxA" association="_VUY_1RE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VeA1-RE9EeGOffqMW1YiZA" annotatedElement="_VeA1-BE9EeGOffqMW1YiZA">
           <body>The StateMachine that owns the Region. If a Region is owned by a StateMachine, then it cannot also be owned by a State.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g18_WtwbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VeA1-hE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g18_W9wbEeCT5O2F6sGn5g" name="subvertex" visibility="public" type="_xM1WoPnlEdunWsS3se92JQ" aggregation="composite" subsettedProperty="_g1S4AdwbEeCT5O2F6sGn5g" association="_gy7getwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g18_XNwbEeCT5O2F6sGn5g" annotatedElement="_g18_W9wbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VeA1-xE9EeGOffqMW1YiZA" name="subvertex" visibility="public" type="_xM1WoPnlEdunWsS3se92JQ" aggregation="composite" subsettedProperty="_Var1EBE9EeGOffqMW1YiZA" association="_VUoQYRE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VeA1_BE9EeGOffqMW1YiZA" annotatedElement="_VeA1-xE9EeGOffqMW1YiZA">
           <body>The set of vertices that are owned by this region.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g18_XdwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g18_XtwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VeA1_RE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VeA1_hE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g18_X9wbEeCT5O2F6sGn5g" name="transition" visibility="public" type="_ykKV8PnlEdunWsS3se92JQ" aggregation="composite" subsettedProperty="_g1S4AdwbEeCT5O2F6sGn5g" association="_gy9VqNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g18_YNwbEeCT5O2F6sGn5g" annotatedElement="_g18_X9wbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VeA1_xE9EeGOffqMW1YiZA" name="transition" visibility="public" type="_ykKV8PnlEdunWsS3se92JQ" aggregation="composite" subsettedProperty="_Var1EBE9EeGOffqMW1YiZA" association="_VUqspBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VeA2ABE9EeGOffqMW1YiZA" annotatedElement="_VeA1_xE9EeGOffqMW1YiZA">
           <body>The set of transitions owned by the region.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g18_YdwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g18_YtwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VeA2ARE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VeA2AhE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedOperation xmi:id="_g18_Y9wbEeCT5O2F6sGn5g" name="belongsToPSM" visibility="public" bodyCondition="_g18_ZdwbEeCT5O2F6sGn5g" isQuery="true">
-        <ownedComment xmi:id="_g18_ZNwbEeCT5O2F6sGn5g" annotatedElement="_g18_Y9wbEeCT5O2F6sGn5g">
+      <ownedOperation xmi:id="_VeA2AxE9EeGOffqMW1YiZA" name="belongsToPSM" visibility="public" bodyCondition="_VeA2BRE9EeGOffqMW1YiZA" isQuery="true">
+        <ownedComment xmi:id="_VeA2BBE9EeGOffqMW1YiZA" annotatedElement="_VeA2AxE9EeGOffqMW1YiZA">
           <body>The operation belongsToPSM () checks if the region belongs to a protocol state machine</body>
         </ownedComment>
-        <ownedRule xmi:id="_g18_ZdwbEeCT5O2F6sGn5g" name="spec" constrainedElement="_g18_Y9wbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g18_ZtwbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VeA2BRE9EeGOffqMW1YiZA" name="spec" constrainedElement="_VeA2AxE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VeA2BhE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = if not stateMachine->isEmpty() then
 oclIsTypeOf(ProtocolStateMachine)
@@ -13312,16 +13321,16 @@
 else false</body>
           </specification>
         </ownedRule>
-        <ownedParameter xmi:id="_g18_Z9wbEeCT5O2F6sGn5g" name="result" visibility="public" direction="return">
+        <ownedParameter xmi:id="_VeA2BxE9EeGOffqMW1YiZA" name="result" visibility="public" direction="return">
           <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
         </ownedParameter>
       </ownedOperation>
-      <ownedOperation xmi:id="_g18_aNwbEeCT5O2F6sGn5g" name="containingStateMachine" visibility="public" bodyCondition="_g18_atwbEeCT5O2F6sGn5g" isQuery="true">
-        <ownedComment xmi:id="_g18_adwbEeCT5O2F6sGn5g" annotatedElement="_g18_aNwbEeCT5O2F6sGn5g">
+      <ownedOperation xmi:id="_VeA2CBE9EeGOffqMW1YiZA" name="containingStateMachine" visibility="public" bodyCondition="_VeA2ChE9EeGOffqMW1YiZA" isQuery="true">
+        <ownedComment xmi:id="_VeA2CRE9EeGOffqMW1YiZA" annotatedElement="_VeA2CBE9EeGOffqMW1YiZA">
           <body>The operation containingStateMachine() returns the sate machine in which this Region is defined</body>
         </ownedComment>
-        <ownedRule xmi:id="_g18_atwbEeCT5O2F6sGn5g" name="spec" constrainedElement="_g18_aNwbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g18_a9wbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VeA2ChE9EeGOffqMW1YiZA" name="spec" constrainedElement="_VeA2CBE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VeA2CxE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = if stateMachine->isEmpty() 
 then
@@ -13331,44 +13340,44 @@
 endif</body>
           </specification>
         </ownedRule>
-        <ownedParameter xmi:id="_g18_bNwbEeCT5O2F6sGn5g" name="result" visibility="public" type="_g2EUANwbEeCT5O2F6sGn5g" direction="return"/>
+        <ownedParameter xmi:id="_VeA2DBE9EeGOffqMW1YiZA" name="result" visibility="public" type="_VeWNEBE9EeGOffqMW1YiZA" direction="return"/>
       </ownedOperation>
-      <ownedOperation xmi:id="_g18_bdwbEeCT5O2F6sGn5g" name="isConsistentWith" visibility="public" bodyCondition="_g18_b9wbEeCT5O2F6sGn5g" isQuery="true" redefinedOperation="_g1578NwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g18_btwbEeCT5O2F6sGn5g" annotatedElement="_g18_bdwbEeCT5O2F6sGn5g">
+      <ownedOperation xmi:id="_VeA2DRE9EeGOffqMW1YiZA" name="isConsistentWith" visibility="public" bodyCondition="_VeA2DxE9EeGOffqMW1YiZA" isQuery="true" redefinedOperation="_Vd1PsBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VeA2DhE9EeGOffqMW1YiZA" annotatedElement="_VeA2DRE9EeGOffqMW1YiZA">
           <body>The query isConsistentWith() specifies that a redefining region is consistent with a redefined region provided that the redefining region is an extension of the redefined region, i.e. it adds vertices and transitions and it redefines states and transitions of the redefined region.</body>
         </ownedComment>
-        <ownedRule xmi:id="_g18_b9wbEeCT5O2F6sGn5g" name="spec" constrainedElement="_g18_bdwbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g18_cNwbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VeA2DxE9EeGOffqMW1YiZA" name="spec" constrainedElement="_VeA2DRE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VeA2EBE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = true</body>
           </specification>
         </ownedRule>
-        <ownedParameter xmi:id="_g18_cdwbEeCT5O2F6sGn5g" name="result" visibility="public" direction="return">
+        <ownedParameter xmi:id="_VeA2ERE9EeGOffqMW1YiZA" name="result" visibility="public" direction="return">
           <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
         </ownedParameter>
-        <ownedParameter xmi:id="_g18_ctwbEeCT5O2F6sGn5g" name="redefinee" visibility="public" type="_uCRA4La-EeCRxrN1JUGuxA"/>
+        <ownedParameter xmi:id="_VeA2EhE9EeGOffqMW1YiZA" name="redefinee" visibility="public" type="_uCRA4La-EeCRxrN1JUGuxA"/>
       </ownedOperation>
-      <ownedOperation xmi:id="_g18_c9wbEeCT5O2F6sGn5g" name="isRedefinitionContextValid" visibility="public" bodyCondition="_g18_ddwbEeCT5O2F6sGn5g" isQuery="true" redefinedOperation="_g157-NwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g18_dNwbEeCT5O2F6sGn5g" annotatedElement="_g18_c9wbEeCT5O2F6sGn5g">
+      <ownedOperation xmi:id="_VeA2ExE9EeGOffqMW1YiZA" name="isRedefinitionContextValid" visibility="public" bodyCondition="_VeA2FRE9EeGOffqMW1YiZA" isQuery="true" redefinedOperation="_Vd1PuBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VeA2FBE9EeGOffqMW1YiZA" annotatedElement="_VeA2ExE9EeGOffqMW1YiZA">
           <body>The query isRedefinitionContextValid() specifies whether the redefinition contexts of a region are properly related to the redefinition contexts of the specified region to allow this element to redefine the other. The containing statemachine/state of a redefining region must redefine the containing statemachine/state of the redefined region.</body>
         </ownedComment>
-        <ownedRule xmi:id="_g18_ddwbEeCT5O2F6sGn5g" name="spec" constrainedElement="_g18_c9wbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g18_dtwbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VeA2FRE9EeGOffqMW1YiZA" name="spec" constrainedElement="_VeA2ExE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VeA2FhE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = true</body>
           </specification>
         </ownedRule>
-        <ownedParameter xmi:id="_g18_d9wbEeCT5O2F6sGn5g" name="result" visibility="public" direction="return">
+        <ownedParameter xmi:id="_VeA2FxE9EeGOffqMW1YiZA" name="result" visibility="public" direction="return">
           <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
         </ownedParameter>
-        <ownedParameter xmi:id="_g18_eNwbEeCT5O2F6sGn5g" name="redefined" visibility="public" type="_g18_QNwbEeCT5O2F6sGn5g"/>
+        <ownedParameter xmi:id="_VeA2GBE9EeGOffqMW1YiZA" name="redefined" visibility="public" type="_VeA14BE9EeGOffqMW1YiZA"/>
       </ownedOperation>
-      <ownedOperation xmi:id="_g18_edwbEeCT5O2F6sGn5g" name="redefinitionContext" visibility="public" bodyCondition="_g18_e9wbEeCT5O2F6sGn5g" isQuery="true">
-        <ownedComment xmi:id="_g18_etwbEeCT5O2F6sGn5g" annotatedElement="_g18_edwbEeCT5O2F6sGn5g">
+      <ownedOperation xmi:id="_VeA2GRE9EeGOffqMW1YiZA" name="redefinitionContext" visibility="public" bodyCondition="_VeA2GxE9EeGOffqMW1YiZA" isQuery="true">
+        <ownedComment xmi:id="_VeA2GhE9EeGOffqMW1YiZA" annotatedElement="_VeA2GRE9EeGOffqMW1YiZA">
           <body>The redefinition context of a region is the nearest containing statemachine</body>
         </ownedComment>
-        <ownedRule xmi:id="_g18_e9wbEeCT5O2F6sGn5g" name="spec" constrainedElement="_g18_edwbEeCT5O2F6sGn5g _g18_U9wbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g18_fNwbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VeA2GxE9EeGOffqMW1YiZA" name="spec" constrainedElement="_VeA2GRE9EeGOffqMW1YiZA _VeA18xE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VeA2HBE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = let sm = containingStateMachine() in
 if sm.context->isEmpty() or sm.general->notEmpty() then
@@ -13378,30 +13387,30 @@
 endif</body>
           </specification>
         </ownedRule>
-        <ownedParameter xmi:id="_g18_fdwbEeCT5O2F6sGn5g" name="result" visibility="public" type="_6UV2QGwJEdq7X4sGURiZYA" direction="return"/>
+        <ownedParameter xmi:id="_VeA2HRE9EeGOffqMW1YiZA" name="result" visibility="public" type="_6UV2QGwJEdq7X4sGURiZYA" direction="return"/>
       </ownedOperation>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="_DH62EKPAEdqi_5gqUMOQtA" name="Relationship" isAbstract="true">
-      <ownedComment xmi:id="_g18_ftwbEeCT5O2F6sGn5g" annotatedElement="_DH62EKPAEdqi_5gqUMOQtA">
+      <ownedComment xmi:id="_VeBc8BE9EeGOffqMW1YiZA" annotatedElement="_DH62EKPAEdqi_5gqUMOQtA">
         <body>Relationship is an abstract concept that specifies some kind of relationship between elements.</body>
       </ownedComment>
-      <generalization xmi:id="_g18_f9wbEeCT5O2F6sGn5g" general="_kl90MGvbEdq4DLWZOhbdEA"/>
-      <ownedAttribute xmi:id="_g18_gNwbEeCT5O2F6sGn5g" name="relatedElement" visibility="public" type="_kl90MGvbEdq4DLWZOhbdEA" isReadOnly="true" isDerived="true" isDerivedUnion="true" association="_gyyWitwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g18_gdwbEeCT5O2F6sGn5g" annotatedElement="_g18_gNwbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_VeBc8RE9EeGOffqMW1YiZA" general="_kl90MGvbEdq4DLWZOhbdEA"/>
+      <ownedAttribute xmi:id="_VeBc8hE9EeGOffqMW1YiZA" name="relatedElement" visibility="public" type="_kl90MGvbEdq4DLWZOhbdEA" isReadOnly="true" isDerived="true" isDerivedUnion="true" association="_VUZm4BE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VeBc8xE9EeGOffqMW1YiZA" annotatedElement="_VeBc8hE9EeGOffqMW1YiZA">
           <body>Specifies the elements related by the Relationship.</body>
         </ownedComment>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g18_gtwbEeCT5O2F6sGn5g" value="*"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VeBc9BE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g19mUNwbEeCT5O2F6sGn5g" name="RemoveStructuralFeatureValueAction">
-      <ownedComment xmi:id="_g19mUdwbEeCT5O2F6sGn5g" annotatedElement="_g19mUNwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VeCEABE9EeGOffqMW1YiZA" name="RemoveStructuralFeatureValueAction">
+      <ownedComment xmi:id="_VeCEARE9EeGOffqMW1YiZA" annotatedElement="_VeCEABE9EeGOffqMW1YiZA">
         <body>A remove structural feature value action is a write structural feature action that removes values from structural features.</body>
       </ownedComment>
-      <ownedRule xmi:id="_g19mUtwbEeCT5O2F6sGn5g" name="non_unique_removal" constrainedElement="_g19mUNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g19mU9wbEeCT5O2F6sGn5g" annotatedElement="_g19mUtwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VeCEAhE9EeGOffqMW1YiZA" name="non_unique_removal" constrainedElement="_VeCEABE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VeCEAxE9EeGOffqMW1YiZA" annotatedElement="_VeCEAhE9EeGOffqMW1YiZA">
           <body>Actions removing a value from ordered non-unique structural features must have a single removeAt input pin and no value input pin if isRemoveDuplicates is false. The removeAt pin must be of type Unlimited Natural with multiplicity 1..1. Otherwise, the action has a value input pin and no removeAt input pin.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g19mVNwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VeCEBBE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>if not self.structuralFeature.isOrdered or self.structuralFeature.isUnique or  isRemoveDuplicates then
   self.removeAt -> isEmpty() and self.value -> notEmpty()
@@ -13414,30 +13423,30 @@
 endif</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_g19mVdwbEeCT5O2F6sGn5g" general="_g2bgYNwbEeCT5O2F6sGn5g"/>
-      <ownedAttribute xmi:id="_g19mVtwbEeCT5O2F6sGn5g" name="isRemoveDuplicates" visibility="public">
-        <ownedComment xmi:id="_g19mV9wbEeCT5O2F6sGn5g" annotatedElement="_g19mVtwbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_VeCEBRE9EeGOffqMW1YiZA" general="_VfKscBE9EeGOffqMW1YiZA"/>
+      <ownedAttribute xmi:id="_VeCEBhE9EeGOffqMW1YiZA" name="isRemoveDuplicates" visibility="public">
+        <ownedComment xmi:id="_VeCEBxE9EeGOffqMW1YiZA" annotatedElement="_VeCEBhE9EeGOffqMW1YiZA">
           <body>Specifies whether to remove duplicates of the value in nonunique structural features.</body>
         </ownedComment>
         <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
-        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_g19mWNwbEeCT5O2F6sGn5g"/>
+        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_VeCECBE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g19mWdwbEeCT5O2F6sGn5g" name="removeAt" visibility="public" type="_g0aHKdwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_gzBnMNwbEeCT5O2F6sGn5g" association="_gyy9kNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g19mWtwbEeCT5O2F6sGn5g" annotatedElement="_g19mWdwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VeCECRE9EeGOffqMW1YiZA" name="removeAt" visibility="public" type="_VZp6WRE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_VU4IABE9EeGOffqMW1YiZA" association="_VUZm5BE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VeCEChE9EeGOffqMW1YiZA" annotatedElement="_VeCECRE9EeGOffqMW1YiZA">
           <body>Specifies the position of an existing value to remove in ordered nonunique structural features. The type of the pin is UnlimitedNatural, but the value cannot be zero or unlimited.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g19mW9wbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VeCECxE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g19mXNwbEeCT5O2F6sGn5g" name="RemoveVariableValueAction">
-      <ownedComment xmi:id="_g19mXdwbEeCT5O2F6sGn5g" annotatedElement="_g19mXNwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VeCrEBE9EeGOffqMW1YiZA" name="RemoveVariableValueAction">
+      <ownedComment xmi:id="_VeCrERE9EeGOffqMW1YiZA" annotatedElement="_VeCrEBE9EeGOffqMW1YiZA">
         <body>A remove variable value action is a write variable action that removes values from variables.</body>
       </ownedComment>
-      <ownedRule xmi:id="_g1-NYNwbEeCT5O2F6sGn5g" name="unlimited_natural" constrainedElement="_g19mXNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1-NYdwbEeCT5O2F6sGn5g" annotatedElement="_g1-NYNwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VeCrEhE9EeGOffqMW1YiZA" name="unlimited_natural" constrainedElement="_VeCrEBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VeCrExE9EeGOffqMW1YiZA" annotatedElement="_VeCrEhE9EeGOffqMW1YiZA">
           <body>Actions removing a value from ordered non-unique variables must have a single removeAt input pin and no value input pin if isRemoveDuplicates is false. The removeAt pin must be of type Unlimited Natural with multiplicity 1..1. Otherwise, the action has a value input pin and no removeAt input pin.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1-NYtwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VeCrFBE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>if not self.variable.isOrdered or self.variable.isUnique or isRemoveDuplicates then 
   self.removeAt -> isEmpty() and self.value -> notEmpty()
@@ -13450,136 +13459,136 @@
 endif</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_g1-NY9wbEeCT5O2F6sGn5g" general="_g2bgddwbEeCT5O2F6sGn5g"/>
-      <ownedAttribute xmi:id="_g1-NZNwbEeCT5O2F6sGn5g" name="isRemoveDuplicates" visibility="public">
-        <ownedComment xmi:id="_g1-NZdwbEeCT5O2F6sGn5g" annotatedElement="_g1-NZNwbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_VeCrFRE9EeGOffqMW1YiZA" general="_VfLTgBE9EeGOffqMW1YiZA"/>
+      <ownedAttribute xmi:id="_VeCrFhE9EeGOffqMW1YiZA" name="isRemoveDuplicates" visibility="public">
+        <ownedComment xmi:id="_VeCrFxE9EeGOffqMW1YiZA" annotatedElement="_VeCrFhE9EeGOffqMW1YiZA">
           <body>Specifies whether to remove duplicates of the value in nonunique variables.</body>
         </ownedComment>
         <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
-        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_g1-NZtwbEeCT5O2F6sGn5g"/>
+        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_VeCrGBE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g1-NZ9wbEeCT5O2F6sGn5g" name="removeAt" visibility="public" type="_g0aHKdwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_gzBnMNwbEeCT5O2F6sGn5g" association="_gyy9k9wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1-NaNwbEeCT5O2F6sGn5g" annotatedElement="_g1-NZ9wbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VeCrGRE9EeGOffqMW1YiZA" name="removeAt" visibility="public" type="_VZp6WRE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_VU4IABE9EeGOffqMW1YiZA" association="_VUZm5xE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VeCrGhE9EeGOffqMW1YiZA" annotatedElement="_VeCrGRE9EeGOffqMW1YiZA">
           <body>Specifies the position of an existing value to remove in ordered nonunique variables. The type of the pin is UnlimitedNatural, but the value cannot be zero or unlimited.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1-NadwbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VeCrGxE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g1-NatwbEeCT5O2F6sGn5g" name="ReplyAction">
-      <ownedComment xmi:id="_g1-Na9wbEeCT5O2F6sGn5g" annotatedElement="_g1-NatwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VeDSIBE9EeGOffqMW1YiZA" name="ReplyAction">
+      <ownedComment xmi:id="_VeDSIRE9EeGOffqMW1YiZA" annotatedElement="_VeDSIBE9EeGOffqMW1YiZA">
         <body>A reply action is an action that accepts a set of return values and a value containing return information produced by a previous accept call action. The reply action returns the values to the caller of the previous call, completing execution of the call.</body>
       </ownedComment>
-      <ownedRule xmi:id="_g1-NbNwbEeCT5O2F6sGn5g" name="pins_match_parameter" constrainedElement="_g1-NatwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1-NbdwbEeCT5O2F6sGn5g" annotatedElement="_g1-NbNwbEeCT5O2F6sGn5g">
-          <body>The reply value pins must match the return, out, and inout parameters of the operation on the event on the trigger in number, type, and order.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1-NbtwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>true</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_g1-Nb9wbEeCT5O2F6sGn5g" name="event_on_reply_to_call_trigger" constrainedElement="_g1-NatwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1-NcNwbEeCT5O2F6sGn5g" annotatedElement="_g1-Nb9wbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VeDSIhE9EeGOffqMW1YiZA" name="event_on_reply_to_call_trigger" constrainedElement="_VeDSIBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VeDSIxE9EeGOffqMW1YiZA" annotatedElement="_VeDSIhE9EeGOffqMW1YiZA">
           <body>The event on replyToCall trigger must be a CallEvent replyToCallEvent.oclIsKindOf(CallEvent)</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1-NcdwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VeDSJBE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>replyToCallEvent.oclIsKindOf(CallEvent)</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_g1-NctwbEeCT5O2F6sGn5g" general="_6WKakLLQEeCsYvaJqFFivQ"/>
-      <ownedAttribute xmi:id="_g1-Nc9wbEeCT5O2F6sGn5g" name="replyToCall" visibility="public" type="_g2TkldwbEeCT5O2F6sGn5g" association="_gyy9ltwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1-NdNwbEeCT5O2F6sGn5g" annotatedElement="_g1-Nc9wbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VeDSJRE9EeGOffqMW1YiZA" name="pins_match_parameter" constrainedElement="_VeDSIBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VeDSJhE9EeGOffqMW1YiZA" annotatedElement="_VeDSJRE9EeGOffqMW1YiZA">
+          <body>The reply value pins must match the return, out, and inout parameters of the operation on the event on the trigger in number, type, and order.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VeDSJxE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>true</body>
+        </specification>
+      </ownedRule>
+      <generalization xmi:id="_VeDSKBE9EeGOffqMW1YiZA" general="_6WKakLLQEeCsYvaJqFFivQ"/>
+      <ownedAttribute xmi:id="_VeDSKRE9EeGOffqMW1YiZA" name="replyToCall" visibility="public" type="_VfCJkBE9EeGOffqMW1YiZA" association="_VUaN8BE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VeDSKhE9EeGOffqMW1YiZA" annotatedElement="_VeDSKRE9EeGOffqMW1YiZA">
           <body>The trigger specifying the operation whose call is being replied to.</body>
         </ownedComment>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g1-NddwbEeCT5O2F6sGn5g" name="replyValue" visibility="public" type="_g0aHKdwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_gzBnMNwbEeCT5O2F6sGn5g" association="_gyy9mdwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1-NdtwbEeCT5O2F6sGn5g" annotatedElement="_g1-NddwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VeDSKxE9EeGOffqMW1YiZA" name="replyValue" visibility="public" type="_VZp6WRE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_VU4IABE9EeGOffqMW1YiZA" association="_VUaN8xE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VeDSLBE9EeGOffqMW1YiZA" annotatedElement="_VeDSKxE9EeGOffqMW1YiZA">
           <body>A list of pins containing the reply values of the operation. These values are returned to the caller.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1-Nd9wbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g1-NeNwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VeDSLRE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VeDSLhE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g1-NedwbEeCT5O2F6sGn5g" name="returnInformation" visibility="public" type="_g0aHKdwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_gzBnMNwbEeCT5O2F6sGn5g" association="_gy3PANwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1-NetwbEeCT5O2F6sGn5g" annotatedElement="_g1-NedwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VeDSLxE9EeGOffqMW1YiZA" name="returnInformation" visibility="public" type="_VZp6WRE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_VU4IABE9EeGOffqMW1YiZA" association="_VUg7oBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VeDSMBE9EeGOffqMW1YiZA" annotatedElement="_VeDSLxE9EeGOffqMW1YiZA">
           <body>A pin containing the return information value produced by an earlier AcceptCallAction.</body>
         </ownedComment>
       </ownedAttribute>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g1-0cNwbEeCT5O2F6sGn5g" name="SendObjectAction">
-      <ownedComment xmi:id="_g1-0cdwbEeCT5O2F6sGn5g" annotatedElement="_g1-0cNwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VeD5MBE9EeGOffqMW1YiZA" name="SendObjectAction">
+      <ownedComment xmi:id="_VeD5MRE9EeGOffqMW1YiZA" annotatedElement="_VeD5MBE9EeGOffqMW1YiZA">
         <body>A send object action is an action that transmits an object to the target object, where it may invoke behavior such as the firing of state machine transitions or the execution of an activity. The value of the object is available to the execution of invoked behaviors. The requestor continues execution immediately. Any reply message is ignored and is not transmitted to the requestor.</body>
       </ownedComment>
-      <generalization xmi:id="_g1-0ctwbEeCT5O2F6sGn5g" general="_g0gNxdwbEeCT5O2F6sGn5g"/>
-      <ownedAttribute xmi:id="_g1-0c9wbEeCT5O2F6sGn5g" name="request" visibility="public" type="_g0aHKdwbEeCT5O2F6sGn5g" aggregation="composite" redefinedProperty="_g0gNzNwbEeCT5O2F6sGn5g" association="_gyzkrdwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1-0dNwbEeCT5O2F6sGn5g" annotatedElement="_g1-0c9wbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_VeD5MhE9EeGOffqMW1YiZA" general="_VZzEQBE9EeGOffqMW1YiZA"/>
+      <ownedAttribute xmi:id="_VeD5MxE9EeGOffqMW1YiZA" name="request" visibility="public" type="_VZp6WRE9EeGOffqMW1YiZA" aggregation="composite" redefinedProperty="_VZzERxE9EeGOffqMW1YiZA" association="_VUbcFRE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VeD5NBE9EeGOffqMW1YiZA" annotatedElement="_VeD5MxE9EeGOffqMW1YiZA">
           <body>The request object, which is transmitted to the target object. The object may be copied in transmission, so identity might not be preserved.</body>
         </ownedComment>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g1-0ddwbEeCT5O2F6sGn5g" name="target" visibility="public" type="_g0aHKdwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_gzBnMNwbEeCT5O2F6sGn5g" association="_gy8ulNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1-0dtwbEeCT5O2F6sGn5g" annotatedElement="_g1-0ddwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VeD5NRE9EeGOffqMW1YiZA" name="target" visibility="public" type="_VZp6WRE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_VU4IABE9EeGOffqMW1YiZA" association="_VUpehBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VeD5NhE9EeGOffqMW1YiZA" annotatedElement="_VeD5NRE9EeGOffqMW1YiZA">
           <body>The target object to which the object is sent.</body>
         </ownedComment>
       </ownedAttribute>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g1-0d9wbEeCT5O2F6sGn5g" name="SendSignalAction">
-      <ownedComment xmi:id="_g1-0eNwbEeCT5O2F6sGn5g" annotatedElement="_g1-0d9wbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VeKm4BE9EeGOffqMW1YiZA" name="SendSignalAction">
+      <ownedComment xmi:id="_VeKm4RE9EeGOffqMW1YiZA" annotatedElement="_VeKm4BE9EeGOffqMW1YiZA">
         <body>A send signal action is an action that creates a signal instance from its inputs, and transmits it to the target object, where it may cause the firing of a state machine transition or the execution of an activity. The argument values are available to the execution of associated behaviors. The requestor continues execution immediately. Any reply message is ignored and is not transmitted to the requestor. If the input is already a signal instance, use a send object action.</body>
       </ownedComment>
-      <ownedRule xmi:id="_g1-0edwbEeCT5O2F6sGn5g" name="type_ordering_multiplicity" constrainedElement="_g1-0d9wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1-0etwbEeCT5O2F6sGn5g" annotatedElement="_g1-0edwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VeKm4hE9EeGOffqMW1YiZA" name="type_ordering_multiplicity" constrainedElement="_VeKm4BE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VeKm4xE9EeGOffqMW1YiZA" annotatedElement="_VeKm4hE9EeGOffqMW1YiZA">
           <body>The type, ordering, and multiplicity of an argument pin must be the same as the corresponding attribute of the signal.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1-0e9wbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VeKm5BE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>true</body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_g1-0fNwbEeCT5O2F6sGn5g" name="number_order" constrainedElement="_g1-0d9wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1-0fdwbEeCT5O2F6sGn5g" annotatedElement="_g1-0fNwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VeKm5RE9EeGOffqMW1YiZA" name="number_order" constrainedElement="_VeKm4BE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VeKm5hE9EeGOffqMW1YiZA" annotatedElement="_VeKm5RE9EeGOffqMW1YiZA">
           <body>The number and order of argument pins must be the same as the number and order of attributes in the signal.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g1-0ftwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VeKm5xE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>true</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_g1-0f9wbEeCT5O2F6sGn5g" general="_g0gNxdwbEeCT5O2F6sGn5g"/>
-      <ownedAttribute xmi:id="_g1-0gNwbEeCT5O2F6sGn5g" name="signal" visibility="public" type="_Pu3O0HL0EdqziYxiZo0YtA" association="_gy5EONwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1-0gdwbEeCT5O2F6sGn5g" annotatedElement="_g1-0gNwbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_VeKm6BE9EeGOffqMW1YiZA" general="_VZzEQBE9EeGOffqMW1YiZA"/>
+      <ownedAttribute xmi:id="_VeKm6RE9EeGOffqMW1YiZA" name="signal" visibility="public" type="_Pu3O0HL0EdqziYxiZo0YtA" association="_VUj-8BE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VeKm6hE9EeGOffqMW1YiZA" annotatedElement="_VeKm6RE9EeGOffqMW1YiZA">
           <body>The type of signal transmitted to the target object.</body>
         </ownedComment>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g1-0gtwbEeCT5O2F6sGn5g" name="target" visibility="public" type="_g0aHKdwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_gzBnMNwbEeCT5O2F6sGn5g" association="_gy8ul9wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1-0g9wbEeCT5O2F6sGn5g" annotatedElement="_g1-0gtwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VeKm6xE9EeGOffqMW1YiZA" name="target" visibility="public" type="_VZp6WRE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_VU4IABE9EeGOffqMW1YiZA" association="_VUpehxE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VeKm7BE9EeGOffqMW1YiZA" annotatedElement="_VeKm6xE9EeGOffqMW1YiZA">
           <body>The target object to which the signal is sent.</body>
         </ownedComment>
       </ownedAttribute>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g1_bgNwbEeCT5O2F6sGn5g" name="SequenceNode">
-      <ownedComment xmi:id="_g1_bgdwbEeCT5O2F6sGn5g" annotatedElement="_g1_bgNwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VeLN8BE9EeGOffqMW1YiZA" name="SequenceNode">
+      <ownedComment xmi:id="_VeLN8RE9EeGOffqMW1YiZA" annotatedElement="_VeLN8BE9EeGOffqMW1YiZA">
         <body>A sequence node is a structured activity node that executes its actions in order.</body>
       </ownedComment>
-      <generalization xmi:id="_g1_bgtwbEeCT5O2F6sGn5g" general="_w1_2cLLREeCsYvaJqFFivQ"/>
-      <ownedAttribute xmi:id="_g1_bg9wbEeCT5O2F6sGn5g" name="executableNode" visibility="public" type="_g0OhCNwbEeCT5O2F6sGn5g" isOrdered="true" aggregation="composite" redefinedProperty="_g2IletwbEeCT5O2F6sGn5g" association="_gybxMNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1_bhNwbEeCT5O2F6sGn5g" annotatedElement="_g1_bg9wbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_VeLN8hE9EeGOffqMW1YiZA" general="_w1_2cLLREeCsYvaJqFFivQ"/>
+      <ownedAttribute xmi:id="_VeLN8xE9EeGOffqMW1YiZA" name="executableNode" visibility="public" type="_VZPqoBE9EeGOffqMW1YiZA" isOrdered="true" aggregation="composite" redefinedProperty="_VeiaUxE9EeGOffqMW1YiZA" association="_VTWeAxE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VeLN9BE9EeGOffqMW1YiZA" annotatedElement="_VeLN8xE9EeGOffqMW1YiZA">
           <body>An ordered set of executable nodes.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1_bhdwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g1_bhtwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VeLN9RE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VeLN9hE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="_Pu3O0HL0EdqziYxiZo0YtA" name="Signal">
-      <ownedComment xmi:id="_g1_bh9wbEeCT5O2F6sGn5g" annotatedElement="_Pu3O0HL0EdqziYxiZo0YtA">
+      <ownedComment xmi:id="_VeLN9xE9EeGOffqMW1YiZA" annotatedElement="_Pu3O0HL0EdqziYxiZo0YtA">
         <body>A signal is a specification of send request instances communicated between objects. The receiving object handles the received request instances as specified by its receptions. The data carried by a send request (which was passed to it by the send invocation occurrence that caused that request) are represented as attributes of the signal. A signal is defined independently of the classifiers handling the signal occurrence.</body>
       </ownedComment>
-      <generalization xmi:id="_g1_biNwbEeCT5O2F6sGn5g" general="_6UV2QGwJEdq7X4sGURiZYA"/>
-      <ownedAttribute xmi:id="_g1_bidwbEeCT5O2F6sGn5g" name="ownedAttribute" visibility="public" type="_Jp_1oGveEdq4DLWZOhbdEA" isOrdered="true" aggregation="composite" subsettedProperty="_gzuKp9wbEeCT5O2F6sGn5g _g1S4AdwbEeCT5O2F6sGn5g" association="_gyolgNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1_bitwbEeCT5O2F6sGn5g" annotatedElement="_g1_bidwbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_VeLN-BE9EeGOffqMW1YiZA" general="_6UV2QGwJEdq7X4sGURiZYA"/>
+      <ownedAttribute xmi:id="_VeL1ABE9EeGOffqMW1YiZA" name="ownedAttribute" visibility="public" type="_Jp_1oGveEdq4DLWZOhbdEA" isOrdered="true" aggregation="composite" subsettedProperty="_Var1EBE9EeGOffqMW1YiZA _VXldxBE9EeGOffqMW1YiZA" association="_VT_XMBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VeL1ARE9EeGOffqMW1YiZA" annotatedElement="_VeL1ABE9EeGOffqMW1YiZA">
           <body>The attributes owned by the signal.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g1_bi9wbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g1_bjNwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VeL1AhE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VeL1AxE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
       <ownedOperation xmi:id="_YIM4UHL0EdqziYxiZo0YtA" name="createOwnedAttribute">
         <ownedComment xmi:id="_MBen4OwmEdqYHf-imTcTdw" annotatedElement="_YIM4UHL0EdqziYxiZo0YtA">
@@ -13615,383 +13624,383 @@
         </ownedParameter>
       </ownedOperation>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g1_bjdwbEeCT5O2F6sGn5g" name="SignalEvent">
-      <ownedComment xmi:id="_g1_bjtwbEeCT5O2F6sGn5g" annotatedElement="_g1_bjdwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VeL1BBE9EeGOffqMW1YiZA" name="SignalEvent">
+      <ownedComment xmi:id="_VeL1BRE9EeGOffqMW1YiZA" annotatedElement="_VeL1BBE9EeGOffqMW1YiZA">
         <body>A signal event represents the receipt of an asynchronous signal instance. A signal event may, for example, cause a state machine to trigger a transition.</body>
       </ownedComment>
-      <generalization xmi:id="_g1_bj9wbEeCT5O2F6sGn5g" general="_g1MKRtwbEeCT5O2F6sGn5g"/>
-      <ownedAttribute xmi:id="_g1_bkNwbEeCT5O2F6sGn5g" name="signal" visibility="public" type="_Pu3O0HL0EdqziYxiZo0YtA" association="_gy5EPNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g1_bkdwbEeCT5O2F6sGn5g" annotatedElement="_g1_bkNwbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_VeL1BhE9EeGOffqMW1YiZA" general="_VaEKBhE9EeGOffqMW1YiZA"/>
+      <ownedAttribute xmi:id="_VeL1BxE9EeGOffqMW1YiZA" name="signal" visibility="public" type="_Pu3O0HL0EdqziYxiZo0YtA" association="_VUj-9BE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VeL1CBE9EeGOffqMW1YiZA" annotatedElement="_VeL1BxE9EeGOffqMW1YiZA">
           <body>The specific signal that is associated with this event.</body>
         </ownedComment>
       </ownedAttribute>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g2ACkNwbEeCT5O2F6sGn5g" name="Slot">
-      <ownedComment xmi:id="_g2ACkdwbEeCT5O2F6sGn5g" annotatedElement="_g2ACkNwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VeMcEBE9EeGOffqMW1YiZA" name="Slot">
+      <ownedComment xmi:id="_VeMcERE9EeGOffqMW1YiZA" annotatedElement="_VeMcEBE9EeGOffqMW1YiZA">
         <body>A slot specifies that an entity modeled by an instance specification has a value or values for a specific structural feature.</body>
       </ownedComment>
-      <generalization xmi:id="_g2ACktwbEeCT5O2F6sGn5g" general="_kl90MGvbEdq4DLWZOhbdEA"/>
-      <ownedAttribute xmi:id="_g2ACk9wbEeCT5O2F6sGn5g" name="definingFeature" visibility="public" type="_g2HXUNwbEeCT5O2F6sGn5g" association="_gyYt5NwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2AClNwbEeCT5O2F6sGn5g" annotatedElement="_g2ACk9wbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_VeMcEhE9EeGOffqMW1YiZA" general="_kl90MGvbEdq4DLWZOhbdEA"/>
+      <ownedAttribute xmi:id="_VeMcExE9EeGOffqMW1YiZA" name="definingFeature" visibility="public" type="_Vef-EBE9EeGOffqMW1YiZA" association="_VTOiMBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VeMcFBE9EeGOffqMW1YiZA" annotatedElement="_VeMcExE9EeGOffqMW1YiZA">
           <body>The structural feature that specifies the values that may be held by the slot.</body>
         </ownedComment>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g2ACldwbEeCT5O2F6sGn5g" name="owningInstance" visibility="public" type="_g0auMNwbEeCT5O2F6sGn5g" subsettedProperty="_g0JodNwbEeCT5O2F6sGn5g" association="_gy5rSNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2ACltwbEeCT5O2F6sGn5g" annotatedElement="_g2ACldwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VeMcFRE9EeGOffqMW1YiZA" name="owningInstance" visibility="public" type="_VZrIcBE9EeGOffqMW1YiZA" subsettedProperty="_N3hRMAtAEeGcpbeCPJfCmw" association="_VUkmBBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VeMcFhE9EeGOffqMW1YiZA" annotatedElement="_VeMcFRE9EeGOffqMW1YiZA">
           <body>The instance specification that owns this slot.</body>
         </ownedComment>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g2ACl9wbEeCT5O2F6sGn5g" name="value" visibility="public" type="_g2YdENwbEeCT5O2F6sGn5g" isOrdered="true" aggregation="composite" subsettedProperty="_g0JocNwbEeCT5O2F6sGn5g" association="_gy_K09wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2ACmNwbEeCT5O2F6sGn5g" annotatedElement="_g2ACl9wbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VeMcFxE9EeGOffqMW1YiZA" name="value" visibility="public" type="_VfGbABE9EeGOffqMW1YiZA" isOrdered="true" aggregation="composite" subsettedProperty="_GDD2YAtAEeGcpbeCPJfCmw" association="_VUwMMxE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VeMcGBE9EeGOffqMW1YiZA" annotatedElement="_VeMcFxE9EeGOffqMW1YiZA">
           <body>The value or values corresponding to the defining feature for the owning instance specification.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g2ACmdwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g2ACmtwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VeMcGRE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VeMcGhE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g2ACm9wbEeCT5O2F6sGn5g" name="StartClassifierBehaviorAction">
-      <ownedComment xmi:id="_g2ACnNwbEeCT5O2F6sGn5g" annotatedElement="_g2ACm9wbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VeNDIBE9EeGOffqMW1YiZA" name="StartClassifierBehaviorAction">
+      <ownedComment xmi:id="_VeNDIRE9EeGOffqMW1YiZA" annotatedElement="_VeNDIBE9EeGOffqMW1YiZA">
         <body>A start classifier behavior action is an action that starts the classifier behavior of the input.</body>
       </ownedComment>
-      <ownedRule xmi:id="_g2ACndwbEeCT5O2F6sGn5g" name="multiplicity" constrainedElement="_g2ACm9wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2ACntwbEeCT5O2F6sGn5g" annotatedElement="_g2ACndwbEeCT5O2F6sGn5g">
-          <body>The multiplicity of the input pin is 1..1</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g2ACn9wbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>true</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_g2ACoNwbEeCT5O2F6sGn5g" name="type_has_classifier" constrainedElement="_g2ACm9wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2ACodwbEeCT5O2F6sGn5g" annotatedElement="_g2ACoNwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VeNDIhE9EeGOffqMW1YiZA" name="type_has_classifier" constrainedElement="_VeNDIBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VeNDIxE9EeGOffqMW1YiZA" annotatedElement="_VeNDIhE9EeGOffqMW1YiZA">
           <body>If the input pin has a type, then the type must have a classifier behavior.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g2ACotwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VeNDJBE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>true</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_g2ACo9wbEeCT5O2F6sGn5g" general="_6WKakLLQEeCsYvaJqFFivQ"/>
-      <ownedAttribute xmi:id="_g2ACpNwbEeCT5O2F6sGn5g" name="object" visibility="public" type="_g0aHKdwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_gzBnMNwbEeCT5O2F6sGn5g" association="_gymJQNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2ACpdwbEeCT5O2F6sGn5g" annotatedElement="_g2ACpNwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VeNDJRE9EeGOffqMW1YiZA" name="multiplicity" constrainedElement="_VeNDIBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VeNDJhE9EeGOffqMW1YiZA" annotatedElement="_VeNDJRE9EeGOffqMW1YiZA">
+          <body>The multiplicity of the input pin is 1..1</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VeNDJxE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>true</body>
+        </specification>
+      </ownedRule>
+      <generalization xmi:id="_VeNDKBE9EeGOffqMW1YiZA" general="_6WKakLLQEeCsYvaJqFFivQ"/>
+      <ownedAttribute xmi:id="_VeNDKRE9EeGOffqMW1YiZA" name="object" visibility="public" type="_VZp6WRE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_VU4IABE9EeGOffqMW1YiZA" association="_VT3bYBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VeNDKhE9EeGOffqMW1YiZA" annotatedElement="_VeNDKRE9EeGOffqMW1YiZA">
           <body>Holds the object on which to start the owned behavior.</body>
         </ownedComment>
       </ownedAttribute>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g2ApoNwbEeCT5O2F6sGn5g" name="StartObjectBehaviorAction">
-      <ownedComment xmi:id="_g2ApodwbEeCT5O2F6sGn5g" annotatedElement="_g2ApoNwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VeNqMBE9EeGOffqMW1YiZA" name="StartObjectBehaviorAction">
+      <ownedComment xmi:id="_VeNqMRE9EeGOffqMW1YiZA" annotatedElement="_VeNqMBE9EeGOffqMW1YiZA">
         <body>StartObjectBehaviorAction is an action that starts the execution either of a directly instantiated behavior or of the classifier behavior of an object. Argument values may be supplied for the input parameters of the behavior. If the behavior is invoked synchronously, then output values may be obtained for output parameters.</body>
       </ownedComment>
-      <ownedRule xmi:id="_g2ApotwbEeCT5O2F6sGn5g" name="number_order_results" constrainedElement="_g2ApoNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2Apo9wbEeCT5O2F6sGn5g" annotatedElement="_g2ApotwbEeCT5O2F6sGn5g">
-          <body>The number and order of result pins must be the same as the number and order of the in-out, out and return parameters of the invoked behavior. Pins are matched to parameters by order.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g2AppNwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>true</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_g2AppdwbEeCT5O2F6sGn5g" name="multiplicity_of_object" constrainedElement="_g2ApoNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2ApptwbEeCT5O2F6sGn5g" annotatedElement="_g2AppdwbEeCT5O2F6sGn5g">
-          <body>The multiplicity of the object input pin must be [1..1].</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g2App9wbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>true</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_g2ApqNwbEeCT5O2F6sGn5g" name="type_ordering_multiplicity_match" constrainedElement="_g2ApoNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2ApqdwbEeCT5O2F6sGn5g" annotatedElement="_g2ApqNwbEeCT5O2F6sGn5g">
-          <body>The type, ordering, and multiplicity of an argument or result pin must be the same as the corresponding parameter of the behavior.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g2ApqtwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>true</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_g2Apq9wbEeCT5O2F6sGn5g" name="number_order_arguments" constrainedElement="_g2ApoNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2AprNwbEeCT5O2F6sGn5g" annotatedElement="_g2Apq9wbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VeNqMhE9EeGOffqMW1YiZA" name="number_order_arguments" constrainedElement="_VeNqMBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VeNqMxE9EeGOffqMW1YiZA" annotatedElement="_VeNqMhE9EeGOffqMW1YiZA">
           <body>The number and order of the argument pins must be the same as the number and order of the in and in-out parameters of the invoked behavior. Pins are matched to parameters by order.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g2AprdwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VeNqNBE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>true</body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_g2AprtwbEeCT5O2F6sGn5g" name="type_of_object" constrainedElement="_g2ApoNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2Apr9wbEeCT5O2F6sGn5g" annotatedElement="_g2AprtwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VeNqNRE9EeGOffqMW1YiZA" name="type_ordering_multiplicity_match" constrainedElement="_VeNqMBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VeNqNhE9EeGOffqMW1YiZA" annotatedElement="_VeNqNRE9EeGOffqMW1YiZA">
+          <body>The type, ordering, and multiplicity of an argument or result pin must be the same as the corresponding parameter of the behavior.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VeNqNxE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>true</body>
+        </specification>
+      </ownedRule>
+      <ownedRule xmi:id="_VeNqOBE9EeGOffqMW1YiZA" name="number_order_results" constrainedElement="_VeNqMBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VeNqORE9EeGOffqMW1YiZA" annotatedElement="_VeNqOBE9EeGOffqMW1YiZA">
+          <body>The number and order of result pins must be the same as the number and order of the in-out, out and return parameters of the invoked behavior. Pins are matched to parameters by order.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VeNqOhE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>true</body>
+        </specification>
+      </ownedRule>
+      <ownedRule xmi:id="_VeNqOxE9EeGOffqMW1YiZA" name="type_of_object" constrainedElement="_VeNqMBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VeNqPBE9EeGOffqMW1YiZA" annotatedElement="_VeNqOxE9EeGOffqMW1YiZA">
           <body>The type of the object input pin must be either a Behavior or a BehavioredClassifier with a classifier behavior.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g2ApsNwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VeNqPRE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>true</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_g2ApsdwbEeCT5O2F6sGn5g" general="_gzmO0NwbEeCT5O2F6sGn5g"/>
-      <ownedAttribute xmi:id="_g2ApstwbEeCT5O2F6sGn5g" name="object" visibility="public" type="_g0aHKdwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_gzBnMNwbEeCT5O2F6sGn5g" association="_gymJQ9wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2Aps9wbEeCT5O2F6sGn5g" annotatedElement="_g2ApstwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VeNqPhE9EeGOffqMW1YiZA" name="multiplicity_of_object" constrainedElement="_VeNqMBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VeNqPxE9EeGOffqMW1YiZA" annotatedElement="_VeNqPhE9EeGOffqMW1YiZA">
+          <body>The multiplicity of the object input pin must be [1..1].</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VeNqQBE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>true</body>
+        </specification>
+      </ownedRule>
+      <generalization xmi:id="_VeORQBE9EeGOffqMW1YiZA" general="_VWTEUBE9EeGOffqMW1YiZA"/>
+      <ownedAttribute xmi:id="_VeORQRE9EeGOffqMW1YiZA" name="object" visibility="public" type="_VZp6WRE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_VU4IABE9EeGOffqMW1YiZA" association="_VT3bYxE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VeORQhE9EeGOffqMW1YiZA" annotatedElement="_VeORQRE9EeGOffqMW1YiZA">
           <body>Holds the object which is either a behavior to be started or has a classifier behavior to be started.</body>
         </ownedComment>
       </ownedAttribute>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g2Ce0NwbEeCT5O2F6sGn5g" name="State">
-      <ownedComment xmi:id="_g2Ce0dwbEeCT5O2F6sGn5g" annotatedElement="_g2Ce0NwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VeRUkBE9EeGOffqMW1YiZA" name="State">
+      <ownedComment xmi:id="_VeRUkRE9EeGOffqMW1YiZA" annotatedElement="_VeRUkBE9EeGOffqMW1YiZA">
         <body>A state models a situation during which some (usually implicit) invariant condition holds.</body>
       </ownedComment>
-      <ownedComment xmi:id="_g2Ce0twbEeCT5O2F6sGn5g" annotatedElement="_g2Ce0NwbEeCT5O2F6sGn5g">
+      <ownedComment xmi:id="_VeRUkhE9EeGOffqMW1YiZA" annotatedElement="_VeRUkBE9EeGOffqMW1YiZA">
         <body>The states of protocol state machines are exposed to the users of their context classifiers. A protocol state represents an exposed stable situation of its context classifier: when an instance of the classifier is not processing any operation, users of this instance can always know its state configuration.</body>
       </ownedComment>
-      <ownedRule xmi:id="_g2Ce09wbEeCT5O2F6sGn5g" name="entry_or_exit" constrainedElement="_g2Ce0NwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2Ce1NwbEeCT5O2F6sGn5g" annotatedElement="_g2Ce09wbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VeRUkxE9EeGOffqMW1YiZA" name="entry_or_exit" constrainedElement="_VeRUkBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VeR7oBE9EeGOffqMW1YiZA" annotatedElement="_VeRUkxE9EeGOffqMW1YiZA">
           <body>Only entry or exit pseudostates can serve as connection points.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g2Ce1dwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VeR7oRE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>connectionPoint->forAll(cp|cp.kind = #entry or cp.kind = #exit)</body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_g2Ce1twbEeCT5O2F6sGn5g" name="submachine_states" constrainedElement="_g2Ce0NwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2Ce19wbEeCT5O2F6sGn5g" annotatedElement="_g2Ce1twbEeCT5O2F6sGn5g">
-          <body>Only submachine states can have connection point references.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g2Ce2NwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>isSubmachineState implies connection->notEmpty ( )</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_g2Ce2dwbEeCT5O2F6sGn5g" name="composite_states" constrainedElement="_g2Ce0NwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2Ce2twbEeCT5O2F6sGn5g" annotatedElement="_g2Ce2dwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VeR7ohE9EeGOffqMW1YiZA" name="composite_states" constrainedElement="_VeRUkBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VeR7oxE9EeGOffqMW1YiZA" annotatedElement="_VeR7ohE9EeGOffqMW1YiZA">
           <body>Only composite states can have entry or exit pseudostates defined.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g2Ce29wbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VeR7pBE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>connectionPoint->notEmpty() implies isComoposite</body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_g2Ce3NwbEeCT5O2F6sGn5g" name="destinations_or_sources_of_transitions" constrainedElement="_g2Ce0NwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2Ce3dwbEeCT5O2F6sGn5g" annotatedElement="_g2Ce3NwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VeR7pRE9EeGOffqMW1YiZA" name="destinations_or_sources_of_transitions" constrainedElement="_VeRUkBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VeR7phE9EeGOffqMW1YiZA" annotatedElement="_VeR7pRE9EeGOffqMW1YiZA">
           <body>The connection point references used as destinations/sources of transitions associated with a submachine state must be defined as entry/exit points in the submachine state machine.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g2Ce3twbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VeR7pxE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>self.isSubmachineState implies (self.connection->forAll (cp |
 cp.entry->forAll (p | p.statemachine = self.submachine) and
 cp.exit->forAll (p | p.statemachine = self.submachine)))</body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_g2Ce39wbEeCT5O2F6sGn5g" name="submachine_or_regions" constrainedElement="_g2Ce0NwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2Ce4NwbEeCT5O2F6sGn5g" annotatedElement="_g2Ce39wbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VeR7qBE9EeGOffqMW1YiZA" name="submachine_or_regions" constrainedElement="_VeRUkBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VeR7qRE9EeGOffqMW1YiZA" annotatedElement="_VeR7qBE9EeGOffqMW1YiZA">
           <body>A state is not allowed to have both a submachine and regions.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g2Ce4dwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VeR7qhE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>isComposite implies not isSubmachineState</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_g2Ce4twbEeCT5O2F6sGn5g" general="_uCRA4La-EeCRxrN1JUGuxA"/>
-      <generalization xmi:id="_g2Ce49wbEeCT5O2F6sGn5g" general="_ZiwkoGwLEdq7X4sGURiZYA"/>
-      <generalization xmi:id="_g2Ce5NwbEeCT5O2F6sGn5g" general="_xM1WoPnlEdunWsS3se92JQ"/>
-      <ownedAttribute xmi:id="_g2Ce5dwbEeCT5O2F6sGn5g" name="connection" visibility="public" type="_gz80JdwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_g1S4AdwbEeCT5O2F6sGn5g" association="_gyVqm9wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2Ce5twbEeCT5O2F6sGn5g" annotatedElement="_g2Ce5dwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VeR7qxE9EeGOffqMW1YiZA" name="submachine_states" constrainedElement="_VeRUkBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VeR7rBE9EeGOffqMW1YiZA" annotatedElement="_VeR7qxE9EeGOffqMW1YiZA">
+          <body>Only submachine states can have connection point references.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VeR7rRE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>isSubmachineState implies connection->notEmpty ( )</body>
+        </specification>
+      </ownedRule>
+      <generalization xmi:id="_VeR7rhE9EeGOffqMW1YiZA" general="_ZiwkoGwLEdq7X4sGURiZYA"/>
+      <generalization xmi:id="_VeR7rxE9EeGOffqMW1YiZA" general="_uCRA4La-EeCRxrN1JUGuxA"/>
+      <generalization xmi:id="_VeR7sBE9EeGOffqMW1YiZA" general="_xM1WoPnlEdunWsS3se92JQ"/>
+      <ownedAttribute xmi:id="_VeR7sRE9EeGOffqMW1YiZA" name="connection" visibility="public" type="_VYKskBE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_Var1EBE9EeGOffqMW1YiZA" association="_VTGmYhE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VeR7shE9EeGOffqMW1YiZA" annotatedElement="_VeR7sRE9EeGOffqMW1YiZA">
           <body>The entry and exit connection points used in conjunction with this (submachine) state, i.e. as targets and sources, respectively, in the region with the submachine state. A connection point reference references the corresponding definition of a connection point pseudostate in the statemachine referenced by the submachinestate.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g2Ce59wbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g2Ce6NwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VeR7sxE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VeR7tBE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g2Ce6dwbEeCT5O2F6sGn5g" name="connectionPoint" visibility="public" type="_g1zOQNwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_g1S4AdwbEeCT5O2F6sGn5g" association="_gyVqmdwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2Ce6twbEeCT5O2F6sGn5g" annotatedElement="_g2Ce6dwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VeR7tRE9EeGOffqMW1YiZA" name="connectionPoint" visibility="public" type="_VdaY8BE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_Var1EBE9EeGOffqMW1YiZA" association="_VTGmYBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VeR7thE9EeGOffqMW1YiZA" annotatedElement="_VeR7tRE9EeGOffqMW1YiZA">
           <body>The entry and exit pseudostates of a composite state. These can only be entry or exit Pseudostates, and they must have different names. They can only be defined for composite states.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g2Ce69wbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g2Ce7NwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VeR7txE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VeR7uBE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g2Ce7dwbEeCT5O2F6sGn5g" name="deferrableTrigger" visibility="public" type="_g2TkldwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_g0JocNwbEeCT5O2F6sGn5g" association="_gyYG3twbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2Ce7twbEeCT5O2F6sGn5g" annotatedElement="_g2Ce7dwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VeR7uRE9EeGOffqMW1YiZA" name="deferrableTrigger" visibility="public" type="_VfCJkBE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_GDD2YAtAEeGcpbeCPJfCmw" association="_VTN7IBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VeR7uhE9EeGOffqMW1YiZA" annotatedElement="_VeR7uRE9EeGOffqMW1YiZA">
           <body>A list of triggers that are candidates to be retained by the state machine if they trigger no transitions out of the state (not consumed). A deferred trigger is retained until the state machine reaches a state configuration where it is no longer deferred.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g2Ce79wbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g2Ce8NwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VeR7uxE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VeR7vBE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g2Ce8dwbEeCT5O2F6sGn5g" name="doActivity" visibility="public" type="_TUPtYGveEdq4DLWZOhbdEA" aggregation="composite" subsettedProperty="_g0JocNwbEeCT5O2F6sGn5g" association="_gyZU8NwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2Ce8twbEeCT5O2F6sGn5g" annotatedElement="_g2Ce8dwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VeR7vRE9EeGOffqMW1YiZA" name="doActivity" visibility="public" type="_TUPtYGveEdq4DLWZOhbdEA" aggregation="composite" subsettedProperty="_GDD2YAtAEeGcpbeCPJfCmw" association="_VTPwUxE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VeR7vhE9EeGOffqMW1YiZA" annotatedElement="_VeR7vRE9EeGOffqMW1YiZA">
           <body>An optional behavior that is executed while being in the state. The execution starts when this state is entered, and stops either by itself, or when the state is exited, whichever comes first.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g2Ce89wbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VeR7vxE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g2Ce9NwbEeCT5O2F6sGn5g" name="entry" visibility="public" type="_TUPtYGveEdq4DLWZOhbdEA" aggregation="composite" subsettedProperty="_g0JocNwbEeCT5O2F6sGn5g" association="_gyajFtwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2Ce9dwbEeCT5O2F6sGn5g" annotatedElement="_g2Ce9NwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VeR7wBE9EeGOffqMW1YiZA" name="entry" visibility="public" type="_TUPtYGveEdq4DLWZOhbdEA" aggregation="composite" subsettedProperty="_GDD2YAtAEeGcpbeCPJfCmw" association="_VTUBwxE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VeR7wRE9EeGOffqMW1YiZA" annotatedElement="_VeR7wBE9EeGOffqMW1YiZA">
           <body>An optional behavior that is executed whenever this state is entered regardless of the transition taken to reach the state. If defined, entry actions are always executed to completion prior to any internal behavior or transitions performed within the state.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g2Ce9twbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VeR7whE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g2Ce99wbEeCT5O2F6sGn5g" name="exit" visibility="public" type="_TUPtYGveEdq4DLWZOhbdEA" aggregation="composite" subsettedProperty="_g0JocNwbEeCT5O2F6sGn5g" association="_gybxOtwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2Ce-NwbEeCT5O2F6sGn5g" annotatedElement="_g2Ce99wbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VeR7wxE9EeGOffqMW1YiZA" name="exit" visibility="public" type="_TUPtYGveEdq4DLWZOhbdEA" aggregation="composite" subsettedProperty="_GDD2YAtAEeGcpbeCPJfCmw" association="_VTXsIBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VeR7xBE9EeGOffqMW1YiZA" annotatedElement="_VeR7wxE9EeGOffqMW1YiZA">
           <body>An optional behavior that is executed whenever this state is exited regardless of which transition was taken out of the state. If defined, exit actions are always executed to completion only after all internal activities and transition actions have completed execution.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g2Ce-dwbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VeR7xRE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g2Ce-twbEeCT5O2F6sGn5g" name="isComposite" visibility="public" isReadOnly="true" isDerived="true">
-        <ownedComment xmi:id="_g2Ce-9wbEeCT5O2F6sGn5g" annotatedElement="_g2Ce-twbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VeR7xhE9EeGOffqMW1YiZA" name="isComposite" visibility="public" isReadOnly="true" isDerived="true">
+        <ownedComment xmi:id="_VeR7xxE9EeGOffqMW1YiZA" annotatedElement="_VeR7xhE9EeGOffqMW1YiZA">
           <body>A state with isComposite=true is said to be a composite state. A composite state is a state that contains at least one region.</body>
         </ownedComment>
         <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
-        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_g2Ce_NwbEeCT5O2F6sGn5g"/>
+        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_VeR7yBE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g2Ce_dwbEeCT5O2F6sGn5g" name="isOrthogonal" visibility="public" isReadOnly="true" isDerived="true">
-        <ownedComment xmi:id="_g2Ce_twbEeCT5O2F6sGn5g" annotatedElement="_g2Ce_dwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VeR7yRE9EeGOffqMW1YiZA" name="isOrthogonal" visibility="public" isReadOnly="true" isDerived="true">
+        <ownedComment xmi:id="_VeR7yhE9EeGOffqMW1YiZA" annotatedElement="_VeR7yRE9EeGOffqMW1YiZA">
           <body>A state with isOrthogonal=true is said to be an orthogonal composite state. An orthogonal composite state contains two or more regions.</body>
         </ownedComment>
         <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
-        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_g2Ce_9wbEeCT5O2F6sGn5g"/>
+        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_VeR7yxE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g2CfANwbEeCT5O2F6sGn5g" name="isSimple" visibility="public" isReadOnly="true" isDerived="true">
-        <ownedComment xmi:id="_g2CfAdwbEeCT5O2F6sGn5g" annotatedElement="_g2CfANwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VeR7zBE9EeGOffqMW1YiZA" name="isSimple" visibility="public" isReadOnly="true" isDerived="true">
+        <ownedComment xmi:id="_VeR7zRE9EeGOffqMW1YiZA" annotatedElement="_VeR7zBE9EeGOffqMW1YiZA">
           <body>A state with isSimple=true is said to be a simple state. A simple state does not have any regions and it does not refer to any submachine state machine.</body>
         </ownedComment>
         <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
-        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_g2CfAtwbEeCT5O2F6sGn5g" value="true"/>
+        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_VeR7zhE9EeGOffqMW1YiZA" value="true"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g2CfA9wbEeCT5O2F6sGn5g" name="isSubmachineState" visibility="public" isReadOnly="true" isDerived="true">
-        <ownedComment xmi:id="_g2CfBNwbEeCT5O2F6sGn5g" annotatedElement="_g2CfA9wbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VeR7zxE9EeGOffqMW1YiZA" name="isSubmachineState" visibility="public" isReadOnly="true" isDerived="true">
+        <ownedComment xmi:id="_VeR70BE9EeGOffqMW1YiZA" annotatedElement="_VeR7zxE9EeGOffqMW1YiZA">
           <body>A state with isSubmachineState=true is said to be a submachine state. Such a state refers to a state machine (submachine).</body>
         </ownedComment>
         <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
-        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_g2CfBdwbEeCT5O2F6sGn5g"/>
+        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_VeR70RE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g2CfBtwbEeCT5O2F6sGn5g" name="redefinedState" visibility="public" type="_g2Ce0NwbEeCT5O2F6sGn5g" subsettedProperty="_g15U7twbEeCT5O2F6sGn5g" association="_gyxIaNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2CfB9wbEeCT5O2F6sGn5g" annotatedElement="_g2CfBtwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VeR70hE9EeGOffqMW1YiZA" name="redefinedState" visibility="public" type="_VeRUkBE9EeGOffqMW1YiZA" subsettedProperty="_VdtT4BE9EeGOffqMW1YiZA" association="_VUWjkBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VeR70xE9EeGOffqMW1YiZA" annotatedElement="_VeR70hE9EeGOffqMW1YiZA">
           <body>The state of which this state is a redefinition.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g2CfCNwbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VeR71BE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g2CfCdwbEeCT5O2F6sGn5g" name="redefinitionContext" visibility="public" type="_6UV2QGwJEdq7X4sGURiZYA" isReadOnly="true" isDerived="true" redefinedProperty="_zYrE4La-EeCRxrN1JUGuxA" association="_gyxvddwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2CfCtwbEeCT5O2F6sGn5g" annotatedElement="_g2CfCdwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VeR71RE9EeGOffqMW1YiZA" name="redefinitionContext" visibility="public" type="_6UV2QGwJEdq7X4sGURiZYA" isReadOnly="true" isDerived="true" redefinedProperty="_zYrE4La-EeCRxrN1JUGuxA" association="_VUXKpRE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VeR71hE9EeGOffqMW1YiZA" annotatedElement="_VeR71RE9EeGOffqMW1YiZA">
           <body>References the classifier in which context this element may be redefined.</body>
         </ownedComment>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g2CfC9wbEeCT5O2F6sGn5g" name="region" visibility="public" type="_g18_QNwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_g1S4AdwbEeCT5O2F6sGn5g" association="_gyyWiNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2CfDNwbEeCT5O2F6sGn5g" annotatedElement="_g2CfC9wbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VeR71xE9EeGOffqMW1YiZA" name="region" visibility="public" type="_VeA14BE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_Var1EBE9EeGOffqMW1YiZA" association="_VUY_1BE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VeR72BE9EeGOffqMW1YiZA" annotatedElement="_VeR71xE9EeGOffqMW1YiZA">
           <body>The regions owned directly by the state.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g2CfDdwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g2CfDtwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VeR72RE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VeR72hE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g2CfD9wbEeCT5O2F6sGn5g" name="stateInvariant" visibility="public" type="_g0AegNwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_g1TfANwbEeCT5O2F6sGn5g" association="_gy65ZdwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2CfENwbEeCT5O2F6sGn5g" annotatedElement="_g2CfD9wbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VeR72xE9EeGOffqMW1YiZA" name="stateInvariant" visibility="public" type="_VYbLQBE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_Var1FBE9EeGOffqMW1YiZA" association="_VUmbNRE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VeR73BE9EeGOffqMW1YiZA" annotatedElement="_VeR72xE9EeGOffqMW1YiZA">
           <body>Specifies conditions that are always true when this state is the current state. In protocol state machines, state invariants are additional conditions to the preconditions of the outgoing transitions, and to the postcondition of the incoming transitions.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g2CfEdwbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VeR73RE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g2CfEtwbEeCT5O2F6sGn5g" name="submachine" visibility="public" type="_g2EUANwbEeCT5O2F6sGn5g" association="_gy7gc9wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2CfE9wbEeCT5O2F6sGn5g" annotatedElement="_g2CfEtwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VeR73hE9EeGOffqMW1YiZA" name="submachine" visibility="public" type="_VeWNEBE9EeGOffqMW1YiZA" association="_VUnpUhE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VeR73xE9EeGOffqMW1YiZA" annotatedElement="_VeR73hE9EeGOffqMW1YiZA">
           <body>The state machine that is to be inserted in place of the (submachine) state.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g2CfFNwbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VeR74BE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedOperation xmi:id="_g2CfFdwbEeCT5O2F6sGn5g" name="containingStateMachine" visibility="public" bodyCondition="_g2CfF9wbEeCT5O2F6sGn5g" isQuery="true" redefinedOperation="_g2ZrRdwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2CfFtwbEeCT5O2F6sGn5g" annotatedElement="_g2CfFdwbEeCT5O2F6sGn5g">
+      <ownedOperation xmi:id="_VeR74RE9EeGOffqMW1YiZA" name="containingStateMachine" visibility="public" bodyCondition="_VeR74xE9EeGOffqMW1YiZA" isQuery="true" redefinedOperation="_VfI3TBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VeR74hE9EeGOffqMW1YiZA" annotatedElement="_VeR74RE9EeGOffqMW1YiZA">
           <body>The query containingStateMachine() returns the state machine that contains the state either directly or transitively.</body>
         </ownedComment>
-        <ownedRule xmi:id="_g2CfF9wbEeCT5O2F6sGn5g" name="spec" constrainedElement="_g2CfFdwbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g2CfGNwbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VeR74xE9EeGOffqMW1YiZA" name="spec" constrainedElement="_VeR74RE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VeR75BE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = container.containingStateMachine()</body>
           </specification>
         </ownedRule>
-        <ownedParameter xmi:id="_g2CfGdwbEeCT5O2F6sGn5g" name="result" visibility="public" type="_g2EUANwbEeCT5O2F6sGn5g" direction="return"/>
+        <ownedParameter xmi:id="_VeR75RE9EeGOffqMW1YiZA" name="result" visibility="public" type="_VeWNEBE9EeGOffqMW1YiZA" direction="return"/>
       </ownedOperation>
-      <ownedOperation xmi:id="_g2CfGtwbEeCT5O2F6sGn5g" name="isComposite" visibility="public" bodyCondition="_g2CfHNwbEeCT5O2F6sGn5g" isQuery="true">
-        <ownedComment xmi:id="_g2CfG9wbEeCT5O2F6sGn5g" annotatedElement="_g2CfGtwbEeCT5O2F6sGn5g">
+      <ownedOperation xmi:id="_VeR75hE9EeGOffqMW1YiZA" name="isComposite" visibility="public" bodyCondition="_VeR76BE9EeGOffqMW1YiZA" isQuery="true">
+        <ownedComment xmi:id="_VeR75xE9EeGOffqMW1YiZA" annotatedElement="_VeR75hE9EeGOffqMW1YiZA">
           <body>A composite state is a state with at least one region.</body>
         </ownedComment>
-        <ownedRule xmi:id="_g2CfHNwbEeCT5O2F6sGn5g" name="spec" constrainedElement="_g2CfGtwbEeCT5O2F6sGn5g _g2Ce-twbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g2CfHdwbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VeR76BE9EeGOffqMW1YiZA" name="spec" constrainedElement="_VeR75hE9EeGOffqMW1YiZA _VeR7xhE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VeR76RE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = region.notEmpty()</body>
           </specification>
         </ownedRule>
-        <ownedParameter xmi:id="_g2CfHtwbEeCT5O2F6sGn5g" name="result" visibility="public" direction="return">
+        <ownedParameter xmi:id="_VeR76hE9EeGOffqMW1YiZA" name="result" visibility="public" direction="return">
           <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
         </ownedParameter>
       </ownedOperation>
-      <ownedOperation xmi:id="_g2CfH9wbEeCT5O2F6sGn5g" name="isConsistentWith" visibility="public" bodyCondition="_g2CfIdwbEeCT5O2F6sGn5g" isQuery="true" redefinedOperation="_g1578NwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2CfINwbEeCT5O2F6sGn5g" annotatedElement="_g2CfH9wbEeCT5O2F6sGn5g">
+      <ownedOperation xmi:id="_VeR76xE9EeGOffqMW1YiZA" name="isConsistentWith" visibility="public" bodyCondition="_VeR77RE9EeGOffqMW1YiZA" isQuery="true" redefinedOperation="_Vd1PsBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VeR77BE9EeGOffqMW1YiZA" annotatedElement="_VeR76xE9EeGOffqMW1YiZA">
           <body>The query isConsistentWith() specifies that a redefining state is consistent with a redefined state provided that the redefining state is an extension of the redefined state: A simple state can be redefined (extended) to become a composite state (by adding a region) and a composite state can be redefined (extended) by adding regions and by adding vertices, states, and transitions to inherited regions. All states may add or replace entry, exit, and 'doActivity' actions.</body>
         </ownedComment>
-        <ownedRule xmi:id="_g2CfIdwbEeCT5O2F6sGn5g" name="spec" constrainedElement="_g2CfH9wbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g2CfItwbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VeR77RE9EeGOffqMW1YiZA" name="spec" constrainedElement="_VeR76xE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VeR77hE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = true</body>
           </specification>
         </ownedRule>
-        <ownedParameter xmi:id="_g2CfI9wbEeCT5O2F6sGn5g" name="result" visibility="public" direction="return">
+        <ownedParameter xmi:id="_VeR77xE9EeGOffqMW1YiZA" name="result" visibility="public" direction="return">
           <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
         </ownedParameter>
-        <ownedParameter xmi:id="_g2CfJNwbEeCT5O2F6sGn5g" name="redefinee" visibility="public" type="_uCRA4La-EeCRxrN1JUGuxA"/>
+        <ownedParameter xmi:id="_VeR78BE9EeGOffqMW1YiZA" name="redefinee" visibility="public" type="_uCRA4La-EeCRxrN1JUGuxA"/>
       </ownedOperation>
-      <ownedOperation xmi:id="_g2CfJdwbEeCT5O2F6sGn5g" name="isOrthogonal" visibility="public" bodyCondition="_g2CfJ9wbEeCT5O2F6sGn5g" isQuery="true">
-        <ownedComment xmi:id="_g2CfJtwbEeCT5O2F6sGn5g" annotatedElement="_g2CfJdwbEeCT5O2F6sGn5g">
+      <ownedOperation xmi:id="_VeR78RE9EeGOffqMW1YiZA" name="isOrthogonal" visibility="public" bodyCondition="_VeR78xE9EeGOffqMW1YiZA" isQuery="true">
+        <ownedComment xmi:id="_VeR78hE9EeGOffqMW1YiZA" annotatedElement="_VeR78RE9EeGOffqMW1YiZA">
           <body>An orthogonal state is a composite state with at least 2 regions</body>
         </ownedComment>
-        <ownedRule xmi:id="_g2CfJ9wbEeCT5O2F6sGn5g" name="spec" constrainedElement="_g2CfJdwbEeCT5O2F6sGn5g _g2Ce_dwbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g2CfKNwbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VeR78xE9EeGOffqMW1YiZA" name="spec" constrainedElement="_VeR78RE9EeGOffqMW1YiZA _VeR7yRE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VeR79BE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = (region->size () > 1)</body>
           </specification>
         </ownedRule>
-        <ownedParameter xmi:id="_g2CfKdwbEeCT5O2F6sGn5g" name="result" visibility="public" direction="return">
+        <ownedParameter xmi:id="_VeR79RE9EeGOffqMW1YiZA" name="result" visibility="public" direction="return">
           <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
         </ownedParameter>
       </ownedOperation>
-      <ownedOperation xmi:id="_g2CfKtwbEeCT5O2F6sGn5g" name="isRedefinitionContextValid" visibility="public" bodyCondition="_g2CfLNwbEeCT5O2F6sGn5g" isQuery="true" redefinedOperation="_g157-NwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2CfK9wbEeCT5O2F6sGn5g" annotatedElement="_g2CfKtwbEeCT5O2F6sGn5g">
+      <ownedOperation xmi:id="_VeR79hE9EeGOffqMW1YiZA" name="isRedefinitionContextValid" visibility="public" bodyCondition="_VeR7-BE9EeGOffqMW1YiZA" isQuery="true" redefinedOperation="_Vd1PuBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VeR79xE9EeGOffqMW1YiZA" annotatedElement="_VeR79hE9EeGOffqMW1YiZA">
           <body>The query isRedefinitionContextValid() specifies whether the redefinition contexts of a state are properly related to the redefinition contexts of the specified state to allow this element to redefine the other. The containing region of a redefining state must redefine the containing region of the redefined state.</body>
         </ownedComment>
-        <ownedRule xmi:id="_g2CfLNwbEeCT5O2F6sGn5g" name="spec" constrainedElement="_g2CfKtwbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g2CfLdwbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VeR7-BE9EeGOffqMW1YiZA" name="spec" constrainedElement="_VeR79hE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VeR7-RE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = true</body>
           </specification>
         </ownedRule>
-        <ownedParameter xmi:id="_g2CfLtwbEeCT5O2F6sGn5g" name="result" visibility="public" direction="return">
+        <ownedParameter xmi:id="_VeR7-hE9EeGOffqMW1YiZA" name="result" visibility="public" direction="return">
           <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
         </ownedParameter>
-        <ownedParameter xmi:id="_g2CfL9wbEeCT5O2F6sGn5g" name="redefined" visibility="public" type="_g2Ce0NwbEeCT5O2F6sGn5g"/>
+        <ownedParameter xmi:id="_VeR7-xE9EeGOffqMW1YiZA" name="redefined" visibility="public" type="_VeRUkBE9EeGOffqMW1YiZA"/>
       </ownedOperation>
-      <ownedOperation xmi:id="_g2CfMNwbEeCT5O2F6sGn5g" name="isSimple" visibility="public" bodyCondition="_g2CfMtwbEeCT5O2F6sGn5g" isQuery="true">
-        <ownedComment xmi:id="_g2CfMdwbEeCT5O2F6sGn5g" annotatedElement="_g2CfMNwbEeCT5O2F6sGn5g">
+      <ownedOperation xmi:id="_VeR7_BE9EeGOffqMW1YiZA" name="isSimple" visibility="public" bodyCondition="_VeR7_hE9EeGOffqMW1YiZA" isQuery="true">
+        <ownedComment xmi:id="_VeR7_RE9EeGOffqMW1YiZA" annotatedElement="_VeR7_BE9EeGOffqMW1YiZA">
           <body>A simple state is a state without any regions.</body>
         </ownedComment>
-        <ownedRule xmi:id="_g2CfMtwbEeCT5O2F6sGn5g" name="spec" constrainedElement="_g2CfMNwbEeCT5O2F6sGn5g _g2CfANwbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g2CfM9wbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VeR7_hE9EeGOffqMW1YiZA" name="spec" constrainedElement="_VeR7_BE9EeGOffqMW1YiZA _VeR7zBE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VeR7_xE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = region.isEmpty()</body>
           </specification>
         </ownedRule>
-        <ownedParameter xmi:id="_g2CfNNwbEeCT5O2F6sGn5g" name="result" visibility="public" direction="return">
+        <ownedParameter xmi:id="_VeR8ABE9EeGOffqMW1YiZA" name="result" visibility="public" direction="return">
           <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
         </ownedParameter>
       </ownedOperation>
-      <ownedOperation xmi:id="_g2CfNdwbEeCT5O2F6sGn5g" name="isSubmachineState" visibility="public" bodyCondition="_g2DF4NwbEeCT5O2F6sGn5g" isQuery="true">
-        <ownedComment xmi:id="_g2CfNtwbEeCT5O2F6sGn5g" annotatedElement="_g2CfNdwbEeCT5O2F6sGn5g">
+      <ownedOperation xmi:id="_VeR8ARE9EeGOffqMW1YiZA" name="isSubmachineState" visibility="public" bodyCondition="_VeR8AxE9EeGOffqMW1YiZA" isQuery="true">
+        <ownedComment xmi:id="_VeR8AhE9EeGOffqMW1YiZA" annotatedElement="_VeR8ARE9EeGOffqMW1YiZA">
           <body>Only submachine states can have a reference statemachine.</body>
         </ownedComment>
-        <ownedRule xmi:id="_g2DF4NwbEeCT5O2F6sGn5g" name="spec" constrainedElement="_g2CfNdwbEeCT5O2F6sGn5g _g2CfA9wbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g2DF4dwbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VeR8AxE9EeGOffqMW1YiZA" name="spec" constrainedElement="_VeR8ARE9EeGOffqMW1YiZA _VeR7zxE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VeR8BBE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = submachine.notEmpty()</body>
           </specification>
         </ownedRule>
-        <ownedParameter xmi:id="_g2DF4twbEeCT5O2F6sGn5g" name="result" visibility="public" direction="return">
+        <ownedParameter xmi:id="_VeR8BRE9EeGOffqMW1YiZA" name="result" visibility="public" direction="return">
           <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
         </ownedParameter>
       </ownedOperation>
-      <ownedOperation xmi:id="_g2DF49wbEeCT5O2F6sGn5g" name="redefinitionContext" visibility="public" bodyCondition="_g2DF5dwbEeCT5O2F6sGn5g" isQuery="true">
-        <ownedComment xmi:id="_g2DF5NwbEeCT5O2F6sGn5g" annotatedElement="_g2DF49wbEeCT5O2F6sGn5g">
+      <ownedOperation xmi:id="_VeR8BhE9EeGOffqMW1YiZA" name="redefinitionContext" visibility="public" bodyCondition="_VeR8CBE9EeGOffqMW1YiZA" isQuery="true">
+        <ownedComment xmi:id="_VeR8BxE9EeGOffqMW1YiZA" annotatedElement="_VeR8BhE9EeGOffqMW1YiZA">
           <body>The redefinition context of a state is the nearest containing statemachine.</body>
         </ownedComment>
-        <ownedRule xmi:id="_g2DF5dwbEeCT5O2F6sGn5g" name="spec" constrainedElement="_g2DF49wbEeCT5O2F6sGn5g _g2CfCdwbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g2DF5twbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VeR8CBE9EeGOffqMW1YiZA" name="spec" constrainedElement="_VeR8BhE9EeGOffqMW1YiZA _VeR71RE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VeR8CRE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = let sm = containingStateMachine() in
 if sm.context->isEmpty() or sm.general->notEmpty() then
@@ -14001,113 +14010,113 @@
 endif</body>
           </specification>
         </ownedRule>
-        <ownedParameter xmi:id="_g2DF59wbEeCT5O2F6sGn5g" name="result" visibility="public" type="_6UV2QGwJEdq7X4sGURiZYA" direction="return"/>
+        <ownedParameter xmi:id="_VeR8ChE9EeGOffqMW1YiZA" name="result" visibility="public" type="_6UV2QGwJEdq7X4sGURiZYA" direction="return"/>
       </ownedOperation>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g2DF6NwbEeCT5O2F6sGn5g" name="StateInvariant">
-      <ownedComment xmi:id="_g2DF6dwbEeCT5O2F6sGn5g" annotatedElement="_g2DF6NwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VeSisBE9EeGOffqMW1YiZA" name="StateInvariant">
+      <ownedComment xmi:id="_VeSisRE9EeGOffqMW1YiZA" annotatedElement="_VeSisBE9EeGOffqMW1YiZA">
         <body>A state invariant is a runtime constraint on the participants of the interaction. It may be used to specify a variety of different kinds of constraints, such as values of attributes or variables, internal or external states, and so on. A state invariant is an interaction fragment and it is placed on a lifeline.</body>
       </ownedComment>
-      <generalization xmi:id="_g2DF6twbEeCT5O2F6sGn5g" general="_g0cjYNwbEeCT5O2F6sGn5g"/>
-      <ownedAttribute xmi:id="_g2DF69wbEeCT5O2F6sGn5g" name="covered" visibility="public" type="_g0hb4NwbEeCT5O2F6sGn5g" redefinedProperty="_g0cjY9wbEeCT5O2F6sGn5g" association="_gyXfxNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2DF7NwbEeCT5O2F6sGn5g" annotatedElement="_g2DF69wbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_VeSishE9EeGOffqMW1YiZA" general="_VZuLwBE9EeGOffqMW1YiZA"/>
+      <ownedAttribute xmi:id="_VeSisxE9EeGOffqMW1YiZA" name="covered" visibility="public" type="_VZ0SYBE9EeGOffqMW1YiZA" redefinedProperty="_VZuLwxE9EeGOffqMW1YiZA" association="_VTLe4BE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VeSitBE9EeGOffqMW1YiZA" annotatedElement="_VeSisxE9EeGOffqMW1YiZA">
           <body>References the Lifeline on which the StateInvariant appears.</body>
         </ownedComment>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g2DF7dwbEeCT5O2F6sGn5g" name="invariant" visibility="public" type="_g0AegNwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_g0JocNwbEeCT5O2F6sGn5g" association="_gyhQxtwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2DF7twbEeCT5O2F6sGn5g" annotatedElement="_g2DF7dwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VeSitRE9EeGOffqMW1YiZA" name="invariant" visibility="public" type="_VYbLQBE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_GDD2YAtAEeGcpbeCPJfCmw" association="_VTr1MhE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VeSithE9EeGOffqMW1YiZA" annotatedElement="_VeSitRE9EeGOffqMW1YiZA">
           <body>A Constraint that should hold at runtime for this StateInvariant</body>
         </ownedComment>
       </ownedAttribute>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g2EUANwbEeCT5O2F6sGn5g" name="StateMachine">
-      <ownedComment xmi:id="_g2EUAdwbEeCT5O2F6sGn5g" annotatedElement="_g2EUANwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VeWNEBE9EeGOffqMW1YiZA" name="StateMachine">
+      <ownedComment xmi:id="_VeWNERE9EeGOffqMW1YiZA" annotatedElement="_VeWNEBE9EeGOffqMW1YiZA">
         <body>State machines can be used to express the behavior of part of a system. Behavior is modeled as a traversal of a graph of state nodes interconnected by one or more joined transition arcs that are triggered by the dispatching of series of (event) occurrences. During this traversal, the state machine executes a series of activities associated with various elements of the state machine.</body>
       </ownedComment>
-      <ownedRule xmi:id="_g2EUAtwbEeCT5O2F6sGn5g" name="connection_points" constrainedElement="_g2EUANwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2EUA9wbEeCT5O2F6sGn5g" annotatedElement="_g2EUAtwbEeCT5O2F6sGn5g">
-          <body>The connection points of a state machine are pseudostates of kind entry point or exit point.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g2EUBNwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>conectionPoint->forAll (c | c.kind = #entryPoint or c.kind = #exitPoint)</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_g2EUBdwbEeCT5O2F6sGn5g" name="classifier_context" constrainedElement="_g2EUANwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2EUBtwbEeCT5O2F6sGn5g" annotatedElement="_g2EUBdwbEeCT5O2F6sGn5g">
-          <body>The classifier context of a state machine cannot be an interface.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g2EUB9wbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>context->notEmpty() implies not context.oclIsKindOf(Interface)</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_g2EUCNwbEeCT5O2F6sGn5g" name="method" constrainedElement="_g2EUANwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2EUCdwbEeCT5O2F6sGn5g" annotatedElement="_g2EUCNwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VeWNEhE9EeGOffqMW1YiZA" name="method" constrainedElement="_VeWNEBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VeWNExE9EeGOffqMW1YiZA" annotatedElement="_VeWNEhE9EeGOffqMW1YiZA">
           <body>A state machine as the method for a behavioral feature cannot have entry/exit connection points.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g2EUCtwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VeWNFBE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>specification->notEmpty() implies connectionPoint->isEmpty()</body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_g2EUC9wbEeCT5O2F6sGn5g" name="context_classifier" constrainedElement="_g2EUANwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2EUDNwbEeCT5O2F6sGn5g" annotatedElement="_g2EUC9wbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VeWNFRE9EeGOffqMW1YiZA" name="classifier_context" constrainedElement="_VeWNEBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VeWNFhE9EeGOffqMW1YiZA" annotatedElement="_VeWNFRE9EeGOffqMW1YiZA">
+          <body>The classifier context of a state machine cannot be an interface.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VeWNFxE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>context->notEmpty() implies not context.oclIsKindOf(Interface)</body>
+        </specification>
+      </ownedRule>
+      <ownedRule xmi:id="_VeWNGBE9EeGOffqMW1YiZA" name="context_classifier" constrainedElement="_VeWNEBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VeWNGRE9EeGOffqMW1YiZA" annotatedElement="_VeWNGBE9EeGOffqMW1YiZA">
           <body>The context classifier of the method state machine of a behavioral feature must be the classifier that owns the behavioral feature.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g2EUDdwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VeWNGhE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>specification->notEmpty() implies (context->notEmpty() and specification->featuringClassifier->exists (c | c = context))</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_g2EUDtwbEeCT5O2F6sGn5g" general="_TUPtYGveEdq4DLWZOhbdEA"/>
-      <ownedAttribute xmi:id="_g2EUD9wbEeCT5O2F6sGn5g" name="connectionPoint" visibility="public" type="_g1zOQNwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_g1S4AdwbEeCT5O2F6sGn5g" association="_gyVqmtwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2EUENwbEeCT5O2F6sGn5g" annotatedElement="_g2EUD9wbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VeWNGxE9EeGOffqMW1YiZA" name="connection_points" constrainedElement="_VeWNEBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VeWNHBE9EeGOffqMW1YiZA" annotatedElement="_VeWNGxE9EeGOffqMW1YiZA">
+          <body>The connection points of a state machine are pseudostates of kind entry point or exit point.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VeWNHRE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>conectionPoint->forAll (c | c.kind = #entryPoint or c.kind = #exitPoint)</body>
+        </specification>
+      </ownedRule>
+      <generalization xmi:id="_VeWNHhE9EeGOffqMW1YiZA" general="_TUPtYGveEdq4DLWZOhbdEA"/>
+      <ownedAttribute xmi:id="_VeWNHxE9EeGOffqMW1YiZA" name="connectionPoint" visibility="public" type="_VdaY8BE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_Var1EBE9EeGOffqMW1YiZA" association="_VTGmYRE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VeWNIBE9EeGOffqMW1YiZA" annotatedElement="_VeWNHxE9EeGOffqMW1YiZA">
           <body>The connection points defined for this state machine. They represent the interface of the state machine when used as part of submachine state.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g2EUEdwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g2EUEtwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VeWNIRE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VeWNIhE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g2EUE9wbEeCT5O2F6sGn5g" name="extendedStateMachine" visibility="public" type="_g2EUANwbEeCT5O2F6sGn5g" redefinedProperty="_gzikfNwbEeCT5O2F6sGn5g" association="_gycYTdwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2EUFNwbEeCT5O2F6sGn5g" annotatedElement="_g2EUE9wbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VeWNIxE9EeGOffqMW1YiZA" name="extendedStateMachine" visibility="public" type="_VeWNEBE9EeGOffqMW1YiZA" redefinedProperty="_VWEa0BE9EeGOffqMW1YiZA" association="_VTaIYBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VeWNJBE9EeGOffqMW1YiZA" annotatedElement="_VeWNIxE9EeGOffqMW1YiZA">
           <body>The state machines of which this is an extension.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g2EUFdwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g2EUFtwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VeWNJRE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VeWNJhE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g2EUF9wbEeCT5O2F6sGn5g" name="region" visibility="public" type="_g18_QNwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_g1S4AdwbEeCT5O2F6sGn5g" association="_gyyWidwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2EUGNwbEeCT5O2F6sGn5g" annotatedElement="_g2EUF9wbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VeWNJxE9EeGOffqMW1YiZA" name="region" visibility="public" type="_VeA14BE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_Var1EBE9EeGOffqMW1YiZA" association="_VUY_1RE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VeWNKBE9EeGOffqMW1YiZA" annotatedElement="_VeWNJxE9EeGOffqMW1YiZA">
           <body>The regions owned directly by the state machine.</body>
         </ownedComment>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g2EUGdwbEeCT5O2F6sGn5g" value="*"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VeWNKRE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g2EUGtwbEeCT5O2F6sGn5g" name="submachineState" visibility="public" type="_g2Ce0NwbEeCT5O2F6sGn5g" association="_gy7gc9wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2EUG9wbEeCT5O2F6sGn5g" annotatedElement="_g2EUGtwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VeWNKhE9EeGOffqMW1YiZA" name="submachineState" visibility="public" type="_VeRUkBE9EeGOffqMW1YiZA" association="_VUnpUhE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VeWNKxE9EeGOffqMW1YiZA" annotatedElement="_VeWNKhE9EeGOffqMW1YiZA">
           <body>References the submachine(s) in case of a submachine state. Multiple machines are referenced in case of a concurrent state.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g2EUHNwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g2EUHdwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VeWNLBE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VeWNLRE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedOperation xmi:id="_g2EUHtwbEeCT5O2F6sGn5g" name="LCA" visibility="public" bodyCondition="_g2EUINwbEeCT5O2F6sGn5g" isQuery="true">
-        <ownedComment xmi:id="_g2EUH9wbEeCT5O2F6sGn5g" annotatedElement="_g2EUHtwbEeCT5O2F6sGn5g">
+      <ownedOperation xmi:id="_VeWNLhE9EeGOffqMW1YiZA" name="LCA" visibility="public" bodyCondition="_VeWNMBE9EeGOffqMW1YiZA" isQuery="true">
+        <ownedComment xmi:id="_VeWNLxE9EeGOffqMW1YiZA" annotatedElement="_VeWNLhE9EeGOffqMW1YiZA">
           <body>The operation LCA(s1,s2) returns an orthogonal state or region which is the least common ancestor of states s1 and s2, based on the statemachine containment hierarchy.</body>
         </ownedComment>
-        <ownedRule xmi:id="_g2EUINwbEeCT5O2F6sGn5g" name="spec" constrainedElement="_g2EUHtwbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g2EUIdwbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VeWNMBE9EeGOffqMW1YiZA" name="spec" constrainedElement="_VeWNLhE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VeWNMRE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>true</body>
           </specification>
         </ownedRule>
-        <ownedParameter xmi:id="_g2EUItwbEeCT5O2F6sGn5g" name="result" visibility="public" type="_ZiwkoGwLEdq7X4sGURiZYA" direction="return"/>
-        <ownedParameter xmi:id="_g2EUI9wbEeCT5O2F6sGn5g" name="s1" visibility="public" type="_g2Ce0NwbEeCT5O2F6sGn5g"/>
-        <ownedParameter xmi:id="_g2EUJNwbEeCT5O2F6sGn5g" name="s2" visibility="public" type="_g2Ce0NwbEeCT5O2F6sGn5g"/>
+        <ownedParameter xmi:id="_VeWNMhE9EeGOffqMW1YiZA" name="result" visibility="public" type="_ZiwkoGwLEdq7X4sGURiZYA" direction="return"/>
+        <ownedParameter xmi:id="_VeWNMxE9EeGOffqMW1YiZA" name="s1" visibility="public" type="_VeRUkBE9EeGOffqMW1YiZA"/>
+        <ownedParameter xmi:id="_VeWNNBE9EeGOffqMW1YiZA" name="s2" visibility="public" type="_VeRUkBE9EeGOffqMW1YiZA"/>
       </ownedOperation>
-      <ownedOperation xmi:id="_g2EUJdwbEeCT5O2F6sGn5g" name="ancestor" visibility="public" bodyCondition="_g2EUJ9wbEeCT5O2F6sGn5g" isQuery="true">
-        <ownedComment xmi:id="_g2EUJtwbEeCT5O2F6sGn5g" annotatedElement="_g2EUJdwbEeCT5O2F6sGn5g">
+      <ownedOperation xmi:id="_VeWNNRE9EeGOffqMW1YiZA" name="ancestor" visibility="public" bodyCondition="_VeWNNxE9EeGOffqMW1YiZA" isQuery="true">
+        <ownedComment xmi:id="_VeWNNhE9EeGOffqMW1YiZA" annotatedElement="_VeWNNRE9EeGOffqMW1YiZA">
           <body>The query ancestor(s1, s2) checks whether s1 is an ancestor state of state s2.</body>
         </ownedComment>
-        <ownedRule xmi:id="_g2EUJ9wbEeCT5O2F6sGn5g" name="spec" constrainedElement="_g2EUJdwbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g2EUKNwbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VeWNNxE9EeGOffqMW1YiZA" name="spec" constrainedElement="_VeWNNRE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VeWNOBE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = 
 if (s2 = s1) then 
@@ -14122,95 +14131,95 @@
 </body>
           </specification>
         </ownedRule>
-        <ownedParameter xmi:id="_g2EUKdwbEeCT5O2F6sGn5g" name="result" visibility="public" direction="return">
+        <ownedParameter xmi:id="_VeWNORE9EeGOffqMW1YiZA" name="result" visibility="public" direction="return">
           <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
         </ownedParameter>
-        <ownedParameter xmi:id="_g2EUKtwbEeCT5O2F6sGn5g" name="s1" visibility="public" type="_g2Ce0NwbEeCT5O2F6sGn5g"/>
-        <ownedParameter xmi:id="_g2EUK9wbEeCT5O2F6sGn5g" name="s2" visibility="public" type="_g2Ce0NwbEeCT5O2F6sGn5g"/>
+        <ownedParameter xmi:id="_VeWNOhE9EeGOffqMW1YiZA" name="s1" visibility="public" type="_VeRUkBE9EeGOffqMW1YiZA"/>
+        <ownedParameter xmi:id="_VeWNOxE9EeGOffqMW1YiZA" name="s2" visibility="public" type="_VeRUkBE9EeGOffqMW1YiZA"/>
       </ownedOperation>
-      <ownedOperation xmi:id="_g2EULNwbEeCT5O2F6sGn5g" name="isConsistentWith" visibility="public" bodyCondition="_g2EULtwbEeCT5O2F6sGn5g" isQuery="true" redefinedOperation="_g1578NwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2EULdwbEeCT5O2F6sGn5g" annotatedElement="_g2EULNwbEeCT5O2F6sGn5g">
+      <ownedOperation xmi:id="_VeWNPBE9EeGOffqMW1YiZA" name="isConsistentWith" visibility="public" bodyCondition="_VeWNPhE9EeGOffqMW1YiZA" isQuery="true" redefinedOperation="_Vd1PsBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VeWNPRE9EeGOffqMW1YiZA" annotatedElement="_VeWNPBE9EeGOffqMW1YiZA">
           <body>The query isConsistentWith() specifies that a redefining state machine is consistent with a redefined state machine provided that the redefining state machine is an extension of the redefined state machine: Regions are inherited and regions can be added, inherited regions can be redefined. In case of multiple redefining state machines, extension implies that the redefining state machine gets orthogonal regions for each of the redefined state machines.</body>
         </ownedComment>
-        <ownedRule xmi:id="_g2EULtwbEeCT5O2F6sGn5g" name="spec" constrainedElement="_g2EULNwbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g2EUL9wbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VeWNPhE9EeGOffqMW1YiZA" name="spec" constrainedElement="_VeWNPBE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VeWNPxE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = true</body>
           </specification>
         </ownedRule>
-        <ownedParameter xmi:id="_g2EUMNwbEeCT5O2F6sGn5g" name="result" visibility="public" direction="return">
+        <ownedParameter xmi:id="_VeWNQBE9EeGOffqMW1YiZA" name="result" visibility="public" direction="return">
           <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
         </ownedParameter>
-        <ownedParameter xmi:id="_g2EUMdwbEeCT5O2F6sGn5g" name="redefinee" visibility="public" type="_uCRA4La-EeCRxrN1JUGuxA"/>
+        <ownedParameter xmi:id="_VeWNQRE9EeGOffqMW1YiZA" name="redefinee" visibility="public" type="_uCRA4La-EeCRxrN1JUGuxA"/>
       </ownedOperation>
-      <ownedOperation xmi:id="_g2EUMtwbEeCT5O2F6sGn5g" name="isRedefinitionContextValid" visibility="public" bodyCondition="_g2EUNNwbEeCT5O2F6sGn5g" isQuery="true" redefinedOperation="_g157-NwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2EUM9wbEeCT5O2F6sGn5g" annotatedElement="_g2EUMtwbEeCT5O2F6sGn5g">
+      <ownedOperation xmi:id="_VeWNQhE9EeGOffqMW1YiZA" name="isRedefinitionContextValid" visibility="public" bodyCondition="_VeWNRBE9EeGOffqMW1YiZA" isQuery="true" redefinedOperation="_Vd1PuBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VeWNQxE9EeGOffqMW1YiZA" annotatedElement="_VeWNQhE9EeGOffqMW1YiZA">
           <body>The query isRedefinitionContextValid() specifies whether the redefinition contexts of a statemachine are properly related to the redefinition contexts of the specified statemachine to allow this element to redefine the other. The containing classifier of a redefining statemachine must redefine the containing classifier of the redefined statemachine.</body>
         </ownedComment>
-        <ownedRule xmi:id="_g2EUNNwbEeCT5O2F6sGn5g" name="spec" constrainedElement="_g2EUMtwbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g2EUNdwbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VeWNRBE9EeGOffqMW1YiZA" name="spec" constrainedElement="_VeWNQhE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VeWNRRE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = true</body>
           </specification>
         </ownedRule>
-        <ownedParameter xmi:id="_g2EUNtwbEeCT5O2F6sGn5g" name="result" visibility="public" direction="return">
+        <ownedParameter xmi:id="_VeWNRhE9EeGOffqMW1YiZA" name="result" visibility="public" direction="return">
           <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
         </ownedParameter>
-        <ownedParameter xmi:id="_g2EUN9wbEeCT5O2F6sGn5g" name="redefined" visibility="public" type="_g2EUANwbEeCT5O2F6sGn5g"/>
+        <ownedParameter xmi:id="_VeWNRxE9EeGOffqMW1YiZA" name="redefined" visibility="public" type="_VeWNEBE9EeGOffqMW1YiZA"/>
       </ownedOperation>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="_A7vDAGv0Edq7X4sGURiZYA" name="Stereotype">
-      <ownedComment xmi:id="_g2EUONwbEeCT5O2F6sGn5g" annotatedElement="_A7vDAGv0Edq7X4sGURiZYA">
+      <ownedComment xmi:id="_VeWNSBE9EeGOffqMW1YiZA" annotatedElement="_A7vDAGv0Edq7X4sGURiZYA">
         <body>A stereotype defines how an existing metaclass may be extended, and enables the use of platform or domain specific terminology or notation in place of, or in addition to, the ones used for the extended metaclass.</body>
       </ownedComment>
-      <ownedRule xmi:id="_g2E7ENwbEeCT5O2F6sGn5g" name="binaryAssociationsOnly" constrainedElement="_A7vDAGv0Edq7X4sGURiZYA">
-        <ownedComment xmi:id="_g2E7EdwbEeCT5O2F6sGn5g" annotatedElement="_g2E7ENwbEeCT5O2F6sGn5g">
-          <body>Stereotypes may only participate in binary associations.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g2E7EtwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>ownedAttribute.association->forAll(memberEnd->size()=2)</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_g2E7E9wbEeCT5O2F6sGn5g" name="generalize" constrainedElement="_A7vDAGv0Edq7X4sGURiZYA">
-        <ownedComment xmi:id="_g2E7FNwbEeCT5O2F6sGn5g" annotatedElement="_g2E7E9wbEeCT5O2F6sGn5g">
-          <body>A Stereotype may only generalize or specialize another Stereotype.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g2E7FdwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>generalization.general->forAll(e |e.oclIsKindOf(Stereotype)) and generalization.specific->forAll(e | e.oclIsKindOf(Stereotype)) </body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_g2E7FtwbEeCT5O2F6sGn5g" name="name_not_clash" constrainedElement="_A7vDAGv0Edq7X4sGURiZYA">
-        <ownedComment xmi:id="_g2E7F9wbEeCT5O2F6sGn5g" annotatedElement="_g2E7FtwbEeCT5O2F6sGn5g">
-          <body>Stereotype names should not clash with keyword names for the extended model element.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g2E7GNwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>true</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_g2E7GdwbEeCT5O2F6sGn5g" name="associationEndOwnership" constrainedElement="_A7vDAGv0Edq7X4sGURiZYA">
-        <ownedComment xmi:id="_g2E7GtwbEeCT5O2F6sGn5g" annotatedElement="_g2E7GdwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VeWNSRE9EeGOffqMW1YiZA" name="associationEndOwnership" constrainedElement="_A7vDAGv0Edq7X4sGURiZYA">
+        <ownedComment xmi:id="_VeWNShE9EeGOffqMW1YiZA" annotatedElement="_VeWNSRE9EeGOffqMW1YiZA">
           <body>Where a stereotype’s property is an association end for an association other than a kind of extension, and the other end is not a stereotype, the other end must be owned by the association itself.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g2E7G9wbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VeWNSxE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>ownedAttribute
 ->select(association->notEmpty() and not association.oclIsKindOf(Extension) and not type.oclIsKindOf(Stereotype))
 ->forAll(opposite.owner = association)</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_g2E7HNwbEeCT5O2F6sGn5g" general="_00owUGvdEdq4DLWZOhbdEA"/>
-      <ownedAttribute xmi:id="_g2E7HdwbEeCT5O2F6sGn5g" name="icon" visibility="public" type="_nDq0wJPzEdqpjIDDFZ2Hgw" aggregation="composite" subsettedProperty="_g0JocNwbEeCT5O2F6sGn5g" association="_gye0iNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2E7HtwbEeCT5O2F6sGn5g" annotatedElement="_g2E7HdwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VeW0IBE9EeGOffqMW1YiZA" name="name_not_clash" constrainedElement="_A7vDAGv0Edq7X4sGURiZYA">
+        <ownedComment xmi:id="_VeW0IRE9EeGOffqMW1YiZA" annotatedElement="_VeW0IBE9EeGOffqMW1YiZA">
+          <body>Stereotype names should not clash with keyword names for the extended model element.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VeW0IhE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>true</body>
+        </specification>
+      </ownedRule>
+      <ownedRule xmi:id="_VeW0IxE9EeGOffqMW1YiZA" name="binaryAssociationsOnly" constrainedElement="_A7vDAGv0Edq7X4sGURiZYA">
+        <ownedComment xmi:id="_VeW0JBE9EeGOffqMW1YiZA" annotatedElement="_VeW0IxE9EeGOffqMW1YiZA">
+          <body>Stereotypes may only participate in binary associations.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VeW0JRE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>ownedAttribute.association->forAll(memberEnd->size()=2)</body>
+        </specification>
+      </ownedRule>
+      <ownedRule xmi:id="_VeW0JhE9EeGOffqMW1YiZA" name="generalize" constrainedElement="_A7vDAGv0Edq7X4sGURiZYA">
+        <ownedComment xmi:id="_VeW0JxE9EeGOffqMW1YiZA" annotatedElement="_VeW0JhE9EeGOffqMW1YiZA">
+          <body>A Stereotype may only generalize or specialize another Stereotype.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VeW0KBE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>generalization.general->forAll(e |e.oclIsKindOf(Stereotype)) and generalization.specific->forAll(e | e.oclIsKindOf(Stereotype)) </body>
+        </specification>
+      </ownedRule>
+      <generalization xmi:id="_VeW0KRE9EeGOffqMW1YiZA" general="_00owUGvdEdq4DLWZOhbdEA"/>
+      <ownedAttribute xmi:id="_VeW0KhE9EeGOffqMW1YiZA" name="icon" visibility="public" type="_nDq0wJPzEdqpjIDDFZ2Hgw" aggregation="composite" subsettedProperty="_GDD2YAtAEeGcpbeCPJfCmw" association="_VTm8sBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VeW0KxE9EeGOffqMW1YiZA" annotatedElement="_VeW0KhE9EeGOffqMW1YiZA">
           <body>Stereotype can change the graphical appearance of the extended model element by using attached icons. When this association is not null, it references the location of the icon content to be displayed within diagrams presenting the extended model elements.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g2E7H9wbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g2E7INwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VeW0LBE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VeW0LRE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g2E7IdwbEeCT5O2F6sGn5g" name="profile" visibility="public" type="__pew8GvzEdq7X4sGURiZYA" isReadOnly="true" isDerived="true" association="_gyteAtwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2E7ItwbEeCT5O2F6sGn5g" annotatedElement="_g2E7IdwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_Vec6wBE9EeGOffqMW1YiZA" name="profile" visibility="public" type="__pew8GvzEdq7X4sGURiZYA" isReadOnly="true" isDerived="true" association="_VUK9YRE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_Vec6wRE9EeGOffqMW1YiZA" annotatedElement="_Vec6wBE9EeGOffqMW1YiZA">
           <body>The profile that directly or indirectly contains this stereotype.</body>
         </ownedComment>
       </ownedAttribute>
@@ -14311,24 +14320,24 @@
           <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
         </ownedParameter>
       </ownedOperation>
-      <ownedOperation xmi:id="_g2E7I9wbEeCT5O2F6sGn5g" name="containingProfile" visibility="public" bodyCondition="_g2E7JdwbEeCT5O2F6sGn5g" isQuery="true">
-        <ownedComment xmi:id="_g2E7JNwbEeCT5O2F6sGn5g" annotatedElement="_g2E7I9wbEeCT5O2F6sGn5g">
+      <ownedOperation xmi:id="_Vec6whE9EeGOffqMW1YiZA" name="containingProfile" visibility="public" bodyCondition="_Vec6xBE9EeGOffqMW1YiZA" isQuery="true">
+        <ownedComment xmi:id="_Vec6wxE9EeGOffqMW1YiZA" annotatedElement="_Vec6whE9EeGOffqMW1YiZA">
           <body>The query containingProfile returns the closest profile directly or indirectly containing this stereotype.</body>
         </ownedComment>
-        <ownedRule xmi:id="_g2E7JdwbEeCT5O2F6sGn5g" name="spec" constrainedElement="_g2E7I9wbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g2E7JtwbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_Vec6xBE9EeGOffqMW1YiZA" name="spec" constrainedElement="_Vec6whE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_Vec6xRE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = self.namespace.oclAsType(Package).containingProfile()</body>
           </specification>
         </ownedRule>
-        <ownedParameter xmi:id="_g2E7J9wbEeCT5O2F6sGn5g" name="result" visibility="public" type="__pew8GvzEdq7X4sGURiZYA" direction="return"/>
+        <ownedParameter xmi:id="_Vec6xhE9EeGOffqMW1YiZA" name="result" visibility="public" type="__pew8GvzEdq7X4sGURiZYA" direction="return"/>
       </ownedOperation>
-      <ownedOperation xmi:id="_jDbsYLL7EeCBifIhhuFqZA" name="profile" visibility="public" bodyCondition="_g2FiIdwbEeCT5O2F6sGn5g" isQuery="true">
-        <ownedComment xmi:id="_g2FiINwbEeCT5O2F6sGn5g" annotatedElement="_jDbsYLL7EeCBifIhhuFqZA">
+      <ownedOperation xmi:id="_jDbsYLL7EeCBifIhhuFqZA" name="profile" visibility="public" bodyCondition="_Vedh0RE9EeGOffqMW1YiZA" isQuery="true">
+        <ownedComment xmi:id="_Vedh0BE9EeGOffqMW1YiZA" annotatedElement="_jDbsYLL7EeCBifIhhuFqZA">
           <body>A stereotype must be contained, directly or indirectly, in a profile.</body>
         </ownedComment>
-        <ownedRule xmi:id="_g2FiIdwbEeCT5O2F6sGn5g" name="spec" constrainedElement="_jDbsYLL7EeCBifIhhuFqZA _g2E7IdwbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g2FiItwbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_Vedh0RE9EeGOffqMW1YiZA" name="spec" constrainedElement="_jDbsYLL7EeCBifIhhuFqZA _Vec6wBE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_Vedh0hE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = self.containingProfile()</body>
           </specification>
@@ -14336,106 +14345,87 @@
         <ownedParameter xmi:id="_nkVEsLL7EeCBifIhhuFqZA" name="result" visibility="public" type="__pew8GvzEdq7X4sGURiZYA" direction="return"/>
       </ownedOperation>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g2GwQNwbEeCT5O2F6sGn5g" name="StringExpression">
-      <ownedComment xmi:id="_g2GwQdwbEeCT5O2F6sGn5g" annotatedElement="_g2GwQNwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VefXABE9EeGOffqMW1YiZA" name="StringExpression">
+      <ownedComment xmi:id="_VefXARE9EeGOffqMW1YiZA" annotatedElement="_VefXABE9EeGOffqMW1YiZA">
         <body>An expression that specifies a string value that is derived by concatenating a set of sub string expressions, some of which might be template parameters.</body>
       </ownedComment>
-      <ownedRule xmi:id="_g2GwQtwbEeCT5O2F6sGn5g" name="operands" constrainedElement="_g2GwQNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2GwQ9wbEeCT5O2F6sGn5g" annotatedElement="_g2GwQtwbEeCT5O2F6sGn5g">
-          <body>All the operands of a StringExpression must be LiteralStrings</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g2GwRNwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>operand->forAll (op | op.oclIsKindOf (LiteralString))</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_g2GwRdwbEeCT5O2F6sGn5g" name="subexpressions" constrainedElement="_g2GwQNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2GwRtwbEeCT5O2F6sGn5g" annotatedElement="_g2GwRdwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VefXAhE9EeGOffqMW1YiZA" name="subexpressions" constrainedElement="_VefXABE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VefXAxE9EeGOffqMW1YiZA" annotatedElement="_VefXAhE9EeGOffqMW1YiZA">
           <body>If a StringExpression has sub-expressions, it cannot have operands and vice versa (this avoids the problem of having to define a collating sequence between operands and subexpressions).</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g2GwR9wbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VefXBBE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>if subExpression->notEmpty() then operand->isEmpty() else operand->notEmpty()</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_g2GwSNwbEeCT5O2F6sGn5g" general="_g2PTINwbEeCT5O2F6sGn5g"/>
-      <generalization xmi:id="_g2GwSdwbEeCT5O2F6sGn5g" general="_8QuDcLG3EeCDe8CO90iVKQ"/>
-      <ownedAttribute xmi:id="_g2GwStwbEeCT5O2F6sGn5g" name="owningExpression" visibility="public" type="_g2GwQNwbEeCT5O2F6sGn5g" subsettedProperty="_g0JodNwbEeCT5O2F6sGn5g" association="_gy7gcNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2GwS9wbEeCT5O2F6sGn5g" annotatedElement="_g2GwStwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VefXBRE9EeGOffqMW1YiZA" name="operands" constrainedElement="_VefXABE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VefXBhE9EeGOffqMW1YiZA" annotatedElement="_VefXBRE9EeGOffqMW1YiZA">
+          <body>All the operands of a StringExpression must be LiteralStrings</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VefXBxE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>operand->forAll (op | op.oclIsKindOf (LiteralString))</body>
+        </specification>
+      </ownedRule>
+      <generalization xmi:id="_VefXCBE9EeGOffqMW1YiZA" general="_8QuDcLG3EeCDe8CO90iVKQ"/>
+      <generalization xmi:id="_VefXCRE9EeGOffqMW1YiZA" general="_VeuAgBE9EeGOffqMW1YiZA"/>
+      <ownedAttribute xmi:id="_VefXChE9EeGOffqMW1YiZA" name="owningExpression" visibility="public" type="_VefXABE9EeGOffqMW1YiZA" subsettedProperty="_N3hRMAtAEeGcpbeCPJfCmw" association="_VUnCRhE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VefXCxE9EeGOffqMW1YiZA" annotatedElement="_VefXChE9EeGOffqMW1YiZA">
           <body>The string expression of which this expression is a substring.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g2GwTNwbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VefXDBE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g2GwTdwbEeCT5O2F6sGn5g" name="subExpression" visibility="public" type="_g2GwQNwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_g0JocNwbEeCT5O2F6sGn5g" association="_gy7gcNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2GwTtwbEeCT5O2F6sGn5g" annotatedElement="_g2GwTdwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VefXDRE9EeGOffqMW1YiZA" name="subExpression" visibility="public" type="_VefXABE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_GDD2YAtAEeGcpbeCPJfCmw" association="_VUnCRhE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VefXDhE9EeGOffqMW1YiZA" annotatedElement="_VefXDRE9EeGOffqMW1YiZA">
           <body>The StringExpressions that constitute this StringExpression.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g2GwT9wbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g2GwUNwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VefXDxE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VefXEBE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedOperation xmi:id="_g2GwUdwbEeCT5O2F6sGn5g" name="stringValue" visibility="public" bodyCondition="_g2GwU9wbEeCT5O2F6sGn5g" isQuery="true" redefinedOperation="_g2YdN9wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2GwUtwbEeCT5O2F6sGn5g" annotatedElement="_g2GwUdwbEeCT5O2F6sGn5g">
+      <ownedOperation xmi:id="_VefXERE9EeGOffqMW1YiZA" name="stringValue" visibility="public" bodyCondition="_VefXExE9EeGOffqMW1YiZA" isQuery="true" redefinedOperation="_VfGbJxE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VefXEhE9EeGOffqMW1YiZA" annotatedElement="_VefXERE9EeGOffqMW1YiZA">
           <body>The query stringValue() returns the string that concatenates, in order, all the component string literals of all the subexpressions that are part of the StringExpression.</body>
         </ownedComment>
-        <ownedRule xmi:id="_g2GwU9wbEeCT5O2F6sGn5g" name="spec" constrainedElement="_g2GwUdwbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g2GwVNwbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VefXExE9EeGOffqMW1YiZA" name="spec" constrainedElement="_VefXERE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VefXFBE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = if subExpression->notEmpty()
 then subExpression->iterate(se; stringValue = ‘| stringValue.concat(se.stringValue()))
 else operand->iterate()(op; stringValue = ‘ | stringValue.concat(op.value))</body>
           </specification>
         </ownedRule>
-        <ownedParameter xmi:id="_g2GwVdwbEeCT5O2F6sGn5g" name="result" visibility="public" direction="return">
+        <ownedParameter xmi:id="_VefXFRE9EeGOffqMW1YiZA" name="result" visibility="public" direction="return">
           <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
         </ownedParameter>
       </ownedOperation>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g2HXUNwbEeCT5O2F6sGn5g" name="StructuralFeature" isAbstract="true">
-      <ownedComment xmi:id="_g2HXUdwbEeCT5O2F6sGn5g" annotatedElement="_g2HXUNwbEeCT5O2F6sGn5g">
-        <body>By specializing multiplicity element, it supports a multiplicity that specifies valid cardinalities for the collection of values associated with an instantiation of the structural feature.</body>
-      </ownedComment>
-      <ownedComment xmi:id="_g2HXUtwbEeCT5O2F6sGn5g" annotatedElement="_g2HXUNwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_Vef-EBE9EeGOffqMW1YiZA" name="StructuralFeature" isAbstract="true">
+      <ownedComment xmi:id="_Vef-ERE9EeGOffqMW1YiZA" annotatedElement="_Vef-EBE9EeGOffqMW1YiZA">
         <body>A structural feature is a typed feature of a classifier that specifies the structure of instances of the classifier.</body>
       </ownedComment>
-      <generalization xmi:id="_g2HXU9wbEeCT5O2F6sGn5g" general="_Gjgl0GveEdq4DLWZOhbdEA"/>
-      <generalization xmi:id="_g2HXVNwbEeCT5O2F6sGn5g" general="_g2UysNwbEeCT5O2F6sGn5g"/>
-      <generalization xmi:id="_g2HXVdwbEeCT5O2F6sGn5g" general="_UL0VYLbAEeCRxrN1JUGuxA"/>
-      <ownedAttribute xmi:id="_g2HXVtwbEeCT5O2F6sGn5g" name="isReadOnly" visibility="public">
-        <ownedComment xmi:id="_g2HXV9wbEeCT5O2F6sGn5g" annotatedElement="_g2HXVtwbEeCT5O2F6sGn5g">
+      <ownedComment xmi:id="_Vef-EhE9EeGOffqMW1YiZA" annotatedElement="_Vef-EBE9EeGOffqMW1YiZA">
+        <body>By specializing multiplicity element, it supports a multiplicity that specifies valid cardinalities for the collection of values associated with an instantiation of the structural feature.</body>
+      </ownedComment>
+      <generalization xmi:id="_Vef-ExE9EeGOffqMW1YiZA" general="_VfDXsBE9EeGOffqMW1YiZA"/>
+      <generalization xmi:id="_Vef-FBE9EeGOffqMW1YiZA" general="_Gjgl0GveEdq4DLWZOhbdEA"/>
+      <generalization xmi:id="_Vef-FRE9EeGOffqMW1YiZA" general="_UL0VYLbAEeCRxrN1JUGuxA"/>
+      <ownedAttribute xmi:id="_Vef-FhE9EeGOffqMW1YiZA" name="isReadOnly" visibility="public">
+        <ownedComment xmi:id="_Vef-FxE9EeGOffqMW1YiZA" annotatedElement="_Vef-FhE9EeGOffqMW1YiZA">
           <body>States whether the feature's value may be modified by a client.</body>
         </ownedComment>
         <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
-        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_g2HXWNwbEeCT5O2F6sGn5g"/>
+        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_Vef-GBE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g2H-YNwbEeCT5O2F6sGn5g" name="StructuralFeatureAction" isAbstract="true">
-      <ownedComment xmi:id="_g2H-YdwbEeCT5O2F6sGn5g" annotatedElement="_g2H-YNwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VehMMBE9EeGOffqMW1YiZA" name="StructuralFeatureAction" isAbstract="true">
+      <ownedComment xmi:id="_VehMMRE9EeGOffqMW1YiZA" annotatedElement="_VehMMBE9EeGOffqMW1YiZA">
         <body>StructuralFeatureAction is an abstract class for all structural feature actions.</body>
       </ownedComment>
-      <ownedRule xmi:id="_g2H-YtwbEeCT5O2F6sGn5g" name="multiplicity" constrainedElement="_g2H-YNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2H-Y9wbEeCT5O2F6sGn5g" annotatedElement="_g2H-YtwbEeCT5O2F6sGn5g">
-          <body>The multiplicity of the object input pin must be 1..1.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g2H-ZNwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>self.object.lowerBound()=1 and self.object.upperBound()=1</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_g2H-ZdwbEeCT5O2F6sGn5g" name="same_type" constrainedElement="_g2H-YNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2H-ZtwbEeCT5O2F6sGn5g" annotatedElement="_g2H-ZdwbEeCT5O2F6sGn5g">
-          <body>The structural feature must either be owned by the type of the object input pin, or it must be an owned end of a binary association with the type of the opposite end being the type of the object input pin.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g2H-Z9wbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>self.structuralFeature.featuringClassifier.oclAsType(Type)->includes(self.object.type) or
-	self.structuralFeature.oclAsType(Property).opposite.type = self.object.type</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_g2H-aNwbEeCT5O2F6sGn5g" name="visibility" constrainedElement="_g2H-YNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2H-adwbEeCT5O2F6sGn5g" annotatedElement="_g2H-aNwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VehMMhE9EeGOffqMW1YiZA" name="visibility" constrainedElement="_VehMMBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VehMMxE9EeGOffqMW1YiZA" annotatedElement="_VehMMhE9EeGOffqMW1YiZA">
           <body>Visibility of structural feature must allow access to the object performing the action.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g2H-atwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VehMNBE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>let host : Classifier = self.context in
 self.structuralFeature.visibility = #public
@@ -14445,157 +14435,176 @@
 </body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_g2H-a9wbEeCT5O2F6sGn5g" name="not_static" constrainedElement="_g2H-YNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2H-bNwbEeCT5O2F6sGn5g" annotatedElement="_g2H-a9wbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VehMNRE9EeGOffqMW1YiZA" name="multiplicity" constrainedElement="_VehMMBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VehMNhE9EeGOffqMW1YiZA" annotatedElement="_VehMNRE9EeGOffqMW1YiZA">
+          <body>The multiplicity of the object input pin must be 1..1.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VehMNxE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>self.object.lowerBound()=1 and self.object.upperBound()=1</body>
+        </specification>
+      </ownedRule>
+      <ownedRule xmi:id="_VehMOBE9EeGOffqMW1YiZA" name="not_static" constrainedElement="_VehMMBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VehMORE9EeGOffqMW1YiZA" annotatedElement="_VehMOBE9EeGOffqMW1YiZA">
           <body>The structural feature must not be static.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g2H-bdwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VehMOhE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>self.structuralFeature.isStatic = #false</body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_g2H-btwbEeCT5O2F6sGn5g" name="one_featuring_classifier" constrainedElement="_g2H-YNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2H-b9wbEeCT5O2F6sGn5g" annotatedElement="_g2H-btwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VehMOxE9EeGOffqMW1YiZA" name="one_featuring_classifier" constrainedElement="_VehMMBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VehMPBE9EeGOffqMW1YiZA" annotatedElement="_VehMOxE9EeGOffqMW1YiZA">
           <body>A structural feature has exactly one featuringClassifier.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g2H-cNwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VehMPRE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>self.structuralFeature.featuringClassifier->size() = 1</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_g2H-cdwbEeCT5O2F6sGn5g" general="_6WKakLLQEeCsYvaJqFFivQ"/>
-      <ownedAttribute xmi:id="_g2H-ctwbEeCT5O2F6sGn5g" name="object" visibility="public" type="_g0aHKdwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_gzBnMNwbEeCT5O2F6sGn5g" association="_gymJRtwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2H-c9wbEeCT5O2F6sGn5g" annotatedElement="_g2H-ctwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VehMPhE9EeGOffqMW1YiZA" name="same_type" constrainedElement="_VehMMBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VehMPxE9EeGOffqMW1YiZA" annotatedElement="_VehMPhE9EeGOffqMW1YiZA">
+          <body>The structural feature must either be owned by the type of the object input pin, or it must be an owned end of a binary association with the type of the opposite end being the type of the object input pin.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VehMQBE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>self.structuralFeature.featuringClassifier.oclAsType(Type)->includes(self.object.type) or
+	self.structuralFeature.oclAsType(Property).opposite.type = self.object.type</body>
+        </specification>
+      </ownedRule>
+      <generalization xmi:id="_VehMQRE9EeGOffqMW1YiZA" general="_6WKakLLQEeCsYvaJqFFivQ"/>
+      <ownedAttribute xmi:id="_VehMQhE9EeGOffqMW1YiZA" name="object" visibility="public" type="_VZp6WRE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_VU4IABE9EeGOffqMW1YiZA" association="_VT4CcBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VehMQxE9EeGOffqMW1YiZA" annotatedElement="_VehMQhE9EeGOffqMW1YiZA">
           <body>Gives the input pin from which the object whose structural feature is to be read or written is obtained.</body>
         </ownedComment>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g2H-dNwbEeCT5O2F6sGn5g" name="structuralFeature" visibility="public" type="_g2HXUNwbEeCT5O2F6sGn5g" association="_gy65aNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2H-ddwbEeCT5O2F6sGn5g" annotatedElement="_g2H-dNwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VehMRBE9EeGOffqMW1YiZA" name="structuralFeature" visibility="public" type="_Vef-EBE9EeGOffqMW1YiZA" association="_VUmbOBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VehMRRE9EeGOffqMW1YiZA" annotatedElement="_VehMRBE9EeGOffqMW1YiZA">
           <body>Structural feature to be read.</body>
         </ownedComment>
       </ownedAttribute>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="_w1_2cLLREeCsYvaJqFFivQ" name="StructuredActivityNode">
-      <ownedComment xmi:id="_g2H-dtwbEeCT5O2F6sGn5g" annotatedElement="_w1_2cLLREeCsYvaJqFFivQ">
-        <body>Because of the concurrent nature of the execution of actions within and across activities, it can be difficult to guarantee the consistent access and modification of object memory. In order to avoid race conditions or other concurrency-related problems, it is sometimes necessary to isolate the effects of a group of actions from the effects of actions outside the group. This may be indicated by setting the mustIsolate attribute to true on a structured activity node. If a structured activity node is &quot;isolated,&quot; then any object used by an action within the node cannot be accessed by any action outside the node until the structured activity node as a whole completes. Any concurrent actions that would result in accessing such objects are required to have their execution deferred until the completion of the node.</body>
-      </ownedComment>
-      <ownedComment xmi:id="_g2H-d9wbEeCT5O2F6sGn5g" annotatedElement="_w1_2cLLREeCsYvaJqFFivQ">
+      <ownedComment xmi:id="_VehMRhE9EeGOffqMW1YiZA" annotatedElement="_w1_2cLLREeCsYvaJqFFivQ">
         <body>A structured activity node is an executable activity node that may have an expansion into subordinate nodes as an activity group. The subordinate nodes must belong to only one structured activity node, although they may be nested.</body>
       </ownedComment>
-      <ownedRule xmi:id="_g2H-eNwbEeCT5O2F6sGn5g" name="output_pin_edges" constrainedElement="_w1_2cLLREeCsYvaJqFFivQ">
-        <ownedComment xmi:id="_g2H-edwbEeCT5O2F6sGn5g" annotatedElement="_g2H-eNwbEeCT5O2F6sGn5g">
-          <body>The outgoing edges of the output pins of a StructuredActivityNode must have targets that are not within the StructuredActivityNode.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g2H-etwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>true</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_g2H-e9wbEeCT5O2F6sGn5g" name="edges" constrainedElement="_w1_2cLLREeCsYvaJqFFivQ">
-        <ownedComment xmi:id="_g2H-fNwbEeCT5O2F6sGn5g" annotatedElement="_g2H-e9wbEeCT5O2F6sGn5g">
-          <body>The edges owned by a structured node must have source and target nodes in the structured node, and vice versa.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g2H-fdwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>true</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_g2H-ftwbEeCT5O2F6sGn5g" name="input_pin_edges" constrainedElement="_w1_2cLLREeCsYvaJqFFivQ">
-        <ownedComment xmi:id="_g2H-f9wbEeCT5O2F6sGn5g" annotatedElement="_g2H-ftwbEeCT5O2F6sGn5g">
+      <ownedComment xmi:id="_VehMRxE9EeGOffqMW1YiZA" annotatedElement="_w1_2cLLREeCsYvaJqFFivQ">
+        <body>Because of the concurrent nature of the execution of actions within and across activities, it can be difficult to guarantee the consistent access and modification of object memory. In order to avoid race conditions or other concurrency-related problems, it is sometimes necessary to isolate the effects of a group of actions from the effects of actions outside the group. This may be indicated by setting the mustIsolate attribute to true on a structured activity node. If a structured activity node is &quot;isolated,&quot; then any object used by an action within the node cannot be accessed by any action outside the node until the structured activity node as a whole completes. Any concurrent actions that would result in accessing such objects are required to have their execution deferred until the completion of the node.</body>
+      </ownedComment>
+      <ownedRule xmi:id="_VehMSBE9EeGOffqMW1YiZA" name="input_pin_edges" constrainedElement="_w1_2cLLREeCsYvaJqFFivQ">
+        <ownedComment xmi:id="_VehMSRE9EeGOffqMW1YiZA" annotatedElement="_VehMSBE9EeGOffqMW1YiZA">
           <body>The incoming edges of the input pins of a StructuredActivityNode must have sources that are not within the StructuredActivityNode.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g2H-gNwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VehMShE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>true</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_g2H-gdwbEeCT5O2F6sGn5g" general="_ZiwkoGwLEdq7X4sGURiZYA"/>
-      <generalization xmi:id="_g2H-gtwbEeCT5O2F6sGn5g" general="_gzaBkNwbEeCT5O2F6sGn5g"/>
-      <generalization xmi:id="_g2H-g9wbEeCT5O2F6sGn5g" general="_6WKakLLQEeCsYvaJqFFivQ"/>
-      <ownedAttribute xmi:id="_g2IlcNwbEeCT5O2F6sGn5g" name="activity" visibility="public" type="_eGtFwLLREeCsYvaJqFFivQ" redefinedProperty="_gzaBpNwbEeCT5O2F6sGn5g _gzbPudwbEeCT5O2F6sGn5g" association="_gy65ctwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2IlcdwbEeCT5O2F6sGn5g" annotatedElement="_g2IlcNwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VehMSxE9EeGOffqMW1YiZA" name="edges" constrainedElement="_w1_2cLLREeCsYvaJqFFivQ">
+        <ownedComment xmi:id="_VehMTBE9EeGOffqMW1YiZA" annotatedElement="_VehMSxE9EeGOffqMW1YiZA">
+          <body>The edges owned by a structured node must have source and target nodes in the structured node, and vice versa.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VehMTRE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>true</body>
+        </specification>
+      </ownedRule>
+      <ownedRule xmi:id="_VehzQBE9EeGOffqMW1YiZA" name="output_pin_edges" constrainedElement="_w1_2cLLREeCsYvaJqFFivQ">
+        <ownedComment xmi:id="_VehzQRE9EeGOffqMW1YiZA" annotatedElement="_VehzQBE9EeGOffqMW1YiZA">
+          <body>The outgoing edges of the output pins of a StructuredActivityNode must have targets that are not within the StructuredActivityNode.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VehzQhE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>true</body>
+        </specification>
+      </ownedRule>
+      <generalization xmi:id="_VehzQxE9EeGOffqMW1YiZA" general="_6WKakLLQEeCsYvaJqFFivQ"/>
+      <generalization xmi:id="_VehzRBE9EeGOffqMW1YiZA" general="_ZiwkoGwLEdq7X4sGURiZYA"/>
+      <generalization xmi:id="_VehzRRE9EeGOffqMW1YiZA" general="_aZICgAs-EeGcpbeCPJfCmw"/>
+      <ownedAttribute xmi:id="_gnnw0AtZEeGV4NAcunjVqQ" name="activity" visibility="public" type="_eGtFwLLREeCsYvaJqFFivQ" isDerived="true" redefinedProperty="_5V2SAAtBEeGcpbeCPJfCmw _X0ZfIAtCEeGcpbeCPJfCmw" association="_w4820AtEEeGcpbeCPJfCmw">
+        <ownedComment xmi:id="_VehzRhE9EeGOffqMW1YiZA" annotatedElement="_gnnw0AtZEeGV4NAcunjVqQ">
           <body>Activity immediately containing the node.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g2IlctwbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VehzRxE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g2Ilc9wbEeCT5O2F6sGn5g" name="edge" visibility="public" type="_gzZagNwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_gzaBnNwbEeCT5O2F6sGn5g _g0JocNwbEeCT5O2F6sGn5g" association="_gyZU9dwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2IldNwbEeCT5O2F6sGn5g" annotatedElement="_g2Ilc9wbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VehzSBE9EeGOffqMW1YiZA" name="edge" visibility="public" type="_VVcIsBE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_VVd95BE9EeGOffqMW1YiZA _GDD2YAtAEeGcpbeCPJfCmw" association="_VTQXYhE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VehzSRE9EeGOffqMW1YiZA" annotatedElement="_VehzSBE9EeGOffqMW1YiZA">
           <body>Edges immediately contained in the structured node.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g2IlddwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g2IldtwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VehzShE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VehzSxE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g2Ild9wbEeCT5O2F6sGn5g" name="mustIsolate" visibility="public">
-        <ownedComment xmi:id="_g2IleNwbEeCT5O2F6sGn5g" annotatedElement="_g2Ild9wbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VeiaUBE9EeGOffqMW1YiZA" name="mustIsolate" visibility="public">
+        <ownedComment xmi:id="_VeiaURE9EeGOffqMW1YiZA" annotatedElement="_VeiaUBE9EeGOffqMW1YiZA">
           <body>If true, then the actions in the node execute in isolation from actions outside the node.</body>
         </ownedComment>
         <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
-        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_g2IledwbEeCT5O2F6sGn5g"/>
+        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_VeiaUhE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g2IletwbEeCT5O2F6sGn5g" name="node" visibility="public" type="_gzbPsNwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_g0JocNwbEeCT5O2F6sGn5g _gzaBoNwbEeCT5O2F6sGn5g" association="_gyliMNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2Ile9wbEeCT5O2F6sGn5g" annotatedElement="_g2IletwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VeiaUxE9EeGOffqMW1YiZA" name="node" visibility="public" type="_WpiyYAs-EeGcpbeCPJfCmw" aggregation="composite" subsettedProperty="_VVd96BE9EeGOffqMW1YiZA _GDD2YAtAEeGcpbeCPJfCmw" association="_VT1mNBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VeiaVBE9EeGOffqMW1YiZA" annotatedElement="_VeiaUxE9EeGOffqMW1YiZA">
           <body>Nodes immediately contained in the group.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g2IlfNwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g2IlfdwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VeiaVRE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VeiaVhE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g2IlftwbEeCT5O2F6sGn5g" name="structuredNodeInput" visibility="public" type="_g0aHKdwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_gzBnMNwbEeCT5O2F6sGn5g" association="_gy65bNwbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g2Ilf9wbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g2IlgNwbEeCT5O2F6sGn5g" value="*"/>
+      <ownedAttribute xmi:id="_VeiaVxE9EeGOffqMW1YiZA" name="structuredNodeInput" visibility="public" type="_VZp6WRE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_VU4IABE9EeGOffqMW1YiZA" association="_VUnCQBE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VeiaWBE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VeiaWRE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g2IlgdwbEeCT5O2F6sGn5g" name="structuredNodeOutput" visibility="public" type="_g1fsRdwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_gzCOK9wbEeCT5O2F6sGn5g" association="_gy65b9wbEeCT5O2F6sGn5g">
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g2IlgtwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g2Ilg9wbEeCT5O2F6sGn5g" value="*"/>
+      <ownedAttribute xmi:id="_VeiaWhE9EeGOffqMW1YiZA" name="structuredNodeOutput" visibility="public" type="_VcHYcBE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_VU4vEBE9EeGOffqMW1YiZA" association="_VUnCQxE9EeGOffqMW1YiZA">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VeiaWxE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VeiaXBE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g2IlhNwbEeCT5O2F6sGn5g" name="variable" visibility="public" type="_g2ZELdwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_g1S4AdwbEeCT5O2F6sGn5g" association="_gy_x59wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2IlhdwbEeCT5O2F6sGn5g" annotatedElement="_g2IlhNwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VejBYBE9EeGOffqMW1YiZA" name="variable" visibility="public" type="_VfIQMBE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_Var1EBE9EeGOffqMW1YiZA" association="_VUyocRE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VejBYRE9EeGOffqMW1YiZA" annotatedElement="_VejBYBE9EeGOffqMW1YiZA">
           <body>A variable defined in the scope of the structured activity node. It has no value and may not be accessed</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g2IlhtwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g2Ilh9wbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VejBYhE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VejBYxE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="_FQiVsGwYEdqHKKVoxc0dlA" name="StructuredClassifier" isAbstract="true">
-      <ownedComment xmi:id="_g2JMgNwbEeCT5O2F6sGn5g" annotatedElement="_FQiVsGwYEdqHKKVoxc0dlA">
+      <ownedComment xmi:id="_VejBZBE9EeGOffqMW1YiZA" annotatedElement="_FQiVsGwYEdqHKKVoxc0dlA">
         <body>A structured classifier is an abstract metaclass that represents any classifier whose behavior can be fully or partly described by the collaboration of owned or referenced instances.</body>
       </ownedComment>
-      <ownedRule xmi:id="_g2JMgdwbEeCT5O2F6sGn5g" name="multiplicities" constrainedElement="_FQiVsGwYEdqHKKVoxc0dlA">
-        <ownedComment xmi:id="_g2JMgtwbEeCT5O2F6sGn5g" annotatedElement="_g2JMgdwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VejBZRE9EeGOffqMW1YiZA" name="multiplicities" constrainedElement="_FQiVsGwYEdqHKKVoxc0dlA">
+        <ownedComment xmi:id="_VejBZhE9EeGOffqMW1YiZA" annotatedElement="_VejBZRE9EeGOffqMW1YiZA">
           <body>The multiplicities on connected elements must be consistent.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g2JMg9wbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VejBZxE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>true</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_g2JMhNwbEeCT5O2F6sGn5g" general="_6UV2QGwJEdq7X4sGURiZYA"/>
-      <ownedAttribute xmi:id="_g2JMhdwbEeCT5O2F6sGn5g" name="ownedAttribute" visibility="public" type="_Jp_1oGveEdq4DLWZOhbdEA" isOrdered="true" aggregation="composite" subsettedProperty="_gzuKp9wbEeCT5O2F6sGn5g _g2JMkdwbEeCT5O2F6sGn5g _g1S4AdwbEeCT5O2F6sGn5g" association="_gyolg9wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2JMhtwbEeCT5O2F6sGn5g" annotatedElement="_g2JMhdwbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_VejocBE9EeGOffqMW1YiZA" general="_6UV2QGwJEdq7X4sGURiZYA"/>
+      <ownedAttribute xmi:id="_VejocRE9EeGOffqMW1YiZA" name="ownedAttribute" visibility="public" type="_Jp_1oGveEdq4DLWZOhbdEA" isOrdered="true" aggregation="composite" subsettedProperty="_VXldxBE9EeGOffqMW1YiZA _Var1EBE9EeGOffqMW1YiZA _VekPgBE9EeGOffqMW1YiZA" association="_VT_XMxE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VejochE9EeGOffqMW1YiZA" annotatedElement="_VejocRE9EeGOffqMW1YiZA">
           <body>References the properties owned by the classifier.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g2JMh9wbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g2JMiNwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VejocxE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VejodBE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g2JMidwbEeCT5O2F6sGn5g" name="ownedConnector" visibility="public" type="_YxC2YLLWEeCsYvaJqFFivQ" aggregation="composite" subsettedProperty="_gzuKr9wbEeCT5O2F6sGn5g _gyxIb9wbEeCT5O2F6sGn5g _g1S4AdwbEeCT5O2F6sGn5g" association="_gyoljdwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2JMitwbEeCT5O2F6sGn5g" annotatedElement="_g2JMidwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VejodRE9EeGOffqMW1YiZA" name="ownedConnector" visibility="public" type="_YxC2YLLWEeCsYvaJqFFivQ" aggregation="composite" subsettedProperty="_VXmE1BE9EeGOffqMW1YiZA _VUWjlxE9EeGOffqMW1YiZA _Var1EBE9EeGOffqMW1YiZA" association="_VT_-QxE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VejodhE9EeGOffqMW1YiZA" annotatedElement="_VejodRE9EeGOffqMW1YiZA">
           <body>References the connectors owned by the classifier.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g2JMi9wbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g2JMjNwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VejodxE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VejoeBE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g2JMjdwbEeCT5O2F6sGn5g" name="part" visibility="public" type="_Jp_1oGveEdq4DLWZOhbdEA" isReadOnly="true" isDerived="true" association="_gysP5NwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2JMjtwbEeCT5O2F6sGn5g" annotatedElement="_g2JMjdwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VejoeRE9EeGOffqMW1YiZA" name="part" visibility="public" type="_Jp_1oGveEdq4DLWZOhbdEA" isReadOnly="true" isDerived="true" association="_VUIhIBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VejoehE9EeGOffqMW1YiZA" annotatedElement="_VejoeRE9EeGOffqMW1YiZA">
           <body>References the properties specifying instances that the classifier owns by composition. This association is derived, selecting those owned properties where isComposite is true.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g2JMj9wbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g2JMkNwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VejoexE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VejofBE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g2JMkdwbEeCT5O2F6sGn5g" name="role" visibility="public" type="_0dB44PnhEdunWsS3se92JQ" isReadOnly="true" isDerived="true" isDerivedUnion="true" subsettedProperty="_g1S3_dwbEeCT5O2F6sGn5g" association="_gy32FtwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2JMktwbEeCT5O2F6sGn5g" annotatedElement="_g2JMkdwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VekPgBE9EeGOffqMW1YiZA" name="role" visibility="public" type="_0dB44PnhEdunWsS3se92JQ" isReadOnly="true" isDerived="true" isDerivedUnion="true" subsettedProperty="_VarOCBE9EeGOffqMW1YiZA" association="_VUhisxE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VekPgRE9EeGOffqMW1YiZA" annotatedElement="_VekPgBE9EeGOffqMW1YiZA">
           <body>References the roles that instances may play in this classifier.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g2JMk9wbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g2JMlNwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VekPghE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VekPgxE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
       <ownedOperation xmi:id="_YorvMHL0EdqziYxiZo0YtA" name="createOwnedAttribute">
         <ownedComment xmi:id="_9BZT4OwlEdqYHf-imTcTdw" annotatedElement="_YorvMHL0EdqziYxiZo0YtA">
@@ -14630,367 +14639,367 @@
           <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#UnlimitedNatural"/>
         </ownedParameter>
       </ownedOperation>
-      <ownedOperation xmi:id="_ATcCwLL8EeCBifIhhuFqZA" name="part" visibility="public" bodyCondition="_g2JzkdwbEeCT5O2F6sGn5g" isQuery="true">
-        <ownedComment xmi:id="_g2JzkNwbEeCT5O2F6sGn5g" annotatedElement="_ATcCwLL8EeCBifIhhuFqZA">
+      <ownedOperation xmi:id="_ATcCwLL8EeCBifIhhuFqZA" name="part" visibility="public" bodyCondition="_VekPhRE9EeGOffqMW1YiZA" isQuery="true">
+        <ownedComment xmi:id="_VekPhBE9EeGOffqMW1YiZA" annotatedElement="_ATcCwLL8EeCBifIhhuFqZA">
           <body>Missing derivation for StructuredClassifier::/part : Property</body>
         </ownedComment>
-        <ownedRule xmi:id="_g2JzkdwbEeCT5O2F6sGn5g" name="spec" constrainedElement="_ATcCwLL8EeCBifIhhuFqZA _g2JMjdwbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g2JzktwbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VekPhRE9EeGOffqMW1YiZA" name="spec" constrainedElement="_ATcCwLL8EeCBifIhhuFqZA _VejoeRE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VekPhhE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>true</body>
           </specification>
         </ownedRule>
         <ownedParameter xmi:id="_BPYtoLL8EeCBifIhhuFqZA" name="result" visibility="public" type="_Jp_1oGveEdq4DLWZOhbdEA" direction="return">
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g2Jzk9wbEeCT5O2F6sGn5g"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g2JzlNwbEeCT5O2F6sGn5g" value="*"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VekPhxE9EeGOffqMW1YiZA"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VekPiBE9EeGOffqMW1YiZA" value="*"/>
         </ownedParameter>
       </ownedOperation>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g2KaoNwbEeCT5O2F6sGn5g" name="Substitution">
-      <ownedComment xmi:id="_g2KaodwbEeCT5O2F6sGn5g" annotatedElement="_g2KaoNwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VeldoBE9EeGOffqMW1YiZA" name="Substitution">
+      <ownedComment xmi:id="_VeldoRE9EeGOffqMW1YiZA" annotatedElement="_VeldoBE9EeGOffqMW1YiZA">
         <body>A substitution is a relationship between two classifiers signifies that the substituting classifier complies with the contract specified by the contract classifier. This implies that instances of the substituting classifier are runtime substitutable where instances of the contract classifier are expected.</body>
       </ownedComment>
-      <generalization xmi:id="_g2KaotwbEeCT5O2F6sGn5g" general="_g14Gx9wbEeCT5O2F6sGn5g"/>
-      <ownedAttribute xmi:id="_g2Kao9wbEeCT5O2F6sGn5g" name="contract" visibility="public" type="_6UV2QGwJEdq7X4sGURiZYA" subsettedProperty="_g0EI5twbEeCT5O2F6sGn5g" association="_gyW4uNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2KapNwbEeCT5O2F6sGn5g" annotatedElement="_g2Kao9wbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_VeldohE9EeGOffqMW1YiZA" general="_Vdi72xE9EeGOffqMW1YiZA"/>
+      <ownedAttribute xmi:id="_VeldoxE9EeGOffqMW1YiZA" name="contract" visibility="public" type="_6UV2QGwJEdq7X4sGURiZYA" subsettedProperty="_VYyXoxE9EeGOffqMW1YiZA" association="_VTJpsBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VeldpBE9EeGOffqMW1YiZA" annotatedElement="_VeldoxE9EeGOffqMW1YiZA">
           <body>The contract with which the substituting classifier complies.</body>
         </ownedComment>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g2KapdwbEeCT5O2F6sGn5g" name="substitutingClassifier" visibility="public" type="_6UV2QGwJEdq7X4sGURiZYA" subsettedProperty="_g0EI49wbEeCT5O2F6sGn5g _g0JodNwbEeCT5O2F6sGn5g" association="_gy7gedwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2KaptwbEeCT5O2F6sGn5g" annotatedElement="_g2KapdwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VeldpRE9EeGOffqMW1YiZA" name="substitutingClassifier" visibility="public" type="_6UV2QGwJEdq7X4sGURiZYA" subsettedProperty="_N3hRMAtAEeGcpbeCPJfCmw _VYyXoBE9EeGOffqMW1YiZA" association="_VUoQYBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VeldphE9EeGOffqMW1YiZA" annotatedElement="_VeldpRE9EeGOffqMW1YiZA">
           <body>Instances of the substituting classifier are runtime substitutable where instances of the contract classifier are expected.</body>
         </ownedComment>
       </ownedAttribute>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g2LBsNwbEeCT5O2F6sGn5g" name="TemplateBinding">
-      <ownedComment xmi:id="_g2LBsdwbEeCT5O2F6sGn5g" annotatedElement="_g2LBsNwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VemrwBE9EeGOffqMW1YiZA" name="TemplateBinding">
+      <ownedComment xmi:id="_VemrwRE9EeGOffqMW1YiZA" annotatedElement="_VemrwBE9EeGOffqMW1YiZA">
         <body>A template binding represents a relationship between a templateable element and a template. A template binding specifies the substitutions of actual parameters for the formal parameters of the template.</body>
       </ownedComment>
-      <ownedRule xmi:id="_g2LBstwbEeCT5O2F6sGn5g" name="parameter_substitution_formal" constrainedElement="_g2LBsNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2LBs9wbEeCT5O2F6sGn5g" annotatedElement="_g2LBstwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VemrwhE9EeGOffqMW1YiZA" name="parameter_substitution_formal" constrainedElement="_VemrwBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VemrwxE9EeGOffqMW1YiZA" annotatedElement="_VemrwhE9EeGOffqMW1YiZA">
           <body>Each parameter substitution must refer to a formal template parameter of the target template signature.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g2LBtNwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VemrxBE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>parameterSubstitution->forAll(b | template.parameter->includes(b.formal))</body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_g2LBtdwbEeCT5O2F6sGn5g" name="one_parameter_substitution" constrainedElement="_g2LBsNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2LBttwbEeCT5O2F6sGn5g" annotatedElement="_g2LBtdwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VemrxRE9EeGOffqMW1YiZA" name="one_parameter_substitution" constrainedElement="_VemrwBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VemrxhE9EeGOffqMW1YiZA" annotatedElement="_VemrxRE9EeGOffqMW1YiZA">
           <body>A binding contains at most one parameter substitution for each formal template parameter of the target template signature.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g2LBt9wbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VemrxxE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>template.parameter->forAll(p | parameterSubstitution->select(b | b.formal = p)->size() &lt;= 1)</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_g2LBuNwbEeCT5O2F6sGn5g" general="_JBgfoKPAEdqi_5gqUMOQtA"/>
-      <ownedAttribute xmi:id="_g2LBudwbEeCT5O2F6sGn5g" name="boundElement" visibility="public" type="_g2PTINwbEeCT5O2F6sGn5g" subsettedProperty="_g0HzQdwbEeCT5O2F6sGn5g _g0JodNwbEeCT5O2F6sGn5g" association="_gy8umtwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2LButwbEeCT5O2F6sGn5g" annotatedElement="_g2LBudwbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_VemryBE9EeGOffqMW1YiZA" general="_JBgfoKPAEdqi_5gqUMOQtA"/>
+      <ownedAttribute xmi:id="_VemryRE9EeGOffqMW1YiZA" name="boundElement" visibility="public" type="_VeuAgBE9EeGOffqMW1YiZA" subsettedProperty="_N3hRMAtAEeGcpbeCPJfCmw _VY66hRE9EeGOffqMW1YiZA" association="_VUqFkBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VemryhE9EeGOffqMW1YiZA" annotatedElement="_VemryRE9EeGOffqMW1YiZA">
           <body>The element that is bound by this binding.</body>
         </ownedComment>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g2LBu9wbEeCT5O2F6sGn5g" name="parameterSubstitution" visibility="public" type="_g2Nd8NwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_g0JocNwbEeCT5O2F6sGn5g" association="_gyro1NwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2LBvNwbEeCT5O2F6sGn5g" annotatedElement="_g2LBu9wbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VemryxE9EeGOffqMW1YiZA" name="parameterSubstitution" visibility="public" type="_VesLUBE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_GDD2YAtAEeGcpbeCPJfCmw" association="_VUHTBBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VemrzBE9EeGOffqMW1YiZA" annotatedElement="_VemryxE9EeGOffqMW1YiZA">
           <body>The parameter substitutions owned by this template binding.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g2LBvdwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g2LBvtwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VemrzRE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VemrzhE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g2LBv9wbEeCT5O2F6sGn5g" name="signature" visibility="public" type="_g2OsENwbEeCT5O2F6sGn5g" subsettedProperty="_g0HzRNwbEeCT5O2F6sGn5g" association="_gy5rRNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2LBwNwbEeCT5O2F6sGn5g" annotatedElement="_g2LBv9wbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VemrzxE9EeGOffqMW1YiZA" name="signature" visibility="public" type="_VesyYBE9EeGOffqMW1YiZA" subsettedProperty="_VY66iBE9EeGOffqMW1YiZA" association="_VUkmABE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_Vemr0BE9EeGOffqMW1YiZA" annotatedElement="_VemrzxE9EeGOffqMW1YiZA">
           <body>The template signature for the template that is the target of the binding.</body>
         </ownedComment>
       </ownedAttribute>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="_KxRzgGvuEdqG6fBIPwe-mw" name="TemplateParameter">
-      <ownedComment xmi:id="_g2LBwdwbEeCT5O2F6sGn5g" annotatedElement="_KxRzgGvuEdqG6fBIPwe-mw">
+      <ownedComment xmi:id="_VenS0BE9EeGOffqMW1YiZA" annotatedElement="_KxRzgGvuEdqG6fBIPwe-mw">
         <body>A template parameter exposes a parameterable element as a formal template parameter of a template.</body>
       </ownedComment>
-      <ownedRule xmi:id="_g2LBwtwbEeCT5O2F6sGn5g" name="must_be_compatible" constrainedElement="_KxRzgGvuEdqG6fBIPwe-mw">
-        <ownedComment xmi:id="_g2LBw9wbEeCT5O2F6sGn5g" annotatedElement="_g2LBwtwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VeqWIBE9EeGOffqMW1YiZA" name="must_be_compatible" constrainedElement="_KxRzgGvuEdqG6fBIPwe-mw">
+        <ownedComment xmi:id="_VeqWIRE9EeGOffqMW1YiZA" annotatedElement="_VeqWIBE9EeGOffqMW1YiZA">
           <body>The default must be compatible with the formal template parameter.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g2LBxNwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VeqWIhE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>default->notEmpty() implies default->isCompatibleWith(parameteredElement)</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_g2LBxdwbEeCT5O2F6sGn5g" general="_kl90MGvbEdq4DLWZOhbdEA"/>
-      <ownedAttribute xmi:id="_g2LBxtwbEeCT5O2F6sGn5g" name="default" visibility="public" type="_g1noENwbEeCT5O2F6sGn5g" association="_gyYG2twbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2LBx9wbEeCT5O2F6sGn5g" annotatedElement="_g2LBxtwbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_VeqWIxE9EeGOffqMW1YiZA" general="_kl90MGvbEdq4DLWZOhbdEA"/>
+      <ownedAttribute xmi:id="_VeqWJBE9EeGOffqMW1YiZA" name="default" visibility="public" type="_Vc730BE9EeGOffqMW1YiZA" association="_VTNUExE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VeqWJRE9EeGOffqMW1YiZA" annotatedElement="_VeqWJBE9EeGOffqMW1YiZA">
           <body>The element that is the default for this formal template parameter.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g2LByNwbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VeqWJhE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g2M24NwbEeCT5O2F6sGn5g" name="ownedDefault" visibility="public" type="_g1noENwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_g0JocNwbEeCT5O2F6sGn5g _g2LBxtwbEeCT5O2F6sGn5g" association="_gypMkNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2M24dwbEeCT5O2F6sGn5g" annotatedElement="_g2M24NwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VeqWJxE9EeGOffqMW1YiZA" name="ownedDefault" visibility="public" type="_Vc730BE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_GDD2YAtAEeGcpbeCPJfCmw _VeqWJBE9EeGOffqMW1YiZA" association="_VUAlUBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VeqWKBE9EeGOffqMW1YiZA" annotatedElement="_VeqWJxE9EeGOffqMW1YiZA">
           <body>The element that is owned by this template parameter for the purpose of providing a default.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g2M24twbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VeqWKRE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g2M249wbEeCT5O2F6sGn5g" name="ownedParameteredElement" visibility="public" type="_g1noENwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_g0JocNwbEeCT5O2F6sGn5g _g2M25twbEeCT5O2F6sGn5g" association="_gyqatNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2M25NwbEeCT5O2F6sGn5g" annotatedElement="_g2M249wbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_Veq9MBE9EeGOffqMW1YiZA" name="ownedParameteredElement" visibility="public" type="_Vc730BE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_Veq9MxE9EeGOffqMW1YiZA _GDD2YAtAEeGcpbeCPJfCmw" association="_VUDBlBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_Veq9MRE9EeGOffqMW1YiZA" annotatedElement="_Veq9MBE9EeGOffqMW1YiZA">
           <body>The element that is owned by this template parameter.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g2M25dwbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Veq9MhE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g2M25twbEeCT5O2F6sGn5g" name="parameteredElement" visibility="public" type="_g1noENwbEeCT5O2F6sGn5g" association="_gyro3dwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2M259wbEeCT5O2F6sGn5g" annotatedElement="_g2M25twbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_Veq9MxE9EeGOffqMW1YiZA" name="parameteredElement" visibility="public" type="_Vc730BE9EeGOffqMW1YiZA" association="_VUH6FBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_Veq9NBE9EeGOffqMW1YiZA" annotatedElement="_Veq9MxE9EeGOffqMW1YiZA">
           <body>The element exposed by this template parameter.</body>
         </ownedComment>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g2M26NwbEeCT5O2F6sGn5g" name="signature" visibility="public" type="_g2OsENwbEeCT5O2F6sGn5g" subsettedProperty="_gyro2twbEeCT5O2F6sGn5g _g0JodNwbEeCT5O2F6sGn5g" association="_gyqas9wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2M26dwbEeCT5O2F6sGn5g" annotatedElement="_g2M26NwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_Veq9NRE9EeGOffqMW1YiZA" name="signature" visibility="public" type="_VesyYBE9EeGOffqMW1YiZA" subsettedProperty="_N3hRMAtAEeGcpbeCPJfCmw _VUH6ERE9EeGOffqMW1YiZA" association="_VUDBkxE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_Veq9NhE9EeGOffqMW1YiZA" annotatedElement="_Veq9NRE9EeGOffqMW1YiZA">
           <body>The template signature that owns this template parameter.</body>
         </ownedComment>
       </ownedAttribute>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g2Nd8NwbEeCT5O2F6sGn5g" name="TemplateParameterSubstitution">
-      <ownedComment xmi:id="_g2Nd8dwbEeCT5O2F6sGn5g" annotatedElement="_g2Nd8NwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VesLUBE9EeGOffqMW1YiZA" name="TemplateParameterSubstitution">
+      <ownedComment xmi:id="_VesLURE9EeGOffqMW1YiZA" annotatedElement="_VesLUBE9EeGOffqMW1YiZA">
         <body>A template parameter substitution relates the actual parameter to a formal template parameter as part of a template binding.</body>
       </ownedComment>
-      <ownedRule xmi:id="_g2Nd8twbEeCT5O2F6sGn5g" name="must_be_compatible" constrainedElement="_g2Nd8NwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2Nd89wbEeCT5O2F6sGn5g" annotatedElement="_g2Nd8twbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VesLUhE9EeGOffqMW1YiZA" name="must_be_compatible" constrainedElement="_VesLUBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VesLUxE9EeGOffqMW1YiZA" annotatedElement="_VesLUhE9EeGOffqMW1YiZA">
           <body>The actual parameter must be compatible with the formal template parameter, e.g. the actual parameter for a class template parameter must be a class.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g2Nd9NwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VesLVBE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>actual->forAll(a | a.isCompatibleWith(formal.parameteredElement))</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_g2Nd9dwbEeCT5O2F6sGn5g" general="_kl90MGvbEdq4DLWZOhbdEA"/>
-      <ownedAttribute xmi:id="_g2Nd9twbEeCT5O2F6sGn5g" name="actual" visibility="public" type="_g1noENwbEeCT5O2F6sGn5g" association="_gySANtwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2Nd99wbEeCT5O2F6sGn5g" annotatedElement="_g2Nd9twbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_VesLVRE9EeGOffqMW1YiZA" general="_kl90MGvbEdq4DLWZOhbdEA"/>
+      <ownedAttribute xmi:id="_VesLVhE9EeGOffqMW1YiZA" name="actual" visibility="public" type="_Vc730BE9EeGOffqMW1YiZA" association="_VS81YBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VesLVxE9EeGOffqMW1YiZA" annotatedElement="_VesLVhE9EeGOffqMW1YiZA">
           <body>The element that is the actual parameter for this substitution.</body>
         </ownedComment>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g2Nd-NwbEeCT5O2F6sGn5g" name="formal" visibility="public" type="_KxRzgGvuEdqG6fBIPwe-mw" association="_gydmYNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2Nd-dwbEeCT5O2F6sGn5g" annotatedElement="_g2Nd-NwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VesLWBE9EeGOffqMW1YiZA" name="formal" visibility="public" type="_KxRzgGvuEdqG6fBIPwe-mw" association="_VTb9kxE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VesLWRE9EeGOffqMW1YiZA" annotatedElement="_VesLWBE9EeGOffqMW1YiZA">
           <body>The formal template parameter that is associated with this substitution.</body>
         </ownedComment>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g2Nd-twbEeCT5O2F6sGn5g" name="ownedActual" visibility="public" type="_g1noENwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_g0JocNwbEeCT5O2F6sGn5g _g2Nd9twbEeCT5O2F6sGn5g" association="_gyn-dtwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2Nd-9wbEeCT5O2F6sGn5g" annotatedElement="_g2Nd-twbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VesLWhE9EeGOffqMW1YiZA" name="ownedActual" visibility="public" type="_Vc730BE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_GDD2YAtAEeGcpbeCPJfCmw _VesLVhE9EeGOffqMW1YiZA" association="_VT-JFhE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VesLWxE9EeGOffqMW1YiZA" annotatedElement="_VesLWhE9EeGOffqMW1YiZA">
           <body>The actual parameter that is owned by this substitution.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g2OFANwbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VesLXBE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g2OFAdwbEeCT5O2F6sGn5g" name="templateBinding" visibility="public" type="_g2LBsNwbEeCT5O2F6sGn5g" subsettedProperty="_g0JodNwbEeCT5O2F6sGn5g" association="_gyro1NwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2OFAtwbEeCT5O2F6sGn5g" annotatedElement="_g2OFAdwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VesLXRE9EeGOffqMW1YiZA" name="templateBinding" visibility="public" type="_VemrwBE9EeGOffqMW1YiZA" subsettedProperty="_N3hRMAtAEeGcpbeCPJfCmw" association="_VUHTBBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VesLXhE9EeGOffqMW1YiZA" annotatedElement="_VesLXRE9EeGOffqMW1YiZA">
           <body>The optional bindings from this element to templates.</body>
         </ownedComment>
       </ownedAttribute>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g2OsENwbEeCT5O2F6sGn5g" name="TemplateSignature">
-      <ownedComment xmi:id="_g2OsEdwbEeCT5O2F6sGn5g" annotatedElement="_g2OsENwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VesyYBE9EeGOffqMW1YiZA" name="TemplateSignature">
+      <ownedComment xmi:id="_VesyYRE9EeGOffqMW1YiZA" annotatedElement="_VesyYBE9EeGOffqMW1YiZA">
         <body>A template signature bundles the set of formal template parameters for a templated element.</body>
       </ownedComment>
-      <ownedRule xmi:id="_g2OsEtwbEeCT5O2F6sGn5g" name="own_elements" constrainedElement="_g2OsENwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2OsE9wbEeCT5O2F6sGn5g" annotatedElement="_g2OsEtwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VesyYhE9EeGOffqMW1YiZA" name="own_elements" constrainedElement="_VesyYBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VesyYxE9EeGOffqMW1YiZA" annotatedElement="_VesyYhE9EeGOffqMW1YiZA">
           <body>Parameters must own the elements they parameter or those elements must be owned by the element being templated.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g2OsFNwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VesyZBE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>templatedElement.ownedElement->includesAll(parameter.parameteredElement - parameter.ownedParameteredElement)</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_g2OsFdwbEeCT5O2F6sGn5g" general="_kl90MGvbEdq4DLWZOhbdEA"/>
-      <ownedAttribute xmi:id="_g2OsFtwbEeCT5O2F6sGn5g" name="ownedParameter" visibility="public" type="_KxRzgGvuEdqG6fBIPwe-mw" isOrdered="true" aggregation="composite" subsettedProperty="_g0JocNwbEeCT5O2F6sGn5g _g2OsGtwbEeCT5O2F6sGn5g" association="_gyqas9wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2OsF9wbEeCT5O2F6sGn5g" annotatedElement="_g2OsFtwbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_VesyZRE9EeGOffqMW1YiZA" general="_kl90MGvbEdq4DLWZOhbdEA"/>
+      <ownedAttribute xmi:id="_VesyZhE9EeGOffqMW1YiZA" name="ownedParameter" visibility="public" type="_KxRzgGvuEdqG6fBIPwe-mw" isOrdered="true" aggregation="composite" subsettedProperty="_VesyahE9EeGOffqMW1YiZA _GDD2YAtAEeGcpbeCPJfCmw" association="_VUDBkxE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VesyZxE9EeGOffqMW1YiZA" annotatedElement="_VesyZhE9EeGOffqMW1YiZA">
           <body>The formal template parameters that are owned by this template signature.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g2OsGNwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g2OsGdwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VesyaBE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VesyaRE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g2OsGtwbEeCT5O2F6sGn5g" name="parameter" visibility="public" type="_KxRzgGvuEdqG6fBIPwe-mw" isOrdered="true" association="_gyro2dwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2OsG9wbEeCT5O2F6sGn5g" annotatedElement="_g2OsGtwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VesyahE9EeGOffqMW1YiZA" name="parameter" visibility="public" type="_KxRzgGvuEdqG6fBIPwe-mw" isOrdered="true" association="_VUH6EBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VesyaxE9EeGOffqMW1YiZA" annotatedElement="_VesyahE9EeGOffqMW1YiZA">
           <body>The ordered set of all formal template parameters for this template signature.</body>
         </ownedComment>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g2OsHNwbEeCT5O2F6sGn5g" value="*"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VesybBE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g2OsHdwbEeCT5O2F6sGn5g" name="template" visibility="public" type="_g2PTINwbEeCT5O2F6sGn5g" subsettedProperty="_g0JodNwbEeCT5O2F6sGn5g" association="_gyrBxNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2OsHtwbEeCT5O2F6sGn5g" annotatedElement="_g2OsHdwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VesybRE9EeGOffqMW1YiZA" name="template" visibility="public" type="_VeuAgBE9EeGOffqMW1YiZA" subsettedProperty="_N3hRMAtAEeGcpbeCPJfCmw" association="_VUEPtBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VesybhE9EeGOffqMW1YiZA" annotatedElement="_VesybRE9EeGOffqMW1YiZA">
           <body>The element that owns this template signature.</body>
         </ownedComment>
       </ownedAttribute>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g2PTINwbEeCT5O2F6sGn5g" name="TemplateableElement" isAbstract="true">
-      <ownedComment xmi:id="_g2PTIdwbEeCT5O2F6sGn5g" annotatedElement="_g2PTINwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VeuAgBE9EeGOffqMW1YiZA" name="TemplateableElement" isAbstract="true">
+      <ownedComment xmi:id="_VeuAgRE9EeGOffqMW1YiZA" annotatedElement="_VeuAgBE9EeGOffqMW1YiZA">
         <body>A templateable element is an element that can optionally be defined as a template and bound to other templates.</body>
       </ownedComment>
-      <generalization xmi:id="_g2PTItwbEeCT5O2F6sGn5g" general="_kl90MGvbEdq4DLWZOhbdEA"/>
-      <ownedAttribute xmi:id="_g2PTI9wbEeCT5O2F6sGn5g" name="ownedTemplateSignature" visibility="public" type="_g2OsENwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_g0JocNwbEeCT5O2F6sGn5g" association="_gyrBxNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2PTJNwbEeCT5O2F6sGn5g" annotatedElement="_g2PTI9wbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_VeuAghE9EeGOffqMW1YiZA" general="_kl90MGvbEdq4DLWZOhbdEA"/>
+      <ownedAttribute xmi:id="_VeuAgxE9EeGOffqMW1YiZA" name="ownedTemplateSignature" visibility="public" type="_VesyYBE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_GDD2YAtAEeGcpbeCPJfCmw" association="_VUEPtBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VeuAhBE9EeGOffqMW1YiZA" annotatedElement="_VeuAgxE9EeGOffqMW1YiZA">
           <body>The optional template signature specifying the formal template parameters.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g2PTJdwbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VeuAhRE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g2PTJtwbEeCT5O2F6sGn5g" name="templateBinding" visibility="public" type="_g2LBsNwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_g0JocNwbEeCT5O2F6sGn5g _gy5rStwbEeCT5O2F6sGn5g" association="_gy8umtwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2PTJ9wbEeCT5O2F6sGn5g" annotatedElement="_g2PTJtwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VeuAhhE9EeGOffqMW1YiZA" name="templateBinding" visibility="public" type="_VemrwBE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_VUkmBhE9EeGOffqMW1YiZA _GDD2YAtAEeGcpbeCPJfCmw" association="_VUqFkBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VeuAhxE9EeGOffqMW1YiZA" annotatedElement="_VeuAhhE9EeGOffqMW1YiZA">
           <body>The optional bindings from this element to templates.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g2PTKNwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g2PTKdwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VeuAiBE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VeuAiRE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedOperation xmi:id="_g2PTKtwbEeCT5O2F6sGn5g" name="isTemplate" visibility="public" bodyCondition="_g2PTLNwbEeCT5O2F6sGn5g" isQuery="true">
-        <ownedComment xmi:id="_g2PTK9wbEeCT5O2F6sGn5g" annotatedElement="_g2PTKtwbEeCT5O2F6sGn5g">
+      <ownedOperation xmi:id="_VeuAihE9EeGOffqMW1YiZA" name="isTemplate" visibility="public" bodyCondition="_VeuAjBE9EeGOffqMW1YiZA" isQuery="true">
+        <ownedComment xmi:id="_VeuAixE9EeGOffqMW1YiZA" annotatedElement="_VeuAihE9EeGOffqMW1YiZA">
           <body>The query isTemplate() returns whether this templateable element is actually a template.</body>
         </ownedComment>
-        <ownedRule xmi:id="_g2PTLNwbEeCT5O2F6sGn5g" name="spec" constrainedElement="_g2PTKtwbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g2PTLdwbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VeuAjBE9EeGOffqMW1YiZA" name="spec" constrainedElement="_VeuAihE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VeuAjRE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = ownedTemplateSignature->notEmpty()</body>
           </specification>
         </ownedRule>
-        <ownedParameter xmi:id="_g2PTLtwbEeCT5O2F6sGn5g" name="result" visibility="public" direction="return">
+        <ownedParameter xmi:id="_VeuAjhE9EeGOffqMW1YiZA" name="result" visibility="public" direction="return">
           <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
         </ownedParameter>
       </ownedOperation>
-      <ownedOperation xmi:id="_g2PTL9wbEeCT5O2F6sGn5g" name="parameterableElements" visibility="public" bodyCondition="_g2PTMdwbEeCT5O2F6sGn5g" isQuery="true">
-        <ownedComment xmi:id="_g2PTMNwbEeCT5O2F6sGn5g" annotatedElement="_g2PTL9wbEeCT5O2F6sGn5g">
+      <ownedOperation xmi:id="_VeuAjxE9EeGOffqMW1YiZA" name="parameterableElements" visibility="public" bodyCondition="_VeuAkRE9EeGOffqMW1YiZA" isQuery="true">
+        <ownedComment xmi:id="_VeuAkBE9EeGOffqMW1YiZA" annotatedElement="_VeuAjxE9EeGOffqMW1YiZA">
           <body>The query parameterableElements() returns the set of elements that may be used as the parametered elements for a template parameter of this templateable element. By default, this set includes all the owned elements. Subclasses may override this operation if they choose to restrict the set of parameterable elements.</body>
         </ownedComment>
-        <ownedRule xmi:id="_g2PTMdwbEeCT5O2F6sGn5g" name="spec" constrainedElement="_g2PTL9wbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g2PTMtwbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VeuAkRE9EeGOffqMW1YiZA" name="spec" constrainedElement="_VeuAjxE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VeuAkhE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = allOwnedElements->select(oclIsKindOf(ParameterableElement))</body>
           </specification>
         </ownedRule>
-        <ownedParameter xmi:id="_g2PTM9wbEeCT5O2F6sGn5g" name="result" visibility="public" type="_g1noENwbEeCT5O2F6sGn5g" direction="return">
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g2PTNNwbEeCT5O2F6sGn5g"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g2PTNdwbEeCT5O2F6sGn5g" value="*"/>
+        <ownedParameter xmi:id="_VeuAkxE9EeGOffqMW1YiZA" name="result" visibility="public" type="_Vc730BE9EeGOffqMW1YiZA" direction="return">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VeuAlBE9EeGOffqMW1YiZA"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VeuAlRE9EeGOffqMW1YiZA" value="*"/>
         </ownedParameter>
       </ownedOperation>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g2P6MNwbEeCT5O2F6sGn5g" name="TestIdentityAction">
-      <ownedComment xmi:id="_g2P6MdwbEeCT5O2F6sGn5g" annotatedElement="_g2P6MNwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VeunkBE9EeGOffqMW1YiZA" name="TestIdentityAction">
+      <ownedComment xmi:id="_VeunkRE9EeGOffqMW1YiZA" annotatedElement="_VeunkBE9EeGOffqMW1YiZA">
         <body>A test identity action is an action that tests if two values are identical objects.</body>
       </ownedComment>
-      <ownedRule xmi:id="_g2P6MtwbEeCT5O2F6sGn5g" name="multiplicity" constrainedElement="_g2P6MNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2P6M9wbEeCT5O2F6sGn5g" annotatedElement="_g2P6MtwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VeunkhE9EeGOffqMW1YiZA" name="multiplicity" constrainedElement="_VeunkBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VeunkxE9EeGOffqMW1YiZA" annotatedElement="_VeunkhE9EeGOffqMW1YiZA">
           <body>The multiplicity of the input pins is 1..1.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g2P6NNwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VeunlBE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>self.first.multiplicity.is(1,1)
 and self.second.multiplicity.is(1,1)
 </body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_g2P6NdwbEeCT5O2F6sGn5g" name="no_type" constrainedElement="_g2P6MNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2P6NtwbEeCT5O2F6sGn5g" annotatedElement="_g2P6NdwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VeunlRE9EeGOffqMW1YiZA" name="no_type" constrainedElement="_VeunkBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VeunlhE9EeGOffqMW1YiZA" annotatedElement="_VeunlRE9EeGOffqMW1YiZA">
           <body>The input pins have no type.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g2P6N9wbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VeunlxE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>self.first.type->size() = 0
 and self.second.type->size() = 0
 </body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_g2P6ONwbEeCT5O2F6sGn5g" name="result_is_boolean" constrainedElement="_g2P6MNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2P6OdwbEeCT5O2F6sGn5g" annotatedElement="_g2P6ONwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VeunmBE9EeGOffqMW1YiZA" name="result_is_boolean" constrainedElement="_VeunkBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VeunmRE9EeGOffqMW1YiZA" annotatedElement="_VeunmBE9EeGOffqMW1YiZA">
           <body>The type of the result is the UML standard primitive type Boolean. (This is not directly representable in OCL at the metamodel level.)</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g2P6OtwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VeunmhE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>true
 </body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_g2P6O9wbEeCT5O2F6sGn5g" general="_6WKakLLQEeCsYvaJqFFivQ"/>
-      <ownedAttribute xmi:id="_g2P6PNwbEeCT5O2F6sGn5g" name="first" visibility="public" type="_g0aHKdwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_gzBnMNwbEeCT5O2F6sGn5g" association="_gyc_XNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2P6PdwbEeCT5O2F6sGn5g" annotatedElement="_g2P6PNwbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_VeunmxE9EeGOffqMW1YiZA" general="_6WKakLLQEeCsYvaJqFFivQ"/>
+      <ownedAttribute xmi:id="_VeunnBE9EeGOffqMW1YiZA" name="first" visibility="public" type="_VZp6WRE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_VU4IABE9EeGOffqMW1YiZA" association="_VTbWhRE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VeunnRE9EeGOffqMW1YiZA" annotatedElement="_VeunnBE9EeGOffqMW1YiZA">
           <body>Gives the pin on which an object is placed.</body>
         </ownedComment>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g2P6PtwbEeCT5O2F6sGn5g" name="result" visibility="public" type="_g1fsRdwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_gzCOK9wbEeCT5O2F6sGn5g" association="_gy2A7NwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2P6P9wbEeCT5O2F6sGn5g" annotatedElement="_g2P6PtwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VeunnhE9EeGOffqMW1YiZA" name="result" visibility="public" type="_VcHYcBE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_VU4vEBE9EeGOffqMW1YiZA" association="_VUftgxE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VeunnxE9EeGOffqMW1YiZA" annotatedElement="_VeunnhE9EeGOffqMW1YiZA">
           <body>Tells whether the two input objects are identical.</body>
         </ownedComment>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g2P6QNwbEeCT5O2F6sGn5g" name="second" visibility="public" type="_g0aHKdwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_gzBnMNwbEeCT5O2F6sGn5g" association="_gy32GtwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2P6QdwbEeCT5O2F6sGn5g" annotatedElement="_g2P6QNwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VeunoBE9EeGOffqMW1YiZA" name="second" visibility="public" type="_VZp6WRE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_VU4IABE9EeGOffqMW1YiZA" association="_VUhitxE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VeunoRE9EeGOffqMW1YiZA" annotatedElement="_VeunoBE9EeGOffqMW1YiZA">
           <body>Gives the pin on which an object is placed.</body>
         </ownedComment>
       </ownedAttribute>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g2P6QtwbEeCT5O2F6sGn5g" name="TimeConstraint">
-      <ownedComment xmi:id="_g2P6Q9wbEeCT5O2F6sGn5g" annotatedElement="_g2P6QtwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VeunohE9EeGOffqMW1YiZA" name="TimeConstraint">
+      <ownedComment xmi:id="_VeunoxE9EeGOffqMW1YiZA" annotatedElement="_VeunohE9EeGOffqMW1YiZA">
         <body>A time constraint is a constraint that refers to a time interval.</body>
       </ownedComment>
-      <generalization xmi:id="_g2P6RNwbEeCT5O2F6sGn5g" general="_g0gNwNwbEeCT5O2F6sGn5g"/>
-      <ownedAttribute xmi:id="_g2P6RdwbEeCT5O2F6sGn5g" name="firstEvent" visibility="public">
-        <ownedComment xmi:id="_g2P6RtwbEeCT5O2F6sGn5g" annotatedElement="_g2P6RdwbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_VeunpBE9EeGOffqMW1YiZA" general="_VZydNxE9EeGOffqMW1YiZA"/>
+      <ownedAttribute xmi:id="_VeunpRE9EeGOffqMW1YiZA" name="firstEvent" visibility="public">
+        <ownedComment xmi:id="_VeunphE9EeGOffqMW1YiZA" annotatedElement="_VeunpRE9EeGOffqMW1YiZA">
           <body>The value of firstEvent is related to constrainedElement. If firstEvent is true, then the corresponding observation event is the first time instant the execution enters constrainedElement. If firstEvent is false, then the corresponding observation event is the last time instant the execution is within constrainedElement.</body>
         </ownedComment>
         <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g2P6R9wbEeCT5O2F6sGn5g"/>
-        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_g2P6SNwbEeCT5O2F6sGn5g" value="true"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VeunpxE9EeGOffqMW1YiZA"/>
+        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_VeunqBE9EeGOffqMW1YiZA" value="true"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g2P6SdwbEeCT5O2F6sGn5g" name="specification" visibility="public" type="_g2RIUNwbEeCT5O2F6sGn5g" aggregation="composite" redefinedProperty="_g0gNw9wbEeCT5O2F6sGn5g _g0AeltwbEeCT5O2F6sGn5g" association="_gy6SWtwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2P6StwbEeCT5O2F6sGn5g" annotatedElement="_g2P6SdwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VeunqRE9EeGOffqMW1YiZA" name="specification" visibility="public" type="_VexD0BE9EeGOffqMW1YiZA" aggregation="composite" redefinedProperty="_VZydOhE9EeGOffqMW1YiZA _VYbLVhE9EeGOffqMW1YiZA" association="_VUl0JhE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VeunqhE9EeGOffqMW1YiZA" annotatedElement="_VeunqRE9EeGOffqMW1YiZA">
           <body>A condition that must be true when evaluated in order for the constraint to be satisfied.</body>
         </ownedComment>
       </ownedAttribute>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g2QhQNwbEeCT5O2F6sGn5g" name="TimeEvent">
-      <ownedComment xmi:id="_g2QhQdwbEeCT5O2F6sGn5g" annotatedElement="_g2QhQNwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VevOoBE9EeGOffqMW1YiZA" name="TimeEvent">
+      <ownedComment xmi:id="_VevOoRE9EeGOffqMW1YiZA" annotatedElement="_VevOoBE9EeGOffqMW1YiZA">
         <body>A time event can be defined relative to entering the current state of the executing state machine.</body>
       </ownedComment>
-      <ownedComment xmi:id="_g2QhQtwbEeCT5O2F6sGn5g" annotatedElement="_g2QhQNwbEeCT5O2F6sGn5g">
+      <ownedComment xmi:id="_VevOohE9EeGOffqMW1YiZA" annotatedElement="_VevOoBE9EeGOffqMW1YiZA">
         <body>A time event specifies a point in time. At the specified time, the event occurs.</body>
       </ownedComment>
-      <ownedRule xmi:id="_g2QhQ9wbEeCT5O2F6sGn5g" name="when_non_negative" constrainedElement="_g2QhQNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2QhRNwbEeCT5O2F6sGn5g" annotatedElement="_g2QhQ9wbEeCT5O2F6sGn5g">
-          <body>The ValueSpecification when must return a non-negative Integer.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g2QhRdwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>true</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_g2QhRtwbEeCT5O2F6sGn5g" name="starting_time" constrainedElement="_g2QhQNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2QhR9wbEeCT5O2F6sGn5g" annotatedElement="_g2QhRtwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VevOoxE9EeGOffqMW1YiZA" name="starting_time" constrainedElement="_VevOoBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VevOpBE9EeGOffqMW1YiZA" annotatedElement="_VevOoxE9EeGOffqMW1YiZA">
           <body>The starting time for a relative time event may only be omitted for a time event that is the trigger of a state machine.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g2QhSNwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VevOpRE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>true</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_g2QhSdwbEeCT5O2F6sGn5g" general="_g0N54NwbEeCT5O2F6sGn5g"/>
-      <ownedAttribute xmi:id="_g2QhStwbEeCT5O2F6sGn5g" name="isRelative" visibility="public">
-        <ownedComment xmi:id="_g2QhS9wbEeCT5O2F6sGn5g" annotatedElement="_g2QhStwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VevOphE9EeGOffqMW1YiZA" name="when_non_negative" constrainedElement="_VevOoBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VevOpxE9EeGOffqMW1YiZA" annotatedElement="_VevOphE9EeGOffqMW1YiZA">
+          <body>The ValueSpecification when must return a non-negative Integer.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VevOqBE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>true</body>
+        </specification>
+      </ownedRule>
+      <generalization xmi:id="_VevOqRE9EeGOffqMW1YiZA" general="_VZOcgBE9EeGOffqMW1YiZA"/>
+      <ownedAttribute xmi:id="_VevOqhE9EeGOffqMW1YiZA" name="isRelative" visibility="public">
+        <ownedComment xmi:id="_VevOqxE9EeGOffqMW1YiZA" annotatedElement="_VevOqhE9EeGOffqMW1YiZA">
           <body>Specifies whether it is relative or absolute time.</body>
         </ownedComment>
         <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
-        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_g2QhTNwbEeCT5O2F6sGn5g"/>
+        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_VevOrBE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g2QhTdwbEeCT5O2F6sGn5g" name="when" visibility="public" type="_DylKEH4YEdq7cMP_l1l5Gg" aggregation="composite" subsettedProperty="_g0JocNwbEeCT5O2F6sGn5g" association="_gzAY89wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2QhTtwbEeCT5O2F6sGn5g" annotatedElement="_g2QhTdwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VevOrRE9EeGOffqMW1YiZA" name="when" visibility="public" type="_DylKEH4YEdq7cMP_l1l5Gg" aggregation="composite" subsettedProperty="_GDD2YAtAEeGcpbeCPJfCmw" association="_VU0doBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VevOrhE9EeGOffqMW1YiZA" annotatedElement="_VevOrRE9EeGOffqMW1YiZA">
           <body>Specifies the corresponding time deadline.</body>
         </ownedComment>
       </ownedAttribute>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="_DylKEH4YEdq7cMP_l1l5Gg" name="TimeExpression">
-      <ownedComment xmi:id="_g2QhT9wbEeCT5O2F6sGn5g" annotatedElement="_DylKEH4YEdq7cMP_l1l5Gg">
+      <ownedComment xmi:id="_Vev1sBE9EeGOffqMW1YiZA" annotatedElement="_DylKEH4YEdq7cMP_l1l5Gg">
         <body>A time expression defines a value specification that represents a time value.</body>
       </ownedComment>
-      <generalization xmi:id="_g2QhUNwbEeCT5O2F6sGn5g" general="_g2YdENwbEeCT5O2F6sGn5g"/>
-      <ownedAttribute xmi:id="_g2QhUdwbEeCT5O2F6sGn5g" name="expr" visibility="public" type="_g2YdENwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_g0JocNwbEeCT5O2F6sGn5g" association="_gybxQNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2QhUtwbEeCT5O2F6sGn5g" annotatedElement="_g2QhUdwbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_Vev1sRE9EeGOffqMW1YiZA" general="_VfGbABE9EeGOffqMW1YiZA"/>
+      <ownedAttribute xmi:id="_Vev1shE9EeGOffqMW1YiZA" name="expr" visibility="public" type="_VfGbABE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_GDD2YAtAEeGcpbeCPJfCmw" association="_VTXsJhE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_Vev1sxE9EeGOffqMW1YiZA" annotatedElement="_Vev1shE9EeGOffqMW1YiZA">
           <body>The value of the time expression.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g2QhU9wbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Vev1tBE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g2QhVNwbEeCT5O2F6sGn5g" name="observation" visibility="public" type="_g1XJfdwbEeCT5O2F6sGn5g" association="_gymwUNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2QhVdwbEeCT5O2F6sGn5g" annotatedElement="_g2QhVNwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_Vev1tRE9EeGOffqMW1YiZA" name="observation" visibility="public" type="_VbcqEBE9EeGOffqMW1YiZA" association="_VT7s0xE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_Vev1thE9EeGOffqMW1YiZA" annotatedElement="_Vev1tRE9EeGOffqMW1YiZA">
           <body>Refers to the time and duration observations that are involved in expr.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g2QhVtwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g2QhV9wbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Vev1txE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Vev1uBE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
       <ownedOperation xmi:id="_JdkW8H4YEdq7cMP_l1l5Gg" name="stringValue" visibility="protected" isQuery="true">
         <ownedParameter xmi:id="_JdkW8X4YEdq7cMP_l1l5Gg" direction="return">
@@ -14998,125 +15007,78 @@
         </ownedParameter>
       </ownedOperation>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g2RIUNwbEeCT5O2F6sGn5g" name="TimeInterval">
-      <ownedComment xmi:id="_g2RIUdwbEeCT5O2F6sGn5g" annotatedElement="_g2RIUNwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VexD0BE9EeGOffqMW1YiZA" name="TimeInterval">
+      <ownedComment xmi:id="_VexD0RE9EeGOffqMW1YiZA" annotatedElement="_VexD0BE9EeGOffqMW1YiZA">
         <body>A time interval defines the range between two time expressions.</body>
       </ownedComment>
-      <generalization xmi:id="_g2RIUtwbEeCT5O2F6sGn5g" general="_g0fmvtwbEeCT5O2F6sGn5g"/>
-      <ownedAttribute xmi:id="_g2RIU9wbEeCT5O2F6sGn5g" name="max" visibility="public" type="_DylKEH4YEdq7cMP_l1l5Gg" redefinedProperty="_g0fmwdwbEeCT5O2F6sGn5g" association="_gyie7NwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2RIVNwbEeCT5O2F6sGn5g" annotatedElement="_g2RIU9wbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_VexD0hE9EeGOffqMW1YiZA" general="_VZydMBE9EeGOffqMW1YiZA"/>
+      <ownedAttribute xmi:id="_VexD0xE9EeGOffqMW1YiZA" name="max" visibility="public" type="_DylKEH4YEdq7cMP_l1l5Gg" redefinedProperty="_VZydMxE9EeGOffqMW1YiZA" association="_VTvfmBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VexD1BE9EeGOffqMW1YiZA" annotatedElement="_VexD0xE9EeGOffqMW1YiZA">
           <body>Refers to the TimeExpression denoting the maximum value of the range.</body>
         </ownedComment>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g2RIVdwbEeCT5O2F6sGn5g" name="min" visibility="public" type="_DylKEH4YEdq7cMP_l1l5Gg" redefinedProperty="_g0fmw9wbEeCT5O2F6sGn5g" association="_gykUENwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2RIVtwbEeCT5O2F6sGn5g" annotatedElement="_g2RIVdwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VexD1RE9EeGOffqMW1YiZA" name="min" visibility="public" type="_DylKEH4YEdq7cMP_l1l5Gg" redefinedProperty="_VZydNRE9EeGOffqMW1YiZA" association="_VTzJ9BE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VexD1hE9EeGOffqMW1YiZA" annotatedElement="_VexD1RE9EeGOffqMW1YiZA">
           <body>Refers to the TimeExpression denoting the minimum value of the range.</body>
         </ownedComment>
       </ownedAttribute>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g2RIV9wbEeCT5O2F6sGn5g" name="TimeObservation">
-      <ownedComment xmi:id="_g2RIWNwbEeCT5O2F6sGn5g" annotatedElement="_g2RIV9wbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_Vexq4BE9EeGOffqMW1YiZA" name="TimeObservation">
+      <ownedComment xmi:id="_Vexq4RE9EeGOffqMW1YiZA" annotatedElement="_Vexq4BE9EeGOffqMW1YiZA">
         <body>A time observation is a reference to a time instant during an execution. It points out the element in the model to observe and whether the observation is when this model element is entered or when it is exited.</body>
       </ownedComment>
-      <generalization xmi:id="_g2RIWdwbEeCT5O2F6sGn5g" general="_g1XJfdwbEeCT5O2F6sGn5g"/>
-      <ownedAttribute xmi:id="_g2RIWtwbEeCT5O2F6sGn5g" name="event" visibility="public" type="_csVgUGvtEdqG6fBIPwe-mw" association="_gybKINwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2RIW9wbEeCT5O2F6sGn5g" annotatedElement="_g2RIWtwbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_Vexq4hE9EeGOffqMW1YiZA" general="_VbcqEBE9EeGOffqMW1YiZA"/>
+      <ownedAttribute xmi:id="_Vexq4xE9EeGOffqMW1YiZA" name="event" visibility="public" type="_csVgUGvtEdqG6fBIPwe-mw" association="_VTUo1BE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_Vexq5BE9EeGOffqMW1YiZA" annotatedElement="_Vexq4xE9EeGOffqMW1YiZA">
           <body>The observation is determined by the entering or exiting of the event element during execution.</body>
         </ownedComment>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g2RIXNwbEeCT5O2F6sGn5g" name="firstEvent" visibility="public">
-        <ownedComment xmi:id="_g2RIXdwbEeCT5O2F6sGn5g" annotatedElement="_g2RIXNwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_Vexq5RE9EeGOffqMW1YiZA" name="firstEvent" visibility="public">
+        <ownedComment xmi:id="_Vexq5hE9EeGOffqMW1YiZA" annotatedElement="_Vexq5RE9EeGOffqMW1YiZA">
           <body>The value of firstEvent is related to event. If firstEvent is true, then the corresponding observation event is the first time instant the execution enters event. If firstEvent is false, then the corresponding observation event is the time instant the execution exits event.</body>
         </ownedComment>
         <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
-        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_g2RIXtwbEeCT5O2F6sGn5g" value="true"/>
+        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_Vexq5xE9EeGOffqMW1YiZA" value="true"/>
       </ownedAttribute>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="_ykKV8PnlEdunWsS3se92JQ" name="Transition">
-      <ownedComment xmi:id="_g2RIX9wbEeCT5O2F6sGn5g" annotatedElement="_ykKV8PnlEdunWsS3se92JQ">
+      <ownedComment xmi:id="_Vexq6BE9EeGOffqMW1YiZA" annotatedElement="_ykKV8PnlEdunWsS3se92JQ">
         <body>A transition is a directed relationship between a source vertex and a target vertex. It may be part of a compound transition, which takes the state machine from one state configuration to another, representing the complete response of the state machine to an occurrence of an event of a particular type.</body>
       </ownedComment>
-      <ownedRule xmi:id="_g2RvYNwbEeCT5O2F6sGn5g" name="state_is_external" constrainedElement="_ykKV8PnlEdunWsS3se92JQ">
-        <ownedComment xmi:id="_g2RvYdwbEeCT5O2F6sGn5g" annotatedElement="_g2RvYNwbEeCT5O2F6sGn5g">
-          <body>A transition with kind external can source any vertex except entry points.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g2RvYtwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>(kind = TransitionKind::external) implies
-	not (source.oclIsKindOf(Pseudostate) and source.oclAsType(Pseudostate).kind = PseudostateKind::entryPoint)</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_g2RvY9wbEeCT5O2F6sGn5g" name="join_segment_guards" constrainedElement="_ykKV8PnlEdunWsS3se92JQ">
-        <ownedComment xmi:id="_g2RvZNwbEeCT5O2F6sGn5g" annotatedElement="_g2RvY9wbEeCT5O2F6sGn5g">
-          <body>A join segment must not have guards or triggers.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g2RvZdwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>(target.oclIsKindOf(Pseudostate) and target.kind = #join) implies (guard->isEmpty() and trigger->isEmpty())</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_g2RvZtwbEeCT5O2F6sGn5g" name="state_is_internal" constrainedElement="_ykKV8PnlEdunWsS3se92JQ">
-        <ownedComment xmi:id="_g2RvZ9wbEeCT5O2F6sGn5g" annotatedElement="_g2RvZtwbEeCT5O2F6sGn5g">
-          <body>A transition with kind internal must have a state as its source, and its source and target must be equal.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g2RvaNwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>(kind = TransitionKind::internal) implies
-		(source.oclIsKindOf (State) and source = target)</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_g2RvadwbEeCT5O2F6sGn5g" name="outgoing_pseudostates" constrainedElement="_ykKV8PnlEdunWsS3se92JQ">
-        <ownedComment xmi:id="_g2RvatwbEeCT5O2F6sGn5g" annotatedElement="_g2RvadwbEeCT5O2F6sGn5g">
-          <body>Transitions outgoing pseudostates may not have a trigger.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g2Rva9wbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>source.oclIsKindOf(Pseudostate) and (source.kind &lt;> #initial)) implies trigger->isEmpty()</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_g2RvbNwbEeCT5O2F6sGn5g" name="join_segment_state" constrainedElement="_ykKV8PnlEdunWsS3se92JQ">
-        <ownedComment xmi:id="_g2RvbdwbEeCT5O2F6sGn5g" annotatedElement="_g2RvbNwbEeCT5O2F6sGn5g">
-          <body>A join segment must always originate from a state.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g2RvbtwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>(target.oclIsKindOf(Pseudostate) and target.kind = #join) implies (source.oclIsKindOf(State))</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_g2Rvb9wbEeCT5O2F6sGn5g" name="fork_segment_state" constrainedElement="_ykKV8PnlEdunWsS3se92JQ">
-        <ownedComment xmi:id="_g2RvcNwbEeCT5O2F6sGn5g" annotatedElement="_g2Rvb9wbEeCT5O2F6sGn5g">
-          <body>A fork segment must always target a state.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g2RvcdwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>(source.oclIsKindOf(Pseudostate) and source.kind = #fork) implies (target.oclIsKindOf(State))</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_g2RvctwbEeCT5O2F6sGn5g" name="signatures_compatible" constrainedElement="_ykKV8PnlEdunWsS3se92JQ">
-        <ownedComment xmi:id="_g2Rvc9wbEeCT5O2F6sGn5g" annotatedElement="_g2RvctwbEeCT5O2F6sGn5g">
-          <body>In case of more than one trigger, the signatures of these must be compatible in case the parameters of the signal are assigned to local variables/attributes.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g2RvdNwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>true</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_g2RvddwbEeCT5O2F6sGn5g" name="state_is_local" constrainedElement="_ykKV8PnlEdunWsS3se92JQ">
-        <ownedComment xmi:id="_g2RvdtwbEeCT5O2F6sGn5g" annotatedElement="_g2RvddwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_Vexq6RE9EeGOffqMW1YiZA" name="state_is_local" constrainedElement="_ykKV8PnlEdunWsS3se92JQ">
+        <ownedComment xmi:id="_Vexq6hE9EeGOffqMW1YiZA" annotatedElement="_Vexq6RE9EeGOffqMW1YiZA">
           <body>A transition with kind local must have a composite state or an entry point as its source.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g2Rvd9wbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_Vexq6xE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>(kind = TransitionKind::local) implies
 		((source.oclIsKindOf (State) and source.oclAsType(State).isComposite) or
 		(source.oclIsKindOf (Pseudostate) and source.oclAsType(Pseudostate).kind = PseudostateKind::entryPoint))</body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_g2SWcNwbEeCT5O2F6sGn5g" name="initial_transition" constrainedElement="_ykKV8PnlEdunWsS3se92JQ">
-        <ownedComment xmi:id="_g2SWcdwbEeCT5O2F6sGn5g" annotatedElement="_g2SWcNwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VeyR8BE9EeGOffqMW1YiZA" name="fork_segment_guards" constrainedElement="_ykKV8PnlEdunWsS3se92JQ">
+        <ownedComment xmi:id="_Ve7b4BE9EeGOffqMW1YiZA" annotatedElement="_VeyR8BE9EeGOffqMW1YiZA">
+          <body>A fork segment must not have guards or triggers.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_Ve7b4RE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>(source.oclIsKindOf(Pseudostate) and source.kind = #fork) implies (guard->isEmpty() and trigger->isEmpty())</body>
+        </specification>
+      </ownedRule>
+      <ownedRule xmi:id="_Ve7b4hE9EeGOffqMW1YiZA" name="join_segment_state" constrainedElement="_ykKV8PnlEdunWsS3se92JQ">
+        <ownedComment xmi:id="_Ve7b4xE9EeGOffqMW1YiZA" annotatedElement="_Ve7b4hE9EeGOffqMW1YiZA">
+          <body>A join segment must always originate from a state.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_Ve7b5BE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>(target.oclIsKindOf(Pseudostate) and target.kind = #join) implies (source.oclIsKindOf(State))</body>
+        </specification>
+      </ownedRule>
+      <ownedRule xmi:id="_Ve7b5RE9EeGOffqMW1YiZA" name="initial_transition" constrainedElement="_ykKV8PnlEdunWsS3se92JQ">
+        <ownedComment xmi:id="_Ve7b5hE9EeGOffqMW1YiZA" annotatedElement="_Ve7b5RE9EeGOffqMW1YiZA">
           <body>An initial transition at the topmost level (region of a statemachine) either has no trigger or it has a trigger with the stereotype >.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g2SWctwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_Ve7b5xE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>self.source.oclIsKindOf(Pseudostate) implies
 (self.source.oclAsType(Pseudostate).kind = #initial) implies
@@ -15126,113 +15088,160 @@
 </body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_g2SWc9wbEeCT5O2F6sGn5g" name="fork_segment_guards" constrainedElement="_ykKV8PnlEdunWsS3se92JQ">
-        <ownedComment xmi:id="_g2SWdNwbEeCT5O2F6sGn5g" annotatedElement="_g2SWc9wbEeCT5O2F6sGn5g">
-          <body>A fork segment must not have guards or triggers.</body>
+      <ownedRule xmi:id="_Ve7b6BE9EeGOffqMW1YiZA" name="outgoing_pseudostates" constrainedElement="_ykKV8PnlEdunWsS3se92JQ">
+        <ownedComment xmi:id="_Ve7b6RE9EeGOffqMW1YiZA" annotatedElement="_Ve7b6BE9EeGOffqMW1YiZA">
+          <body>Transitions outgoing pseudostates may not have a trigger.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g2SWddwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_Ve7b6hE9EeGOffqMW1YiZA">
           <language>OCL</language>
-          <body>(source.oclIsKindOf(Pseudostate) and source.kind = #fork) implies (guard->isEmpty() and trigger->isEmpty())</body>
+          <body>source.oclIsKindOf(Pseudostate) and (source.kind &lt;> #initial)) implies trigger->isEmpty()</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_g2SWdtwbEeCT5O2F6sGn5g" general="_ZiwkoGwLEdq7X4sGURiZYA"/>
-      <generalization xmi:id="_g2SWd9wbEeCT5O2F6sGn5g" general="_uCRA4La-EeCRxrN1JUGuxA"/>
-      <ownedAttribute xmi:id="_g2SWeNwbEeCT5O2F6sGn5g" name="container" visibility="public" type="_g18_QNwbEeCT5O2F6sGn5g" subsettedProperty="_1vzv0LbIEeCRxrN1JUGuxA" association="_gy9VqNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2SWedwbEeCT5O2F6sGn5g" annotatedElement="_g2SWeNwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_Ve8C8BE9EeGOffqMW1YiZA" name="signatures_compatible" constrainedElement="_ykKV8PnlEdunWsS3se92JQ">
+        <ownedComment xmi:id="_Ve8C8RE9EeGOffqMW1YiZA" annotatedElement="_Ve8C8BE9EeGOffqMW1YiZA">
+          <body>In case of more than one trigger, the signatures of these must be compatible in case the parameters of the signal are assigned to local variables/attributes.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_Ve8C8hE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>true</body>
+        </specification>
+      </ownedRule>
+      <ownedRule xmi:id="_Ve8C8xE9EeGOffqMW1YiZA" name="state_is_internal" constrainedElement="_ykKV8PnlEdunWsS3se92JQ">
+        <ownedComment xmi:id="_Ve8C9BE9EeGOffqMW1YiZA" annotatedElement="_Ve8C8xE9EeGOffqMW1YiZA">
+          <body>A transition with kind internal must have a state as its source, and its source and target must be equal.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_Ve8C9RE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>(kind = TransitionKind::internal) implies
+		(source.oclIsKindOf (State) and source = target)</body>
+        </specification>
+      </ownedRule>
+      <ownedRule xmi:id="_Ve8C9hE9EeGOffqMW1YiZA" name="join_segment_guards" constrainedElement="_ykKV8PnlEdunWsS3se92JQ">
+        <ownedComment xmi:id="_Ve8C9xE9EeGOffqMW1YiZA" annotatedElement="_Ve8C9hE9EeGOffqMW1YiZA">
+          <body>A join segment must not have guards or triggers.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_Ve8C-BE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>(target.oclIsKindOf(Pseudostate) and target.kind = #join) implies (guard->isEmpty() and trigger->isEmpty())</body>
+        </specification>
+      </ownedRule>
+      <ownedRule xmi:id="_Ve8C-RE9EeGOffqMW1YiZA" name="fork_segment_state" constrainedElement="_ykKV8PnlEdunWsS3se92JQ">
+        <ownedComment xmi:id="_Ve8C-hE9EeGOffqMW1YiZA" annotatedElement="_Ve8C-RE9EeGOffqMW1YiZA">
+          <body>A fork segment must always target a state.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_Ve8C-xE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>(source.oclIsKindOf(Pseudostate) and source.kind = #fork) implies (target.oclIsKindOf(State))</body>
+        </specification>
+      </ownedRule>
+      <ownedRule xmi:id="_Ve8qABE9EeGOffqMW1YiZA" name="state_is_external" constrainedElement="_ykKV8PnlEdunWsS3se92JQ">
+        <ownedComment xmi:id="_Ve8qARE9EeGOffqMW1YiZA" annotatedElement="_Ve8qABE9EeGOffqMW1YiZA">
+          <body>A transition with kind external can source any vertex except entry points.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_Ve8qAhE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>(kind = TransitionKind::external) implies
+	not (source.oclIsKindOf(Pseudostate) and source.oclAsType(Pseudostate).kind = PseudostateKind::entryPoint)</body>
+        </specification>
+      </ownedRule>
+      <generalization xmi:id="_Ve8qAxE9EeGOffqMW1YiZA" general="_uCRA4La-EeCRxrN1JUGuxA"/>
+      <generalization xmi:id="_Ve8qBBE9EeGOffqMW1YiZA" general="_ZiwkoGwLEdq7X4sGURiZYA"/>
+      <ownedAttribute xmi:id="_Ve8qBRE9EeGOffqMW1YiZA" name="container" visibility="public" type="_VeA14BE9EeGOffqMW1YiZA" subsettedProperty="_1vzv0LbIEeCRxrN1JUGuxA" association="_VUqspBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_Ve8qBhE9EeGOffqMW1YiZA" annotatedElement="_Ve8qBRE9EeGOffqMW1YiZA">
           <body>Designates the region that owns this transition.</body>
         </ownedComment>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g2SWetwbEeCT5O2F6sGn5g" name="effect" visibility="public" type="_TUPtYGveEdq4DLWZOhbdEA" aggregation="composite" subsettedProperty="_g0JocNwbEeCT5O2F6sGn5g" association="_gyZU9twbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2SWe9wbEeCT5O2F6sGn5g" annotatedElement="_g2SWetwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_Ve9REBE9EeGOffqMW1YiZA" name="effect" visibility="public" type="_TUPtYGveEdq4DLWZOhbdEA" aggregation="composite" subsettedProperty="_GDD2YAtAEeGcpbeCPJfCmw" association="_VTQXYxE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_Ve9RERE9EeGOffqMW1YiZA" annotatedElement="_Ve9REBE9EeGOffqMW1YiZA">
           <body>Specifies an optional behavior to be performed when the transition fires.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g2SWfNwbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Ve9REhE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g2SWfdwbEeCT5O2F6sGn5g" name="guard" visibility="public" type="_g0AegNwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_g1TfANwbEeCT5O2F6sGn5g" association="_gye0gNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2SWftwbEeCT5O2F6sGn5g" annotatedElement="_g2SWfdwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_Ve9RExE9EeGOffqMW1YiZA" name="guard" visibility="public" type="_VYbLQBE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_Var1FBE9EeGOffqMW1YiZA" association="_VTlulRE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_Ve9RFBE9EeGOffqMW1YiZA" annotatedElement="_Ve9RExE9EeGOffqMW1YiZA">
           <body>A guard is a constraint that provides a fine-grained control over the firing of the transition. The guard is evaluated when an event occurrence is dispatched by the state machine. If the guard is true at that time, the transition may be enabled, otherwise, it is disabled. Guards should be pure expressions without side effects. Guard expressions with side effects are ill formed.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g2SWf9wbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Ve9RFRE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g2SWgNwbEeCT5O2F6sGn5g" name="kind" visibility="public" type="_g2fK1twbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2SWgdwbEeCT5O2F6sGn5g" annotatedElement="_g2SWgNwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_Ve9RFhE9EeGOffqMW1YiZA" name="kind" visibility="public" type="_VfRaNhE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_Ve9RFxE9EeGOffqMW1YiZA" annotatedElement="_Ve9RFhE9EeGOffqMW1YiZA">
           <body>Indicates the precise type of the transition.</body>
         </ownedComment>
-        <defaultValue xmi:type="uml:InstanceValue" xmi:id="_g2SWgtwbEeCT5O2F6sGn5g" type="_g2fK1twbEeCT5O2F6sGn5g" instance="_g2fK3NwbEeCT5O2F6sGn5g"/>
+        <defaultValue xmi:type="uml:InstanceValue" xmi:id="_Ve9RGBE9EeGOffqMW1YiZA" type="_VfRaNhE9EeGOffqMW1YiZA" instance="_VfRaPBE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g2SWg9wbEeCT5O2F6sGn5g" name="redefinedTransition" visibility="public" type="_ykKV8PnlEdunWsS3se92JQ" subsettedProperty="_g15U7twbEeCT5O2F6sGn5g" association="_gyxIa9wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2SWhNwbEeCT5O2F6sGn5g" annotatedElement="_g2SWg9wbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_Ve9RGRE9EeGOffqMW1YiZA" name="redefinedTransition" visibility="public" type="_ykKV8PnlEdunWsS3se92JQ" subsettedProperty="_VdtT4BE9EeGOffqMW1YiZA" association="_VUWjkxE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_Ve9RGhE9EeGOffqMW1YiZA" annotatedElement="_Ve9RGRE9EeGOffqMW1YiZA">
           <body>The transition that is redefined by this transition.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g2SWhdwbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Ve9RGxE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g2SWhtwbEeCT5O2F6sGn5g" name="redefinitionContext" visibility="public" type="_6UV2QGwJEdq7X4sGURiZYA" isReadOnly="true" isDerived="true" redefinedProperty="_zYrE4La-EeCRxrN1JUGuxA" association="_gyxvetwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2SWh9wbEeCT5O2F6sGn5g" annotatedElement="_g2SWhtwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_Ve9RHBE9EeGOffqMW1YiZA" name="redefinitionContext" visibility="public" type="_6UV2QGwJEdq7X4sGURiZYA" isReadOnly="true" isDerived="true" redefinedProperty="_zYrE4La-EeCRxrN1JUGuxA" association="_VUXxsBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_Ve9RHRE9EeGOffqMW1YiZA" annotatedElement="_Ve9RHBE9EeGOffqMW1YiZA">
           <body>References the classifier in which context this element may be redefined.</body>
         </ownedComment>
       </ownedAttribute>
       <ownedAttribute xmi:id="_JPYJofnmEdunWsS3se92JQ" name="source" visibility="public" type="_xM1WoPnlEdunWsS3se92JQ" association="_JPYJoPnmEdunWsS3se92JQ">
-        <ownedComment xmi:id="_g2SWiNwbEeCT5O2F6sGn5g" annotatedElement="_JPYJofnmEdunWsS3se92JQ">
+        <ownedComment xmi:id="_Ve9RHhE9EeGOffqMW1YiZA" annotatedElement="_JPYJofnmEdunWsS3se92JQ">
           <body>Designates the originating vertex (state or pseudostate) of the transition.</body>
         </ownedComment>
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_JPYJovnmEdunWsS3se92JQ" value="1"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_JPYJo_nmEdunWsS3se92JQ" value="1"/>
       </ownedAttribute>
       <ownedAttribute xmi:id="_EhVtMPnmEdunWsS3se92JQ" name="target" visibility="public" type="_xM1WoPnlEdunWsS3se92JQ" association="_EhL8MPnmEdunWsS3se92JQ">
-        <ownedComment xmi:id="_g2S9gNwbEeCT5O2F6sGn5g" annotatedElement="_EhVtMPnmEdunWsS3se92JQ">
+        <ownedComment xmi:id="_Ve9RHxE9EeGOffqMW1YiZA" annotatedElement="_EhVtMPnmEdunWsS3se92JQ">
           <body>Designates the target vertex that is reached when the transition is taken.</body>
         </ownedComment>
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_EhVtMfnmEdunWsS3se92JQ" value="1"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_EhVtMvnmEdunWsS3se92JQ" value="1"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g2S9gdwbEeCT5O2F6sGn5g" name="trigger" visibility="public" type="_g2TkldwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_g0JocNwbEeCT5O2F6sGn5g" association="_gy9VrNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2S9gtwbEeCT5O2F6sGn5g" annotatedElement="_g2S9gdwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_Ve94IBE9EeGOffqMW1YiZA" name="trigger" visibility="public" type="_VfCJkBE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_GDD2YAtAEeGcpbeCPJfCmw" association="_VUrTsBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_Ve94IRE9EeGOffqMW1YiZA" annotatedElement="_Ve94IBE9EeGOffqMW1YiZA">
           <body>Specifies the triggers that may fire the transition.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g2S9g9wbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g2S9hNwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Ve94IhE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Ve94IxE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedOperation xmi:id="_g2S9hdwbEeCT5O2F6sGn5g" name="containingStateMachine" visibility="public" bodyCondition="_g2S9h9wbEeCT5O2F6sGn5g" isQuery="true">
-        <ownedComment xmi:id="_g2S9htwbEeCT5O2F6sGn5g" annotatedElement="_g2S9hdwbEeCT5O2F6sGn5g">
+      <ownedOperation xmi:id="_VfA7cBE9EeGOffqMW1YiZA" name="containingStateMachine" visibility="public" bodyCondition="_VfA7chE9EeGOffqMW1YiZA" isQuery="true">
+        <ownedComment xmi:id="_VfA7cRE9EeGOffqMW1YiZA" annotatedElement="_VfA7cBE9EeGOffqMW1YiZA">
           <body>The query containingStateMachine() returns the state machine that contains the transition either directly or transitively.</body>
         </ownedComment>
-        <ownedRule xmi:id="_g2S9h9wbEeCT5O2F6sGn5g" name="spec" constrainedElement="_g2S9hdwbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g2S9iNwbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VfA7chE9EeGOffqMW1YiZA" name="spec" constrainedElement="_VfA7cBE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VfA7cxE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = container.containingStateMachine()</body>
           </specification>
         </ownedRule>
-        <ownedParameter xmi:id="_g2S9idwbEeCT5O2F6sGn5g" name="result" visibility="public" type="_g2EUANwbEeCT5O2F6sGn5g" direction="return"/>
+        <ownedParameter xmi:id="_VfA7dBE9EeGOffqMW1YiZA" name="result" visibility="public" type="_VeWNEBE9EeGOffqMW1YiZA" direction="return"/>
       </ownedOperation>
-      <ownedOperation xmi:id="_g2S9itwbEeCT5O2F6sGn5g" name="isConsistentWith" visibility="public" bodyCondition="_g2S9jNwbEeCT5O2F6sGn5g" isQuery="true" precondition="_g2S9jtwbEeCT5O2F6sGn5g" redefinedOperation="_g1578NwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2S9i9wbEeCT5O2F6sGn5g" annotatedElement="_g2S9itwbEeCT5O2F6sGn5g">
+      <ownedOperation xmi:id="_VfBigBE9EeGOffqMW1YiZA" name="isConsistentWith" visibility="public" bodyCondition="_VfBihBE9EeGOffqMW1YiZA" isQuery="true" precondition="_VfBighE9EeGOffqMW1YiZA" redefinedOperation="_Vd1PsBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VfBigRE9EeGOffqMW1YiZA" annotatedElement="_VfBigBE9EeGOffqMW1YiZA">
           <body>The query isConsistentWith() specifies that a redefining transition is consistent with a redefined transition provided that the redefining transition has the following relation to the redefined transition: A redefining transition redefines all properties of the corresponding redefined transition, except the source state and the trigger.</body>
         </ownedComment>
-        <ownedRule xmi:id="_g2S9jNwbEeCT5O2F6sGn5g" name="spec" constrainedElement="_g2S9itwbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g2S9jdwbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VfBighE9EeGOffqMW1YiZA" name="pre" constrainedElement="_VfBigBE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VfBigxE9EeGOffqMW1YiZA">
+            <language>OCL</language>
+            <body>redefinee.isRedefinitionContextValid(self)</body>
+          </specification>
+        </ownedRule>
+        <ownedRule xmi:id="_VfBihBE9EeGOffqMW1YiZA" name="spec" constrainedElement="_VfBigBE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VfBihRE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = (redefinee.oclIsKindOf(Transition) and
   let trans: Transition = redefinee.oclAsType(Transition) in
     (source() = trans.source() and trigger() = tran.trigger())</body>
           </specification>
         </ownedRule>
-        <ownedRule xmi:id="_g2S9jtwbEeCT5O2F6sGn5g" name="pre" constrainedElement="_g2S9itwbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g2S9j9wbEeCT5O2F6sGn5g">
-            <language>OCL</language>
-            <body>redefinee.isRedefinitionContextValid(self)</body>
-          </specification>
-        </ownedRule>
-        <ownedParameter xmi:id="_g2S9kNwbEeCT5O2F6sGn5g" name="result" visibility="public" direction="return">
+        <ownedParameter xmi:id="_VfBihhE9EeGOffqMW1YiZA" name="result" visibility="public" direction="return">
           <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
         </ownedParameter>
-        <ownedParameter xmi:id="_g2S9kdwbEeCT5O2F6sGn5g" name="redefinee" visibility="public" type="_uCRA4La-EeCRxrN1JUGuxA"/>
+        <ownedParameter xmi:id="_VfBihxE9EeGOffqMW1YiZA" name="redefinee" visibility="public" type="_uCRA4La-EeCRxrN1JUGuxA"/>
       </ownedOperation>
-      <ownedOperation xmi:id="_g2TkkNwbEeCT5O2F6sGn5g" name="redefinitionContext" visibility="public" bodyCondition="_g2TkktwbEeCT5O2F6sGn5g" isQuery="true">
-        <ownedComment xmi:id="_g2TkkdwbEeCT5O2F6sGn5g" annotatedElement="_g2TkkNwbEeCT5O2F6sGn5g">
+      <ownedOperation xmi:id="_VfBiiBE9EeGOffqMW1YiZA" name="redefinitionContext" visibility="public" bodyCondition="_VfBiihE9EeGOffqMW1YiZA" isQuery="true">
+        <ownedComment xmi:id="_VfBiiRE9EeGOffqMW1YiZA" annotatedElement="_VfBiiBE9EeGOffqMW1YiZA">
           <body>The redefinition context of a transition is the nearest containing statemachine.</body>
         </ownedComment>
-        <ownedRule xmi:id="_g2TkktwbEeCT5O2F6sGn5g" name="spec" constrainedElement="_g2TkkNwbEeCT5O2F6sGn5g _g2SWhtwbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g2Tkk9wbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VfBiihE9EeGOffqMW1YiZA" name="spec" constrainedElement="_VfBiiBE9EeGOffqMW1YiZA _Ve9RHBE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VfBiixE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = let sm = containingStateMachine() in
 if sm.context->isEmpty() or sm.general->notEmpty() then
@@ -15242,43 +15251,43 @@
 endif</body>
           </specification>
         </ownedRule>
-        <ownedParameter xmi:id="_g2TklNwbEeCT5O2F6sGn5g" name="result" visibility="public" type="_6UV2QGwJEdq7X4sGURiZYA" direction="return"/>
+        <ownedParameter xmi:id="_VfBijBE9EeGOffqMW1YiZA" name="result" visibility="public" type="_6UV2QGwJEdq7X4sGURiZYA" direction="return"/>
       </ownedOperation>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g2TkldwbEeCT5O2F6sGn5g" name="Trigger">
-      <ownedComment xmi:id="_g2TkltwbEeCT5O2F6sGn5g" annotatedElement="_g2TkldwbEeCT5O2F6sGn5g">
-        <body>A trigger relates an event to a behavior that may affect an instance of the classifier.</body>
-      </ownedComment>
-      <ownedComment xmi:id="_g2Tkl9wbEeCT5O2F6sGn5g" annotatedElement="_g2TkldwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VfCJkBE9EeGOffqMW1YiZA" name="Trigger">
+      <ownedComment xmi:id="_VfCJkRE9EeGOffqMW1YiZA" annotatedElement="_VfCJkBE9EeGOffqMW1YiZA">
         <body>A trigger specification may be qualified by the port on which the event occurred.</body>
       </ownedComment>
-      <generalization xmi:id="_g2TkmNwbEeCT5O2F6sGn5g" general="_csVgUGvtEdqG6fBIPwe-mw"/>
-      <ownedAttribute xmi:id="_g2TkmdwbEeCT5O2F6sGn5g" name="event" visibility="public" type="_g0N54NwbEeCT5O2F6sGn5g" association="_gybKJNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2TkmtwbEeCT5O2F6sGn5g" annotatedElement="_g2TkmdwbEeCT5O2F6sGn5g">
+      <ownedComment xmi:id="_VfCJkhE9EeGOffqMW1YiZA" annotatedElement="_VfCJkBE9EeGOffqMW1YiZA">
+        <body>A trigger relates an event to a behavior that may affect an instance of the classifier.</body>
+      </ownedComment>
+      <generalization xmi:id="_VfCJkxE9EeGOffqMW1YiZA" general="_csVgUGvtEdqG6fBIPwe-mw"/>
+      <ownedAttribute xmi:id="_VfCJlBE9EeGOffqMW1YiZA" name="event" visibility="public" type="_VZOcgBE9EeGOffqMW1YiZA" association="_VTVP4BE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VfCJlRE9EeGOffqMW1YiZA" annotatedElement="_VfCJlBE9EeGOffqMW1YiZA">
           <body>The event that causes the trigger.</body>
         </ownedComment>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g2Tkm9wbEeCT5O2F6sGn5g" name="port" visibility="public" type="_ZAuvEGveEdq4DLWZOhbdEA" association="_gysP6twbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2TknNwbEeCT5O2F6sGn5g" annotatedElement="_g2Tkm9wbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VfCJlhE9EeGOffqMW1YiZA" name="port" visibility="public" type="_ZAuvEGveEdq4DLWZOhbdEA" association="_VUJIMBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VfCJlxE9EeGOffqMW1YiZA" annotatedElement="_VfCJlhE9EeGOffqMW1YiZA">
           <body>A optional port of the receiver object on which the behavioral feature is invoked.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g2TkndwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g2TkntwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VfCJmBE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VfCJmRE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="_ynRtoGvtEdqG6fBIPwe-mw" name="Type" isAbstract="true">
-      <ownedComment xmi:id="_g2Tkn9wbEeCT5O2F6sGn5g" annotatedElement="_ynRtoGvtEdqG6fBIPwe-mw">
+      <ownedComment xmi:id="_VfCJmhE9EeGOffqMW1YiZA" annotatedElement="_ynRtoGvtEdqG6fBIPwe-mw">
         <body>A type is a named element that is used as the type for a typed element. A type can be contained in a package.</body>
       </ownedComment>
-      <ownedComment xmi:id="_g2TkoNwbEeCT5O2F6sGn5g" annotatedElement="_ynRtoGvtEdqG6fBIPwe-mw">
+      <ownedComment xmi:id="_VfCJmxE9EeGOffqMW1YiZA" annotatedElement="_ynRtoGvtEdqG6fBIPwe-mw">
         <body>A type constrains the values represented by a typed element.</body>
       </ownedComment>
-      <generalization xmi:id="_g2ULoNwbEeCT5O2F6sGn5g" general="_jKxnwGwLEdq7X4sGURiZYA"/>
-      <ownedAttribute xmi:id="_uvHaoLbQEeCRxrN1JUGuxA" name="package" visibility="public" type="_-cvRAGvzEdq7X4sGURiZYA" subsettedProperty="_gyro0dwbEeCT5O2F6sGn5g _1vzv0LbIEeCRxrN1JUGuxA" association="_gyrBxdwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2ULodwbEeCT5O2F6sGn5g" annotatedElement="_uvHaoLbQEeCRxrN1JUGuxA">
+      <generalization xmi:id="_VfCJnBE9EeGOffqMW1YiZA" general="_jKxnwGwLEdq7X4sGURiZYA"/>
+      <ownedAttribute xmi:id="_uvHaoLbQEeCRxrN1JUGuxA" name="package" visibility="public" type="_-cvRAGvzEdq7X4sGURiZYA" subsettedProperty="_VUHTARE9EeGOffqMW1YiZA _1vzv0LbIEeCRxrN1JUGuxA" association="_VUEPtRE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VfCJnRE9EeGOffqMW1YiZA" annotatedElement="_uvHaoLbQEeCRxrN1JUGuxA">
           <body>Specifies the owning package of this classifier, if any.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g2ULotwbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VfCwoBE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
       <ownedOperation xmi:id="_RNEaIGwNEdq7X4sGURiZYA" name="createAssociation">
         <ownedComment xmi:id="_w29JkOwgEdqYHf-imTcTdw" annotatedElement="_RNEaIGwNEdq7X4sGURiZYA">
@@ -15358,504 +15367,504 @@
           <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_7CRvMaPAEdqi_5gqUMOQtA" value="*"/>
         </ownedParameter>
       </ownedOperation>
-      <ownedOperation xmi:id="_g2ULo9wbEeCT5O2F6sGn5g" name="conformsTo" visibility="public" bodyCondition="_g2ULpdwbEeCT5O2F6sGn5g" isQuery="true">
-        <ownedComment xmi:id="_g2ULpNwbEeCT5O2F6sGn5g" annotatedElement="_g2ULo9wbEeCT5O2F6sGn5g">
+      <ownedOperation xmi:id="_VfCwoRE9EeGOffqMW1YiZA" name="conformsTo" visibility="public" bodyCondition="_VfCwoxE9EeGOffqMW1YiZA" isQuery="true">
+        <ownedComment xmi:id="_VfCwohE9EeGOffqMW1YiZA" annotatedElement="_VfCwoRE9EeGOffqMW1YiZA">
           <body>The query conformsTo() gives true for a type that conforms to another. By default, two types do not conform to each other. This query is intended to be redefined for specific conformance situations.</body>
         </ownedComment>
-        <ownedRule xmi:id="_g2ULpdwbEeCT5O2F6sGn5g" name="spec" constrainedElement="_g2ULo9wbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g2ULptwbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VfCwoxE9EeGOffqMW1YiZA" name="spec" constrainedElement="_VfCwoRE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VfCwpBE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = false</body>
           </specification>
         </ownedRule>
-        <ownedParameter xmi:id="_g2ULp9wbEeCT5O2F6sGn5g" name="result" visibility="public" direction="return">
+        <ownedParameter xmi:id="_VfCwpRE9EeGOffqMW1YiZA" name="result" visibility="public" direction="return">
           <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
         </ownedParameter>
-        <ownedParameter xmi:id="_g2ULqNwbEeCT5O2F6sGn5g" name="other" visibility="public" type="_ynRtoGvtEdqG6fBIPwe-mw"/>
+        <ownedParameter xmi:id="_VfCwphE9EeGOffqMW1YiZA" name="other" visibility="public" type="_ynRtoGvtEdqG6fBIPwe-mw"/>
       </ownedOperation>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g2UysNwbEeCT5O2F6sGn5g" name="TypedElement" isAbstract="true">
-      <ownedComment xmi:id="_g2UysdwbEeCT5O2F6sGn5g" annotatedElement="_g2UysNwbEeCT5O2F6sGn5g">
-        <body>A typed element has a type.</body>
-      </ownedComment>
-      <ownedComment xmi:id="_g2UystwbEeCT5O2F6sGn5g" annotatedElement="_g2UysNwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VfDXsBE9EeGOffqMW1YiZA" name="TypedElement" isAbstract="true">
+      <ownedComment xmi:id="_VfDXsRE9EeGOffqMW1YiZA" annotatedElement="_VfDXsBE9EeGOffqMW1YiZA">
         <body>A typed element is a kind of named element that represents an element with a type.</body>
       </ownedComment>
-      <generalization xmi:id="_g2Uys9wbEeCT5O2F6sGn5g" general="_csVgUGvtEdqG6fBIPwe-mw"/>
-      <ownedAttribute xmi:id="_g2UytNwbEeCT5O2F6sGn5g" name="type" visibility="public" type="_ynRtoGvtEdqG6fBIPwe-mw" association="_gy-jwNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2UytdwbEeCT5O2F6sGn5g" annotatedElement="_g2UytNwbEeCT5O2F6sGn5g">
-          <body>The type of the TypedElement.</body>
-        </ownedComment>
-        <ownedComment xmi:id="_g2UyttwbEeCT5O2F6sGn5g" annotatedElement="_g2UytNwbEeCT5O2F6sGn5g">
+      <ownedComment xmi:id="_VfDXshE9EeGOffqMW1YiZA" annotatedElement="_VfDXsBE9EeGOffqMW1YiZA">
+        <body>A typed element has a type.</body>
+      </ownedComment>
+      <generalization xmi:id="_VfDXsxE9EeGOffqMW1YiZA" general="_csVgUGvtEdqG6fBIPwe-mw"/>
+      <ownedAttribute xmi:id="_VfDXtBE9EeGOffqMW1YiZA" name="type" visibility="public" type="_ynRtoGvtEdqG6fBIPwe-mw" association="_VUtv8BE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VfDXtRE9EeGOffqMW1YiZA" annotatedElement="_VfDXtBE9EeGOffqMW1YiZA">
           <body>This information is derived from the return result for this Operation.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g2Uyt9wbEeCT5O2F6sGn5g"/>
+        <ownedComment xmi:id="_VfDXthE9EeGOffqMW1YiZA" annotatedElement="_VfDXtBE9EeGOffqMW1YiZA">
+          <body>The type of the TypedElement.</body>
+        </ownedComment>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VfDXtxE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g2VZwNwbEeCT5O2F6sGn5g" name="UnmarshallAction">
-      <ownedComment xmi:id="_g2VZwdwbEeCT5O2F6sGn5g" annotatedElement="_g2VZwNwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VfD-wBE9EeGOffqMW1YiZA" name="UnmarshallAction">
+      <ownedComment xmi:id="_VfD-wRE9EeGOffqMW1YiZA" annotatedElement="_VfD-wBE9EeGOffqMW1YiZA">
         <body>An unmarshall action is an action that breaks an object of a known type into outputs each of which is equal to a value from a structural feature of the object.</body>
       </ownedComment>
-      <ownedRule xmi:id="_g2VZwtwbEeCT5O2F6sGn5g" name="structural_feature" constrainedElement="_g2VZwNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2VZw9wbEeCT5O2F6sGn5g" annotatedElement="_g2VZwtwbEeCT5O2F6sGn5g">
-          <body>The unmarshall classifier must have at least one structural feature.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g2VZxNwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>true</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_g2VZxdwbEeCT5O2F6sGn5g" name="number_of_result" constrainedElement="_g2VZwNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2VZxtwbEeCT5O2F6sGn5g" annotatedElement="_g2VZxdwbEeCT5O2F6sGn5g">
-          <body>The number of result output pins must be the same as the number of structural features of the unmarshall classifier.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g2VZx9wbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>true</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_g2VZyNwbEeCT5O2F6sGn5g" name="multiplicity_of_result" constrainedElement="_g2VZwNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2VZydwbEeCT5O2F6sGn5g" annotatedElement="_g2VZyNwbEeCT5O2F6sGn5g">
-          <body>The multiplicity of each result output pin must be compatible with the multiplicity of the corresponding structural features of the unmarshall classifier.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g2VZytwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>true</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_g2VZy9wbEeCT5O2F6sGn5g" name="type_and_ordering" constrainedElement="_g2VZwNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2VZzNwbEeCT5O2F6sGn5g" annotatedElement="_g2VZy9wbEeCT5O2F6sGn5g">
-          <body>The type and ordering of each result output pin must be the same as the corresponding structural feature of the unmarshall classifier.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g2VZzdwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>true</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_g2VZztwbEeCT5O2F6sGn5g" name="unmarshallType_is_classifier" constrainedElement="_g2VZwNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2VZz9wbEeCT5O2F6sGn5g" annotatedElement="_g2VZztwbEeCT5O2F6sGn5g">
-          <body>unmarshallType must be a Classifier with ordered attributes</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g2VZ0NwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>true</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_g2VZ0dwbEeCT5O2F6sGn5g" name="multiplicity_of_object" constrainedElement="_g2VZwNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2VZ0twbEeCT5O2F6sGn5g" annotatedElement="_g2VZ0dwbEeCT5O2F6sGn5g">
-          <body>The multiplicity of the object input pin is 1..1</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g2VZ09wbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>true</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_g2VZ1NwbEeCT5O2F6sGn5g" name="same_type" constrainedElement="_g2VZwNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2VZ1dwbEeCT5O2F6sGn5g" annotatedElement="_g2VZ1NwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VfD-whE9EeGOffqMW1YiZA" name="same_type" constrainedElement="_VfD-wBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VfD-wxE9EeGOffqMW1YiZA" annotatedElement="_VfD-whE9EeGOffqMW1YiZA">
           <body>The type of the object input pin must be the same as the unmarshall classifier.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g2VZ1twbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VfD-xBE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>true</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_g2VZ19wbEeCT5O2F6sGn5g" general="_6WKakLLQEeCsYvaJqFFivQ"/>
-      <ownedAttribute xmi:id="_g2VZ2NwbEeCT5O2F6sGn5g" name="object" visibility="public" type="_g0aHKdwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_gzBnMNwbEeCT5O2F6sGn5g" association="_gymJSdwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2VZ2dwbEeCT5O2F6sGn5g" annotatedElement="_g2VZ2NwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VfD-xRE9EeGOffqMW1YiZA" name="structural_feature" constrainedElement="_VfD-wBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VfD-xhE9EeGOffqMW1YiZA" annotatedElement="_VfD-xRE9EeGOffqMW1YiZA">
+          <body>The unmarshall classifier must have at least one structural feature.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VfD-xxE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>true</body>
+        </specification>
+      </ownedRule>
+      <ownedRule xmi:id="_VfD-yBE9EeGOffqMW1YiZA" name="multiplicity_of_object" constrainedElement="_VfD-wBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VfD-yRE9EeGOffqMW1YiZA" annotatedElement="_VfD-yBE9EeGOffqMW1YiZA">
+          <body>The multiplicity of the object input pin is 1..1</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VfD-yhE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>true</body>
+        </specification>
+      </ownedRule>
+      <ownedRule xmi:id="_VfD-yxE9EeGOffqMW1YiZA" name="type_and_ordering" constrainedElement="_VfD-wBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VfD-zBE9EeGOffqMW1YiZA" annotatedElement="_VfD-yxE9EeGOffqMW1YiZA">
+          <body>The type and ordering of each result output pin must be the same as the corresponding structural feature of the unmarshall classifier.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VfD-zRE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>true</body>
+        </specification>
+      </ownedRule>
+      <ownedRule xmi:id="_VfD-zhE9EeGOffqMW1YiZA" name="number_of_result" constrainedElement="_VfD-wBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VfD-zxE9EeGOffqMW1YiZA" annotatedElement="_VfD-zhE9EeGOffqMW1YiZA">
+          <body>The number of result output pins must be the same as the number of structural features of the unmarshall classifier.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VfD-0BE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>true</body>
+        </specification>
+      </ownedRule>
+      <ownedRule xmi:id="_VfD-0RE9EeGOffqMW1YiZA" name="unmarshallType_is_classifier" constrainedElement="_VfD-wBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VfD-0hE9EeGOffqMW1YiZA" annotatedElement="_VfD-0RE9EeGOffqMW1YiZA">
+          <body>unmarshallType must be a Classifier with ordered attributes</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VfD-0xE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>true</body>
+        </specification>
+      </ownedRule>
+      <ownedRule xmi:id="_VfD-1BE9EeGOffqMW1YiZA" name="multiplicity_of_result" constrainedElement="_VfD-wBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VfD-1RE9EeGOffqMW1YiZA" annotatedElement="_VfD-1BE9EeGOffqMW1YiZA">
+          <body>The multiplicity of each result output pin must be compatible with the multiplicity of the corresponding structural features of the unmarshall classifier.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VfD-1hE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>true</body>
+        </specification>
+      </ownedRule>
+      <generalization xmi:id="_VfD-1xE9EeGOffqMW1YiZA" general="_6WKakLLQEeCsYvaJqFFivQ"/>
+      <ownedAttribute xmi:id="_VfD-2BE9EeGOffqMW1YiZA" name="object" visibility="public" type="_VZp6WRE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_VU4IABE9EeGOffqMW1YiZA" association="_VT4CcxE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VfD-2RE9EeGOffqMW1YiZA" annotatedElement="_VfD-2BE9EeGOffqMW1YiZA">
           <body>The object to be unmarshalled.</body>
         </ownedComment>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g2VZ2twbEeCT5O2F6sGn5g" name="result" visibility="public" type="_g1fsRdwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_gzCOK9wbEeCT5O2F6sGn5g" association="_gy2A79wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2VZ29wbEeCT5O2F6sGn5g" annotatedElement="_g2VZ2twbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VfD-2hE9EeGOffqMW1YiZA" name="result" visibility="public" type="_VcHYcBE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_VU4vEBE9EeGOffqMW1YiZA" association="_VUfthhE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VfD-2xE9EeGOffqMW1YiZA" annotatedElement="_VfD-2hE9EeGOffqMW1YiZA">
           <body>The values of the structural features of the input object.</body>
         </ownedComment>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g2VZ3NwbEeCT5O2F6sGn5g" value="*"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VfD-3BE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g2VZ3dwbEeCT5O2F6sGn5g" name="unmarshallType" visibility="public" type="_6UV2QGwJEdq7X4sGURiZYA" association="_gy-jxNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2VZ3twbEeCT5O2F6sGn5g" annotatedElement="_g2VZ3dwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VfD-3RE9EeGOffqMW1YiZA" name="unmarshallType" visibility="public" type="_6UV2QGwJEdq7X4sGURiZYA" association="_VUtv9BE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VfD-3hE9EeGOffqMW1YiZA" annotatedElement="_VfD-3RE9EeGOffqMW1YiZA">
           <body>The type of the object to be unmarshalled.</body>
         </ownedComment>
       </ownedAttribute>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="_h18oENlrEduDKPkA-0jJZg" name="Usage">
-      <ownedComment xmi:id="_g2VZ39wbEeCT5O2F6sGn5g" annotatedElement="_h18oENlrEduDKPkA-0jJZg">
+      <ownedComment xmi:id="_VfD-3xE9EeGOffqMW1YiZA" annotatedElement="_h18oENlrEduDKPkA-0jJZg">
         <body>A usage is a relationship in which one element requires another element (or set of elements) for its full implementation or operation. A usage is a dependency in which the client requires the presence of the supplier.</body>
       </ownedComment>
-      <generalization xmi:id="_g2VZ4NwbEeCT5O2F6sGn5g" general="_rEDGkGwKEdq7X4sGURiZYA"/>
+      <generalization xmi:id="_VfD-4BE9EeGOffqMW1YiZA" general="_rEDGkGwKEdq7X4sGURiZYA"/>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g2WA0NwbEeCT5O2F6sGn5g" name="UseCase">
-      <ownedComment xmi:id="_g2WA0dwbEeCT5O2F6sGn5g" annotatedElement="_g2WA0NwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VfFM4BE9EeGOffqMW1YiZA" name="UseCase">
+      <ownedComment xmi:id="_VfFM4RE9EeGOffqMW1YiZA" annotatedElement="_VfFM4BE9EeGOffqMW1YiZA">
         <body>A use case is the specification of a set of actions performed by a system, which yields an observable result that is, typically, of value for one or more actors or other stakeholders of the system.</body>
       </ownedComment>
-      <ownedRule xmi:id="_g2WA0twbEeCT5O2F6sGn5g" name="binary_associations" constrainedElement="_g2WA0NwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2WA09wbEeCT5O2F6sGn5g" annotatedElement="_g2WA0twbEeCT5O2F6sGn5g">
-          <body>UseCases can only be involved in binary Associations.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g2WA1NwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>true</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_g2WA1dwbEeCT5O2F6sGn5g" name="no_association_to_use_case" constrainedElement="_g2WA0NwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2WA1twbEeCT5O2F6sGn5g" annotatedElement="_g2WA1dwbEeCT5O2F6sGn5g">
-          <body>UseCases can not have Associations to UseCases specifying the same subject.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g2WA19wbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>true</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_g2WA2NwbEeCT5O2F6sGn5g" name="cannot_include_self" constrainedElement="_g2WA0NwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2WA2dwbEeCT5O2F6sGn5g" annotatedElement="_g2WA2NwbEeCT5O2F6sGn5g">
-          <body>A use case cannot include use cases that directly or indirectly include it.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g2WA2twbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>not self.allIncludedUseCases()->includes(self)</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_g2WA29wbEeCT5O2F6sGn5g" name="must_have_name" constrainedElement="_g2WA0NwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2WA3NwbEeCT5O2F6sGn5g" annotatedElement="_g2WA29wbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VfFM4hE9EeGOffqMW1YiZA" name="must_have_name" constrainedElement="_VfFM4BE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VfFM4xE9EeGOffqMW1YiZA" annotatedElement="_VfFM4hE9EeGOffqMW1YiZA">
           <body>A UseCase must have a name.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g2WA3dwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VfFM5BE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>self.name -> notEmpty ()</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_g2WA3twbEeCT5O2F6sGn5g" general="_iY7sMGvsEdqG6fBIPwe-mw"/>
-      <ownedAttribute xmi:id="_g2WA39wbEeCT5O2F6sGn5g" name="extend" visibility="public" type="_g0Q9MNwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_gy5rStwbEeCT5O2F6sGn5g _g1S4AdwbEeCT5O2F6sGn5g" association="_gycYQdwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2WA4NwbEeCT5O2F6sGn5g" annotatedElement="_g2WA39wbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VfFM5RE9EeGOffqMW1YiZA" name="cannot_include_self" constrainedElement="_VfFM4BE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VfFM5hE9EeGOffqMW1YiZA" annotatedElement="_VfFM5RE9EeGOffqMW1YiZA">
+          <body>A use case cannot include use cases that directly or indirectly include it.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VfFM5xE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>not self.allIncludedUseCases()->includes(self)</body>
+        </specification>
+      </ownedRule>
+      <ownedRule xmi:id="_VfFM6BE9EeGOffqMW1YiZA" name="binary_associations" constrainedElement="_VfFM4BE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VfFM6RE9EeGOffqMW1YiZA" annotatedElement="_VfFM6BE9EeGOffqMW1YiZA">
+          <body>UseCases can only be involved in binary Associations.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VfFM6hE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>true</body>
+        </specification>
+      </ownedRule>
+      <ownedRule xmi:id="_VfFM6xE9EeGOffqMW1YiZA" name="no_association_to_use_case" constrainedElement="_VfFM4BE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VfFM7BE9EeGOffqMW1YiZA" annotatedElement="_VfFM6xE9EeGOffqMW1YiZA">
+          <body>UseCases can not have Associations to UseCases specifying the same subject.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VfFM7RE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>true</body>
+        </specification>
+      </ownedRule>
+      <generalization xmi:id="_VfFM7hE9EeGOffqMW1YiZA" general="_iY7sMGvsEdqG6fBIPwe-mw"/>
+      <ownedAttribute xmi:id="_VfFM7xE9EeGOffqMW1YiZA" name="extend" visibility="public" type="_VZTVABE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_VUkmBhE9EeGOffqMW1YiZA _Var1EBE9EeGOffqMW1YiZA" association="_VTYTMBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VfFM8BE9EeGOffqMW1YiZA" annotatedElement="_VfFM7xE9EeGOffqMW1YiZA">
           <body>References the Extend relationships owned by this use case.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g2WA4dwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g2WA4twbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VfFM8RE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VfFM8hE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g2WA49wbEeCT5O2F6sGn5g" name="extensionPoint" visibility="public" type="_g0TZcNwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_g1S4AdwbEeCT5O2F6sGn5g" association="_gyc_VNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2WA5NwbEeCT5O2F6sGn5g" annotatedElement="_g2WA49wbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VfFM8xE9EeGOffqMW1YiZA" name="extensionPoint" visibility="public" type="_VZXmcBE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_Var1EBE9EeGOffqMW1YiZA" association="_VTavcBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VfFM9BE9EeGOffqMW1YiZA" annotatedElement="_VfFM8xE9EeGOffqMW1YiZA">
           <body>References the ExtensionPoints owned by the use case.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g2WA5dwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g2WA5twbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VfFM9RE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VfFM9hE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g2WA59wbEeCT5O2F6sGn5g" name="include" visibility="public" type="_g0YR8NwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_gy5rStwbEeCT5O2F6sGn5g _g1S4AdwbEeCT5O2F6sGn5g" association="_gyfbntwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2WA6NwbEeCT5O2F6sGn5g" annotatedElement="_g2WA59wbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VfFM9xE9EeGOffqMW1YiZA" name="include" visibility="public" type="_VZneEBE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_VUkmBhE9EeGOffqMW1YiZA _Var1EBE9EeGOffqMW1YiZA" association="_VToK1BE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VfFM-BE9EeGOffqMW1YiZA" annotatedElement="_VfFM9xE9EeGOffqMW1YiZA">
           <body>References the Include relationships owned by this use case.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g2WA6dwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g2WA6twbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VfFM-RE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VfFM-hE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g2WA69wbEeCT5O2F6sGn5g" name="subject" visibility="public" type="_6UV2QGwJEdq7X4sGURiZYA" association="_gy7gctwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2WA7NwbEeCT5O2F6sGn5g" annotatedElement="_g2WA69wbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VfFM-xE9EeGOffqMW1YiZA" name="subject" visibility="public" type="_6UV2QGwJEdq7X4sGURiZYA" association="_VUnpURE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VfFM_BE9EeGOffqMW1YiZA" annotatedElement="_VfFM-xE9EeGOffqMW1YiZA">
           <body>References the subjects to which this use case applies. The subject or its parts realize all the use cases that apply to this subject. Use cases need not be attached to any specific subject, however. The subject may, but need not, own the use cases that apply to it.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g2WA7dwbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g2WA7twbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VfFM_RE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VfFM_hE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedOperation xmi:id="_g2WA79wbEeCT5O2F6sGn5g" name="allIncludedUseCases" visibility="public" bodyCondition="_g2WA8dwbEeCT5O2F6sGn5g" isQuery="true">
-        <ownedComment xmi:id="_g2WA8NwbEeCT5O2F6sGn5g" annotatedElement="_g2WA79wbEeCT5O2F6sGn5g">
+      <ownedOperation xmi:id="_VfFM_xE9EeGOffqMW1YiZA" name="allIncludedUseCases" visibility="public" bodyCondition="_VfFNARE9EeGOffqMW1YiZA" isQuery="true">
+        <ownedComment xmi:id="_VfFNABE9EeGOffqMW1YiZA" annotatedElement="_VfFM_xE9EeGOffqMW1YiZA">
           <body>The query allIncludedUseCases() returns the transitive closure of all use cases (directly or indirectly) included by this use case.</body>
         </ownedComment>
-        <ownedRule xmi:id="_g2WA8dwbEeCT5O2F6sGn5g" name="spec" constrainedElement="_g2WA79wbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g2WA8twbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VfFNARE9EeGOffqMW1YiZA" name="spec" constrainedElement="_VfFM_xE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VfFNAhE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = self.include->union(self.include->collect(in | in.allIncludedUseCases()))</body>
           </specification>
         </ownedRule>
-        <ownedParameter xmi:id="_g2WA89wbEeCT5O2F6sGn5g" name="result" visibility="public" type="_g2WA0NwbEeCT5O2F6sGn5g" direction="return">
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g2WA9NwbEeCT5O2F6sGn5g"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g2WA9dwbEeCT5O2F6sGn5g" value="*"/>
+        <ownedParameter xmi:id="_VfFNAxE9EeGOffqMW1YiZA" name="result" visibility="public" type="_VfFM4BE9EeGOffqMW1YiZA" direction="return">
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VfFNBBE9EeGOffqMW1YiZA"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VfFNBRE9EeGOffqMW1YiZA" value="*"/>
         </ownedParameter>
       </ownedOperation>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g2Wn4NwbEeCT5O2F6sGn5g" name="ValuePin">
-      <ownedComment xmi:id="_g2Wn4dwbEeCT5O2F6sGn5g" annotatedElement="_g2Wn4NwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VfFNBhE9EeGOffqMW1YiZA" name="ValuePin">
+      <ownedComment xmi:id="_VfFNBxE9EeGOffqMW1YiZA" annotatedElement="_VfFNBhE9EeGOffqMW1YiZA">
         <body>A value pin is an input pin that provides a value by evaluating a value specification.</body>
       </ownedComment>
-      <ownedRule xmi:id="_g2Wn4twbEeCT5O2F6sGn5g" name="no_incoming_edges" constrainedElement="_g2Wn4NwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2Wn49wbEeCT5O2F6sGn5g" annotatedElement="_g2Wn4twbEeCT5O2F6sGn5g">
-          <body>Value pins have no incoming edges.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g2Wn5NwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>true</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_g2Wn5dwbEeCT5O2F6sGn5g" name="compatible_type" constrainedElement="_g2Wn4NwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2Wn5twbEeCT5O2F6sGn5g" annotatedElement="_g2Wn5dwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VfFNCBE9EeGOffqMW1YiZA" name="compatible_type" constrainedElement="_VfFNBhE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VfFNCRE9EeGOffqMW1YiZA" annotatedElement="_VfFNCBE9EeGOffqMW1YiZA">
           <body>The type of value specification must be compatible with the type of the value pin.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g2Wn59wbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VfFNChE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>true</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_g2Wn6NwbEeCT5O2F6sGn5g" general="_g0aHKdwbEeCT5O2F6sGn5g"/>
-      <ownedAttribute xmi:id="_g2Wn6dwbEeCT5O2F6sGn5g" name="value" visibility="public" type="_g2YdENwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_g0JocNwbEeCT5O2F6sGn5g" association="_gy_K2dwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2Wn6twbEeCT5O2F6sGn5g" annotatedElement="_g2Wn6dwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VfFNCxE9EeGOffqMW1YiZA" name="no_incoming_edges" constrainedElement="_VfFNBhE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VfFNDBE9EeGOffqMW1YiZA" annotatedElement="_VfFNCxE9EeGOffqMW1YiZA">
+          <body>Value pins have no incoming edges.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VfFNDRE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>true</body>
+        </specification>
+      </ownedRule>
+      <generalization xmi:id="_VfFNDhE9EeGOffqMW1YiZA" general="_VZp6WRE9EeGOffqMW1YiZA"/>
+      <ownedAttribute xmi:id="_VfFNDxE9EeGOffqMW1YiZA" name="value" visibility="public" type="_VfGbABE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_GDD2YAtAEeGcpbeCPJfCmw" association="_VUwzQBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VfFNEBE9EeGOffqMW1YiZA" annotatedElement="_VfFNDxE9EeGOffqMW1YiZA">
           <body>Value that the pin will provide.</body>
         </ownedComment>
       </ownedAttribute>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g2YdENwbEeCT5O2F6sGn5g" name="ValueSpecification" isAbstract="true">
-      <ownedComment xmi:id="_g2YdEdwbEeCT5O2F6sGn5g" annotatedElement="_g2YdENwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VfGbABE9EeGOffqMW1YiZA" name="ValueSpecification" isAbstract="true">
+      <ownedComment xmi:id="_VfGbARE9EeGOffqMW1YiZA" annotatedElement="_VfGbABE9EeGOffqMW1YiZA">
         <body>ValueSpecification specializes ParameterableElement to specify that a value specification can be exposed as a formal template parameter, and provided as an actual parameter in a binding of a template.</body>
       </ownedComment>
-      <ownedComment xmi:id="_g2YdEtwbEeCT5O2F6sGn5g" annotatedElement="_g2YdENwbEeCT5O2F6sGn5g">
+      <ownedComment xmi:id="_VfGbAhE9EeGOffqMW1YiZA" annotatedElement="_VfGbABE9EeGOffqMW1YiZA">
         <body>A value specification is the specification of a (possibly empty) set of instances, including both objects and data values.</body>
       </ownedComment>
-      <generalization xmi:id="_g2YdE9wbEeCT5O2F6sGn5g" general="_g2UysNwbEeCT5O2F6sGn5g"/>
-      <generalization xmi:id="_g2YdFNwbEeCT5O2F6sGn5g" general="_jKxnwGwLEdq7X4sGURiZYA"/>
-      <ownedOperation xmi:id="_g2YdFdwbEeCT5O2F6sGn5g" name="booleanValue" visibility="public" bodyCondition="_g2YdF9wbEeCT5O2F6sGn5g" isQuery="true">
-        <ownedComment xmi:id="_g2YdFtwbEeCT5O2F6sGn5g" annotatedElement="_g2YdFdwbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_VfGbAxE9EeGOffqMW1YiZA" general="_VfDXsBE9EeGOffqMW1YiZA"/>
+      <generalization xmi:id="_VfGbBBE9EeGOffqMW1YiZA" general="_jKxnwGwLEdq7X4sGURiZYA"/>
+      <ownedOperation xmi:id="_VfGbBRE9EeGOffqMW1YiZA" name="booleanValue" visibility="public" bodyCondition="_VfGbBxE9EeGOffqMW1YiZA" isQuery="true">
+        <ownedComment xmi:id="_VfGbBhE9EeGOffqMW1YiZA" annotatedElement="_VfGbBRE9EeGOffqMW1YiZA">
           <body>The query booleanValue() gives a single Boolean value when one can be computed.</body>
         </ownedComment>
-        <ownedRule xmi:id="_g2YdF9wbEeCT5O2F6sGn5g" name="spec" constrainedElement="_g2YdFdwbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g2YdGNwbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VfGbBxE9EeGOffqMW1YiZA" name="spec" constrainedElement="_VfGbBRE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VfGbCBE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = Set{}</body>
           </specification>
         </ownedRule>
-        <ownedParameter xmi:id="_g2YdGdwbEeCT5O2F6sGn5g" name="result" visibility="public" direction="return">
+        <ownedParameter xmi:id="_VfGbCRE9EeGOffqMW1YiZA" name="result" visibility="public" direction="return">
           <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g2YdGtwbEeCT5O2F6sGn5g"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VfGbChE9EeGOffqMW1YiZA"/>
         </ownedParameter>
       </ownedOperation>
-      <ownedOperation xmi:id="_g2YdG9wbEeCT5O2F6sGn5g" name="integerValue" visibility="public" bodyCondition="_g2YdHdwbEeCT5O2F6sGn5g" isQuery="true">
-        <ownedComment xmi:id="_g2YdHNwbEeCT5O2F6sGn5g" annotatedElement="_g2YdG9wbEeCT5O2F6sGn5g">
+      <ownedOperation xmi:id="_VfGbCxE9EeGOffqMW1YiZA" name="integerValue" visibility="public" bodyCondition="_VfGbDRE9EeGOffqMW1YiZA" isQuery="true">
+        <ownedComment xmi:id="_VfGbDBE9EeGOffqMW1YiZA" annotatedElement="_VfGbCxE9EeGOffqMW1YiZA">
           <body>The query integerValue() gives a single Integer value when one can be computed.</body>
         </ownedComment>
-        <ownedRule xmi:id="_g2YdHdwbEeCT5O2F6sGn5g" name="spec" constrainedElement="_g2YdG9wbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g2YdHtwbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VfGbDRE9EeGOffqMW1YiZA" name="spec" constrainedElement="_VfGbCxE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VfGbDhE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = Set{}</body>
           </specification>
         </ownedRule>
-        <ownedParameter xmi:id="_g2YdH9wbEeCT5O2F6sGn5g" name="result" visibility="public" direction="return">
+        <ownedParameter xmi:id="_VfGbDxE9EeGOffqMW1YiZA" name="result" visibility="public" direction="return">
           <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g2YdINwbEeCT5O2F6sGn5g"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VfGbEBE9EeGOffqMW1YiZA"/>
         </ownedParameter>
       </ownedOperation>
-      <ownedOperation xmi:id="_g2YdIdwbEeCT5O2F6sGn5g" name="isCompatibleWith" visibility="public" bodyCondition="_g2YdI9wbEeCT5O2F6sGn5g" isQuery="true" redefinedOperation="_g1noGdwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2YdItwbEeCT5O2F6sGn5g" annotatedElement="_g2YdIdwbEeCT5O2F6sGn5g">
+      <ownedOperation xmi:id="_VfGbERE9EeGOffqMW1YiZA" name="isCompatibleWith" visibility="public" bodyCondition="_VfGbExE9EeGOffqMW1YiZA" isQuery="true" redefinedOperation="_Vc732RE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VfGbEhE9EeGOffqMW1YiZA" annotatedElement="_VfGbERE9EeGOffqMW1YiZA">
           <body>The query isCompatibleWith() determines if this parameterable element is compatible with the specified parameterable element. By default parameterable element P is compatible with parameterable element Q if the kind of P is the same or a subtype as the kind of Q. In addition, for ValueSpecification, the type must be conformant with the type of the specified parameterable element.</body>
         </ownedComment>
-        <ownedRule xmi:id="_g2YdI9wbEeCT5O2F6sGn5g" name="spec" constrainedElement="_g2YdIdwbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g2YdJNwbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VfGbExE9EeGOffqMW1YiZA" name="spec" constrainedElement="_VfGbERE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VfGbFBE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = p->oclIsKindOf(self.oclType) and self.type.conformsTo(p.oclAsType(TypedElement).type)</body>
           </specification>
         </ownedRule>
-        <ownedParameter xmi:id="_g2YdJdwbEeCT5O2F6sGn5g" name="result" visibility="public" direction="return">
+        <ownedParameter xmi:id="_VfGbFRE9EeGOffqMW1YiZA" name="result" visibility="public" direction="return">
           <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
         </ownedParameter>
-        <ownedParameter xmi:id="_g2YdJtwbEeCT5O2F6sGn5g" name="p" visibility="public" type="_g1noENwbEeCT5O2F6sGn5g"/>
+        <ownedParameter xmi:id="_VfGbFhE9EeGOffqMW1YiZA" name="p" visibility="public" type="_Vc730BE9EeGOffqMW1YiZA"/>
       </ownedOperation>
-      <ownedOperation xmi:id="_g2YdJ9wbEeCT5O2F6sGn5g" name="isComputable" visibility="public" bodyCondition="_g2YdKdwbEeCT5O2F6sGn5g" isQuery="true">
-        <ownedComment xmi:id="_g2YdKNwbEeCT5O2F6sGn5g" annotatedElement="_g2YdJ9wbEeCT5O2F6sGn5g">
+      <ownedOperation xmi:id="_VfGbFxE9EeGOffqMW1YiZA" name="isComputable" visibility="public" bodyCondition="_VfGbGRE9EeGOffqMW1YiZA" isQuery="true">
+        <ownedComment xmi:id="_VfGbGBE9EeGOffqMW1YiZA" annotatedElement="_VfGbFxE9EeGOffqMW1YiZA">
           <body>The query isComputable() determines whether a value specification can be computed in a model. This operation cannot be fully defined in OCL. A conforming implementation is expected to deliver true for this operation for all value specifications that it can compute, and to compute all of those for which the operation is true. A conforming implementation is expected to be able to compute the value of all literals.</body>
         </ownedComment>
-        <ownedRule xmi:id="_g2YdKdwbEeCT5O2F6sGn5g" name="spec" constrainedElement="_g2YdJ9wbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g2YdKtwbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VfGbGRE9EeGOffqMW1YiZA" name="spec" constrainedElement="_VfGbFxE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VfGbGhE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = false</body>
           </specification>
         </ownedRule>
-        <ownedParameter xmi:id="_g2YdK9wbEeCT5O2F6sGn5g" name="result" visibility="public" direction="return">
+        <ownedParameter xmi:id="_VfGbGxE9EeGOffqMW1YiZA" name="result" visibility="public" direction="return">
           <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
         </ownedParameter>
       </ownedOperation>
-      <ownedOperation xmi:id="_g2YdLNwbEeCT5O2F6sGn5g" name="isNull" visibility="public" bodyCondition="_g2YdLtwbEeCT5O2F6sGn5g" isQuery="true">
-        <ownedComment xmi:id="_g2YdLdwbEeCT5O2F6sGn5g" annotatedElement="_g2YdLNwbEeCT5O2F6sGn5g">
+      <ownedOperation xmi:id="_VfGbHBE9EeGOffqMW1YiZA" name="isNull" visibility="public" bodyCondition="_VfGbHhE9EeGOffqMW1YiZA" isQuery="true">
+        <ownedComment xmi:id="_VfGbHRE9EeGOffqMW1YiZA" annotatedElement="_VfGbHBE9EeGOffqMW1YiZA">
           <body>The query isNull() returns true when it can be computed that the value is null.</body>
         </ownedComment>
-        <ownedRule xmi:id="_g2YdLtwbEeCT5O2F6sGn5g" name="spec" constrainedElement="_g2YdLNwbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g2YdL9wbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VfGbHhE9EeGOffqMW1YiZA" name="spec" constrainedElement="_VfGbHBE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VfGbHxE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = false</body>
           </specification>
         </ownedRule>
-        <ownedParameter xmi:id="_g2YdMNwbEeCT5O2F6sGn5g" name="result" visibility="public" direction="return">
+        <ownedParameter xmi:id="_VfGbIBE9EeGOffqMW1YiZA" name="result" visibility="public" direction="return">
           <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
         </ownedParameter>
       </ownedOperation>
-      <ownedOperation xmi:id="_g2YdMdwbEeCT5O2F6sGn5g" name="realValue" visibility="public" bodyCondition="_g2YdM9wbEeCT5O2F6sGn5g" isQuery="true">
-        <ownedComment xmi:id="_g2YdMtwbEeCT5O2F6sGn5g" annotatedElement="_g2YdMdwbEeCT5O2F6sGn5g">
+      <ownedOperation xmi:id="_VfGbIRE9EeGOffqMW1YiZA" name="realValue" visibility="public" bodyCondition="_VfGbIxE9EeGOffqMW1YiZA" isQuery="true">
+        <ownedComment xmi:id="_VfGbIhE9EeGOffqMW1YiZA" annotatedElement="_VfGbIRE9EeGOffqMW1YiZA">
           <body>The query realValue() gives a single Real value when one can be computed.</body>
         </ownedComment>
-        <ownedRule xmi:id="_g2YdM9wbEeCT5O2F6sGn5g" name="spec" constrainedElement="_g2YdMdwbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g2YdNNwbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VfGbIxE9EeGOffqMW1YiZA" name="spec" constrainedElement="_VfGbIRE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VfGbJBE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = Set{}</body>
           </specification>
         </ownedRule>
-        <ownedParameter xmi:id="_g2YdNdwbEeCT5O2F6sGn5g" name="result" visibility="public" direction="return">
+        <ownedParameter xmi:id="_VfGbJRE9EeGOffqMW1YiZA" name="result" visibility="public" direction="return">
           <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Real"/>
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g2YdNtwbEeCT5O2F6sGn5g"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VfGbJhE9EeGOffqMW1YiZA"/>
         </ownedParameter>
       </ownedOperation>
-      <ownedOperation xmi:id="_g2YdN9wbEeCT5O2F6sGn5g" name="stringValue" visibility="public" bodyCondition="_g2YdOdwbEeCT5O2F6sGn5g" isQuery="true">
-        <ownedComment xmi:id="_g2YdONwbEeCT5O2F6sGn5g" annotatedElement="_g2YdN9wbEeCT5O2F6sGn5g">
+      <ownedOperation xmi:id="_VfGbJxE9EeGOffqMW1YiZA" name="stringValue" visibility="public" bodyCondition="_VfGbKRE9EeGOffqMW1YiZA" isQuery="true">
+        <ownedComment xmi:id="_VfGbKBE9EeGOffqMW1YiZA" annotatedElement="_VfGbJxE9EeGOffqMW1YiZA">
           <body>The query stringValue() gives a single String value when one can be computed.</body>
         </ownedComment>
-        <ownedRule xmi:id="_g2YdOdwbEeCT5O2F6sGn5g" name="spec" constrainedElement="_g2YdN9wbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g2YdOtwbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VfGbKRE9EeGOffqMW1YiZA" name="spec" constrainedElement="_VfGbJxE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VfGbKhE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = Set{}</body>
           </specification>
         </ownedRule>
-        <ownedParameter xmi:id="_g2YdO9wbEeCT5O2F6sGn5g" name="result" visibility="public" direction="return">
+        <ownedParameter xmi:id="_VfGbKxE9EeGOffqMW1YiZA" name="result" visibility="public" direction="return">
           <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g2YdPNwbEeCT5O2F6sGn5g"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VfGbLBE9EeGOffqMW1YiZA"/>
         </ownedParameter>
       </ownedOperation>
-      <ownedOperation xmi:id="_g2YdPdwbEeCT5O2F6sGn5g" name="unlimitedValue" visibility="public" bodyCondition="_g2YdP9wbEeCT5O2F6sGn5g" isQuery="true">
-        <ownedComment xmi:id="_g2YdPtwbEeCT5O2F6sGn5g" annotatedElement="_g2YdPdwbEeCT5O2F6sGn5g">
+      <ownedOperation xmi:id="_VfGbLRE9EeGOffqMW1YiZA" name="unlimitedValue" visibility="public" bodyCondition="_VfGbLxE9EeGOffqMW1YiZA" isQuery="true">
+        <ownedComment xmi:id="_VfGbLhE9EeGOffqMW1YiZA" annotatedElement="_VfGbLRE9EeGOffqMW1YiZA">
           <body>The query unlimitedValue() gives a single UnlimitedNatural value when one can be computed.</body>
         </ownedComment>
-        <ownedRule xmi:id="_g2YdP9wbEeCT5O2F6sGn5g" name="spec" constrainedElement="_g2YdPdwbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g2YdQNwbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VfGbLxE9EeGOffqMW1YiZA" name="spec" constrainedElement="_VfGbLRE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VfGbMBE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = Set{}</body>
           </specification>
         </ownedRule>
-        <ownedParameter xmi:id="_g2YdQdwbEeCT5O2F6sGn5g" name="result" visibility="public" direction="return">
+        <ownedParameter xmi:id="_VfGbMRE9EeGOffqMW1YiZA" name="result" visibility="public" direction="return">
           <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#UnlimitedNatural"/>
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g2YdQtwbEeCT5O2F6sGn5g"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VfGbMhE9EeGOffqMW1YiZA"/>
         </ownedParameter>
       </ownedOperation>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g2ZEINwbEeCT5O2F6sGn5g" name="ValueSpecificationAction">
-      <ownedComment xmi:id="_g2ZEIdwbEeCT5O2F6sGn5g" annotatedElement="_g2ZEINwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VfHpIBE9EeGOffqMW1YiZA" name="ValueSpecificationAction">
+      <ownedComment xmi:id="_VfHpIRE9EeGOffqMW1YiZA" annotatedElement="_VfHpIBE9EeGOffqMW1YiZA">
         <body>A value specification action is an action that evaluates a value specification.</body>
       </ownedComment>
-      <ownedRule xmi:id="_g2ZEItwbEeCT5O2F6sGn5g" name="multiplicity" constrainedElement="_g2ZEINwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2ZEI9wbEeCT5O2F6sGn5g" annotatedElement="_g2ZEItwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VfHpIhE9EeGOffqMW1YiZA" name="multiplicity" constrainedElement="_VfHpIBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VfHpIxE9EeGOffqMW1YiZA" annotatedElement="_VfHpIhE9EeGOffqMW1YiZA">
           <body>The multiplicity of the result pin is 1..1</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g2ZEJNwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VfHpJBE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>true</body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_g2ZEJdwbEeCT5O2F6sGn5g" name="compatible_type" constrainedElement="_g2ZEINwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2ZEJtwbEeCT5O2F6sGn5g" annotatedElement="_g2ZEJdwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VfHpJRE9EeGOffqMW1YiZA" name="compatible_type" constrainedElement="_VfHpIBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VfHpJhE9EeGOffqMW1YiZA" annotatedElement="_VfHpJRE9EeGOffqMW1YiZA">
           <body>The type of value specification must be compatible with the type of the result pin.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g2ZEJ9wbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VfHpJxE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>true</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_g2ZEKNwbEeCT5O2F6sGn5g" general="_6WKakLLQEeCsYvaJqFFivQ"/>
-      <ownedAttribute xmi:id="_g2ZEKdwbEeCT5O2F6sGn5g" name="result" visibility="public" type="_g1fsRdwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_gzCOK9wbEeCT5O2F6sGn5g" association="_gy2n8twbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2ZEKtwbEeCT5O2F6sGn5g" annotatedElement="_g2ZEKdwbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_VfHpKBE9EeGOffqMW1YiZA" general="_6WKakLLQEeCsYvaJqFFivQ"/>
+      <ownedAttribute xmi:id="_VfHpKRE9EeGOffqMW1YiZA" name="result" visibility="public" type="_VcHYcBE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_VU4vEBE9EeGOffqMW1YiZA" association="_VUftiRE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VfHpKhE9EeGOffqMW1YiZA" annotatedElement="_VfHpKRE9EeGOffqMW1YiZA">
           <body>Gives the output pin on which the result is put.</body>
         </ownedComment>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g2ZEK9wbEeCT5O2F6sGn5g" name="value" visibility="public" type="_g2YdENwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_g0JocNwbEeCT5O2F6sGn5g" association="_gy_K3NwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2ZELNwbEeCT5O2F6sGn5g" annotatedElement="_g2ZEK9wbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VfHpKxE9EeGOffqMW1YiZA" name="value" visibility="public" type="_VfGbABE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_GDD2YAtAEeGcpbeCPJfCmw" association="_VUwzQxE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VfHpLBE9EeGOffqMW1YiZA" annotatedElement="_VfHpKxE9EeGOffqMW1YiZA">
           <body>Value specification to be evaluated.</body>
         </ownedComment>
       </ownedAttribute>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g2ZELdwbEeCT5O2F6sGn5g" name="Variable">
-      <ownedComment xmi:id="_g2ZELtwbEeCT5O2F6sGn5g" annotatedElement="_g2ZELdwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VfIQMBE9EeGOffqMW1YiZA" name="Variable">
+      <ownedComment xmi:id="_VfIQMRE9EeGOffqMW1YiZA" annotatedElement="_VfIQMBE9EeGOffqMW1YiZA">
         <body>A variable is considered a connectable element.</body>
       </ownedComment>
-      <ownedComment xmi:id="_g2ZEL9wbEeCT5O2F6sGn5g" annotatedElement="_g2ZELdwbEeCT5O2F6sGn5g">
+      <ownedComment xmi:id="_VfIQMhE9EeGOffqMW1YiZA" annotatedElement="_VfIQMBE9EeGOffqMW1YiZA">
         <body>Variables are elements for passing data between actions indirectly. A local variable stores values shared by the actions within a structured activity group but not accessible outside it. The output of an action may be written to a variable and read for the input to a subsequent action, which is effectively an indirect data flow path. Because there is no predefined relationship between actions that read and write variables, these actions must be sequenced by control flows to prevent race conditions that may occur between actions that read or write the same variable.</body>
       </ownedComment>
-      <ownedRule xmi:id="_g2ZEMNwbEeCT5O2F6sGn5g" name="owned" constrainedElement="_g2ZELdwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2ZEMdwbEeCT5O2F6sGn5g" annotatedElement="_g2ZEMNwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VfIQMxE9EeGOffqMW1YiZA" name="owned" constrainedElement="_VfIQMBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VfIQNBE9EeGOffqMW1YiZA" annotatedElement="_VfIQMxE9EeGOffqMW1YiZA">
           <body>A variable is owned by a StructuredNode or Activity, but not both.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g2ZEMtwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VfIQNRE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>true</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_g2ZEM9wbEeCT5O2F6sGn5g" general="_0dB44PnhEdunWsS3se92JQ"/>
-      <generalization xmi:id="_g2ZENNwbEeCT5O2F6sGn5g" general="_Gjgl0GveEdq4DLWZOhbdEA"/>
-      <ownedAttribute xmi:id="_g2ZENdwbEeCT5O2F6sGn5g" name="activityScope" visibility="public" type="_eGtFwLLREeCsYvaJqFFivQ" subsettedProperty="_1vzv0LbIEeCRxrN1JUGuxA" association="_gy_x5twbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2ZENtwbEeCT5O2F6sGn5g" annotatedElement="_g2ZENdwbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_VfIQNhE9EeGOffqMW1YiZA" general="_Gjgl0GveEdq4DLWZOhbdEA"/>
+      <generalization xmi:id="_VfIQNxE9EeGOffqMW1YiZA" general="_0dB44PnhEdunWsS3se92JQ"/>
+      <ownedAttribute xmi:id="_VfIQOBE9EeGOffqMW1YiZA" name="activityScope" visibility="public" type="_eGtFwLLREeCsYvaJqFFivQ" subsettedProperty="_1vzv0LbIEeCRxrN1JUGuxA" association="_VUyocBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VfIQORE9EeGOffqMW1YiZA" annotatedElement="_VfIQOBE9EeGOffqMW1YiZA">
           <body>An activity that owns the variable.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g2ZEN9wbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VfIQOhE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g2ZEONwbEeCT5O2F6sGn5g" name="scope" visibility="public" type="_w1_2cLLREeCsYvaJqFFivQ" subsettedProperty="_1vzv0LbIEeCRxrN1JUGuxA" association="_gy_x59wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2ZEOdwbEeCT5O2F6sGn5g" annotatedElement="_g2ZEONwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VfIQOxE9EeGOffqMW1YiZA" name="scope" visibility="public" type="_w1_2cLLREeCsYvaJqFFivQ" subsettedProperty="_1vzv0LbIEeCRxrN1JUGuxA" association="_VUyocRE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VfIQPBE9EeGOffqMW1YiZA" annotatedElement="_VfIQOxE9EeGOffqMW1YiZA">
           <body>A structured activity node that owns the variable.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g2ZEOtwbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VfIQPRE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedOperation xmi:id="_g2ZEO9wbEeCT5O2F6sGn5g" name="isAccessibleBy" visibility="public" bodyCondition="_g2ZEPdwbEeCT5O2F6sGn5g" isQuery="true">
-        <ownedComment xmi:id="_g2ZEPNwbEeCT5O2F6sGn5g" annotatedElement="_g2ZEO9wbEeCT5O2F6sGn5g">
+      <ownedOperation xmi:id="_VfIQPhE9EeGOffqMW1YiZA" name="isAccessibleBy" visibility="public" bodyCondition="_VfIQQBE9EeGOffqMW1YiZA" isQuery="true">
+        <ownedComment xmi:id="_VfIQPxE9EeGOffqMW1YiZA" annotatedElement="_VfIQPhE9EeGOffqMW1YiZA">
           <body>The isAccessibleBy() operation is not defined in standard UML. Implementations should define it to specify which actions can access a variable.</body>
         </ownedComment>
-        <ownedRule xmi:id="_g2ZEPdwbEeCT5O2F6sGn5g" name="spec" constrainedElement="_g2ZEO9wbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g2ZEPtwbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VfIQQBE9EeGOffqMW1YiZA" name="spec" constrainedElement="_VfIQPhE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VfIQQRE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = true</body>
           </specification>
         </ownedRule>
-        <ownedParameter xmi:id="_g2ZEP9wbEeCT5O2F6sGn5g" name="result" visibility="public" direction="return">
+        <ownedParameter xmi:id="_VfIQQhE9EeGOffqMW1YiZA" name="result" visibility="public" direction="return">
           <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
         </ownedParameter>
-        <ownedParameter xmi:id="_g2ZEQNwbEeCT5O2F6sGn5g" name="a" visibility="public" type="_6WKakLLQEeCsYvaJqFFivQ"/>
+        <ownedParameter xmi:id="_VfIQQxE9EeGOffqMW1YiZA" name="a" visibility="public" type="_6WKakLLQEeCsYvaJqFFivQ"/>
       </ownedOperation>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g2ZrMNwbEeCT5O2F6sGn5g" name="VariableAction" isAbstract="true">
-      <ownedComment xmi:id="_g2ZrMdwbEeCT5O2F6sGn5g" annotatedElement="_g2ZrMNwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VfIQRBE9EeGOffqMW1YiZA" name="VariableAction" isAbstract="true">
+      <ownedComment xmi:id="_VfIQRRE9EeGOffqMW1YiZA" annotatedElement="_VfIQRBE9EeGOffqMW1YiZA">
         <body>VariableAction is an abstract class for actions that operate on a statically specified variable.</body>
       </ownedComment>
-      <ownedRule xmi:id="_g2ZrMtwbEeCT5O2F6sGn5g" name="scope_of_variable" constrainedElement="_g2ZrMNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2ZrM9wbEeCT5O2F6sGn5g" annotatedElement="_g2ZrMtwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VfIQRhE9EeGOffqMW1YiZA" name="scope_of_variable" constrainedElement="_VfIQRBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VfIQRxE9EeGOffqMW1YiZA" annotatedElement="_VfIQRhE9EeGOffqMW1YiZA">
           <body>The action must be in the scope of the variable.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g2ZrNNwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VfIQSBE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>self.variable.isAccessibleBy(self)</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_g2ZrNdwbEeCT5O2F6sGn5g" general="_6WKakLLQEeCsYvaJqFFivQ"/>
-      <ownedAttribute xmi:id="_g2ZrNtwbEeCT5O2F6sGn5g" name="variable" visibility="public" type="_g2ZELdwbEeCT5O2F6sGn5g" association="_gy_x6NwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2ZrN9wbEeCT5O2F6sGn5g" annotatedElement="_g2ZrNtwbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_VfIQSRE9EeGOffqMW1YiZA" general="_6WKakLLQEeCsYvaJqFFivQ"/>
+      <ownedAttribute xmi:id="_VfIQShE9EeGOffqMW1YiZA" name="variable" visibility="public" type="_VfIQMBE9EeGOffqMW1YiZA" association="_VUz2kBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VfIQSxE9EeGOffqMW1YiZA" annotatedElement="_VfIQShE9EeGOffqMW1YiZA">
           <body>Variable to be read.</body>
         </ownedComment>
       </ownedAttribute>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="_xM1WoPnlEdunWsS3se92JQ" name="Vertex" isAbstract="true">
-      <ownedComment xmi:id="_g2ZrONwbEeCT5O2F6sGn5g" annotatedElement="_xM1WoPnlEdunWsS3se92JQ">
+      <ownedComment xmi:id="_VfIQTBE9EeGOffqMW1YiZA" annotatedElement="_xM1WoPnlEdunWsS3se92JQ">
         <body>A vertex is an abstraction of a node in a state machine graph. In general, it can be the source or destination of any number of transitions.</body>
       </ownedComment>
-      <generalization xmi:id="_g2ZrOdwbEeCT5O2F6sGn5g" general="_csVgUGvtEdqG6fBIPwe-mw"/>
-      <ownedAttribute xmi:id="_g2ZrOtwbEeCT5O2F6sGn5g" name="container" visibility="public" type="_g18_QNwbEeCT5O2F6sGn5g" subsettedProperty="_1vzv0LbIEeCRxrN1JUGuxA" association="_gy7getwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2ZrO9wbEeCT5O2F6sGn5g" annotatedElement="_g2ZrOtwbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_VfI3QBE9EeGOffqMW1YiZA" general="_csVgUGvtEdqG6fBIPwe-mw"/>
+      <ownedAttribute xmi:id="_VfI3QRE9EeGOffqMW1YiZA" name="container" visibility="public" type="_VeA14BE9EeGOffqMW1YiZA" subsettedProperty="_1vzv0LbIEeCRxrN1JUGuxA" association="_VUoQYRE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VfI3QhE9EeGOffqMW1YiZA" annotatedElement="_VfI3QRE9EeGOffqMW1YiZA">
           <body>The region that contains this vertex.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g2ZrPNwbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VfI3QxE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g2ZrPdwbEeCT5O2F6sGn5g" name="incoming" visibility="public" type="_ykKV8PnlEdunWsS3se92JQ" isReadOnly="true" isDerived="true" association="_EhL8MPnmEdunWsS3se92JQ">
-        <ownedComment xmi:id="_g2ZrPtwbEeCT5O2F6sGn5g" annotatedElement="_g2ZrPdwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VfI3RBE9EeGOffqMW1YiZA" name="incoming" visibility="public" type="_ykKV8PnlEdunWsS3se92JQ" isReadOnly="true" isDerived="true" association="_EhL8MPnmEdunWsS3se92JQ">
+        <ownedComment xmi:id="_VfI3RRE9EeGOffqMW1YiZA" annotatedElement="_VfI3RBE9EeGOffqMW1YiZA">
           <body>Specifies the transitions entering this vertex.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g2ZrP9wbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g2ZrQNwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VfI3RhE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VfI3RxE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedAttribute xmi:id="_g2ZrQdwbEeCT5O2F6sGn5g" name="outgoing" visibility="public" type="_ykKV8PnlEdunWsS3se92JQ" isReadOnly="true" isDerived="true" association="_JPYJoPnmEdunWsS3se92JQ">
-        <ownedComment xmi:id="_g2ZrQtwbEeCT5O2F6sGn5g" annotatedElement="_g2ZrQdwbEeCT5O2F6sGn5g">
+      <ownedAttribute xmi:id="_VfI3SBE9EeGOffqMW1YiZA" name="outgoing" visibility="public" type="_ykKV8PnlEdunWsS3se92JQ" isReadOnly="true" isDerived="true" association="_JPYJoPnmEdunWsS3se92JQ">
+        <ownedComment xmi:id="_VfI3SRE9EeGOffqMW1YiZA" annotatedElement="_VfI3SBE9EeGOffqMW1YiZA">
           <body>Specifies the transitions departing from this vertex.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g2ZrQ9wbEeCT5O2F6sGn5g"/>
-        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g2ZrRNwbEeCT5O2F6sGn5g" value="*"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VfI3ShE9EeGOffqMW1YiZA"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VfI3SxE9EeGOffqMW1YiZA" value="*"/>
       </ownedAttribute>
-      <ownedOperation xmi:id="_g2ZrRdwbEeCT5O2F6sGn5g" name="containingStateMachine" visibility="public" bodyCondition="_g2aSQNwbEeCT5O2F6sGn5g" isQuery="true">
-        <ownedComment xmi:id="_g2ZrRtwbEeCT5O2F6sGn5g" annotatedElement="_g2ZrRdwbEeCT5O2F6sGn5g">
+      <ownedOperation xmi:id="_VfI3TBE9EeGOffqMW1YiZA" name="containingStateMachine" visibility="public" bodyCondition="_VfI3ThE9EeGOffqMW1YiZA" isQuery="true">
+        <ownedComment xmi:id="_VfI3TRE9EeGOffqMW1YiZA" annotatedElement="_VfI3TBE9EeGOffqMW1YiZA">
           <body>The operation containingStateMachine() returns the state machine in which this Vertex is defined</body>
         </ownedComment>
-        <ownedRule xmi:id="_g2aSQNwbEeCT5O2F6sGn5g" name="spec" constrainedElement="_g2ZrRdwbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g2aSQdwbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VfI3ThE9EeGOffqMW1YiZA" name="spec" constrainedElement="_VfI3TBE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VfI3TxE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = if not container->isEmpty()
 then
@@ -15871,509 +15880,509 @@
 </body>
           </specification>
         </ownedRule>
-        <ownedParameter xmi:id="_g2aSQtwbEeCT5O2F6sGn5g" name="result" visibility="public" type="_g2EUANwbEeCT5O2F6sGn5g" direction="return"/>
+        <ownedParameter xmi:id="_VfI3UBE9EeGOffqMW1YiZA" name="result" visibility="public" type="_VeWNEBE9EeGOffqMW1YiZA" direction="return"/>
       </ownedOperation>
-      <ownedOperation xmi:id="_ZdMVcLL8EeCBifIhhuFqZA" name="incoming" visibility="public" bodyCondition="_g2aSRNwbEeCT5O2F6sGn5g" isQuery="true">
-        <ownedComment xmi:id="_g2aSQ9wbEeCT5O2F6sGn5g" annotatedElement="_ZdMVcLL8EeCBifIhhuFqZA">
+      <ownedOperation xmi:id="_ZdMVcLL8EeCBifIhhuFqZA" name="incoming" visibility="public" bodyCondition="_VfJeUBE9EeGOffqMW1YiZA" isQuery="true">
+        <ownedComment xmi:id="_VfI3URE9EeGOffqMW1YiZA" annotatedElement="_ZdMVcLL8EeCBifIhhuFqZA">
           <body>Missing derivation for Vertex::/incoming : Transition</body>
         </ownedComment>
-        <ownedRule xmi:id="_g2aSRNwbEeCT5O2F6sGn5g" name="spec" constrainedElement="_ZdMVcLL8EeCBifIhhuFqZA _g2ZrPdwbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g2aSRdwbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VfJeUBE9EeGOffqMW1YiZA" name="spec" constrainedElement="_ZdMVcLL8EeCBifIhhuFqZA _VfI3RBE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VfJeURE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = Transition.allInstances()->select(t | t.target=self)</body>
           </specification>
         </ownedRule>
         <ownedParameter xmi:id="_apiMwLL8EeCBifIhhuFqZA" name="result" visibility="public" type="_ykKV8PnlEdunWsS3se92JQ" direction="return">
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g2aSRtwbEeCT5O2F6sGn5g"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g2aSR9wbEeCT5O2F6sGn5g" value="*"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VfJeUhE9EeGOffqMW1YiZA"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VfJeUxE9EeGOffqMW1YiZA" value="*"/>
         </ownedParameter>
       </ownedOperation>
-      <ownedOperation xmi:id="_982T8LL9EeCBifIhhuFqZA" name="outgoing" visibility="public" bodyCondition="_g2aSSdwbEeCT5O2F6sGn5g" isQuery="true">
-        <ownedComment xmi:id="_g2aSSNwbEeCT5O2F6sGn5g" annotatedElement="_982T8LL9EeCBifIhhuFqZA">
+      <ownedOperation xmi:id="_982T8LL9EeCBifIhhuFqZA" name="outgoing" visibility="public" bodyCondition="_VfJeVRE9EeGOffqMW1YiZA" isQuery="true">
+        <ownedComment xmi:id="_VfJeVBE9EeGOffqMW1YiZA" annotatedElement="_982T8LL9EeCBifIhhuFqZA">
           <body>Missing derivation for Vertex::/outgoing : Transition</body>
         </ownedComment>
-        <ownedRule xmi:id="_g2aSSdwbEeCT5O2F6sGn5g" name="spec" constrainedElement="_982T8LL9EeCBifIhhuFqZA _g2ZrQdwbEeCT5O2F6sGn5g">
-          <specification xmi:type="uml:OpaqueExpression" xmi:id="_g2aSStwbEeCT5O2F6sGn5g">
+        <ownedRule xmi:id="_VfJeVRE9EeGOffqMW1YiZA" name="spec" constrainedElement="_982T8LL9EeCBifIhhuFqZA _VfI3SBE9EeGOffqMW1YiZA">
+          <specification xmi:type="uml:OpaqueExpression" xmi:id="_VfJeVhE9EeGOffqMW1YiZA">
             <language>OCL</language>
             <body>result = Transition.allInstances()->select(t | t.source=self)</body>
           </specification>
         </ownedRule>
         <ownedParameter xmi:id="_982T8bL9EeCBifIhhuFqZA" name="result" visibility="public" type="_ykKV8PnlEdunWsS3se92JQ" direction="return">
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g2aSS9wbEeCT5O2F6sGn5g"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_g2a5UNwbEeCT5O2F6sGn5g" value="*"/>
+          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VfJeVxE9EeGOffqMW1YiZA"/>
+          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VfJeWBE9EeGOffqMW1YiZA" value="*"/>
         </ownedParameter>
       </ownedOperation>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g2a5UdwbEeCT5O2F6sGn5g" name="WriteLinkAction" isAbstract="true">
-      <ownedComment xmi:id="_g2a5UtwbEeCT5O2F6sGn5g" annotatedElement="_g2a5UdwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VfKFYBE9EeGOffqMW1YiZA" name="WriteLinkAction" isAbstract="true">
+      <ownedComment xmi:id="_VfKFYRE9EeGOffqMW1YiZA" annotatedElement="_VfKFYBE9EeGOffqMW1YiZA">
         <body>WriteLinkAction is an abstract class for link actions that create and destroy links.</body>
       </ownedComment>
-      <ownedRule xmi:id="_g2a5U9wbEeCT5O2F6sGn5g" name="allow_access" constrainedElement="_g2a5UdwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2a5VNwbEeCT5O2F6sGn5g" annotatedElement="_g2a5U9wbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VfKFYhE9EeGOffqMW1YiZA" name="allow_access" constrainedElement="_VfKFYBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VfKFYxE9EeGOffqMW1YiZA" annotatedElement="_VfKFYhE9EeGOffqMW1YiZA">
           <body>The visibility of at least one end must allow access to the class using the action.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g2a5VdwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VfKFZBE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>true</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_g2a5VtwbEeCT5O2F6sGn5g" general="_g0iC8NwbEeCT5O2F6sGn5g"/>
+      <generalization xmi:id="_VfKFZRE9EeGOffqMW1YiZA" general="_VZ1ggBE9EeGOffqMW1YiZA"/>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g2bgYNwbEeCT5O2F6sGn5g" name="WriteStructuralFeatureAction" isAbstract="true">
-      <ownedComment xmi:id="_g2bgYdwbEeCT5O2F6sGn5g" annotatedElement="_g2bgYNwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Class" xmi:id="_VfKscBE9EeGOffqMW1YiZA" name="WriteStructuralFeatureAction" isAbstract="true">
+      <ownedComment xmi:id="_VfKscRE9EeGOffqMW1YiZA" annotatedElement="_VfKscBE9EeGOffqMW1YiZA">
         <body>WriteStructuralFeatureAction is an abstract class for structural feature actions that change structural feature values.</body>
       </ownedComment>
-      <ownedRule xmi:id="_g2bgYtwbEeCT5O2F6sGn5g" name="multiplicity_of_result" constrainedElement="_g2bgYNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2bgY9wbEeCT5O2F6sGn5g" annotatedElement="_g2bgYtwbEeCT5O2F6sGn5g">
-          <body>The multiplicity of the result output pin must be 1..1.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g2bgZNwbEeCT5O2F6sGn5g">
-          <language>OCL</language>
-          <body>result->notEmpty() implies self.result.multiplicity.is(1,1)</body>
-        </specification>
-      </ownedRule>
-      <ownedRule xmi:id="_g2bgZdwbEeCT5O2F6sGn5g" name="input_pin" constrainedElement="_g2bgYNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2bgZtwbEeCT5O2F6sGn5g" annotatedElement="_g2bgZdwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VfKschE9EeGOffqMW1YiZA" name="input_pin" constrainedElement="_VfKscBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VfKscxE9EeGOffqMW1YiZA" annotatedElement="_VfKschE9EeGOffqMW1YiZA">
           <body>The type of the value input pin is the same as the type of the structural feature.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g2bgZ9wbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VfKsdBE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>self.value->notEmpty() implies self.value.type =  self.structuralFeature.type</body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_g2bgaNwbEeCT5O2F6sGn5g" name="multiplicity" constrainedElement="_g2bgYNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2bgadwbEeCT5O2F6sGn5g" annotatedElement="_g2bgaNwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VfKsdRE9EeGOffqMW1YiZA" name="multiplicity" constrainedElement="_VfKscBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VfKsdhE9EeGOffqMW1YiZA" annotatedElement="_VfKsdRE9EeGOffqMW1YiZA">
           <body>The multiplicity of the input pin is 1..1.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g2bgatwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VfKsdxE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>self.value.multiplicity.is(1,1)</body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_g2bga9wbEeCT5O2F6sGn5g" name="type_of_result" constrainedElement="_g2bgYNwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2bgbNwbEeCT5O2F6sGn5g" annotatedElement="_g2bga9wbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VfKseBE9EeGOffqMW1YiZA" name="type_of_result" constrainedElement="_VfKscBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VfKseRE9EeGOffqMW1YiZA" annotatedElement="_VfKseBE9EeGOffqMW1YiZA">
           <body>The type of the result output pin is the same as the type of the inherited object input pin.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g2bgbdwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VfKsehE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>result->notEmpty() implies self.result.type = self.object.type</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_g2bgbtwbEeCT5O2F6sGn5g" general="_g2H-YNwbEeCT5O2F6sGn5g"/>
-      <ownedAttribute xmi:id="_g2bgb9wbEeCT5O2F6sGn5g" name="result" visibility="public" type="_g1fsRdwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_gzCOK9wbEeCT5O2F6sGn5g" association="_gy2n9dwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2bgcNwbEeCT5O2F6sGn5g" annotatedElement="_g2bgb9wbEeCT5O2F6sGn5g">
-          <body>Gives the output pin on which the result is put.</body>
+      <ownedRule xmi:id="_VfKsexE9EeGOffqMW1YiZA" name="multiplicity_of_result" constrainedElement="_VfKscBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VfKsfBE9EeGOffqMW1YiZA" annotatedElement="_VfKsexE9EeGOffqMW1YiZA">
+          <body>The multiplicity of the result output pin must be 1..1.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g2bgcdwbEeCT5O2F6sGn5g"/>
-      </ownedAttribute>
-      <ownedAttribute xmi:id="_g2bgctwbEeCT5O2F6sGn5g" name="value" visibility="public" type="_g0aHKdwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_gzBnMNwbEeCT5O2F6sGn5g" association="_gy_x4NwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2bgc9wbEeCT5O2F6sGn5g" annotatedElement="_g2bgctwbEeCT5O2F6sGn5g">
-          <body>Value to be added or removed from the structural feature.</body>
-        </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g2bgdNwbEeCT5O2F6sGn5g"/>
-      </ownedAttribute>
-    </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_g2bgddwbEeCT5O2F6sGn5g" name="WriteVariableAction" isAbstract="true">
-      <ownedComment xmi:id="_g2bgdtwbEeCT5O2F6sGn5g" annotatedElement="_g2bgddwbEeCT5O2F6sGn5g">
-        <body>WriteVariableAction is an abstract class for variable actions that change variable values.</body>
-      </ownedComment>
-      <ownedRule xmi:id="_g2bgd9wbEeCT5O2F6sGn5g" name="same_type" constrainedElement="_g2bgddwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2bgeNwbEeCT5O2F6sGn5g" annotatedElement="_g2bgd9wbEeCT5O2F6sGn5g">
-          <body>The type input pin is the same as the type of the variable.</body>
-        </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g2bgedwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VfKsfRE9EeGOffqMW1YiZA">
           <language>OCL</language>
-          <body>self.value -> notEmpty() implies self.value.type = self.variable.type</body>
+          <body>result->notEmpty() implies self.result.multiplicity.is(1,1)</body>
         </specification>
       </ownedRule>
-      <ownedRule xmi:id="_g2bgetwbEeCT5O2F6sGn5g" name="multiplicity" constrainedElement="_g2bgddwbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2bge9wbEeCT5O2F6sGn5g" annotatedElement="_g2bgetwbEeCT5O2F6sGn5g">
+      <generalization xmi:id="_VfKsfhE9EeGOffqMW1YiZA" general="_VehMMBE9EeGOffqMW1YiZA"/>
+      <ownedAttribute xmi:id="_VfKsfxE9EeGOffqMW1YiZA" name="result" visibility="public" type="_VcHYcBE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_VU4vEBE9EeGOffqMW1YiZA" association="_VUgUkBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VfKsgBE9EeGOffqMW1YiZA" annotatedElement="_VfKsfxE9EeGOffqMW1YiZA">
+          <body>Gives the output pin on which the result is put.</body>
+        </ownedComment>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VfKsgRE9EeGOffqMW1YiZA"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:id="_VfKsghE9EeGOffqMW1YiZA" name="value" visibility="public" type="_VZp6WRE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_VU4IABE9EeGOffqMW1YiZA" association="_VUyBYBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VfKsgxE9EeGOffqMW1YiZA" annotatedElement="_VfKsghE9EeGOffqMW1YiZA">
+          <body>Value to be added or removed from the structural feature.</body>
+        </ownedComment>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VfKshBE9EeGOffqMW1YiZA"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Class" xmi:id="_VfLTgBE9EeGOffqMW1YiZA" name="WriteVariableAction" isAbstract="true">
+      <ownedComment xmi:id="_VfLTgRE9EeGOffqMW1YiZA" annotatedElement="_VfLTgBE9EeGOffqMW1YiZA">
+        <body>WriteVariableAction is an abstract class for variable actions that change variable values.</body>
+      </ownedComment>
+      <ownedRule xmi:id="_VfLTghE9EeGOffqMW1YiZA" name="multiplicity" constrainedElement="_VfLTgBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VfLTgxE9EeGOffqMW1YiZA" annotatedElement="_VfLTghE9EeGOffqMW1YiZA">
           <body>The multiplicity of the input pin is 1..1.</body>
         </ownedComment>
-        <specification xmi:type="uml:OpaqueExpression" xmi:id="_g2bgfNwbEeCT5O2F6sGn5g">
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VfLThBE9EeGOffqMW1YiZA">
           <language>OCL</language>
           <body>self.value.multiplicity.is(1,1)</body>
         </specification>
       </ownedRule>
-      <generalization xmi:id="_g2bgfdwbEeCT5O2F6sGn5g" general="_g2ZrMNwbEeCT5O2F6sGn5g"/>
-      <ownedAttribute xmi:id="_g2bgftwbEeCT5O2F6sGn5g" name="value" visibility="public" type="_g0aHKdwbEeCT5O2F6sGn5g" aggregation="composite" subsettedProperty="_gzBnMNwbEeCT5O2F6sGn5g" association="_gy_x49wbEeCT5O2F6sGn5g">
-        <ownedComment xmi:id="_g2bgf9wbEeCT5O2F6sGn5g" annotatedElement="_g2bgftwbEeCT5O2F6sGn5g">
+      <ownedRule xmi:id="_VfLThRE9EeGOffqMW1YiZA" name="same_type" constrainedElement="_VfLTgBE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VfLThhE9EeGOffqMW1YiZA" annotatedElement="_VfLThRE9EeGOffqMW1YiZA">
+          <body>The type input pin is the same as the type of the variable.</body>
+        </ownedComment>
+        <specification xmi:type="uml:OpaqueExpression" xmi:id="_VfLThxE9EeGOffqMW1YiZA">
+          <language>OCL</language>
+          <body>self.value -> notEmpty() implies self.value.type = self.variable.type</body>
+        </specification>
+      </ownedRule>
+      <generalization xmi:id="_VfLTiBE9EeGOffqMW1YiZA" general="_VfIQRBE9EeGOffqMW1YiZA"/>
+      <ownedAttribute xmi:id="_VfLTiRE9EeGOffqMW1YiZA" name="value" visibility="public" type="_VZp6WRE9EeGOffqMW1YiZA" aggregation="composite" subsettedProperty="_VU4IABE9EeGOffqMW1YiZA" association="_VUyBYxE9EeGOffqMW1YiZA">
+        <ownedComment xmi:id="_VfLTihE9EeGOffqMW1YiZA" annotatedElement="_VfLTiRE9EeGOffqMW1YiZA">
           <body>Value to be added or removed from the variable.</body>
         </ownedComment>
-        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_g2bggNwbEeCT5O2F6sGn5g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VfLTixE9EeGOffqMW1YiZA"/>
       </ownedAttribute>
     </packagedElement>
     <packagedElement xmi:type="uml:Enumeration" xmi:id="_B3q9cGwNEdq7X4sGURiZYA" name="AggregationKind" visibility="private">
-      <ownedComment xmi:id="_g2cHcNwbEeCT5O2F6sGn5g" annotatedElement="_B3q9cGwNEdq7X4sGURiZYA">
+      <ownedComment xmi:id="_VfLTjBE9EeGOffqMW1YiZA" annotatedElement="_B3q9cGwNEdq7X4sGURiZYA">
         <body>AggregationKind is an enumeration type that specifies the literals for defining the kind of aggregation of a property.</body>
       </ownedComment>
-      <ownedLiteral xmi:id="_g2cHcdwbEeCT5O2F6sGn5g" name="none">
-        <ownedComment xmi:id="_g2cHctwbEeCT5O2F6sGn5g" annotatedElement="_g2cHcdwbEeCT5O2F6sGn5g">
+      <ownedLiteral xmi:id="_VfL6kBE9EeGOffqMW1YiZA" name="none">
+        <ownedComment xmi:id="_VfL6kRE9EeGOffqMW1YiZA" annotatedElement="_VfL6kBE9EeGOffqMW1YiZA">
           <body>Indicates that the property has no aggregation.</body>
         </ownedComment>
       </ownedLiteral>
-      <ownedLiteral xmi:id="_g2cHc9wbEeCT5O2F6sGn5g" name="shared">
-        <ownedComment xmi:id="_g2cHdNwbEeCT5O2F6sGn5g" annotatedElement="_g2cHc9wbEeCT5O2F6sGn5g">
+      <ownedLiteral xmi:id="_VfL6khE9EeGOffqMW1YiZA" name="shared">
+        <ownedComment xmi:id="_VfL6kxE9EeGOffqMW1YiZA" annotatedElement="_VfL6khE9EeGOffqMW1YiZA">
           <body>Indicates that the property has a shared aggregation.</body>
         </ownedComment>
       </ownedLiteral>
-      <ownedLiteral xmi:id="_g2cHddwbEeCT5O2F6sGn5g" name="composite">
-        <ownedComment xmi:id="_g2cHdtwbEeCT5O2F6sGn5g" annotatedElement="_g2cHddwbEeCT5O2F6sGn5g">
+      <ownedLiteral xmi:id="_VfL6lBE9EeGOffqMW1YiZA" name="composite">
+        <ownedComment xmi:id="_VfL6lRE9EeGOffqMW1YiZA" annotatedElement="_VfL6lBE9EeGOffqMW1YiZA">
           <body>Indicates that the property is aggregated compositely, i.e., the composite object has responsibility for the existence and storage of the composed objects (parts).</body>
         </ownedComment>
       </ownedLiteral>
     </packagedElement>
-    <packagedElement xmi:type="uml:Enumeration" xmi:id="_g2cHd9wbEeCT5O2F6sGn5g" name="CallConcurrencyKind">
-      <ownedComment xmi:id="_g2cHeNwbEeCT5O2F6sGn5g" annotatedElement="_g2cHd9wbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Enumeration" xmi:id="_VfMhoBE9EeGOffqMW1YiZA" name="CallConcurrencyKind">
+      <ownedComment xmi:id="_VfMhoRE9EeGOffqMW1YiZA" annotatedElement="_VfMhoBE9EeGOffqMW1YiZA">
         <body>CallConcurrencyKind is an enumeration type.</body>
       </ownedComment>
-      <ownedLiteral xmi:id="_g2cHedwbEeCT5O2F6sGn5g" name="sequential">
-        <ownedComment xmi:id="_g2cHetwbEeCT5O2F6sGn5g" annotatedElement="_g2cHedwbEeCT5O2F6sGn5g">
+      <ownedLiteral xmi:id="_VfMhohE9EeGOffqMW1YiZA" name="sequential">
+        <ownedComment xmi:id="_VfMhoxE9EeGOffqMW1YiZA" annotatedElement="_VfMhohE9EeGOffqMW1YiZA">
           <body>No concurrency management mechanism is associated with the operation and, therefore, concurrency conflicts may occur. Instances that invoke a behavioral feature need to coordinate so that only one invocation to a target on any behavioral feature occurs at once.</body>
         </ownedComment>
       </ownedLiteral>
-      <ownedLiteral xmi:id="_g2cHe9wbEeCT5O2F6sGn5g" name="guarded">
-        <ownedComment xmi:id="_g2cHfNwbEeCT5O2F6sGn5g" annotatedElement="_g2cHe9wbEeCT5O2F6sGn5g">
+      <ownedLiteral xmi:id="_VfMhpBE9EeGOffqMW1YiZA" name="guarded">
+        <ownedComment xmi:id="_VfMhpRE9EeGOffqMW1YiZA" annotatedElement="_VfMhpBE9EeGOffqMW1YiZA">
           <body>Multiple invocations of a behavioral feature may occur simultaneously to one instance, but only one is allowed to commence. The others are blocked until the performance of the currently executing behavioral feature is complete. It is the responsibility of the system designer to ensure that deadlocks do not occur due to simultaneous blocks.</body>
         </ownedComment>
       </ownedLiteral>
-      <ownedLiteral xmi:id="_g2cHfdwbEeCT5O2F6sGn5g" name="concurrent">
-        <ownedComment xmi:id="_g2cHftwbEeCT5O2F6sGn5g" annotatedElement="_g2cHfdwbEeCT5O2F6sGn5g">
+      <ownedLiteral xmi:id="_VfMhphE9EeGOffqMW1YiZA" name="concurrent">
+        <ownedComment xmi:id="_VfMhpxE9EeGOffqMW1YiZA" annotatedElement="_VfMhphE9EeGOffqMW1YiZA">
           <body>Multiple invocations of a behavioral feature may occur simultaneously to one instance and all of them may proceed concurrently.</body>
         </ownedComment>
       </ownedLiteral>
     </packagedElement>
     <packagedElement xmi:type="uml:Enumeration" xmi:id="_echygLLWEeCsYvaJqFFivQ" name="ConnectorKind" visibility="private">
-      <ownedComment xmi:id="_g2cHf9wbEeCT5O2F6sGn5g" annotatedElement="_echygLLWEeCsYvaJqFFivQ">
+      <ownedComment xmi:id="_VfMhqBE9EeGOffqMW1YiZA" annotatedElement="_echygLLWEeCsYvaJqFFivQ">
         <body>ConnectorKind is an enumeration type.</body>
       </ownedComment>
-      <ownedLiteral xmi:id="_g2cHgNwbEeCT5O2F6sGn5g" name="assembly">
-        <ownedComment xmi:id="_g2cHgdwbEeCT5O2F6sGn5g" annotatedElement="_g2cHgNwbEeCT5O2F6sGn5g">
+      <ownedLiteral xmi:id="_VfMhqRE9EeGOffqMW1YiZA" name="assembly">
+        <ownedComment xmi:id="_VfNIsBE9EeGOffqMW1YiZA" annotatedElement="_VfMhqRE9EeGOffqMW1YiZA">
           <body>Indicates that the connector is an assembly connector.</body>
         </ownedComment>
       </ownedLiteral>
-      <ownedLiteral xmi:id="_g2cugNwbEeCT5O2F6sGn5g" name="delegation">
-        <ownedComment xmi:id="_g2cugdwbEeCT5O2F6sGn5g" annotatedElement="_g2cugNwbEeCT5O2F6sGn5g">
+      <ownedLiteral xmi:id="_VfNIsRE9EeGOffqMW1YiZA" name="delegation">
+        <ownedComment xmi:id="_VfNIshE9EeGOffqMW1YiZA" annotatedElement="_VfNIsRE9EeGOffqMW1YiZA">
           <body>Indicates that the connector is a delegation connector.</body>
         </ownedComment>
       </ownedLiteral>
     </packagedElement>
-    <packagedElement xmi:type="uml:Enumeration" xmi:id="_g2cugtwbEeCT5O2F6sGn5g" name="ExpansionKind">
-      <ownedComment xmi:id="_g2cug9wbEeCT5O2F6sGn5g" annotatedElement="_g2cugtwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Enumeration" xmi:id="_VfNIsxE9EeGOffqMW1YiZA" name="ExpansionKind">
+      <ownedComment xmi:id="_VfNItBE9EeGOffqMW1YiZA" annotatedElement="_VfNIsxE9EeGOffqMW1YiZA">
         <body>ExpansionKind is an enumeration type used to specify how multiple executions of an expansion region interact.</body>
       </ownedComment>
-      <ownedLiteral xmi:id="_g2cuhNwbEeCT5O2F6sGn5g" name="parallel">
-        <ownedComment xmi:id="_g2cuhdwbEeCT5O2F6sGn5g" annotatedElement="_g2cuhNwbEeCT5O2F6sGn5g">
+      <ownedLiteral xmi:id="_VfNItRE9EeGOffqMW1YiZA" name="parallel">
+        <ownedComment xmi:id="_VfNIthE9EeGOffqMW1YiZA" annotatedElement="_VfNItRE9EeGOffqMW1YiZA">
           <body>The executions are independent. They may be executed concurrently.</body>
         </ownedComment>
       </ownedLiteral>
-      <ownedLiteral xmi:id="_g2cuhtwbEeCT5O2F6sGn5g" name="iterative">
-        <ownedComment xmi:id="_g2cuh9wbEeCT5O2F6sGn5g" annotatedElement="_g2cuhtwbEeCT5O2F6sGn5g">
+      <ownedLiteral xmi:id="_VfNItxE9EeGOffqMW1YiZA" name="iterative">
+        <ownedComment xmi:id="_VfNIuBE9EeGOffqMW1YiZA" annotatedElement="_VfNItxE9EeGOffqMW1YiZA">
           <body>The executions are dependent and must be executed one at a time, in order of the collection elements.</body>
         </ownedComment>
       </ownedLiteral>
-      <ownedLiteral xmi:id="_g2cuiNwbEeCT5O2F6sGn5g" name="stream">
-        <ownedComment xmi:id="_g2cuidwbEeCT5O2F6sGn5g" annotatedElement="_g2cuiNwbEeCT5O2F6sGn5g">
+      <ownedLiteral xmi:id="_VfNIuRE9EeGOffqMW1YiZA" name="stream">
+        <ownedComment xmi:id="_VfNIuhE9EeGOffqMW1YiZA" annotatedElement="_VfNIuRE9EeGOffqMW1YiZA">
           <body>A stream of collection elements flows into a single execution, in order of the collection elements.</body>
         </ownedComment>
       </ownedLiteral>
     </packagedElement>
-    <packagedElement xmi:type="uml:Enumeration" xmi:id="_g2dVkNwbEeCT5O2F6sGn5g" name="InteractionOperatorKind">
-      <ownedComment xmi:id="_g2dVkdwbEeCT5O2F6sGn5g" annotatedElement="_g2dVkNwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Enumeration" xmi:id="_VfOW0BE9EeGOffqMW1YiZA" name="InteractionOperatorKind">
+      <ownedComment xmi:id="_VfOW0RE9EeGOffqMW1YiZA" annotatedElement="_VfOW0BE9EeGOffqMW1YiZA">
         <body>InteractionOperatorKind is an enumeration designating the different kinds of operators of combined fragments. The interaction operand defines the type of operator of a combined fragment.</body>
       </ownedComment>
-      <ownedLiteral xmi:id="_g2dVktwbEeCT5O2F6sGn5g" name="seq">
-        <ownedComment xmi:id="_g2dVk9wbEeCT5O2F6sGn5g" annotatedElement="_g2dVktwbEeCT5O2F6sGn5g">
+      <ownedLiteral xmi:id="_VfOW0hE9EeGOffqMW1YiZA" name="seq">
+        <ownedComment xmi:id="_VfOW0xE9EeGOffqMW1YiZA" annotatedElement="_VfOW0hE9EeGOffqMW1YiZA">
           <body>The interactionOperator seq designates that the CombinedFragment represents a weak sequencing between the behaviors of the operands.</body>
         </ownedComment>
       </ownedLiteral>
-      <ownedLiteral xmi:id="_g2dVlNwbEeCT5O2F6sGn5g" name="alt">
-        <ownedComment xmi:id="_g2dVldwbEeCT5O2F6sGn5g" annotatedElement="_g2dVlNwbEeCT5O2F6sGn5g">
+      <ownedLiteral xmi:id="_VfOW1BE9EeGOffqMW1YiZA" name="alt">
+        <ownedComment xmi:id="_VfOW1RE9EeGOffqMW1YiZA" annotatedElement="_VfOW1BE9EeGOffqMW1YiZA">
           <body>The interactionOperator alt designates that the CombinedFragment represents a choice of behavior. At most one of the operands will be chosen. The chosen operand must have an explicit or implicit guard expression that evaluates to true at this point in the interaction. An implicit true guard is implied if the operand has no guard.</body>
         </ownedComment>
       </ownedLiteral>
-      <ownedLiteral xmi:id="_g2dVltwbEeCT5O2F6sGn5g" name="opt">
-        <ownedComment xmi:id="_g2dVl9wbEeCT5O2F6sGn5g" annotatedElement="_g2dVltwbEeCT5O2F6sGn5g">
+      <ownedLiteral xmi:id="_VfOW1hE9EeGOffqMW1YiZA" name="opt">
+        <ownedComment xmi:id="_VfOW1xE9EeGOffqMW1YiZA" annotatedElement="_VfOW1hE9EeGOffqMW1YiZA">
           <body>The interactionOperator opt designates that the CombinedFragment represents a choice of behavior where either the (sole) operand happens or nothing happens. An option is semantically equivalent to an alternative CombinedFragment where there is one operand with non-empty content and the second operand is empty.</body>
         </ownedComment>
       </ownedLiteral>
-      <ownedLiteral xmi:id="_g2dVmNwbEeCT5O2F6sGn5g" name="break">
-        <ownedComment xmi:id="_g2dVmdwbEeCT5O2F6sGn5g" annotatedElement="_g2dVmNwbEeCT5O2F6sGn5g">
+      <ownedLiteral xmi:id="_VfOW2BE9EeGOffqMW1YiZA" name="break">
+        <ownedComment xmi:id="_VfOW2RE9EeGOffqMW1YiZA" annotatedElement="_VfOW2BE9EeGOffqMW1YiZA">
           <body>The interactionOperator break designates that the CombinedFragment represents a breaking scenario in the sense that the operand is a scenario that is performed instead of the remainder of the enclosing InteractionFragment. A break operator with a guard is chosen when the guard is true and the rest of the enclosing Interaction Fragment is ignored. When the guard of the break operand is false, the break operand is ignored and the rest of the enclosing InteractionFragment is chosen. The choice between a break operand without a guard and the rest of the enclosing InteractionFragment is done non-deterministically.</body>
         </ownedComment>
       </ownedLiteral>
-      <ownedLiteral xmi:id="_g2dVmtwbEeCT5O2F6sGn5g" name="par">
-        <ownedComment xmi:id="_g2dVm9wbEeCT5O2F6sGn5g" annotatedElement="_g2dVmtwbEeCT5O2F6sGn5g">
+      <ownedLiteral xmi:id="_VfOW2hE9EeGOffqMW1YiZA" name="par">
+        <ownedComment xmi:id="_VfOW2xE9EeGOffqMW1YiZA" annotatedElement="_VfOW2hE9EeGOffqMW1YiZA">
           <body>The interactionOperator par designates that the CombinedFragment represents a parallel merge between the behaviors of the operands. The OccurrenceSpecifications of the different operands can be interleaved in any way as long as the ordering imposed by each operand as such is preserved.</body>
         </ownedComment>
       </ownedLiteral>
-      <ownedLiteral xmi:id="_g2dVnNwbEeCT5O2F6sGn5g" name="strict">
-        <ownedComment xmi:id="_g2dVndwbEeCT5O2F6sGn5g" annotatedElement="_g2dVnNwbEeCT5O2F6sGn5g">
+      <ownedLiteral xmi:id="_VfOW3BE9EeGOffqMW1YiZA" name="strict">
+        <ownedComment xmi:id="_VfOW3RE9EeGOffqMW1YiZA" annotatedElement="_VfOW3BE9EeGOffqMW1YiZA">
           <body>The interactionOperator strict designates that the CombinedFragment represents a strict sequencing between the behaviors of the operands. The semantics of strict sequencing defines a strict ordering of the operands on the first level within the CombinedFragment with interactionOperator strict. Therefore OccurrenceSpecifications within contained CombinedFragment will not directly be compared with other OccurrenceSpecifications of the enclosing CombinedFragment.</body>
         </ownedComment>
       </ownedLiteral>
-      <ownedLiteral xmi:id="_g2dVntwbEeCT5O2F6sGn5g" name="loop">
-        <ownedComment xmi:id="_g2dVn9wbEeCT5O2F6sGn5g" annotatedElement="_g2dVntwbEeCT5O2F6sGn5g">
+      <ownedLiteral xmi:id="_VfOW3hE9EeGOffqMW1YiZA" name="loop">
+        <ownedComment xmi:id="_VfOW3xE9EeGOffqMW1YiZA" annotatedElement="_VfOW3hE9EeGOffqMW1YiZA">
           <body>The interactionOperator loop designates that the CombinedFragment represents a loop. The loop operand will be repeated a number of times.</body>
         </ownedComment>
       </ownedLiteral>
-      <ownedLiteral xmi:id="_g2dVoNwbEeCT5O2F6sGn5g" name="critical">
-        <ownedComment xmi:id="_g2dVodwbEeCT5O2F6sGn5g" annotatedElement="_g2dVoNwbEeCT5O2F6sGn5g">
+      <ownedLiteral xmi:id="_VfOW4BE9EeGOffqMW1YiZA" name="critical">
+        <ownedComment xmi:id="_VfOW4RE9EeGOffqMW1YiZA" annotatedElement="_VfOW4BE9EeGOffqMW1YiZA">
           <body>The interactionOperator critical designates that the CombinedFragment represents a critical region. A critical region means that the traces of the region cannot be interleaved by other OccurrenceSpecifications (on those Lifelines covered by the region). This means that the region is treated atomically by the enclosing fragment when determining the set of valid traces. Even though enclosing CombinedFragments may imply that some OccurrenceSpecifications may interleave into the region, such as e.g. with par-operator, this is prevented by defining a region.</body>
         </ownedComment>
       </ownedLiteral>
-      <ownedLiteral xmi:id="_g2dVotwbEeCT5O2F6sGn5g" name="neg">
-        <ownedComment xmi:id="_g2dVo9wbEeCT5O2F6sGn5g" annotatedElement="_g2dVotwbEeCT5O2F6sGn5g">
+      <ownedLiteral xmi:id="_VfOW4hE9EeGOffqMW1YiZA" name="neg">
+        <ownedComment xmi:id="_VfOW4xE9EeGOffqMW1YiZA" annotatedElement="_VfOW4hE9EeGOffqMW1YiZA">
           <body>The interactionOperator neg designates that the CombinedFragment represents traces that are defined to be invalid.</body>
         </ownedComment>
       </ownedLiteral>
-      <ownedLiteral xmi:id="_g2dVpNwbEeCT5O2F6sGn5g" name="assert">
-        <ownedComment xmi:id="_g2dVpdwbEeCT5O2F6sGn5g" annotatedElement="_g2dVpNwbEeCT5O2F6sGn5g">
+      <ownedLiteral xmi:id="_VfOW5BE9EeGOffqMW1YiZA" name="assert">
+        <ownedComment xmi:id="_VfOW5RE9EeGOffqMW1YiZA" annotatedElement="_VfOW5BE9EeGOffqMW1YiZA">
           <body>The interactionOperator assert designates that the CombinedFragment represents an assertion. The sequences of the operand of the assertion are the only valid continuations. All other continuations result in an invalid trace.</body>
         </ownedComment>
       </ownedLiteral>
-      <ownedLiteral xmi:id="_g2dVptwbEeCT5O2F6sGn5g" name="ignore">
-        <ownedComment xmi:id="_g2dVp9wbEeCT5O2F6sGn5g" annotatedElement="_g2dVptwbEeCT5O2F6sGn5g">
+      <ownedLiteral xmi:id="_VfOW5hE9EeGOffqMW1YiZA" name="ignore">
+        <ownedComment xmi:id="_VfOW5xE9EeGOffqMW1YiZA" annotatedElement="_VfOW5hE9EeGOffqMW1YiZA">
           <body>The interacionOperator ignore designates that there are some message types that are not shown within this combined fragment. These message types can be considered insignificant and are implicitly ignored if they appear in a corresponding execution. Alternatively, one can understand ignore to mean that the message types that are ignored can appear anywhere in the traces.</body>
         </ownedComment>
       </ownedLiteral>
-      <ownedLiteral xmi:id="_g2dVqNwbEeCT5O2F6sGn5g" name="consider">
-        <ownedComment xmi:id="_g2dVqdwbEeCT5O2F6sGn5g" annotatedElement="_g2dVqNwbEeCT5O2F6sGn5g">
+      <ownedLiteral xmi:id="_VfOW6BE9EeGOffqMW1YiZA" name="consider">
+        <ownedComment xmi:id="_VfOW6RE9EeGOffqMW1YiZA" annotatedElement="_VfOW6BE9EeGOffqMW1YiZA">
           <body>The interactionOperator consider designates which messages should be considered within this combined fragment. This is equivalent to defining every other message to be ignored.</body>
         </ownedComment>
       </ownedLiteral>
     </packagedElement>
     <packagedElement xmi:type="uml:Enumeration" xmi:id="_Y_jskGvtEdqG6fBIPwe-mw" name="MessageKind" visibility="private">
-      <ownedComment xmi:id="_g2dVqtwbEeCT5O2F6sGn5g" annotatedElement="_Y_jskGvtEdqG6fBIPwe-mw">
+      <ownedComment xmi:id="_VfOW6hE9EeGOffqMW1YiZA" annotatedElement="_Y_jskGvtEdqG6fBIPwe-mw">
         <body>This is an enumerated type that identifies the type of message.</body>
       </ownedComment>
-      <ownedLiteral xmi:id="_g2dVq9wbEeCT5O2F6sGn5g" name="complete">
-        <ownedComment xmi:id="_g2dVrNwbEeCT5O2F6sGn5g" annotatedElement="_g2dVq9wbEeCT5O2F6sGn5g">
+      <ownedLiteral xmi:id="_VfOW6xE9EeGOffqMW1YiZA" name="complete">
+        <ownedComment xmi:id="_VfOW7BE9EeGOffqMW1YiZA" annotatedElement="_VfOW6xE9EeGOffqMW1YiZA">
           <body>sendEvent and receiveEvent are present</body>
         </ownedComment>
       </ownedLiteral>
-      <ownedLiteral xmi:id="_g2dVrdwbEeCT5O2F6sGn5g" name="lost">
-        <ownedComment xmi:id="_g2dVrtwbEeCT5O2F6sGn5g" annotatedElement="_g2dVrdwbEeCT5O2F6sGn5g">
+      <ownedLiteral xmi:id="_VfOW7RE9EeGOffqMW1YiZA" name="lost">
+        <ownedComment xmi:id="_VfOW7hE9EeGOffqMW1YiZA" annotatedElement="_VfOW7RE9EeGOffqMW1YiZA">
           <body>sendEvent present and receiveEvent absent</body>
         </ownedComment>
       </ownedLiteral>
-      <ownedLiteral xmi:id="_g2dVr9wbEeCT5O2F6sGn5g" name="found">
-        <ownedComment xmi:id="_g2dVsNwbEeCT5O2F6sGn5g" annotatedElement="_g2dVr9wbEeCT5O2F6sGn5g">
+      <ownedLiteral xmi:id="_VfOW7xE9EeGOffqMW1YiZA" name="found">
+        <ownedComment xmi:id="_VfOW8BE9EeGOffqMW1YiZA" annotatedElement="_VfOW7xE9EeGOffqMW1YiZA">
           <body>sendEvent absent and receiveEvent present</body>
         </ownedComment>
       </ownedLiteral>
-      <ownedLiteral xmi:id="_g2dVsdwbEeCT5O2F6sGn5g" name="unknown">
-        <ownedComment xmi:id="_g2dVstwbEeCT5O2F6sGn5g" annotatedElement="_g2dVsdwbEeCT5O2F6sGn5g">
+      <ownedLiteral xmi:id="_VfOW8RE9EeGOffqMW1YiZA" name="unknown">
+        <ownedComment xmi:id="_VfOW8hE9EeGOffqMW1YiZA" annotatedElement="_VfOW8RE9EeGOffqMW1YiZA">
           <body>sendEvent and receiveEvent absent (should not appear)</body>
         </ownedComment>
       </ownedLiteral>
     </packagedElement>
-    <packagedElement xmi:type="uml:Enumeration" xmi:id="_g2d8oNwbEeCT5O2F6sGn5g" name="MessageSort">
-      <ownedComment xmi:id="_g2d8odwbEeCT5O2F6sGn5g" annotatedElement="_g2d8oNwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Enumeration" xmi:id="_VfO94BE9EeGOffqMW1YiZA" name="MessageSort">
+      <ownedComment xmi:id="_VfO94RE9EeGOffqMW1YiZA" annotatedElement="_VfO94BE9EeGOffqMW1YiZA">
         <body>This is an enumerated type that identifies the type of communication action that was used to generate the message.</body>
       </ownedComment>
-      <ownedLiteral xmi:id="_g2d8otwbEeCT5O2F6sGn5g" name="synchCall">
-        <ownedComment xmi:id="_g2d8o9wbEeCT5O2F6sGn5g" annotatedElement="_g2d8otwbEeCT5O2F6sGn5g">
+      <ownedLiteral xmi:id="_VfO94hE9EeGOffqMW1YiZA" name="synchCall">
+        <ownedComment xmi:id="_VfO94xE9EeGOffqMW1YiZA" annotatedElement="_VfO94hE9EeGOffqMW1YiZA">
           <body>The message was generated by a synchronous call to an operation.</body>
         </ownedComment>
       </ownedLiteral>
-      <ownedLiteral xmi:id="_g2d8pNwbEeCT5O2F6sGn5g" name="asynchCall">
-        <ownedComment xmi:id="_g2d8pdwbEeCT5O2F6sGn5g" annotatedElement="_g2d8pNwbEeCT5O2F6sGn5g">
+      <ownedLiteral xmi:id="_VfO95BE9EeGOffqMW1YiZA" name="asynchCall">
+        <ownedComment xmi:id="_VfO95RE9EeGOffqMW1YiZA" annotatedElement="_VfO95BE9EeGOffqMW1YiZA">
           <body>The message was generated by an asynchronous call to an operation; i.e., a CallAction with isSynchronous = false.</body>
         </ownedComment>
       </ownedLiteral>
-      <ownedLiteral xmi:id="_g2d8ptwbEeCT5O2F6sGn5g" name="asynchSignal">
-        <ownedComment xmi:id="_g2d8p9wbEeCT5O2F6sGn5g" annotatedElement="_g2d8ptwbEeCT5O2F6sGn5g">
+      <ownedLiteral xmi:id="_VfO95hE9EeGOffqMW1YiZA" name="asynchSignal">
+        <ownedComment xmi:id="_VfO95xE9EeGOffqMW1YiZA" annotatedElement="_VfO95hE9EeGOffqMW1YiZA">
           <body>The message was generated by an asynchronous send action.</body>
         </ownedComment>
       </ownedLiteral>
-      <ownedLiteral xmi:id="_g2d8qNwbEeCT5O2F6sGn5g" name="createMessage">
-        <ownedComment xmi:id="_g2d8qdwbEeCT5O2F6sGn5g" annotatedElement="_g2d8qNwbEeCT5O2F6sGn5g">
+      <ownedLiteral xmi:id="_VfO96BE9EeGOffqMW1YiZA" name="createMessage">
+        <ownedComment xmi:id="_VfO96RE9EeGOffqMW1YiZA" annotatedElement="_VfO96BE9EeGOffqMW1YiZA">
           <body>The message designating the creation of another lifeline object.</body>
         </ownedComment>
       </ownedLiteral>
-      <ownedLiteral xmi:id="_g2d8qtwbEeCT5O2F6sGn5g" name="deleteMessage">
-        <ownedComment xmi:id="_g2d8q9wbEeCT5O2F6sGn5g" annotatedElement="_g2d8qtwbEeCT5O2F6sGn5g">
+      <ownedLiteral xmi:id="_VfO96hE9EeGOffqMW1YiZA" name="deleteMessage">
+        <ownedComment xmi:id="_VfO96xE9EeGOffqMW1YiZA" annotatedElement="_VfO96hE9EeGOffqMW1YiZA">
           <body>The message designating the termination of another lifeline.</body>
         </ownedComment>
       </ownedLiteral>
-      <ownedLiteral xmi:id="_g2d8rNwbEeCT5O2F6sGn5g" name="reply">
-        <ownedComment xmi:id="_g2d8rdwbEeCT5O2F6sGn5g" annotatedElement="_g2d8rNwbEeCT5O2F6sGn5g">
+      <ownedLiteral xmi:id="_VfO97BE9EeGOffqMW1YiZA" name="reply">
+        <ownedComment xmi:id="_VfO97RE9EeGOffqMW1YiZA" annotatedElement="_VfO97BE9EeGOffqMW1YiZA">
           <body>The message is a reply message to an operation call.</body>
         </ownedComment>
       </ownedLiteral>
     </packagedElement>
-    <packagedElement xmi:type="uml:Enumeration" xmi:id="_g2d8rtwbEeCT5O2F6sGn5g" name="ObjectNodeOrderingKind">
-      <ownedComment xmi:id="_g2d8r9wbEeCT5O2F6sGn5g" annotatedElement="_g2d8rtwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Enumeration" xmi:id="_VfPk8BE9EeGOffqMW1YiZA" name="ObjectNodeOrderingKind">
+      <ownedComment xmi:id="_VfPk8RE9EeGOffqMW1YiZA" annotatedElement="_VfPk8BE9EeGOffqMW1YiZA">
         <body>ObjectNodeOrderingKind is an enumeration indicating queuing order within a node.</body>
       </ownedComment>
-      <ownedLiteral xmi:id="_g2d8sNwbEeCT5O2F6sGn5g" name="unordered">
-        <ownedComment xmi:id="_g2d8sdwbEeCT5O2F6sGn5g" annotatedElement="_g2d8sNwbEeCT5O2F6sGn5g">
+      <ownedLiteral xmi:id="_VfPk8hE9EeGOffqMW1YiZA" name="unordered">
+        <ownedComment xmi:id="_VfPk8xE9EeGOffqMW1YiZA" annotatedElement="_VfPk8hE9EeGOffqMW1YiZA">
           <body>Indicates that object node tokens are unordered.</body>
         </ownedComment>
       </ownedLiteral>
-      <ownedLiteral xmi:id="_g2d8stwbEeCT5O2F6sGn5g" name="ordered">
-        <ownedComment xmi:id="_g2d8s9wbEeCT5O2F6sGn5g" annotatedElement="_g2d8stwbEeCT5O2F6sGn5g">
+      <ownedLiteral xmi:id="_VfPk9BE9EeGOffqMW1YiZA" name="ordered">
+        <ownedComment xmi:id="_VfPk9RE9EeGOffqMW1YiZA" annotatedElement="_VfPk9BE9EeGOffqMW1YiZA">
           <body>Indicates that object node tokens are ordered.</body>
         </ownedComment>
       </ownedLiteral>
-      <ownedLiteral xmi:id="_g2d8tNwbEeCT5O2F6sGn5g" name="LIFO">
-        <ownedComment xmi:id="_g2d8tdwbEeCT5O2F6sGn5g" annotatedElement="_g2d8tNwbEeCT5O2F6sGn5g">
+      <ownedLiteral xmi:id="_VfPk9hE9EeGOffqMW1YiZA" name="LIFO">
+        <ownedComment xmi:id="_VfPk9xE9EeGOffqMW1YiZA" annotatedElement="_VfPk9hE9EeGOffqMW1YiZA">
           <body>Indicates that object node tokens are queued in a last in, first out manner.</body>
         </ownedComment>
       </ownedLiteral>
-      <ownedLiteral xmi:id="_g2d8ttwbEeCT5O2F6sGn5g" name="FIFO">
-        <ownedComment xmi:id="_g2d8t9wbEeCT5O2F6sGn5g" annotatedElement="_g2d8ttwbEeCT5O2F6sGn5g">
+      <ownedLiteral xmi:id="_VfPk-BE9EeGOffqMW1YiZA" name="FIFO">
+        <ownedComment xmi:id="_VfPk-RE9EeGOffqMW1YiZA" annotatedElement="_VfPk-BE9EeGOffqMW1YiZA">
           <body>Indicates that object node tokens are queued in a first in, first out manner.</body>
         </ownedComment>
       </ownedLiteral>
     </packagedElement>
-    <packagedElement xmi:type="uml:Enumeration" xmi:id="_g2ejsNwbEeCT5O2F6sGn5g" name="ParameterDirectionKind">
-      <ownedComment xmi:id="_g2ejsdwbEeCT5O2F6sGn5g" annotatedElement="_g2ejsNwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Enumeration" xmi:id="_VfQMABE9EeGOffqMW1YiZA" name="ParameterDirectionKind">
+      <ownedComment xmi:id="_VfQMARE9EeGOffqMW1YiZA" annotatedElement="_VfQMABE9EeGOffqMW1YiZA">
         <body>Parameter direction kind is an enumeration type that defines literals used to specify direction of parameters.</body>
       </ownedComment>
-      <ownedLiteral xmi:id="_g2ejstwbEeCT5O2F6sGn5g" name="in">
-        <ownedComment xmi:id="_g2ejs9wbEeCT5O2F6sGn5g" annotatedElement="_g2ejstwbEeCT5O2F6sGn5g">
+      <ownedLiteral xmi:id="_VfQMAhE9EeGOffqMW1YiZA" name="in">
+        <ownedComment xmi:id="_VfQMAxE9EeGOffqMW1YiZA" annotatedElement="_VfQMAhE9EeGOffqMW1YiZA">
           <body>Indicates that parameter values are passed into the behavioral element by the caller.</body>
         </ownedComment>
       </ownedLiteral>
-      <ownedLiteral xmi:id="_g2ejtNwbEeCT5O2F6sGn5g" name="inout">
-        <ownedComment xmi:id="_g2ejtdwbEeCT5O2F6sGn5g" annotatedElement="_g2ejtNwbEeCT5O2F6sGn5g">
+      <ownedLiteral xmi:id="_VfQMBBE9EeGOffqMW1YiZA" name="inout">
+        <ownedComment xmi:id="_VfQMBRE9EeGOffqMW1YiZA" annotatedElement="_VfQMBBE9EeGOffqMW1YiZA">
           <body>Indicates that parameter values are passed into a behavioral element by the caller and then back out to the caller from the behavioral element.</body>
         </ownedComment>
       </ownedLiteral>
-      <ownedLiteral xmi:id="_g2ejttwbEeCT5O2F6sGn5g" name="out">
-        <ownedComment xmi:id="_g2ejt9wbEeCT5O2F6sGn5g" annotatedElement="_g2ejttwbEeCT5O2F6sGn5g">
+      <ownedLiteral xmi:id="_VfQMBhE9EeGOffqMW1YiZA" name="out">
+        <ownedComment xmi:id="_VfQMBxE9EeGOffqMW1YiZA" annotatedElement="_VfQMBhE9EeGOffqMW1YiZA">
           <body>Indicates that parameter values are passed from a behavioral element out to the caller.</body>
         </ownedComment>
       </ownedLiteral>
-      <ownedLiteral xmi:id="_g2ejuNwbEeCT5O2F6sGn5g" name="return">
-        <ownedComment xmi:id="_g2ejudwbEeCT5O2F6sGn5g" annotatedElement="_g2ejuNwbEeCT5O2F6sGn5g">
+      <ownedLiteral xmi:id="_VfQMCBE9EeGOffqMW1YiZA" name="return">
+        <ownedComment xmi:id="_VfQMCRE9EeGOffqMW1YiZA" annotatedElement="_VfQMCBE9EeGOffqMW1YiZA">
           <body>Indicates that parameter values are passed as return values from a behavioral element back to the caller.</body>
         </ownedComment>
       </ownedLiteral>
     </packagedElement>
     <packagedElement xmi:type="uml:Enumeration" xmi:id="_oNLHgLG1EeCDe8CO90iVKQ" name="ParameterEffectKind" visibility="private">
-      <ownedComment xmi:id="_g2ejutwbEeCT5O2F6sGn5g" annotatedElement="_oNLHgLG1EeCDe8CO90iVKQ">
+      <ownedComment xmi:id="_VfQMChE9EeGOffqMW1YiZA" annotatedElement="_oNLHgLG1EeCDe8CO90iVKQ">
         <body>The datatype ParameterEffectKind is an enumeration that indicates the effect of a behavior on values passed in or out of its parameters.</body>
       </ownedComment>
-      <ownedLiteral xmi:id="_g2eju9wbEeCT5O2F6sGn5g" name="create">
-        <ownedComment xmi:id="_g2ejvNwbEeCT5O2F6sGn5g" annotatedElement="_g2eju9wbEeCT5O2F6sGn5g">
+      <ownedLiteral xmi:id="_VfQMCxE9EeGOffqMW1YiZA" name="create">
+        <ownedComment xmi:id="_VfQMDBE9EeGOffqMW1YiZA" annotatedElement="_VfQMCxE9EeGOffqMW1YiZA">
           <body>Indicates that the behavior creates values.</body>
         </ownedComment>
       </ownedLiteral>
-      <ownedLiteral xmi:id="_g2ejvdwbEeCT5O2F6sGn5g" name="read">
-        <ownedComment xmi:id="_g2ejvtwbEeCT5O2F6sGn5g" annotatedElement="_g2ejvdwbEeCT5O2F6sGn5g">
+      <ownedLiteral xmi:id="_VfQMDRE9EeGOffqMW1YiZA" name="read">
+        <ownedComment xmi:id="_VfQMDhE9EeGOffqMW1YiZA" annotatedElement="_VfQMDRE9EeGOffqMW1YiZA">
           <body>Indicates that the behavior reads values.</body>
         </ownedComment>
       </ownedLiteral>
-      <ownedLiteral xmi:id="_g2ejv9wbEeCT5O2F6sGn5g" name="update">
-        <ownedComment xmi:id="_g2ejwNwbEeCT5O2F6sGn5g" annotatedElement="_g2ejv9wbEeCT5O2F6sGn5g">
+      <ownedLiteral xmi:id="_VfQMDxE9EeGOffqMW1YiZA" name="update">
+        <ownedComment xmi:id="_VfQMEBE9EeGOffqMW1YiZA" annotatedElement="_VfQMDxE9EeGOffqMW1YiZA">
           <body>Indicates that the behavior updates values.</body>
         </ownedComment>
       </ownedLiteral>
-      <ownedLiteral xmi:id="_g2ejwdwbEeCT5O2F6sGn5g" name="delete">
-        <ownedComment xmi:id="_g2ejwtwbEeCT5O2F6sGn5g" annotatedElement="_g2ejwdwbEeCT5O2F6sGn5g">
+      <ownedLiteral xmi:id="_VfQMERE9EeGOffqMW1YiZA" name="delete">
+        <ownedComment xmi:id="_VfQMEhE9EeGOffqMW1YiZA" annotatedElement="_VfQMERE9EeGOffqMW1YiZA">
           <body>Indicates that the behavior deletes values.</body>
         </ownedComment>
       </ownedLiteral>
     </packagedElement>
-    <packagedElement xmi:type="uml:Enumeration" xmi:id="_g2fKwNwbEeCT5O2F6sGn5g" name="PseudostateKind">
-      <ownedComment xmi:id="_g2fKwdwbEeCT5O2F6sGn5g" annotatedElement="_g2fKwNwbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Enumeration" xmi:id="_VfRaIBE9EeGOffqMW1YiZA" name="PseudostateKind">
+      <ownedComment xmi:id="_VfRaIRE9EeGOffqMW1YiZA" annotatedElement="_VfRaIBE9EeGOffqMW1YiZA">
         <body>PseudostateKind is an enumeration type.</body>
       </ownedComment>
-      <ownedLiteral xmi:id="_g2fKwtwbEeCT5O2F6sGn5g" name="initial">
-        <ownedComment xmi:id="_g2fKw9wbEeCT5O2F6sGn5g" annotatedElement="_g2fKwtwbEeCT5O2F6sGn5g">
+      <ownedLiteral xmi:id="_VfRaIhE9EeGOffqMW1YiZA" name="initial">
+        <ownedComment xmi:id="_VfRaIxE9EeGOffqMW1YiZA" annotatedElement="_VfRaIhE9EeGOffqMW1YiZA">
           <body>An initial pseudostate represents a default vertex that is the source for a single transition to the default state of a composite state. There can be at most one initial vertex in a region. The outgoing transition from the initial vertex may have a behavior, but not a trigger or guard.</body>
         </ownedComment>
       </ownedLiteral>
-      <ownedLiteral xmi:id="_g2fKxNwbEeCT5O2F6sGn5g" name="deepHistory">
-        <ownedComment xmi:id="_g2fKxdwbEeCT5O2F6sGn5g" annotatedElement="_g2fKxNwbEeCT5O2F6sGn5g">
+      <ownedLiteral xmi:id="_VfRaJBE9EeGOffqMW1YiZA" name="deepHistory">
+        <ownedComment xmi:id="_VfRaJRE9EeGOffqMW1YiZA" annotatedElement="_VfRaJBE9EeGOffqMW1YiZA">
           <body>DeepHistory represents the most recent active configuration of the composite state that directly contains this pseudostate; e.g. the state configuration that was active when the composite state was last exited. A composite state can have at most one deep history vertex. At most one transition may originate from the history connector to the default deep history state. This transition is taken in case the composite state had never been active before. Entry actions of states entered on the path to the state represented by a deep history are performed.</body>
         </ownedComment>
       </ownedLiteral>
-      <ownedLiteral xmi:id="_g2fKxtwbEeCT5O2F6sGn5g" name="shallowHistory">
-        <ownedComment xmi:id="_g2fKx9wbEeCT5O2F6sGn5g" annotatedElement="_g2fKxtwbEeCT5O2F6sGn5g">
+      <ownedLiteral xmi:id="_VfRaJhE9EeGOffqMW1YiZA" name="shallowHistory">
+        <ownedComment xmi:id="_VfRaJxE9EeGOffqMW1YiZA" annotatedElement="_VfRaJhE9EeGOffqMW1YiZA">
           <body>ShallowHistory represents the most recent active substate of its containing state (but not the substates of that substate). A composite state can have at most one shallow history vertex. A transition coming into the shallow history vertex is equivalent to a transition coming into the most recent active substate of a state. At most one transition may originate from the history connector to the default shallow history state. This transition is taken in case the composite state had never been active before. Entry actions of states entered on the path to the state represented by a shallow history are performed.</body>
         </ownedComment>
       </ownedLiteral>
-      <ownedLiteral xmi:id="_g2fKyNwbEeCT5O2F6sGn5g" name="join">
-        <ownedComment xmi:id="_g2fKydwbEeCT5O2F6sGn5g" annotatedElement="_g2fKyNwbEeCT5O2F6sGn5g">
+      <ownedLiteral xmi:id="_VfRaKBE9EeGOffqMW1YiZA" name="join">
+        <ownedComment xmi:id="_VfRaKRE9EeGOffqMW1YiZA" annotatedElement="_VfRaKBE9EeGOffqMW1YiZA">
           <body>Join vertices serve to merge several transitions emanating from source vertices in different orthogonal regions. The transitions entering a join vertex cannot have guards or triggers.</body>
         </ownedComment>
       </ownedLiteral>
-      <ownedLiteral xmi:id="_g2fKytwbEeCT5O2F6sGn5g" name="fork">
-        <ownedComment xmi:id="_g2fKy9wbEeCT5O2F6sGn5g" annotatedElement="_g2fKytwbEeCT5O2F6sGn5g">
+      <ownedLiteral xmi:id="_VfRaKhE9EeGOffqMW1YiZA" name="fork">
+        <ownedComment xmi:id="_VfRaKxE9EeGOffqMW1YiZA" annotatedElement="_VfRaKhE9EeGOffqMW1YiZA">
           <body>Fork vertices serve to split an incoming transition into two or more transitions terminating on orthogonal target vertices (i.e. vertices in different regions of a composite state). The segments outgoing from a fork vertex must not have guards or triggers.</body>
         </ownedComment>
       </ownedLiteral>
-      <ownedLiteral xmi:id="_g2fKzNwbEeCT5O2F6sGn5g" name="junction">
-        <ownedComment xmi:id="_g2fKzdwbEeCT5O2F6sGn5g" annotatedElement="_g2fKzNwbEeCT5O2F6sGn5g">
+      <ownedLiteral xmi:id="_VfRaLBE9EeGOffqMW1YiZA" name="junction">
+        <ownedComment xmi:id="_VfRaLRE9EeGOffqMW1YiZA" annotatedElement="_VfRaLBE9EeGOffqMW1YiZA">
           <body>Junction vertices are semantic-free vertices that are used to chain together multiple transitions. They are used to construct compound transition paths between states. For example, a junction can be used to converge multiple incoming transitions into a single outgoing transition representing a shared transition path (this is known as an merge). Conversely, they can be used to split an incoming transition into multiple outgoing transition segments with different guard conditions. This realizes a static conditional branch. (In the latter case, outgoing transitions whose guard conditions evaluate to false are disabled. A predefined guard denoted 'else' may be defined for at most one outgoing transition. This transition is enabled if all the guards labeling the other transitions are false.) Static conditional branches are distinct from dynamic conditional branches that are realized by choice vertices (described below).</body>
         </ownedComment>
       </ownedLiteral>
-      <ownedLiteral xmi:id="_g2fKztwbEeCT5O2F6sGn5g" name="choice">
-        <ownedComment xmi:id="_g2fKz9wbEeCT5O2F6sGn5g" annotatedElement="_g2fKztwbEeCT5O2F6sGn5g">
+      <ownedLiteral xmi:id="_VfRaLhE9EeGOffqMW1YiZA" name="choice">
+        <ownedComment xmi:id="_VfRaLxE9EeGOffqMW1YiZA" annotatedElement="_VfRaLhE9EeGOffqMW1YiZA">
           <body>Choice vertices which, when reached, result in the dynamic evaluation of the guards of the triggers of its outgoing transitions. This realizes a dynamic conditional branch. It allows splitting of transitions into multiple outgoing paths such that the decision on which path to take may be a function of the results of prior actions performed in the same run-tocompletion step. If more than one of the guards evaluates to true, an arbitrary one is selected. If none of the guards evaluates to true, then the model is considered ill-formed. (To avoid this, it is recommended to define one outgoing transition with the predefined else guard for every choice vertex.) Choice vertices should be distinguished from static branch points that are based on junction points (described above).</body>
         </ownedComment>
       </ownedLiteral>
-      <ownedLiteral xmi:id="_g2fK0NwbEeCT5O2F6sGn5g" name="entryPoint">
-        <ownedComment xmi:id="_g2fK0dwbEeCT5O2F6sGn5g" annotatedElement="_g2fK0NwbEeCT5O2F6sGn5g">
+      <ownedLiteral xmi:id="_VfRaMBE9EeGOffqMW1YiZA" name="entryPoint">
+        <ownedComment xmi:id="_VfRaMRE9EeGOffqMW1YiZA" annotatedElement="_VfRaMBE9EeGOffqMW1YiZA">
           <body>An entry point pseudostate is an entry point of a state machine or composite state. In each region of the state machine or composite state it has a single transition to a vertex within the same region.</body>
         </ownedComment>
       </ownedLiteral>
-      <ownedLiteral xmi:id="_g2fK0twbEeCT5O2F6sGn5g" name="exitPoint">
-        <ownedComment xmi:id="_g2fK09wbEeCT5O2F6sGn5g" annotatedElement="_g2fK0twbEeCT5O2F6sGn5g">
+      <ownedLiteral xmi:id="_VfRaMhE9EeGOffqMW1YiZA" name="exitPoint">
+        <ownedComment xmi:id="_VfRaMxE9EeGOffqMW1YiZA" annotatedElement="_VfRaMhE9EeGOffqMW1YiZA">
           <body>An exit point pseudostate is an exit point of a state machine or composite state. Entering an exit point within any region of the composite state or state machine referenced by a submachine state implies the exit of this composite state or submachine state and the triggering of the transition that has this exit point as source in the state machine enclosing the submachine or composite state.</body>
         </ownedComment>
       </ownedLiteral>
-      <ownedLiteral xmi:id="_g2fK1NwbEeCT5O2F6sGn5g" name="terminate">
-        <ownedComment xmi:id="_g2fK1dwbEeCT5O2F6sGn5g" annotatedElement="_g2fK1NwbEeCT5O2F6sGn5g">
+      <ownedLiteral xmi:id="_VfRaNBE9EeGOffqMW1YiZA" name="terminate">
+        <ownedComment xmi:id="_VfRaNRE9EeGOffqMW1YiZA" annotatedElement="_VfRaNBE9EeGOffqMW1YiZA">
           <body>Entering a terminate pseudostate implies that the execution of this state machine by means of its context object is terminated. The state machine does not exit any states nor does it perform any exit actions other than those associated with the transition leading to the terminate pseudostate. Entering a terminate pseudostate is equivalent to invoking a DestroyObjectAction.</body>
         </ownedComment>
       </ownedLiteral>
     </packagedElement>
-    <packagedElement xmi:type="uml:Enumeration" xmi:id="_g2fK1twbEeCT5O2F6sGn5g" name="TransitionKind">
-      <ownedComment xmi:id="_g2fK19wbEeCT5O2F6sGn5g" annotatedElement="_g2fK1twbEeCT5O2F6sGn5g">
+    <packagedElement xmi:type="uml:Enumeration" xmi:id="_VfRaNhE9EeGOffqMW1YiZA" name="TransitionKind">
+      <ownedComment xmi:id="_VfRaNxE9EeGOffqMW1YiZA" annotatedElement="_VfRaNhE9EeGOffqMW1YiZA">
         <body>TransitionKind is an enumeration type.</body>
       </ownedComment>
-      <ownedLiteral xmi:id="_g2fK2NwbEeCT5O2F6sGn5g" name="internal">
-        <ownedComment xmi:id="_g2fK2dwbEeCT5O2F6sGn5g" annotatedElement="_g2fK2NwbEeCT5O2F6sGn5g">
+      <ownedLiteral xmi:id="_VfRaOBE9EeGOffqMW1YiZA" name="internal">
+        <ownedComment xmi:id="_VfRaORE9EeGOffqMW1YiZA" annotatedElement="_VfRaOBE9EeGOffqMW1YiZA">
           <body>Implies that the transition, if triggered, occurs without exiting or entering the source state. Thus, it does not cause a state change. This means that the entry or exit condition of the source state will not be invoked. An internal transition can be taken even if the state machine is in one or more regions nested within this state.</body>
         </ownedComment>
       </ownedLiteral>
-      <ownedLiteral xmi:id="_g2fK2twbEeCT5O2F6sGn5g" name="local">
-        <ownedComment xmi:id="_g2fK29wbEeCT5O2F6sGn5g" annotatedElement="_g2fK2twbEeCT5O2F6sGn5g">
+      <ownedLiteral xmi:id="_VfRaOhE9EeGOffqMW1YiZA" name="local">
+        <ownedComment xmi:id="_VfRaOxE9EeGOffqMW1YiZA" annotatedElement="_VfRaOhE9EeGOffqMW1YiZA">
           <body>Implies that the transition, if triggered, will not exit the composite (source) state, but it will apply to any state within the composite state, and these will be exited and entered.</body>
         </ownedComment>
       </ownedLiteral>
-      <ownedLiteral xmi:id="_g2fK3NwbEeCT5O2F6sGn5g" name="external">
-        <ownedComment xmi:id="_g2fK3dwbEeCT5O2F6sGn5g" annotatedElement="_g2fK3NwbEeCT5O2F6sGn5g">
+      <ownedLiteral xmi:id="_VfRaPBE9EeGOffqMW1YiZA" name="external">
+        <ownedComment xmi:id="_VfRaPRE9EeGOffqMW1YiZA" annotatedElement="_VfRaPBE9EeGOffqMW1YiZA">
           <body>Implies that the transition, if triggered, will exit the composite (source) state.</body>
         </ownedComment>
       </ownedLiteral>
     </packagedElement>
     <packagedElement xmi:type="uml:Enumeration" xmi:id="_AyM_oGwMEdq7X4sGURiZYA" name="VisibilityKind" visibility="private">
-      <ownedComment xmi:id="_g2fK3twbEeCT5O2F6sGn5g" annotatedElement="_AyM_oGwMEdq7X4sGURiZYA">
+      <ownedComment xmi:id="_VfRaPhE9EeGOffqMW1YiZA" annotatedElement="_AyM_oGwMEdq7X4sGURiZYA">
         <body>VisibilityKind is an enumeration type that defines literals to determine the visibility of elements in a model.</body>
       </ownedComment>
-      <ownedLiteral xmi:id="_g2fK39wbEeCT5O2F6sGn5g" name="public">
-        <ownedComment xmi:id="_g2fK4NwbEeCT5O2F6sGn5g" annotatedElement="_g2fK39wbEeCT5O2F6sGn5g">
+      <ownedLiteral xmi:id="_VfSBMBE9EeGOffqMW1YiZA" name="public">
+        <ownedComment xmi:id="_VfSBMRE9EeGOffqMW1YiZA" annotatedElement="_VfSBMBE9EeGOffqMW1YiZA">
           <body>A public element is visible to all elements that can access the contents of the namespace that owns it.</body>
         </ownedComment>
       </ownedLiteral>
-      <ownedLiteral xmi:id="_g2fx0NwbEeCT5O2F6sGn5g" name="private">
-        <ownedComment xmi:id="_g2fx0dwbEeCT5O2F6sGn5g" annotatedElement="_g2fx0NwbEeCT5O2F6sGn5g">
+      <ownedLiteral xmi:id="_VfSBMhE9EeGOffqMW1YiZA" name="private">
+        <ownedComment xmi:id="_VfSBMxE9EeGOffqMW1YiZA" annotatedElement="_VfSBMhE9EeGOffqMW1YiZA">
           <body>A private element is only visible inside the namespace that owns it.</body>
         </ownedComment>
       </ownedLiteral>
-      <ownedLiteral xmi:id="_g2fx0twbEeCT5O2F6sGn5g" name="protected">
-        <ownedComment xmi:id="_g2fx09wbEeCT5O2F6sGn5g" annotatedElement="_g2fx0twbEeCT5O2F6sGn5g">
+      <ownedLiteral xmi:id="_VfSBNBE9EeGOffqMW1YiZA" name="protected">
+        <ownedComment xmi:id="_VfSBNRE9EeGOffqMW1YiZA" annotatedElement="_VfSBNBE9EeGOffqMW1YiZA">
           <body>A protected element is visible to elements that have a generalization relationship to the namespace that owns it.</body>
         </ownedComment>
       </ownedLiteral>
-      <ownedLiteral xmi:id="_g2fx1NwbEeCT5O2F6sGn5g" name="package">
-        <ownedComment xmi:id="_g2fx1dwbEeCT5O2F6sGn5g" annotatedElement="_g2fx1NwbEeCT5O2F6sGn5g">
+      <ownedLiteral xmi:id="_VfSBNhE9EeGOffqMW1YiZA" name="package">
+        <ownedComment xmi:id="_VfSBNxE9EeGOffqMW1YiZA" annotatedElement="_VfSBNhE9EeGOffqMW1YiZA">
           <body>A package element is owned by a namespace that is not a package, and is visible to elements that are in the same package as its owning namespace. Only named elements that are not owned by packages can be marked as having package visibility. Any element marked as having package visibility is visible to all elements within the nearest enclosing package (given that other owning elements have proper visibility). Outside the nearest enclosing package, an element marked as having package visibility is not visible.</body>
         </ownedComment>
       </ownedLiteral>
@@ -16445,7 +16454,6 @@
   <Ecore:EAttribute xmi:id="_FL4LILG5EeCDe8CO90iVKQ" isUnsettable="true" base_Property="__pbPNLG4EeCDe8CO90iVKQ"/>
   <Ecore:EOperation xmi:id="_glNIILKHEeCwDd6B2NQzWA" base_Operation="_CytvwLKHEeCwDd6B2NQzWA" operationName="getType" visibility="None"/>
   <Ecore:EOperation xmi:id="_Lsf0QLLREeCsYvaJqFFivQ" base_Operation="_CroQsLLREeCsYvaJqFFivQ" operationName="getContext" visibility="None"/>
-  <Ecore:EOperation xmi:id="_o19dwLLREeCsYvaJqFFivQ" base_Operation="_gJvUgLLREeCsYvaJqFFivQ" operationName="getStructuredNodes" visibility="None"/>
   <Ecore:EOperation xmi:id="_CRhSILLSEeCsYvaJqFFivQ" base_Operation="_6VRNQLLREeCsYvaJqFFivQ" operationName="getEndTypes" visibility="None"/>
   <Ecore:EOperation xmi:id="_q1_mYLLSEeCsYvaJqFFivQ" base_Operation="_hIWcYLLSEeCsYvaJqFFivQ" operationName="getSuperClasses" visibility="None"/>
   <Ecore:EOperation xmi:id="_52-SQLLSEeCsYvaJqFFivQ" base_Operation="_wKRjcLLSEeCsYvaJqFFivQ" operationName="getGenerals" visibility="None"/>
@@ -16475,4 +16483,8 @@
   <Ecore:EOperation xmi:id="_BI5ZMLL-EeCBifIhhuFqZA" base_Operation="_982T8LL9EeCBifIhhuFqZA" operationName="getOutgoings" visibility="None"/>
   <Ecore:EOperation xmi:id="_dy4cULNJEeCT16-4OmDs9g" base_Operation="_WlaJALNJEeCT16-4OmDs9g" visibility="None"/>
   <Ecore:EAttribute xmi:id="_dFQKQNwaEeCT5O2F6sGn5g" isUnsettable="true" base_Property="_Q1JqkNwaEeCT5O2F6sGn5g"/>
+  <Ecore:EReference xmi:id="_JWtREAtDEeGcpbeCPJfCmw" xmlName="group" xmlFeatureKind="Element" base_Property="_zRopoAs9EeGcpbeCPJfCmw"/>
+  <Ecore:EReference xmi:id="_N4I04AtDEeGcpbeCPJfCmw" xmlName="node" xmlFeatureKind="Element" base_Property="_5DNmsAs9EeGcpbeCPJfCmw"/>
+  <Ecore:EReference xmi:id="_1XKowBCNEeG9F6n8Twp9jA" xmlFeatureKind="Attribute" base_Property="_RoJfoAs_EeGcpbeCPJfCmw"/>
+  <Ecore:EReference xmi:id="_4FNjYBCNEeG9F6n8Twp9jA" xmlFeatureKind="Attribute" base_Property="_PCvjoAs_EeGcpbeCPJfCmw"/>
 </xmi:XMI>
diff --git a/plugins/org.eclipse.uml2.uml/model/UML.uml b/plugins/org.eclipse.uml2.uml/model/UML.uml
index 299b559..daf82fa 100644
--- a/plugins/org.eclipse.uml2.uml/model/UML.uml
+++ b/plugins/org.eclipse.uml2.uml/model/UML.uml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<xmi:XMI xmi:version="20100901" xmlns:xmi="http://www.omg.org/spec/XMI/20100901" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Ecore="http://www.eclipse.org/uml2/schemas/Ecore/5" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/4.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/uml2/schemas/Ecore/5 pathmap://UML_PROFILES/Ecore.profile.uml#_z1OFcHjqEdy8S4Cr8Rc_NA">
+<xmi:XMI xmi:version="20110701" xmlns:xmi="http://www.omg.org/spec/XMI/20110701" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Ecore="http://www.eclipse.org/uml2/schemas/Ecore/5" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/4.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/uml2/schemas/Ecore/5 pathmap://UML_PROFILES/Ecore.profile.uml#_z1OFcHjqEdy8S4Cr8Rc_NA">
   <uml:Model xmi:id="_o8I_sGvaEdq4DLWZOhbdEA" name="UML">
     <packageImport xmi:id="__as3cGvaEdq4DLWZOhbdEA">
       <importedPackage xmi:type="uml:Model" href="Ecore.uml#_SeWiQMX_EduPJbEsMYXjUQ"/>
@@ -13,18 +13,31 @@
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_81UZhvnhEdunWsS3se92JQ" value="*"/>
       </ownedEnd>
     </packagedElement>
+    <packagedElement xmi:type="uml:Association" xmi:id="_DwV68AtCEeGcpbeCPJfCmw" name="A_group_inActivity" memberEnd="_PCvjoAs_EeGcpbeCPJfCmw _5V2SAAtBEeGcpbeCPJfCmw"/>
     <packagedElement xmi:type="uml:Association" xmi:id="_EhL8MPnmEdunWsS3se92JQ" name="A_incoming_target_vertex" memberEnd="_EhVtMPnmEdunWsS3se92JQ _EhVtM_nmEdunWsS3se92JQ">
       <ownedEnd xmi:id="_EhVtM_nmEdunWsS3se92JQ" name="incoming" visibility="private" type="_ykKV8PnlEdunWsS3se92JQ" association="_EhL8MPnmEdunWsS3se92JQ">
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_EhVtNPnmEdunWsS3se92JQ"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_EhVtNfnmEdunWsS3se92JQ" value="*"/>
       </ownedEnd>
     </packagedElement>
+    <packagedElement xmi:type="uml:Association" xmi:id="_RFCrMAtCEeGcpbeCPJfCmw" name="A_node_activity" memberEnd="_RoJfoAs_EeGcpbeCPJfCmw _X0ZfIAtCEeGcpbeCPJfCmw"/>
     <packagedElement xmi:type="uml:Association" xmi:id="_JPYJoPnmEdunWsS3se92JQ" name="A_outgoing_source_vertex" memberEnd="_JPYJofnmEdunWsS3se92JQ _JPh6oPnmEdunWsS3se92JQ">
       <ownedEnd xmi:id="_JPh6oPnmEdunWsS3se92JQ" name="outgoing" visibility="private" type="_ykKV8PnlEdunWsS3se92JQ" association="_JPYJoPnmEdunWsS3se92JQ">
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_JPh6ofnmEdunWsS3se92JQ"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_JPh6ovnmEdunWsS3se92JQ" value="*"/>
       </ownedEnd>
     </packagedElement>
+    <packagedElement xmi:type="uml:Association" xmi:id="_bU41QAtAEeGcpbeCPJfCmw" name="A_ownedElement_owner" isDerived="true" memberEnd="_GDD2YAtAEeGcpbeCPJfCmw _N3hRMAtAEeGcpbeCPJfCmw"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_3Ik3QAtDEeGcpbeCPJfCmw" name="A_partition_activity" memberEnd="_-_c7oAs9EeGcpbeCPJfCmw __DOZoAtDEeGcpbeCPJfCmw">
+      <ownedEnd xmi:id="__DOZoAtDEeGcpbeCPJfCmw" name="activity" type="_eGtFwLLREeCsYvaJqFFivQ" subsettedProperty="_5V2SAAtBEeGcpbeCPJfCmw" association="_3Ik3QAtDEeGcpbeCPJfCmw">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_J7ZdEAtEEeGcpbeCPJfCmw"/>
+      </ownedEnd>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Association" xmi:id="_w4820AtEEeGcpbeCPJfCmw" name="A_structuredNode_activity" memberEnd="_EOSYAAs-EeGcpbeCPJfCmw _bQeSgAtEEeGcpbeCPJfCmw">
+      <ownedEnd xmi:id="_bQeSgAtEEeGcpbeCPJfCmw" name="activity" visibility="private" type="_eGtFwLLREeCsYvaJqFFivQ" association="_w4820AtEEeGcpbeCPJfCmw">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_cva8wAtEEeGcpbeCPJfCmw"/>
+      </ownedEnd>
+    </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="_6WKakLLQEeCsYvaJqFFivQ" name="Action" isAbstract="true">
       <ownedOperation xmi:id="_CroQsLLREeCsYvaJqFFivQ" name="context" visibility="protected">
         <ownedParameter xmi:id="_EGwx8LLREeCsYvaJqFFivQ" name="result" type="_6UV2QGwJEdq7X4sGURiZYA" direction="return">
@@ -33,13 +46,42 @@
       </ownedOperation>
     </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="_eGtFwLLREeCsYvaJqFFivQ" name="Activity">
-      <ownedOperation xmi:id="_gJvUgLLREeCsYvaJqFFivQ" name="structuredNode" visibility="protected">
-        <ownedParameter xmi:id="_ilEHcLLREeCsYvaJqFFivQ" name="result" type="_w1_2cLLREeCsYvaJqFFivQ" direction="return">
-          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_ilEHcbLREeCsYvaJqFFivQ"/>
-          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_jPj18LLREeCsYvaJqFFivQ" value="*"/>
-        </ownedParameter>
-      </ownedOperation>
+      <ownedAttribute xmi:id="_PCvjoAs_EeGcpbeCPJfCmw" name="group" visibility="protected" type="_aZICgAs-EeGcpbeCPJfCmw" isDerived="true" subsettedProperty="_GDD2YAtAEeGcpbeCPJfCmw" association="_DwV68AtCEeGcpbeCPJfCmw">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_PCvjoQs_EeGcpbeCPJfCmw"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_PCvjogs_EeGcpbeCPJfCmw" value="*"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:id="_RoJfoAs_EeGcpbeCPJfCmw" name="node" visibility="protected" type="_WpiyYAs-EeGcpbeCPJfCmw" isDerived="true" subsettedProperty="_GDD2YAtAEeGcpbeCPJfCmw" association="_RFCrMAtCEeGcpbeCPJfCmw">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_RoJfoQs_EeGcpbeCPJfCmw"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_RoJfogs_EeGcpbeCPJfCmw" value="*"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:id="_zRopoAs9EeGcpbeCPJfCmw" name="ownedGroup" visibility="protected" type="_aZICgAs-EeGcpbeCPJfCmw" aggregation="composite" subsettedProperty="_PCvjoAs_EeGcpbeCPJfCmw">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hecfYAs-EeGcpbeCPJfCmw"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iNvOUAs-EeGcpbeCPJfCmw" value="*"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:id="_5DNmsAs9EeGcpbeCPJfCmw" name="ownedNode" visibility="protected" type="_WpiyYAs-EeGcpbeCPJfCmw" aggregation="composite" subsettedProperty="_RoJfoAs_EeGcpbeCPJfCmw">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_jIyhUAs-EeGcpbeCPJfCmw"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_jsV6UAs-EeGcpbeCPJfCmw" value="*"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:id="_-_c7oAs9EeGcpbeCPJfCmw" name="partition" visibility="protected" type="_MIhqsAs-EeGcpbeCPJfCmw" subsettedProperty="_zRopoAs9EeGcpbeCPJfCmw" association="_3Ik3QAtDEeGcpbeCPJfCmw">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_kjlEUAs-EeGcpbeCPJfCmw"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_lA880As-EeGcpbeCPJfCmw" value="*"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:id="_EOSYAAs-EeGcpbeCPJfCmw" name="structuredNode" visibility="protected" type="_w1_2cLLREeCsYvaJqFFivQ" aggregation="composite" subsettedProperty="_PCvjoAs_EeGcpbeCPJfCmw _RoJfoAs_EeGcpbeCPJfCmw" association="_w4820AtEEeGcpbeCPJfCmw">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_l3gKUAs-EeGcpbeCPJfCmw"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_mZSowAs-EeGcpbeCPJfCmw" value="*"/>
+      </ownedAttribute>
     </packagedElement>
+    <packagedElement xmi:type="uml:Class" xmi:id="_aZICgAs-EeGcpbeCPJfCmw" name="ActivityGroup" isAbstract="true">
+      <ownedAttribute xmi:id="_5V2SAAtBEeGcpbeCPJfCmw" name="inActivity" visibility="protected" type="_eGtFwLLREeCsYvaJqFFivQ" subsettedProperty="_N3hRMAtAEeGcpbeCPJfCmw" association="_DwV68AtCEeGcpbeCPJfCmw">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_7Ul2oAtBEeGcpbeCPJfCmw"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Class" xmi:id="_WpiyYAs-EeGcpbeCPJfCmw" name="ActivityNode" isAbstract="true">
+      <ownedAttribute xmi:id="_X0ZfIAtCEeGcpbeCPJfCmw" name="activity" visibility="protected" type="_eGtFwLLREeCsYvaJqFFivQ" subsettedProperty="_N3hRMAtAEeGcpbeCPJfCmw" association="_RFCrMAtCEeGcpbeCPJfCmw">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_dnzBIAtCEeGcpbeCPJfCmw"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Class" xmi:id="_MIhqsAs-EeGcpbeCPJfCmw" name="ActivityPartition"/>
     <packagedElement xmi:type="uml:Class" xmi:id="_-lGRgHLzEdqziYxiZo0YtA" name="Artifact">
       <ownedAttribute xmi:id="_wvc1ILG2EeCDe8CO90iVKQ" name="fileName">
         <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
@@ -573,6 +615,13 @@
       <generalization xmi:id="_rcp_MGvbEdq4DLWZOhbdEA">
         <general xmi:type="uml:Class" href="Ecore.uml#_SeWihMX_EduPJbEsMYXjUQ"/>
       </generalization>
+      <ownedAttribute xmi:id="_GDD2YAtAEeGcpbeCPJfCmw" name="ownedElement" aggregation="composite" isDerived="true" isDerivedUnion="true" association="_bU41QAtAEeGcpbeCPJfCmw">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_HleEUAtAEeGcpbeCPJfCmw"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_IXIx0AtAEeGcpbeCPJfCmw" value="*"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:id="_N3hRMAtAEeGcpbeCPJfCmw" name="owner" isDerived="true" isDerivedUnion="true" association="_bU41QAtAEeGcpbeCPJfCmw">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_PC6GQAtAEeGcpbeCPJfCmw"/>
+      </ownedAttribute>
       <ownedOperation xmi:id="_jlv7EGvgEdq4DLWZOhbdEA" name="addKeyword">
         <ownedComment xmi:id="_2oMhsOwbEdqYHf-imTcTdw" annotatedElement="_jlv7EGvgEdq4DLWZOhbdEA">
           <body>Adds the specified keyword to this element.</body>
@@ -2357,7 +2406,11 @@
         <ownedParameter xmi:id="_nkVEsLL7EeCBifIhhuFqZA" name="result" type="__pew8GvzEdq7X4sGURiZYA" direction="return"/>
       </ownedOperation>
     </packagedElement>
-    <packagedElement xmi:type="uml:Class" xmi:id="_w1_2cLLREeCsYvaJqFFivQ" name="StructuredActivityNode"/>
+    <packagedElement xmi:type="uml:Class" xmi:id="_w1_2cLLREeCsYvaJqFFivQ" name="StructuredActivityNode">
+      <ownedAttribute xmi:id="_gnnw0AtZEeGV4NAcunjVqQ" name="activity" visibility="protected" type="_eGtFwLLREeCsYvaJqFFivQ" isDerived="true" redefinedProperty="_5V2SAAtBEeGcpbeCPJfCmw _X0ZfIAtCEeGcpbeCPJfCmw">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gnnw0QtZEeGV4NAcunjVqQ"/>
+      </ownedAttribute>
+    </packagedElement>
     <packagedElement xmi:type="uml:Class" xmi:id="_FQiVsGwYEdqHKKVoxc0dlA" name="StructuredClassifier" isAbstract="true">
       <ownedOperation xmi:id="_YorvMHL0EdqziYxiZo0YtA" name="createOwnedAttribute">
         <ownedComment xmi:id="_9BZT4OwlEdqYHf-imTcTdw" annotatedElement="_YorvMHL0EdqziYxiZo0YtA">
@@ -2587,7 +2640,6 @@
   <Ecore:EAttribute xmi:id="_FL4LILG5EeCDe8CO90iVKQ" isUnsettable="true" base_Property="__pbPNLG4EeCDe8CO90iVKQ"/>
   <Ecore:EOperation xmi:id="_glNIILKHEeCwDd6B2NQzWA" base_Operation="_CytvwLKHEeCwDd6B2NQzWA" operationName="getType" visibility="None"/>
   <Ecore:EOperation xmi:id="_Lsf0QLLREeCsYvaJqFFivQ" base_Operation="_CroQsLLREeCsYvaJqFFivQ" operationName="getContext" visibility="None"/>
-  <Ecore:EOperation xmi:id="_o19dwLLREeCsYvaJqFFivQ" base_Operation="_gJvUgLLREeCsYvaJqFFivQ" operationName="getStructuredNodes" visibility="None"/>
   <Ecore:EOperation xmi:id="_CRhSILLSEeCsYvaJqFFivQ" base_Operation="_6VRNQLLREeCsYvaJqFFivQ" operationName="getEndTypes" visibility="None"/>
   <Ecore:EOperation xmi:id="_q1_mYLLSEeCsYvaJqFFivQ" base_Operation="_hIWcYLLSEeCsYvaJqFFivQ" operationName="getSuperClasses" visibility="None"/>
   <Ecore:EOperation xmi:id="_52-SQLLSEeCsYvaJqFFivQ" base_Operation="_wKRjcLLSEeCsYvaJqFFivQ" operationName="getGenerals" visibility="None"/>
@@ -2617,4 +2669,8 @@
   <Ecore:EOperation xmi:id="_BI5ZMLL-EeCBifIhhuFqZA" base_Operation="_982T8LL9EeCBifIhhuFqZA" operationName="getOutgoings" visibility="None"/>
   <Ecore:EOperation xmi:id="_dy4cULNJEeCT16-4OmDs9g" base_Operation="_WlaJALNJEeCT16-4OmDs9g" visibility="None"/>
   <Ecore:EAttribute xmi:id="_dFQKQNwaEeCT5O2F6sGn5g" isUnsettable="true" base_Property="_Q1JqkNwaEeCT5O2F6sGn5g"/>
+  <Ecore:EReference xmi:id="_JWtREAtDEeGcpbeCPJfCmw" xmlName="group" xmlFeatureKind="Element" base_Property="_zRopoAs9EeGcpbeCPJfCmw"/>
+  <Ecore:EReference xmi:id="_N4I04AtDEeGcpbeCPJfCmw" xmlName="node" xmlFeatureKind="Element" base_Property="_5DNmsAs9EeGcpbeCPJfCmw"/>
+  <Ecore:EReference xmi:id="_1XKowBCNEeG9F6n8Twp9jA" xmlFeatureKind="Attribute" base_Property="_RoJfoAs_EeGcpbeCPJfCmw"/>
+  <Ecore:EReference xmi:id="_4FNjYBCNEeG9F6n8Twp9jA" xmlFeatureKind="Attribute" base_Property="_PCvjoAs_EeGcpbeCPJfCmw"/>
 </xmi:XMI>
diff --git a/plugins/org.eclipse.uml2.uml/plugin.properties b/plugins/org.eclipse.uml2.uml/plugin.properties
index 9ab7553..fd14aeb 100644
--- a/plugins/org.eclipse.uml2.uml/plugin.properties
+++ b/plugins/org.eclipse.uml2.uml/plugin.properties
@@ -7,9 +7,8 @@
 # Contributors:
 #   IBM - initial API and implementation
 #   Kenn Hussey (Embarcadero Technologies) - 156879, 215488, 213218, 204200
-#   Kenn Hussey (CEA) - 327039
+#   Kenn Hussey (CEA) - 327039, 351774
 #
-# $Id: plugin.properties,v 1.25 2009/04/30 21:15:26 jbruck Exp $
 
 # NLS_MESSAGEFORMAT_VAR
 
@@ -218,10 +217,12 @@
 _UI_OMG_UML_2_2_content_type = OMG UML 2.2 File
 _UI_OMG_UML_2_3_content_type = OMG UML 2.3 File
 _UI_OMG_UML_2_4_content_type = OMG UML 2.4 File
+_UI_OMG_UML_2_4_1_content_type = OMG UML 2.4.1 File
 
 _UI_OMG_CMOF_content_type = OMG CMOF File
 _UI_OMG_CMOF_2_0_content_type = OMG CMOF 2.0 File
 _UI_OMG_CMOF_2_4_content_type = OMG CMOF 2.4 File
+_UI_OMG_CMOF_2_4_1_content_type = OMG CMOF 2.4.1 File
 
 _UI_GeneratedPackageRegistry_extensionpoint = Generated UML Package Registry
 _UI_DynamicPackageRegistry_extensionpoint = Dynamic UML Package Registry
diff --git a/plugins/org.eclipse.uml2.uml/plugin.xml b/plugins/org.eclipse.uml2.uml/plugin.xml
index 42aed10..73a8b56 100644
--- a/plugins/org.eclipse.uml2.uml/plugin.xml
+++ b/plugins/org.eclipse.uml2.uml/plugin.xml
@@ -11,7 +11,7 @@
  Contributors:
    IBM - initial API and implementation
    Kenn Hussey (Embarcadero Technologies) - 156879, 215488, 226397, 204200, 247980
-   Kenn Hussey (CEA) - 327039
+   Kenn Hussey (CEA) - 327039, 351774
 
 -->
 
@@ -171,7 +171,7 @@
               class="org.eclipse.emf.ecore.xmi.impl.RootXMLContentHandlerImpl$Describer">
            <parameter
                  name="namespacePattern"
-                 value="(http://schema\.omg\.org/spec/UML/(2\.1|2\.1\.1|2\.2)|http://www\.omg\.org/spec/UML/20100901)" />
+                 value="(http://schema\.omg\.org/spec/UML/(2\.1|2\.1\.1|2\.2)|http://www\.omg\.org/spec/UML/(20100901|20110701))" />
            <parameter
                  name="kind"
                  value="xmi" />
@@ -241,6 +241,22 @@
                  value="xmi" />
         </describer>
      </content-type>
+     <content-type
+           base-type="org.omg.uml"
+           file-extensions="xmi"
+           id="org.omg.uml_2_4_1"
+           name="%_UI_OMG_UML_2_4_1_content_type"
+           priority="normal">
+        <describer
+              class="org.eclipse.emf.ecore.xmi.impl.RootXMLContentHandlerImpl$Describer">
+           <parameter
+                 name="namespace"
+                 value="http://www.omg.org/spec/UML/20110701" />
+           <parameter
+                 name="kind"
+                 value="xmi" />
+        </describer>
+     </content-type>
 
      <content-type
            base-type="org.eclipse.emf.ecore.xmi"
@@ -252,7 +268,7 @@
               class="org.eclipse.emf.ecore.xmi.impl.RootXMLContentHandlerImpl$Describer">
            <parameter
                  name="namespacePattern"
-                 value="(http://schema\.omg\.org/spec/MOF/2\.0/cmof.xml|http://www\.omg\.org/spec/MOF/20100901/cmof.xmi)" />
+                 value="(http://schema\.omg\.org/spec/MOF/2\.0/cmof.xml|http://www\.omg\.org/spec/MOF/(20100901|20110701)/cmof.xmi)" />
            <parameter
                  name="kind"
                  value="xmi" />
@@ -290,6 +306,22 @@
                  value="xmi" />
         </describer>
      </content-type>
+     <content-type
+           base-type="org.omg.mof.cmof"
+           file-extensions="cmof,xmi"
+           id="org.omg.mof.cmof_2_4_1"
+           name="%_UI_OMG_CMOF_2_4_1_content_type"
+           priority="normal">
+        <describer
+              class="org.eclipse.emf.ecore.xmi.impl.RootXMLContentHandlerImpl$Describer">
+           <parameter
+                 name="namespace"
+                 value="http://www.omg.org/spec/MOF/20110701/cmof.xmi" />
+           <parameter
+                 name="kind"
+                 value="xmi" />
+        </describer>
+     </content-type>
   </extension>
 
 </plugin>
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/Action.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/Action.java
index 7386f1d..b229fb8 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/Action.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/Action.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey (Embarcadero Technologies) - 205188
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: Action.java,v 1.15 2008/01/09 18:56:02 khussey Exp $
  */
 package org.eclipse.uml2.uml;
 
@@ -25,8 +24,8 @@
  *
  * <!-- begin-model-doc -->
  * An action has pre- and post-conditions.
- * An action is a named element that is the fundamental unit of executable functionality. The execution of an action represents some transformation or processing in the modeled system, be it a computer system or otherwise.
  * An action represents a single step within an activity, that is, one that is not further decomposed within the activity.
+ * An action is a named element that is the fundamental unit of executable functionality. The execution of an action represents some transformation or processing in the modeled system, be it a computer system or otherwise.
  * <!-- end-model-doc -->
  *
  * <p>
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/Activity.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/Activity.java
index 149e7f0..ad9873f 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/Activity.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/Activity.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: Activity.java,v 1.18 2007/10/23 15:54:23 jbruck Exp $
  */
 package org.eclipse.uml2.uml;
 
@@ -33,13 +32,15 @@
  * <p>
  * The following features are supported:
  * <ul>
+ *   <li>{@link org.eclipse.uml2.uml.Activity#getOwnedGroups <em>Owned Group</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Activity#getEdges <em>Edge</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.Activity#getGroups <em>Group</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.Activity#getStructuredNodes <em>Structured Node</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Activity#getVariables <em>Variable</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.Activity#getGroups <em>Group</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.Activity#getOwnedNodes <em>Owned Node</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Activity#isReadOnly <em>Is Read Only</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Activity#isSingleExecution <em>Is Single Execution</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Activity#getPartitions <em>Partition</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.Activity#getStructuredNodes <em>Structured Node</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Activity#getNodes <em>Node</em>}</li>
  * </ul>
  * </p>
@@ -52,6 +53,67 @@
 		extends Behavior {
 
 	/**
+	 * Returns the value of the '<em><b>Owned Group</b></em>' containment reference list.
+	 * The list contents are of type {@link org.eclipse.uml2.uml.ActivityGroup}.
+	 * <p>
+	 * This feature subsets the following features:
+	 * <ul>
+	 *   <li>'{@link org.eclipse.uml2.uml.Activity#getGroups() <em>Group</em>}'</li>
+	 * </ul>
+	 * </p>
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Owned Group</em>' containment reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Owned Group</em>' containment reference list.
+	 * @see org.eclipse.uml2.uml.UMLPackage#getActivity_OwnedGroup()
+	 * @model containment="true" resolveProxies="true" ordered="false"
+	 *        extendedMetaData="name='group' kind='element'"
+	 * @generated
+	 */
+	EList<ActivityGroup> getOwnedGroups();
+
+	/**
+	 * Creates a new {@link org.eclipse.uml2.uml.ActivityGroup}, with the specified '<em><b>Name</b></em>', and appends it to the '<em><b>Owned Group</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param name The '<em><b>Name</b></em>' for the new {@link org.eclipse.uml2.uml.ActivityGroup}, or <code>null</code>.
+	 * @param eClass The Ecore class of the {@link org.eclipse.uml2.uml.ActivityGroup} to create.
+	 * @return The new {@link org.eclipse.uml2.uml.ActivityGroup}.
+	 * @see #getOwnedGroups()
+	 * @generated
+	 */
+	ActivityGroup createOwnedGroup(String name, EClass eClass);
+
+	/**
+	 * Retrieves the first {@link org.eclipse.uml2.uml.ActivityGroup} with the specified '<em><b>Name</b></em>' from the '<em><b>Owned Group</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param name The '<em><b>Name</b></em>' of the {@link org.eclipse.uml2.uml.ActivityGroup} to retrieve, or <code>null</code>.
+	 * @return The first {@link org.eclipse.uml2.uml.ActivityGroup} with the specified '<em><b>Name</b></em>', or <code>null</code>.
+	 * @see #getOwnedGroups()
+	 * @generated
+	 */
+	ActivityGroup getOwnedGroup(String name);
+
+	/**
+	 * Retrieves the first {@link org.eclipse.uml2.uml.ActivityGroup} with the specified '<em><b>Name</b></em>' from the '<em><b>Owned Group</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param name The '<em><b>Name</b></em>' of the {@link org.eclipse.uml2.uml.ActivityGroup} to retrieve, or <code>null</code>.
+	 * @param ignoreCase Whether to ignore case in {@link java.lang.String} comparisons.
+	 * @param eClass The Ecore class of the {@link org.eclipse.uml2.uml.ActivityGroup} to retrieve, or <code>null</code>.
+	 * @param createOnDemand Whether to create a {@link org.eclipse.uml2.uml.ActivityGroup} on demand if not found.
+	 * @return The first {@link org.eclipse.uml2.uml.ActivityGroup} with the specified '<em><b>Name</b></em>', or <code>null</code>.
+	 * @see #getOwnedGroups()
+	 * @generated
+	 */
+	ActivityGroup getOwnedGroup(String name, boolean ignoreCase, EClass eClass,
+			boolean createOnDemand);
+
+	/**
 	 * Returns the value of the '<em><b>Is Read Only</b></em>' attribute.
 	 * The default value is <code>"false"</code>.
 	 * <!-- begin-user-doc -->
@@ -78,7 +140,7 @@
 	void setIsReadOnly(boolean value);
 
 	/**
-	 * Returns the value of the '<em><b>Group</b></em>' containment reference list.
+	 * Returns the value of the '<em><b>Group</b></em>' reference list.
 	 * The list contents are of type {@link org.eclipse.uml2.uml.ActivityGroup}.
 	 * It is bidirectional and its opposite is '{@link org.eclipse.uml2.uml.ActivityGroup#getInActivity <em>In Activity</em>}'.
 	 * <p>
@@ -92,39 +154,17 @@
 	 * <!-- begin-model-doc -->
 	 * Top-level groups in the activity.
 	 * <!-- end-model-doc -->
-	 * @return the value of the '<em>Group</em>' containment reference list.
+	 * @return the value of the '<em>Group</em>' reference list.
 	 * @see org.eclipse.uml2.uml.UMLPackage#getActivity_Group()
 	 * @see org.eclipse.uml2.uml.ActivityGroup#getInActivity
-	 * @model opposite="inActivity" containment="true" resolveProxies="true" ordered="false"
+	 * @model opposite="inActivity" transient="true" volatile="true" derived="true" ordered="false"
+	 *        extendedMetaData="kind='attribute'"
 	 * @generated
 	 */
 	EList<ActivityGroup> getGroups();
 
 	/**
-	 * Creates a new {@link org.eclipse.uml2.uml.ActivityGroup} and appends it to the '<em><b>Group</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param eClass The Ecore class of the {@link org.eclipse.uml2.uml.ActivityGroup} to create.
-	 * @return The new {@link org.eclipse.uml2.uml.ActivityGroup}.
-	 * @see #getGroups()
-	 * @generated NOT
-	 */
-	ActivityGroup createGroup(EClass eClass);
-
-	/**
-	 * Creates a new {@link org.eclipse.uml2.uml.ActivityGroup}, with the specified '<em><b>Name</b></em>', and appends it to the '<em><b>Group</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param name The '<em><b>Name</b></em>' for the new {@link org.eclipse.uml2.uml.ActivityGroup}, or <code>null</code>.
-	 * @param eClass The Ecore class of the {@link org.eclipse.uml2.uml.ActivityGroup} to create.
-	 * @return The new {@link org.eclipse.uml2.uml.ActivityGroup}.
-	 * @see #getGroups()
-	 * @generated
-	 */
-	ActivityGroup createGroup(String name, EClass eClass);
-
-	/**
-	 * Retrieves the first {@link org.eclipse.uml2.uml.ActivityGroup} with the specified '<em><b>Name</b></em>' from the '<em><b>Group</b></em>' containment reference list.
+	 * Retrieves the first {@link org.eclipse.uml2.uml.ActivityGroup} with the specified '<em><b>Name</b></em>' from the '<em><b>Group</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @param name The '<em><b>Name</b></em>' of the {@link org.eclipse.uml2.uml.ActivityGroup} to retrieve, or <code>null</code>.
@@ -135,18 +175,77 @@
 	ActivityGroup getGroup(String name);
 
 	/**
-	 * Retrieves the first {@link org.eclipse.uml2.uml.ActivityGroup} with the specified '<em><b>Name</b></em>' from the '<em><b>Group</b></em>' containment reference list.
+	 * Retrieves the first {@link org.eclipse.uml2.uml.ActivityGroup} with the specified '<em><b>Name</b></em>' from the '<em><b>Group</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @param name The '<em><b>Name</b></em>' of the {@link org.eclipse.uml2.uml.ActivityGroup} to retrieve, or <code>null</code>.
 	 * @param ignoreCase Whether to ignore case in {@link java.lang.String} comparisons.
 	 * @param eClass The Ecore class of the {@link org.eclipse.uml2.uml.ActivityGroup} to retrieve, or <code>null</code>.
-	 * @param createOnDemand Whether to create a {@link org.eclipse.uml2.uml.ActivityGroup} on demand if not found.
 	 * @return The first {@link org.eclipse.uml2.uml.ActivityGroup} with the specified '<em><b>Name</b></em>', or <code>null</code>.
 	 * @see #getGroups()
 	 * @generated
 	 */
-	ActivityGroup getGroup(String name, boolean ignoreCase, EClass eClass,
+	ActivityGroup getGroup(String name, boolean ignoreCase, EClass eClass);
+
+	/**
+	 * Returns the value of the '<em><b>Owned Node</b></em>' containment reference list.
+	 * The list contents are of type {@link org.eclipse.uml2.uml.ActivityNode}.
+	 * <p>
+	 * This feature subsets the following features:
+	 * <ul>
+	 *   <li>'{@link org.eclipse.uml2.uml.Activity#getNodes() <em>Node</em>}'</li>
+	 * </ul>
+	 * </p>
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Owned Node</em>' containment reference list isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Owned Node</em>' containment reference list.
+	 * @see org.eclipse.uml2.uml.UMLPackage#getActivity_OwnedNode()
+	 * @model containment="true" resolveProxies="true" ordered="false"
+	 *        extendedMetaData="name='node' kind='element'"
+	 * @generated
+	 */
+	EList<ActivityNode> getOwnedNodes();
+
+	/**
+	 * Creates a new {@link org.eclipse.uml2.uml.ActivityNode}, with the specified '<em><b>Name</b></em>', and appends it to the '<em><b>Owned Node</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param name The '<em><b>Name</b></em>' for the new {@link org.eclipse.uml2.uml.ActivityNode}, or <code>null</code>.
+	 * @param eClass The Ecore class of the {@link org.eclipse.uml2.uml.ActivityNode} to create.
+	 * @return The new {@link org.eclipse.uml2.uml.ActivityNode}.
+	 * @see #getOwnedNodes()
+	 * @generated
+	 */
+	ActivityNode createOwnedNode(String name, EClass eClass);
+
+	/**
+	 * Retrieves the first {@link org.eclipse.uml2.uml.ActivityNode} with the specified '<em><b>Name</b></em>' from the '<em><b>Owned Node</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param name The '<em><b>Name</b></em>' of the {@link org.eclipse.uml2.uml.ActivityNode} to retrieve, or <code>null</code>.
+	 * @return The first {@link org.eclipse.uml2.uml.ActivityNode} with the specified '<em><b>Name</b></em>', or <code>null</code>.
+	 * @see #getOwnedNodes()
+	 * @generated
+	 */
+	ActivityNode getOwnedNode(String name);
+
+	/**
+	 * Retrieves the first {@link org.eclipse.uml2.uml.ActivityNode} with the specified '<em><b>Name</b></em>' from the '<em><b>Owned Node</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param name The '<em><b>Name</b></em>' of the {@link org.eclipse.uml2.uml.ActivityNode} to retrieve, or <code>null</code>.
+	 * @param ignoreCase Whether to ignore case in {@link java.lang.String} comparisons.
+	 * @param eClass The Ecore class of the {@link org.eclipse.uml2.uml.ActivityNode} to retrieve, or <code>null</code>.
+	 * @param createOnDemand Whether to create a {@link org.eclipse.uml2.uml.ActivityNode} on demand if not found.
+	 * @return The first {@link org.eclipse.uml2.uml.ActivityNode} with the specified '<em><b>Name</b></em>', or <code>null</code>.
+	 * @see #getOwnedNodes()
+	 * @generated
+	 */
+	ActivityNode getOwnedNode(String name, boolean ignoreCase, EClass eClass,
 			boolean createOnDemand);
 
 	/**
@@ -176,7 +275,7 @@
 	void setIsSingleExecution(boolean value);
 
 	/**
-	 * Returns the value of the '<em><b>Structured Node</b></em>' reference list.
+	 * Returns the value of the '<em><b>Structured Node</b></em>' containment reference list.
 	 * The list contents are of type {@link org.eclipse.uml2.uml.StructuredActivityNode}.
 	 * <p>
 	 * This feature subsets the following features:
@@ -190,15 +289,38 @@
 	 * <!-- begin-model-doc -->
 	 * Top-level structured nodes in the activity.
 	 * <!-- end-model-doc -->
-	 * @return the value of the '<em>Structured Node</em>' reference list.
+	 * @return the value of the '<em>Structured Node</em>' containment reference list.
 	 * @see org.eclipse.uml2.uml.UMLPackage#getActivity_StructuredNode()
-	 * @model transient="true" changeable="false" volatile="true" derived="true" ordered="false"
+	 * @model containment="true" resolveProxies="true" ordered="false"
 	 * @generated
 	 */
 	EList<StructuredActivityNode> getStructuredNodes();
 
 	/**
-	 * Retrieves the first {@link org.eclipse.uml2.uml.StructuredActivityNode} with the specified '<em><b>Name</b></em>' from the '<em><b>Structured Node</b></em>' reference list.
+	 * Creates a new {@link org.eclipse.uml2.uml.StructuredActivityNode}, with the specified '<em><b>Name</b></em>', and appends it to the '<em><b>Structured Node</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param name The '<em><b>Name</b></em>' for the new {@link org.eclipse.uml2.uml.StructuredActivityNode}, or <code>null</code>.
+	 * @param eClass The Ecore class of the {@link org.eclipse.uml2.uml.StructuredActivityNode} to create.
+	 * @return The new {@link org.eclipse.uml2.uml.StructuredActivityNode}.
+	 * @see #getStructuredNodes()
+	 * @generated
+	 */
+	StructuredActivityNode createStructuredNode(String name, EClass eClass);
+
+	/**
+	 * Creates a new {@link org.eclipse.uml2.uml.StructuredActivityNode}, with the specified '<em><b>Name</b></em>', and appends it to the '<em><b>Structured Node</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param name The '<em><b>Name</b></em>' for the new {@link org.eclipse.uml2.uml.StructuredActivityNode}, or <code>null</code>.
+	 * @return The new {@link org.eclipse.uml2.uml.StructuredActivityNode}.
+	 * @see #getStructuredNodes()
+	 * @generated
+	 */
+	StructuredActivityNode createStructuredNode(String name);
+
+	/**
+	 * Retrieves the first {@link org.eclipse.uml2.uml.StructuredActivityNode} with the specified '<em><b>Name</b></em>' from the '<em><b>Structured Node</b></em>' containment reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @param name The '<em><b>Name</b></em>' of the {@link org.eclipse.uml2.uml.StructuredActivityNode} to retrieve, or <code>null</code>.
@@ -209,6 +331,21 @@
 	StructuredActivityNode getStructuredNode(String name);
 
 	/**
+	 * Retrieves the first {@link org.eclipse.uml2.uml.StructuredActivityNode} with the specified '<em><b>Name</b></em>' from the '<em><b>Structured Node</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param name The '<em><b>Name</b></em>' of the {@link org.eclipse.uml2.uml.StructuredActivityNode} to retrieve, or <code>null</code>.
+	 * @param ignoreCase Whether to ignore case in {@link java.lang.String} comparisons.
+	 * @param eClass The Ecore class of the {@link org.eclipse.uml2.uml.StructuredActivityNode} to retrieve, or <code>null</code>.
+	 * @param createOnDemand Whether to create a {@link org.eclipse.uml2.uml.StructuredActivityNode} on demand if not found.
+	 * @return The first {@link org.eclipse.uml2.uml.StructuredActivityNode} with the specified '<em><b>Name</b></em>', or <code>null</code>.
+	 * @see #getStructuredNodes()
+	 * @generated
+	 */
+	StructuredActivityNode getStructuredNode(String name, boolean ignoreCase,
+			EClass eClass, boolean createOnDemand);
+
+	/**
 	 * Retrieves the first {@link org.eclipse.uml2.uml.StructuredActivityNode} with the specified '<em><b>Name</b></em>' from the '<em><b>Structured Node</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -217,7 +354,7 @@
 	 * @param eClass The Ecore class of the {@link org.eclipse.uml2.uml.StructuredActivityNode} to retrieve, or <code>null</code>.
 	 * @return The first {@link org.eclipse.uml2.uml.StructuredActivityNode} with the specified '<em><b>Name</b></em>', or <code>null</code>.
 	 * @see #getStructuredNodes()
-	 * @generated
+	 * @generated NOT
 	 */
 	StructuredActivityNode getStructuredNode(String name, boolean ignoreCase,
 			EClass eClass);
@@ -285,7 +422,7 @@
 			boolean createOnDemand);
 
 	/**
-	 * Returns the value of the '<em><b>Node</b></em>' containment reference list.
+	 * Returns the value of the '<em><b>Node</b></em>' reference list.
 	 * The list contents are of type {@link org.eclipse.uml2.uml.ActivityNode}.
 	 * It is bidirectional and its opposite is '{@link org.eclipse.uml2.uml.ActivityNode#getActivity <em>Activity</em>}'.
 	 * <p>
@@ -299,28 +436,17 @@
 	 * <!-- begin-model-doc -->
 	 * Nodes coordinated by the activity.
 	 * <!-- end-model-doc -->
-	 * @return the value of the '<em>Node</em>' containment reference list.
+	 * @return the value of the '<em>Node</em>' reference list.
 	 * @see org.eclipse.uml2.uml.UMLPackage#getActivity_Node()
 	 * @see org.eclipse.uml2.uml.ActivityNode#getActivity
-	 * @model opposite="activity" containment="true" resolveProxies="true" ordered="false"
+	 * @model opposite="activity" transient="true" volatile="true" derived="true" ordered="false"
+	 *        extendedMetaData="kind='attribute'"
 	 * @generated
 	 */
 	EList<ActivityNode> getNodes();
 
 	/**
-	 * Creates a new {@link org.eclipse.uml2.uml.ActivityNode}, with the specified '<em><b>Name</b></em>', and appends it to the '<em><b>Node</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param name The '<em><b>Name</b></em>' for the new {@link org.eclipse.uml2.uml.ActivityNode}, or <code>null</code>.
-	 * @param eClass The Ecore class of the {@link org.eclipse.uml2.uml.ActivityNode} to create.
-	 * @return The new {@link org.eclipse.uml2.uml.ActivityNode}.
-	 * @see #getNodes()
-	 * @generated
-	 */
-	ActivityNode createNode(String name, EClass eClass);
-
-	/**
-	 * Retrieves the first {@link org.eclipse.uml2.uml.ActivityNode} with the specified '<em><b>Name</b></em>' from the '<em><b>Node</b></em>' containment reference list.
+	 * Retrieves the first {@link org.eclipse.uml2.uml.ActivityNode} with the specified '<em><b>Name</b></em>' from the '<em><b>Node</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @param name The '<em><b>Name</b></em>' of the {@link org.eclipse.uml2.uml.ActivityNode} to retrieve, or <code>null</code>.
@@ -331,19 +457,17 @@
 	ActivityNode getNode(String name);
 
 	/**
-	 * Retrieves the first {@link org.eclipse.uml2.uml.ActivityNode} with the specified '<em><b>Name</b></em>' from the '<em><b>Node</b></em>' containment reference list.
+	 * Retrieves the first {@link org.eclipse.uml2.uml.ActivityNode} with the specified '<em><b>Name</b></em>' from the '<em><b>Node</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @param name The '<em><b>Name</b></em>' of the {@link org.eclipse.uml2.uml.ActivityNode} to retrieve, or <code>null</code>.
 	 * @param ignoreCase Whether to ignore case in {@link java.lang.String} comparisons.
 	 * @param eClass The Ecore class of the {@link org.eclipse.uml2.uml.ActivityNode} to retrieve, or <code>null</code>.
-	 * @param createOnDemand Whether to create a {@link org.eclipse.uml2.uml.ActivityNode} on demand if not found.
 	 * @return The first {@link org.eclipse.uml2.uml.ActivityNode} with the specified '<em><b>Name</b></em>', or <code>null</code>.
 	 * @see #getNodes()
 	 * @generated
 	 */
-	ActivityNode getNode(String name, boolean ignoreCase, EClass eClass,
-			boolean createOnDemand);
+	ActivityNode getNode(String name, boolean ignoreCase, EClass eClass);
 
 	/**
 	 * Returns the value of the '<em><b>Edge</b></em>' containment reference list.
@@ -413,6 +537,7 @@
 	 * This feature subsets the following features:
 	 * <ul>
 	 *   <li>'{@link org.eclipse.uml2.uml.Activity#getGroups() <em>Group</em>}'</li>
+	 *   <li>'{@link org.eclipse.uml2.uml.Activity#getOwnedGroups() <em>Owned Group</em>}'</li>
 	 * </ul>
 	 * </p>
 	 * <!-- begin-user-doc -->
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/ActivityEdge.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/ActivityEdge.java
index 4e5f2aa..d2d5846 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/ActivityEdge.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/ActivityEdge.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey (Embarcadero Technologies) - 205188
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ActivityEdge.java,v 1.20 2008/10/02 20:56:23 jbruck Exp $
  */
 package org.eclipse.uml2.uml;
 
@@ -28,15 +27,15 @@
  * <!-- end-user-doc -->
  *
  * <!-- begin-model-doc -->
- * An activity edge is an abstract class for directed connections between two activity nodes.
  * Activity edges can be contained in interruptible regions.
+ * An activity edge is an abstract class for directed connections between two activity nodes.
  * <!-- end-model-doc -->
  *
  * <p>
  * The following features are supported:
  * <ul>
+ *   <li>{@link org.eclipse.uml2.uml.ActivityEdge#getActivity <em>Activity</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.ActivityEdge#getGuard <em>Guard</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.ActivityEdge#getInGroups <em>In Group</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.ActivityEdge#getInPartitions <em>In Partition</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.ActivityEdge#getInStructuredNode <em>In Structured Node</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.ActivityEdge#getInterrupts <em>Interrupts</em>}</li>
@@ -44,7 +43,7 @@
  *   <li>{@link org.eclipse.uml2.uml.ActivityEdge#getSource <em>Source</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.ActivityEdge#getTarget <em>Target</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.ActivityEdge#getWeight <em>Weight</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.ActivityEdge#getActivity <em>Activity</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.ActivityEdge#getInGroups <em>In Group</em>}</li>
  * </ul>
  * </p>
  *
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/ActivityGroup.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/ActivityGroup.java
index bc33c57..7df134e 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/ActivityGroup.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/ActivityGroup.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey (Embarcadero Technologies) - 205188
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ActivityGroup.java,v 1.17 2008/01/09 18:56:03 khussey Exp $
  */
 package org.eclipse.uml2.uml;
 
@@ -34,11 +33,11 @@
  * <p>
  * The following features are supported:
  * <ul>
+ *   <li>{@link org.eclipse.uml2.uml.ActivityGroup#getContainedEdges <em>Contained Edge</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.ActivityGroup#getContainedNodes <em>Contained Node</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.ActivityGroup#getInActivity <em>In Activity</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.ActivityGroup#getSubgroups <em>Subgroup</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.ActivityGroup#getSuperGroup <em>Super Group</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.ActivityGroup#getContainedEdges <em>Contained Edge</em>}</li>
  * </ul>
  * </p>
  *
@@ -163,7 +162,7 @@
 	ActivityNode getContainedNode(String name, boolean ignoreCase, EClass eClass);
 
 	/**
-	 * Returns the value of the '<em><b>In Activity</b></em>' container reference.
+	 * Returns the value of the '<em><b>In Activity</b></em>' reference.
 	 * It is bidirectional and its opposite is '{@link org.eclipse.uml2.uml.Activity#getGroups <em>Group</em>}'.
 	 * <p>
 	 * This feature subsets the following features:
@@ -176,20 +175,20 @@
 	 * <!-- begin-model-doc -->
 	 * Activity containing the group.
 	 * <!-- end-model-doc -->
-	 * @return the value of the '<em>In Activity</em>' container reference.
+	 * @return the value of the '<em>In Activity</em>' reference.
 	 * @see #setInActivity(Activity)
 	 * @see org.eclipse.uml2.uml.UMLPackage#getActivityGroup_InActivity()
 	 * @see org.eclipse.uml2.uml.Activity#getGroups
-	 * @model opposite="group" transient="false" ordered="false"
+	 * @model opposite="group" transient="true" volatile="true" derived="true" ordered="false"
 	 * @generated
 	 */
 	Activity getInActivity();
 
 	/**
-	 * Sets the value of the '{@link org.eclipse.uml2.uml.ActivityGroup#getInActivity <em>In Activity</em>}' container reference.
+	 * Sets the value of the '{@link org.eclipse.uml2.uml.ActivityGroup#getInActivity <em>In Activity</em>}' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>In Activity</em>' container reference.
+	 * @param value the new value of the '<em>In Activity</em>' reference.
 	 * @see #getInActivity()
 	 * @generated
 	 */
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/ActivityNode.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/ActivityNode.java
index 615e422..d3db585 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/ActivityNode.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/ActivityNode.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey (Embarcadero Technologies) - 205188
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ActivityNode.java,v 1.16 2008/01/09 18:56:02 khussey Exp $
  */
 package org.eclipse.uml2.uml;
 
@@ -35,12 +34,12 @@
  * The following features are supported:
  * <ul>
  *   <li>{@link org.eclipse.uml2.uml.ActivityNode#getActivity <em>Activity</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.ActivityNode#getInGroups <em>In Group</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.ActivityNode#getInPartitions <em>In Partition</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.ActivityNode#getInStructuredNode <em>In Structured Node</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.ActivityNode#getInInterruptibleRegions <em>In Interruptible Region</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.ActivityNode#getOutgoings <em>Outgoing</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.ActivityNode#getIncomings <em>Incoming</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.ActivityNode#getInGroups <em>In Group</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.ActivityNode#getRedefinedNodes <em>Redefined Node</em>}</li>
  * </ul>
  * </p>
@@ -187,8 +186,8 @@
 	 * <p>
 	 * This feature subsets the following features:
 	 * <ul>
-	 *   <li>'{@link org.eclipse.uml2.uml.Element#getOwner() <em>Owner</em>}'</li>
 	 *   <li>'{@link org.eclipse.uml2.uml.ActivityNode#getInGroups() <em>In Group</em>}'</li>
+	 *   <li>'{@link org.eclipse.uml2.uml.Element#getOwner() <em>Owner</em>}'</li>
 	 * </ul>
 	 * </p>
 	 * <!-- begin-user-doc -->
@@ -216,7 +215,7 @@
 	void setInStructuredNode(StructuredActivityNode value);
 
 	/**
-	 * Returns the value of the '<em><b>Activity</b></em>' container reference.
+	 * Returns the value of the '<em><b>Activity</b></em>' reference.
 	 * It is bidirectional and its opposite is '{@link org.eclipse.uml2.uml.Activity#getNodes <em>Node</em>}'.
 	 * <p>
 	 * This feature subsets the following features:
@@ -229,20 +228,20 @@
 	 * <!-- begin-model-doc -->
 	 * Activity containing the node.
 	 * <!-- end-model-doc -->
-	 * @return the value of the '<em>Activity</em>' container reference.
+	 * @return the value of the '<em>Activity</em>' reference.
 	 * @see #setActivity(Activity)
 	 * @see org.eclipse.uml2.uml.UMLPackage#getActivityNode_Activity()
 	 * @see org.eclipse.uml2.uml.Activity#getNodes
-	 * @model opposite="node" transient="false" ordered="false"
+	 * @model opposite="node" transient="true" volatile="true" derived="true" ordered="false"
 	 * @generated
 	 */
 	Activity getActivity();
 
 	/**
-	 * Sets the value of the '{@link org.eclipse.uml2.uml.ActivityNode#getActivity <em>Activity</em>}' container reference.
+	 * Sets the value of the '{@link org.eclipse.uml2.uml.ActivityNode#getActivity <em>Activity</em>}' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Activity</em>' container reference.
+	 * @param value the new value of the '<em>Activity</em>' reference.
 	 * @see #getActivity()
 	 * @generated
 	 */
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/Artifact.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/Artifact.java
index ee193cc..ce324ee 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/Artifact.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/Artifact.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: Artifact.java,v 1.14 2007/10/23 15:54:22 jbruck Exp $
  */
 package org.eclipse.uml2.uml;
 
@@ -23,8 +22,8 @@
  * <!-- end-user-doc -->
  *
  * <!-- begin-model-doc -->
- * An artifact is the specification of a physical piece of information that is used or produced by a software development process, or by deployment and operation of a system. Examples of artifacts include model files, source files, scripts, and binary executable files, a table in a database system, a development deliverable, or a word-processing document, a mail message.
  * An artifact is the source of a deployment to a node.
+ * An artifact is the specification of a physical piece of information that is used or produced by a software development process, or by deployment and operation of a system. Examples of artifacts include model files, source files, scripts, and binary executable files, a table in a database system, a development deliverable, or a word-processing document, a mail message.
  * <!-- end-model-doc -->
  *
  * <p>
@@ -304,8 +303,8 @@
 	 * <p>
 	 * This feature subsets the following features:
 	 * <ul>
-	 *   <li>'{@link org.eclipse.uml2.uml.Classifier#getAttributes() <em>Attribute</em>}'</li>
 	 *   <li>'{@link org.eclipse.uml2.uml.Namespace#getOwnedMembers() <em>Owned Member</em>}'</li>
+	 *   <li>'{@link org.eclipse.uml2.uml.Classifier#getAttributes() <em>Attribute</em>}'</li>
 	 * </ul>
 	 * </p>
 	 * <!-- begin-user-doc -->
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/Association.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/Association.java
index b36ee58..71f49de 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/Association.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/Association.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: Association.java,v 1.16 2007/10/23 15:54:22 jbruck Exp $
  */
 package org.eclipse.uml2.uml;
 
@@ -27,6 +26,7 @@
  * <!-- end-user-doc -->
  *
  * <!-- begin-model-doc -->
+ * An association describes a set of tuples whose values refer to typed instances. An instance of an association is called a link.A link is a tuple with one value for each end of the association, where each value is an instance of the type of the end.
  * An association describes a set of tuples whose values refer to typed instances. An instance of an association is called a link. A link is a tuple with one value for each end of the association, where each value is an instance of the type of the end.
  * <!-- end-model-doc -->
  *
@@ -250,8 +250,8 @@
 	 * <p>
 	 * This feature subsets the following features:
 	 * <ul>
-	 *   <li>'{@link org.eclipse.uml2.uml.Classifier#getFeatures() <em>Feature</em>}'</li>
 	 *   <li>'{@link org.eclipse.uml2.uml.Association#getMemberEnds() <em>Member End</em>}'</li>
+	 *   <li>'{@link org.eclipse.uml2.uml.Classifier#getFeatures() <em>Feature</em>}'</li>
 	 *   <li>'{@link org.eclipse.uml2.uml.Namespace#getOwnedMembers() <em>Owned Member</em>}'</li>
 	 * </ul>
 	 * </p>
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/BehavioralFeature.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/BehavioralFeature.java
index a53bde7..2b137b8 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/BehavioralFeature.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/BehavioralFeature.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: BehavioralFeature.java,v 1.16 2007/10/23 15:54:22 jbruck Exp $
  */
 package org.eclipse.uml2.uml;
 
@@ -24,8 +23,8 @@
  *
  * <!-- begin-model-doc -->
  * A behavioral feature is a feature of a classifier that specifies an aspect of the behavior of its instances.
- * A behavioral feature owns zero or more parameter sets.
  * A behavioral feature is implemented (realized) by a behavior. A behavioral feature specifies that a classifier will respond to a designated request by invoking its implementing method.
+ * A behavioral feature owns zero or more parameter sets.
  * <!-- end-model-doc -->
  *
  * <p>
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/Class.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/Class.java
index 0f42a64..35409dd 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/Class.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/Class.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey (Embarcadero Technologies) - 205188
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: Class.java,v 1.18 2008/01/09 18:56:03 khussey Exp $
  */
 package org.eclipse.uml2.uml;
 
@@ -28,10 +27,10 @@
  * <!-- end-user-doc -->
  *
  * <!-- begin-model-doc -->
+ * A class may be designated as active (i.e., each of its instances having its own thread of control) or passive (i.e., each of its instances executing within the context of some other object). A class may also specify which signals the instances of this class handle.
  * A class describes a set of objects that share the same specifications of features, constraints, and semantics.
  * A class has the capability to have an internal structure and ports.
  * Class has derived association that indicates how it may be extended through one or more stereotypes. Stereotype is the only kind of metaclass that cannot be extended by stereotypes.
- * A class may be designated as active (i.e., each of its instances having its own thread of control) or passive (i.e., each of its instances executing within the context of some other object). A class may also specify which signals the instances of this class handle.
  * <!-- end-model-doc -->
  *
  * <p>
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/Classifier.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/Classifier.java
index cdf932d..09877fa 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/Classifier.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/Classifier.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey (Embarcadero Technologies) - 205188
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: Classifier.java,v 1.24 2008/01/09 18:56:02 khussey Exp $
  */
 package org.eclipse.uml2.uml;
 
@@ -29,9 +28,9 @@
  *
  * <!-- begin-model-doc -->
  * A classifier is a classification of instances - it describes a set of instances that have features in common. A classifier can specify a generalization hierarchy by referencing its general classifiers.
- * A classifier has the capability to own collaboration uses. These collaboration uses link a collaboration with the classifier to give a description of the workings of the classifier.
- * Classifier is defined to be a kind of templateable element so that a classifier can be parameterized. It is also defined to be a kind of parameterable element so that a classifier can be a formal template parameter.
  * A classifier has the capability to own use cases. Although the owning classifier typically represents the subject to which the owned use cases apply, this is not necessarily the case. In principle, the same use case can be applied to multiple subjects, as identified by the subject association role of a use case.
+ * Classifier is defined to be a kind of templateable element so that a classifier can be parameterized. It is also defined to be a kind of parameterable element so that a classifier can be a formal template parameter.
+ * A classifier has the capability to own collaboration uses. These collaboration uses link a collaboration with the classifier to give a description of the workings of the classifier.
  * <!-- end-model-doc -->
  *
  * <p>
@@ -929,8 +928,8 @@
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * <!-- begin-model-doc -->
-	 * The query inherit() defines how to inherit a set of elements. Here the operation is defined to inherit them all. It is intended to be redefined in circumstances where inheritance is affected by redefinition.
 	 * The inherit operation is overridden to exclude redefined properties.
+	 * The query inherit() defines how to inherit a set of elements. Here the operation is defined to inherit them all. It is intended to be redefined in circumstances where inheritance is affected by redefinition.
 	 * result = inhs
 	 * <!-- end-model-doc -->
 	 * @model ordered="false" inhsMany="true" inhsOrdered="false"
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/Component.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/Component.java
index d6415da..690f196 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/Component.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/Component.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: Component.java,v 1.27 2009/08/12 21:05:18 jbruck Exp $
  */
 package org.eclipse.uml2.uml;
 
@@ -25,8 +24,8 @@
  * <!-- end-user-doc -->
  *
  * <!-- begin-model-doc -->
- * A component represents a modular part of a system that encapsulates its contents and whose manifestation is replaceable within its environment.
  * In the namespace of a component, all model elements that are involved in or related to its definition are either owned or imported explicitly. This may include, for example, use cases and dependencies (e.g. mappings), packages, components, and artifacts.
+ * A component represents a modular part of a system that encapsulates its contents and whose manifestation is replaceable within its environment.
  * <!-- end-model-doc -->
  *
  * <p>
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/DataType.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/DataType.java
index 2055fd6..a9ff47c 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/DataType.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/DataType.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: DataType.java,v 1.12 2007/10/23 15:54:22 jbruck Exp $
  */
 package org.eclipse.uml2.uml;
 
@@ -48,8 +47,8 @@
 	 * <p>
 	 * This feature subsets the following features:
 	 * <ul>
-	 *   <li>'{@link org.eclipse.uml2.uml.Classifier#getAttributes() <em>Attribute</em>}'</li>
 	 *   <li>'{@link org.eclipse.uml2.uml.Namespace#getOwnedMembers() <em>Owned Member</em>}'</li>
+	 *   <li>'{@link org.eclipse.uml2.uml.Classifier#getAttributes() <em>Attribute</em>}'</li>
 	 * </ul>
 	 * </p>
 	 * <!-- begin-user-doc -->
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/Deployment.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/Deployment.java
index 4318df9..cb08633 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/Deployment.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/Deployment.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: Deployment.java,v 1.11 2007/10/23 15:54:21 jbruck Exp $
  */
 package org.eclipse.uml2.uml;
 
@@ -154,8 +153,8 @@
 	 * <p>
 	 * This feature subsets the following features:
 	 * <ul>
-	 *   <li>'{@link org.eclipse.uml2.uml.Dependency#getClients() <em>Client</em>}'</li>
 	 *   <li>'{@link org.eclipse.uml2.uml.Element#getOwner() <em>Owner</em>}'</li>
+	 *   <li>'{@link org.eclipse.uml2.uml.Dependency#getClients() <em>Client</em>}'</li>
 	 * </ul>
 	 * </p>
 	 * <!-- begin-user-doc -->
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/ElementImport.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/ElementImport.java
index ed3a2dd..912856b 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/ElementImport.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/ElementImport.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ElementImport.java,v 1.11 2007/10/23 15:54:21 jbruck Exp $
  */
 package org.eclipse.uml2.uml;
 
@@ -161,8 +160,8 @@
 	 * <p>
 	 * This feature subsets the following features:
 	 * <ul>
-	 *   <li>'{@link org.eclipse.uml2.uml.DirectedRelationship#getSources() <em>Source</em>}'</li>
 	 *   <li>'{@link org.eclipse.uml2.uml.Element#getOwner() <em>Owner</em>}'</li>
+	 *   <li>'{@link org.eclipse.uml2.uml.DirectedRelationship#getSources() <em>Source</em>}'</li>
 	 * </ul>
 	 * </p>
 	 * <!-- begin-user-doc -->
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/ExecutableNode.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/ExecutableNode.java
index 207d477..5005fa7 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/ExecutableNode.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/ExecutableNode.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2007 IBM Corporation and others.
+ * Copyright (c) 2005, 2011 IBM Corporation, CEA, and others.
  * All rights reserved.   This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -7,8 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
+ *   Kenn Hussey (CEA) - 351774
  *
- * $Id: ExecutableNode.java,v 1.8 2007/10/23 15:54:22 jbruck Exp $
  */
 package org.eclipse.uml2.uml;
 
@@ -21,6 +21,7 @@
  *
  * <!-- begin-model-doc -->
  * An executable node is an abstract class for activity nodes that may be executed. It is used as an attachment point for exception handlers.
+ * An executable node is an abstract class for activity nodes that may be executed. It is used as an attachment point for exception handlers.
  * <!-- end-model-doc -->
  *
  * <p>
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/Expression.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/Expression.java
index ccff130..755c4d4 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/Expression.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/Expression.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: Expression.java,v 1.10 2007/10/23 15:54:21 jbruck Exp $
  */
 package org.eclipse.uml2.uml;
 
@@ -23,8 +22,8 @@
  * <!-- end-user-doc -->
  *
  * <!-- begin-model-doc -->
- * An expression represents a node in an expression tree, which may be non-terminal or terminal. It defines a symbol, and has a possibly empty sequence of operands which are value specifications.
  * An expression is a structured tree of symbols that denotes a (possibly empty) set of values when evaluated in a context.
+ * An expression represents a node in an expression tree, which may be non-terminal or terminal. It defines a symbol, and has a possibly empty sequence of operands which are value specifications.
  * <!-- end-model-doc -->
  *
  * <p>
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/Extend.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/Extend.java
index 47442a7..414b3de 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/Extend.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/Extend.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: Extend.java,v 1.14 2007/10/23 15:54:21 jbruck Exp $
  */
 package org.eclipse.uml2.uml;
 
@@ -176,8 +175,8 @@
 	 * <p>
 	 * This feature subsets the following features:
 	 * <ul>
-	 *   <li>'{@link org.eclipse.uml2.uml.NamedElement#getNamespace() <em>Namespace</em>}'</li>
 	 *   <li>'{@link org.eclipse.uml2.uml.DirectedRelationship#getSources() <em>Source</em>}'</li>
+	 *   <li>'{@link org.eclipse.uml2.uml.NamedElement#getNamespace() <em>Namespace</em>}'</li>
 	 * </ul>
 	 * </p>
 	 * <!-- begin-user-doc -->
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/Generalization.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/Generalization.java
index 873c865..a1149c7 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/Generalization.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/Generalization.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: Generalization.java,v 1.15 2008/10/02 20:56:22 jbruck Exp $
  */
 package org.eclipse.uml2.uml;
 
@@ -149,8 +148,8 @@
 	 * <p>
 	 * This feature subsets the following features:
 	 * <ul>
-	 *   <li>'{@link org.eclipse.uml2.uml.DirectedRelationship#getSources() <em>Source</em>}'</li>
 	 *   <li>'{@link org.eclipse.uml2.uml.Element#getOwner() <em>Owner</em>}'</li>
+	 *   <li>'{@link org.eclipse.uml2.uml.DirectedRelationship#getSources() <em>Source</em>}'</li>
 	 * </ul>
 	 * </p>
 	 * <!-- begin-user-doc -->
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/Include.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/Include.java
index 452d6f6..7ffe5d2 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/Include.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/Include.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: Include.java,v 1.7 2007/10/23 15:54:22 jbruck Exp $
  */
 package org.eclipse.uml2.uml;
 
@@ -74,8 +73,8 @@
 	 * <p>
 	 * This feature subsets the following features:
 	 * <ul>
-	 *   <li>'{@link org.eclipse.uml2.uml.NamedElement#getNamespace() <em>Namespace</em>}'</li>
 	 *   <li>'{@link org.eclipse.uml2.uml.DirectedRelationship#getSources() <em>Source</em>}'</li>
+	 *   <li>'{@link org.eclipse.uml2.uml.NamedElement#getNamespace() <em>Namespace</em>}'</li>
 	 * </ul>
 	 * </p>
 	 * <!-- begin-user-doc -->
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/InstanceSpecification.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/InstanceSpecification.java
index 718f2a2..2880581 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/InstanceSpecification.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/InstanceSpecification.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2007 IBM Corporation and others.
+ * Copyright (c) 2005, 2011 IBM Corporation, CEA, and others.
  * All rights reserved.   This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -7,8 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
+ *   Kenn Hussey (CEA) - 351774
  *
- * $Id: InstanceSpecification.java,v 1.11 2007/10/23 15:54:22 jbruck Exp $
  */
 package org.eclipse.uml2.uml;
 
@@ -26,8 +26,8 @@
  * <!-- end-user-doc -->
  *
  * <!-- begin-model-doc -->
- * An instance specification is a model element that represents an instance in a modeled system.
  * An instance specification has the capability of being a deployment target in a deployment relationship, in the case that it is an instance of a node. It is also has the capability of being a deployed artifact, if it is an instance of an artifact.
+ * An instance specification is a model element that represents an instance in a modeled system.
  * <!-- end-model-doc -->
  *
  * <p>
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/Interface.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/Interface.java
index cd1c9ec..e3234b0 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/Interface.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/Interface.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: Interface.java,v 1.14 2007/10/23 15:54:21 jbruck Exp $
  */
 package org.eclipse.uml2.uml;
 
@@ -27,9 +26,9 @@
  * <!-- end-user-doc -->
  *
  * <!-- begin-model-doc -->
+ * Since an interface specifies conformance characteristics, it does not own detailed behavior specifications. Instead, interfaces may own a protocol state machine that specifies event sequences and pre/post conditions for the operations and receptions described by the interface.
  * Interfaces may include receptions (in addition to operations).
  * An interface is a kind of classifier that represents a declaration of a set of coherent public features and obligations. An interface specifies a contract; any instance of a classifier that realizes the interface must fulfill that contract. The obligations that may be associated with an interface are in the form of various kinds of constraints (such as pre- and post-conditions) or protocol specifications, which may impose ordering restrictions on interactions through the interface.
- * Since an interface specifies conformance characteristics, it does not own detailed behavior specifications. Instead, interfaces may own a protocol state machine that specifies event sequences and pre/post conditions for the operations and receptions described by the interface.
  * <!-- end-model-doc -->
  *
  * <p>
@@ -37,10 +36,10 @@
  * <ul>
  *   <li>{@link org.eclipse.uml2.uml.Interface#getNestedClassifiers <em>Nested Classifier</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Interface#getOwnedAttributes <em>Owned Attribute</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.Interface#getOwnedOperations <em>Owned Operation</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Interface#getOwnedReceptions <em>Owned Reception</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Interface#getProtocol <em>Protocol</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Interface#getRedefinedInterfaces <em>Redefined Interface</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.Interface#getOwnedOperations <em>Owned Operation</em>}</li>
  * </ul>
  * </p>
  *
@@ -58,8 +57,8 @@
 	 * <p>
 	 * This feature subsets the following features:
 	 * <ul>
-	 *   <li>'{@link org.eclipse.uml2.uml.Classifier#getAttributes() <em>Attribute</em>}'</li>
 	 *   <li>'{@link org.eclipse.uml2.uml.Namespace#getOwnedMembers() <em>Owned Member</em>}'</li>
+	 *   <li>'{@link org.eclipse.uml2.uml.Classifier#getAttributes() <em>Attribute</em>}'</li>
 	 * </ul>
 	 * </p>
 	 * <!-- begin-user-doc -->
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/InterfaceRealization.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/InterfaceRealization.java
index 4310b19..b51a85a 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/InterfaceRealization.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/InterfaceRealization.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: InterfaceRealization.java,v 1.4 2007/10/23 15:54:22 jbruck Exp $
  */
 package org.eclipse.uml2.uml;
 
@@ -74,8 +73,8 @@
 	 * <p>
 	 * This feature subsets the following features:
 	 * <ul>
-	 *   <li>'{@link org.eclipse.uml2.uml.Dependency#getClients() <em>Client</em>}'</li>
 	 *   <li>'{@link org.eclipse.uml2.uml.Element#getOwner() <em>Owner</em>}'</li>
+	 *   <li>'{@link org.eclipse.uml2.uml.Dependency#getClients() <em>Client</em>}'</li>
 	 * </ul>
 	 * </p>
 	 * <!-- begin-user-doc -->
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/InvocationAction.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/InvocationAction.java
index eb6d584..3b577bc 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/InvocationAction.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/InvocationAction.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: InvocationAction.java,v 1.11 2007/10/23 15:54:20 jbruck Exp $
  */
 package org.eclipse.uml2.uml;
 
@@ -27,8 +26,8 @@
  * <!-- end-user-doc -->
  *
  * <!-- begin-model-doc -->
- * In addition to targeting an object, invocation actions can also invoke behavioral features on ports from where the invocation requests are routed onwards on links deriving from attached connectors. Invocation actions may also be sent to a target via a given port, either on the sending object or on another object.
  * InvocationAction is an abstract class for the various actions that invoke behavior.
+ * In addition to targeting an object, invocation actions can also invoke behavioral features on ports from where the invocation requests are routed onwards on links deriving from attached connectors. Invocation actions may also be sent to a target via a given port, either on the sending object or on another object.
  * <!-- end-model-doc -->
  *
  * <p>
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/MultiplicityElement.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/MultiplicityElement.java
index 6c18ba0..207ae96 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/MultiplicityElement.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/MultiplicityElement.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: MultiplicityElement.java,v 1.19 2008/10/02 20:56:22 jbruck Exp $
  */
 package org.eclipse.uml2.uml;
 
@@ -304,8 +303,8 @@
 	 * <!-- end-user-doc -->
 	 * <!-- begin-model-doc -->
 	 * The query isMultivalued() checks whether this multiplicity has an upper bound greater than one.
-	 * upperBound()->notEmpty()
 	 * result = upperBound() > 1
+	 * upperBound()->notEmpty()
 	 * <!-- end-model-doc -->
 	 * @model kind="operation" dataType="org.eclipse.uml2.types.Boolean" required="true" ordered="false"
 	 * @generated
@@ -330,8 +329,8 @@
 	 * <!-- end-user-doc -->
 	 * <!-- begin-model-doc -->
 	 * The query includesMultiplicity() checks whether this multiplicity includes all the cardinalities allowed by the specified multiplicity.
-	 * self.upperBound()->notEmpty() and self.lowerBound()->notEmpty() and M.upperBound()->notEmpty() and M.lowerBound()->notEmpty()
 	 * result = (self.lowerBound() <= M.lowerBound()) and (self.upperBound() >= M.upperBound())
+	 * self.upperBound()->notEmpty() and self.lowerBound()->notEmpty() and M.upperBound()->notEmpty() and M.lowerBound()->notEmpty()
 	 * <!-- end-model-doc -->
 	 * @model dataType="org.eclipse.uml2.types.Boolean" required="true" ordered="false" MRequired="true" MOrdered="false"
 	 * @generated
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/Namespace.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/Namespace.java
index 953be0c..b555662 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/Namespace.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/Namespace.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey (Embarcadero Technologies) - 205188
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: Namespace.java,v 1.18 2009/08/12 21:05:18 jbruck Exp $
  */
 package org.eclipse.uml2.uml;
 
@@ -443,8 +442,8 @@
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * <!-- begin-model-doc -->
-	 * The query getNamesOfMember() takes importing into account. It gives back the set of names that an element would have in an importing namespace, either because it is owned, or if not owned then imported individually, or if not individually then from a package.
 	 * The query getNamesOfMember() gives a set of all of the names that a member would have in a Namespace. In general a member can have multiple names in a Namespace if it is imported more than once with different aliases. The query takes account of importing. It gives back the set of names that an element would have in an importing namespace, either because it is owned, or if not owned then imported individually, or if not individually then from a package.
+	 * The query getNamesOfMember() takes importing into account. It gives back the set of names that an element would have in an importing namespace, either because it is owned, or if not owned then imported individually, or if not individually then from a package.
 	 * result = if self.ownedMember ->includes(element)
 	 * then Set{}->include(element.name)
 	 * else let elementImports: ElementImport = self.elementImport->select(ei | ei.importedElement = element) in
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/ObjectNode.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/ObjectNode.java
index 59b110a..feedc3a 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/ObjectNode.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/ObjectNode.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ObjectNode.java,v 1.13 2007/10/23 15:54:21 jbruck Exp $
  */
 package org.eclipse.uml2.uml;
 
@@ -27,8 +26,8 @@
  * <!-- end-user-doc -->
  *
  * <!-- begin-model-doc -->
- * Object nodes have support for token selection, limitation on the number of tokens, specifying the state required for tokens, and carrying control values.
  * An object node is an abstract activity node that is part of defining object flow in an activity.
+ * Object nodes have support for token selection, limitation on the number of tokens, specifying the state required for tokens, and carrying control values.
  * <!-- end-model-doc -->
  *
  * <p>
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/OpaqueExpression.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/OpaqueExpression.java
index c9f71e6..ded51a7 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/OpaqueExpression.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/OpaqueExpression.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: OpaqueExpression.java,v 1.14 2007/06/12 12:53:18 khussey Exp $
  */
 package org.eclipse.uml2.uml;
 
@@ -252,8 +251,8 @@
 	 * <!-- end-user-doc -->
 	 * <!-- begin-model-doc -->
 	 * The query isNonNegative() tells whether an integer expression has a non-negative value.
-	 * self.isIntegral()
 	 * result = false
+	 * self.isIntegral()
 	 * <!-- end-model-doc -->
 	 * @model kind="operation" dataType="org.eclipse.uml2.types.Boolean" required="true" ordered="false"
 	 * @generated
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/Operation.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/Operation.java
index 3c55e13..f9bc115 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/Operation.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/Operation.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: Operation.java,v 1.21 2009/08/12 21:05:18 jbruck Exp $
  */
 package org.eclipse.uml2.uml;
 
@@ -27,18 +26,18 @@
  * <!-- end-user-doc -->
  *
  * <!-- begin-model-doc -->
- * Operation specializes TemplateableElement in order to support specification of template operations and bound operations. Operation specializes ParameterableElement to specify that an operation can be exposed as a formal template parameter, and provided as an actual parameter in a binding of a template.
- * An operation may invoke both the execution of method behaviors as well as other behavioral responses.
  * An operation is a behavioral feature of a classifier that specifies the name, type, parameters, and constraints for invoking an associated behavior.
+ * An operation may invoke both the execution of method behaviors as well as other behavioral responses.
+ * Operation specializes TemplateableElement in order to support specification of template operations and bound operations. Operation specializes ParameterableElement to specify that an operation can be exposed as a formal template parameter, and provided as an actual parameter in a binding of a template.
  * <!-- end-model-doc -->
  *
  * <p>
  * The following features are supported:
  * <ul>
+ *   <li>{@link org.eclipse.uml2.uml.Operation#getInterface <em>Interface</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Operation#getBodyCondition <em>Body Condition</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Operation#getClass_ <em>Class</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Operation#getDatatype <em>Datatype</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.Operation#getInterface <em>Interface</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Operation#isOrdered <em>Is Ordered</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Operation#isQuery <em>Is Query</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Operation#isUnique <em>Is Unique</em>}</li>
@@ -106,8 +105,8 @@
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * <!-- begin-model-doc -->
-	 * This information is derived from the return result for this Operation.
 	 * Specifies whether the return parameter is unique or not, if present.
+	 * This information is derived from the return result for this Operation.
 	 * <!-- end-model-doc -->
 	 * @return the value of the '<em>Is Unique</em>' attribute.
 	 * @see org.eclipse.uml2.uml.UMLPackage#getOperation_IsUnique()
@@ -122,8 +121,8 @@
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * <!-- begin-model-doc -->
-	 * Specifies the lower multiplicity of the return parameter, if present.
 	 * This information is derived from the return result for this Operation.
+	 * Specifies the lower multiplicity of the return parameter, if present.
 	 * <!-- end-model-doc -->
 	 * @return the value of the '<em>Lower</em>' attribute.
 	 * @see org.eclipse.uml2.uml.UMLPackage#getOperation_Lower()
@@ -138,8 +137,8 @@
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * <!-- begin-model-doc -->
-	 * Specifies the upper multiplicity of the return parameter, if present.
 	 * This information is derived from the return result for this Operation.
+	 * Specifies the upper multiplicity of the return parameter, if present.
 	 * <!-- end-model-doc -->
 	 * @return the value of the '<em>Upper</em>' attribute.
 	 * @see org.eclipse.uml2.uml.UMLPackage#getOperation_Upper()
@@ -155,8 +154,8 @@
 	 * This feature subsets the following features:
 	 * <ul>
 	 *   <li>'{@link org.eclipse.uml2.uml.Feature#getFeaturingClassifiers() <em>Featuring Classifier</em>}'</li>
-	 *   <li>'{@link org.eclipse.uml2.uml.NamedElement#getNamespace() <em>Namespace</em>}'</li>
 	 *   <li>'{@link org.eclipse.uml2.uml.RedefinableElement#getRedefinitionContexts() <em>Redefinition Context</em>}'</li>
+	 *   <li>'{@link org.eclipse.uml2.uml.NamedElement#getNamespace() <em>Namespace</em>}'</li>
 	 * </ul>
 	 * </p>
 	 * <!-- begin-user-doc -->
@@ -381,8 +380,8 @@
 	 * This feature subsets the following features:
 	 * <ul>
 	 *   <li>'{@link org.eclipse.uml2.uml.Feature#getFeaturingClassifiers() <em>Featuring Classifier</em>}'</li>
-	 *   <li>'{@link org.eclipse.uml2.uml.NamedElement#getNamespace() <em>Namespace</em>}'</li>
 	 *   <li>'{@link org.eclipse.uml2.uml.RedefinableElement#getRedefinitionContexts() <em>Redefinition Context</em>}'</li>
+	 *   <li>'{@link org.eclipse.uml2.uml.NamedElement#getNamespace() <em>Namespace</em>}'</li>
 	 * </ul>
 	 * </p>
 	 * <!-- begin-user-doc -->
@@ -485,8 +484,8 @@
 	 * This feature subsets the following features:
 	 * <ul>
 	 *   <li>'{@link org.eclipse.uml2.uml.Feature#getFeaturingClassifiers() <em>Featuring Classifier</em>}'</li>
-	 *   <li>'{@link org.eclipse.uml2.uml.NamedElement#getNamespace() <em>Namespace</em>}'</li>
 	 *   <li>'{@link org.eclipse.uml2.uml.RedefinableElement#getRedefinitionContexts() <em>Redefinition Context</em>}'</li>
+	 *   <li>'{@link org.eclipse.uml2.uml.NamedElement#getNamespace() <em>Namespace</em>}'</li>
 	 * </ul>
 	 * </p>
 	 * <!-- begin-user-doc -->
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/Package.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/Package.java
index caf5c08..1df68a9 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/Package.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/Package.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: Package.java,v 1.23 2009/08/12 21:05:18 jbruck Exp $
  */
 package org.eclipse.uml2.uml;
 
@@ -693,10 +692,10 @@
 	 * <!-- end-user-doc -->
 	 * <!-- begin-model-doc -->
 	 * The query makesVisible() defines whether a Package makes an element visible outside itself. Elements with no visibility and elements with public visibility are made visible.
-	 * self.member->includes(el)
 	 * result = (ownedMember->includes(el)) or
 	 * (elementImport->select(ei|ei.importedElement = #public)->collect(ei|ei.importedElement)->includes(el)) or
 	 * (packageImport->select(pi|pi.visibility = #public)->collect(pi|pi.importedPackage.member->includes(el))->notEmpty())
+	 * self.member->includes(el)
 	 * <!-- end-model-doc -->
 	 * @model dataType="org.eclipse.uml2.types.Boolean" required="true" ordered="false" elRequired="true" elOrdered="false"
 	 * @generated
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/PackageImport.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/PackageImport.java
index a1b3511..a87857d 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/PackageImport.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/PackageImport.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: PackageImport.java,v 1.12 2009/08/12 21:05:18 jbruck Exp $
  */
 package org.eclipse.uml2.uml;
 
@@ -108,8 +107,8 @@
 	 * <p>
 	 * This feature subsets the following features:
 	 * <ul>
-	 *   <li>'{@link org.eclipse.uml2.uml.DirectedRelationship#getSources() <em>Source</em>}'</li>
 	 *   <li>'{@link org.eclipse.uml2.uml.Element#getOwner() <em>Owner</em>}'</li>
+	 *   <li>'{@link org.eclipse.uml2.uml.DirectedRelationship#getSources() <em>Source</em>}'</li>
 	 * </ul>
 	 * </p>
 	 * <!-- begin-user-doc -->
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/PackageMerge.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/PackageMerge.java
index 0c180e6..d7764b2 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/PackageMerge.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/PackageMerge.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2009 IBM Corporation and others.
+ * Copyright (c) 2005, 2011 IBM Corporation, CEA, and others.
  * All rights reserved.   This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -7,8 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
+ *   Kenn Hussey (CEA) - 351774
  *
- * $Id: PackageMerge.java,v 1.9 2009/08/12 21:05:19 jbruck Exp $
  */
 package org.eclipse.uml2.uml;
 
@@ -73,8 +73,8 @@
 	 * <p>
 	 * This feature subsets the following features:
 	 * <ul>
-	 *   <li>'{@link org.eclipse.uml2.uml.DirectedRelationship#getSources() <em>Source</em>}'</li>
 	 *   <li>'{@link org.eclipse.uml2.uml.Element#getOwner() <em>Owner</em>}'</li>
+	 *   <li>'{@link org.eclipse.uml2.uml.DirectedRelationship#getSources() <em>Source</em>}'</li>
 	 * </ul>
 	 * </p>
 	 * <!-- begin-user-doc -->
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/PackageableElement.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/PackageableElement.java
index fb50383..1392293 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/PackageableElement.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/PackageableElement.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2007 IBM Corporation and others.
+ * Copyright (c) 2005, 2011 IBM Corporation, CEA, and others.
  * All rights reserved.   This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -7,8 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
+ *   Kenn Hussey (CEA) - 351774
  *
- * $Id: PackageableElement.java,v 1.3 2007/02/14 19:57:26 khussey Exp $
  */
 package org.eclipse.uml2.uml;
 
@@ -18,8 +18,8 @@
  * <!-- end-user-doc -->
  *
  * <!-- begin-model-doc -->
- * A packageable element indicates a named element that may be owned directly by a package.
  * Packageable elements are able to serve as a template parameter.
+ * A packageable element indicates a named element that may be owned directly by a package.
  * <!-- end-model-doc -->
  *
  *
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/Parameter.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/Parameter.java
index d9057dc..a6993b8 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/Parameter.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/Parameter.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: Parameter.java,v 1.21 2007/10/23 15:54:21 jbruck Exp $
  */
 package org.eclipse.uml2.uml;
 
@@ -27,9 +26,9 @@
  * <!-- end-user-doc -->
  *
  * <!-- begin-model-doc -->
+ * Parameters are allowed to be treated as connectable elements.
  * A parameter is a specification of an argument used to pass information into or out of an invocation of a behavioral feature.
  * Parameters have support for streaming, exceptions, and parameter sets.
- * Parameters are allowed to be treated as connectable elements.
  * <!-- end-model-doc -->
  *
  * <p>
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/Pin.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/Pin.java
index 552379d..71e4295 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/Pin.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/Pin.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: Pin.java,v 1.6 2007/04/25 17:47:05 khussey Exp $
  */
 package org.eclipse.uml2.uml;
 
@@ -23,8 +22,8 @@
  * <!-- end-user-doc -->
  *
  * <!-- begin-model-doc -->
- * A pin is an object node for inputs and outputs to actions.
  * A pin is a typed element and multiplicity element that provides values to actions and accept result values from them.
+ * A pin is an object node for inputs and outputs to actions.
  * <!-- end-model-doc -->
  *
  * <p>
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/Port.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/Port.java
index 3ab7f17..26770af 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/Port.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/Port.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: Port.java,v 1.11 2007/10/23 15:54:21 jbruck Exp $
  */
 package org.eclipse.uml2.uml;
 
@@ -25,8 +24,8 @@
  * <!-- end-user-doc -->
  *
  * <!-- begin-model-doc -->
- * A port is a property of a classifier that specifies a distinct interaction point between that classifier and its environment or between the (behavior of the) classifier and its internal parts. Ports are connected to properties of the classifier by connectors through which requests can be made to invoke the behavioral features of a classifier. A Port may specify the services a classifier provides (offers) to its environment as well as the services that a classifier expects (requires) of its environment.
  * A port has an associated protocol state machine.
+ * A port is a property of a classifier that specifies a distinct interaction point between that classifier and its environment or between the (behavior of the) classifier and its internal parts. Ports are connected to properties of the classifier by connectors through which requests can be made to invoke the behavioral features of a classifier. A Port may specify the services a classifier provides (offers) to its environment as well as the services that a classifier expects (requires) of its environment.
  * <!-- end-model-doc -->
  *
  * <p>
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/ProfileApplication.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/ProfileApplication.java
index 7c76ccb..a523f85 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/ProfileApplication.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/ProfileApplication.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ProfileApplication.java,v 1.17 2009/08/12 21:05:18 jbruck Exp $
  */
 package org.eclipse.uml2.uml;
 
@@ -104,8 +103,8 @@
 	 * <p>
 	 * This feature subsets the following features:
 	 * <ul>
-	 *   <li>'{@link org.eclipse.uml2.uml.DirectedRelationship#getSources() <em>Source</em>}'</li>
 	 *   <li>'{@link org.eclipse.uml2.uml.Element#getOwner() <em>Owner</em>}'</li>
+	 *   <li>'{@link org.eclipse.uml2.uml.DirectedRelationship#getSources() <em>Source</em>}'</li>
 	 * </ul>
 	 * </p>
 	 * <!-- begin-user-doc -->
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/Property.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/Property.java
index 8e9aa2d..ca3e029 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/Property.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/Property.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: Property.java,v 1.30 2009/08/12 21:05:18 jbruck Exp $
  */
 package org.eclipse.uml2.uml;
 
@@ -28,17 +27,17 @@
  *
  * <!-- begin-model-doc -->
  * Property represents a declared state of one or more instances in terms of a named relationship to a value or values. When a property is an attribute of a classifier, the value or values are related to the instance of the classifier by being held in slots of the instance. When a property is an association end, the value or values are related to the instance or instances at the other end(s) of the association. The range of valid values represented by the property can be controlled by setting the property's type.
+ * A property is a structural feature of a classifier that characterizes instances of the classifier. A property related by ownedAttribute to a classifier (other than an association) represents an attribute and might also represent an association end. It relates an instance of the class to a value or set of values of the type of the attribute. A property related by memberEnd or its specializations to an association represents an end of the association. The type of the property is the type of the end of the association.
  * A property has the capability of being a deployment target in a deployment relationship. This enables modeling the deployment to hierarchical nodes that have properties functioning as internal parts.
  * Property specializes ParameterableElement to specify that a property can be exposed as a formal template parameter, and provided as an actual parameter in a binding of a template.
  * A property represents a set of instances that are owned by a containing classifier instance.
- * A property is a structural feature of a classifier that characterizes instances of the classifier. A property related by ownedAttribute to a classifier (other than an association) represents an attribute and might also represent an association end. It relates an instance of the class to a value or set of values of the type of the attribute. A property related by memberEnd or its specializations to an association represents an end of the association. The type of the property is the type of the end of the association.
  * <!-- end-model-doc -->
  *
  * <p>
  * The following features are supported:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.Property#getDatatype <em>Datatype</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Property#getInterface <em>Interface</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.Property#getDatatype <em>Datatype</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Property#getAggregation <em>Aggregation</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Property#getAssociationEnd <em>Association End</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Property#getQualifiers <em>Qualifier</em>}</li>
@@ -140,8 +139,8 @@
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * <!-- begin-model-doc -->
-	 * Specifies whether the Property is derived, i.e., whether its value or values can be computed from other information.
 	 * If isDerived is true, the value of the attribute is derived from information elsewhere.
+	 * Specifies whether the Property is derived, i.e., whether its value or values can be computed from other information.
 	 * <!-- end-model-doc -->
 	 * @return the value of the '<em>Is Derived</em>' attribute.
 	 * @see #setIsDerived(boolean)
@@ -218,8 +217,8 @@
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * <!-- begin-model-doc -->
-	 * A String that is evaluated to give a default value for the Property when an object of the owning Classifier is instantiated.
 	 * Specifies a String that represents a value to be used when no argument is supplied for the Property.
+	 * A String that is evaluated to give a default value for the Property when an object of the owning Classifier is instantiated.
 	 * <!-- end-model-doc -->
 	 * @return the value of the '<em>Default</em>' attribute.
 	 * @see #isSetDefault()
@@ -336,6 +335,7 @@
 	 * <!-- end-user-doc -->
 	 * <!-- begin-model-doc -->
 	 * References the Class that owns the Property.
+	 * References the Class that owns the Property.
 	 * <!-- end-model-doc -->
 	 * @return the value of the '<em>Class</em>' reference.
 	 * @see org.eclipse.uml2.uml.UMLPackage#getProperty_Class()
@@ -399,9 +399,9 @@
 	 * This feature subsets the following features:
 	 * <ul>
 	 *   <li>'{@link org.eclipse.uml2.uml.Feature#getFeaturingClassifiers() <em>Featuring Classifier</em>}'</li>
+	 *   <li>'{@link org.eclipse.uml2.uml.RedefinableElement#getRedefinitionContexts() <em>Redefinition Context</em>}'</li>
 	 *   <li>'{@link org.eclipse.uml2.uml.NamedElement#getNamespace() <em>Namespace</em>}'</li>
 	 *   <li>'{@link org.eclipse.uml2.uml.Property#getAssociation() <em>Association</em>}'</li>
-	 *   <li>'{@link org.eclipse.uml2.uml.RedefinableElement#getRedefinitionContexts() <em>Redefinition Context</em>}'</li>
 	 * </ul>
 	 * </p>
 	 * <!-- begin-user-doc -->
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/ProtocolConformance.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/ProtocolConformance.java
index 62385a6..679f155 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/ProtocolConformance.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/ProtocolConformance.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2007 IBM Corporation and others.
+ * Copyright (c) 2005, 2011 IBM Corporation, CEA, and others.
  * All rights reserved.   This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -7,8 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
+ *   Kenn Hussey (CEA) - 351774
  *
- * $Id: ProtocolConformance.java,v 1.7 2007/10/23 15:54:21 jbruck Exp $
  */
 package org.eclipse.uml2.uml;
 
@@ -73,8 +73,8 @@
 	 * <p>
 	 * This feature subsets the following features:
 	 * <ul>
-	 *   <li>'{@link org.eclipse.uml2.uml.DirectedRelationship#getSources() <em>Source</em>}'</li>
 	 *   <li>'{@link org.eclipse.uml2.uml.Element#getOwner() <em>Owner</em>}'</li>
+	 *   <li>'{@link org.eclipse.uml2.uml.DirectedRelationship#getSources() <em>Source</em>}'</li>
 	 * </ul>
 	 * </p>
 	 * <!-- begin-user-doc -->
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/Signal.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/Signal.java
index 7e58ea0..77275a6 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/Signal.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/Signal.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: Signal.java,v 1.10 2007/10/23 15:54:22 jbruck Exp $
  */
 package org.eclipse.uml2.uml;
 
@@ -46,8 +45,8 @@
 	 * <p>
 	 * This feature subsets the following features:
 	 * <ul>
-	 *   <li>'{@link org.eclipse.uml2.uml.Classifier#getAttributes() <em>Attribute</em>}'</li>
 	 *   <li>'{@link org.eclipse.uml2.uml.Namespace#getOwnedMembers() <em>Owned Member</em>}'</li>
+	 *   <li>'{@link org.eclipse.uml2.uml.Classifier#getAttributes() <em>Attribute</em>}'</li>
 	 * </ul>
 	 * </p>
 	 * <!-- begin-user-doc -->
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/StructuralFeature.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/StructuralFeature.java
index 3606e0f..8a950d4 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/StructuralFeature.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/StructuralFeature.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: StructuralFeature.java,v 1.4 2006/05/12 20:38:09 khussey Exp $
  */
 package org.eclipse.uml2.uml;
 
@@ -19,8 +18,8 @@
  * <!-- end-user-doc -->
  *
  * <!-- begin-model-doc -->
- * By specializing multiplicity element, it supports a multiplicity that specifies valid cardinalities for the collection of values associated with an instantiation of the structural feature.
  * A structural feature is a typed feature of a classifier that specifies the structure of instances of the classifier.
+ * By specializing multiplicity element, it supports a multiplicity that specifies valid cardinalities for the collection of values associated with an instantiation of the structural feature.
  * <!-- end-model-doc -->
  *
  * <p>
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/StructuredActivityNode.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/StructuredActivityNode.java
index 2366890..f064225 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/StructuredActivityNode.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/StructuredActivityNode.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: StructuredActivityNode.java,v 1.17 2007/10/23 15:54:22 jbruck Exp $
  */
 package org.eclipse.uml2.uml;
 
@@ -27,8 +26,8 @@
  * <!-- end-user-doc -->
  *
  * <!-- begin-model-doc -->
- * Because of the concurrent nature of the execution of actions within and across activities, it can be difficult to guarantee the consistent access and modification of object memory. In order to avoid race conditions or other concurrency-related problems, it is sometimes necessary to isolate the effects of a group of actions from the effects of actions outside the group. This may be indicated by setting the mustIsolate attribute to true on a structured activity node. If a structured activity node is "isolated," then any object used by an action within the node cannot be accessed by any action outside the node until the structured activity node as a whole completes. Any concurrent actions that would result in accessing such objects are required to have their execution deferred until the completion of the node.
  * A structured activity node is an executable activity node that may have an expansion into subordinate nodes as an activity group. The subordinate nodes must belong to only one structured activity node, although they may be nested.
+ * Because of the concurrent nature of the execution of actions within and across activities, it can be difficult to guarantee the consistent access and modification of object memory. In order to avoid race conditions or other concurrency-related problems, it is sometimes necessary to isolate the effects of a group of actions from the effects of actions outside the group. This may be indicated by setting the mustIsolate attribute to true on a structured activity node. If a structured activity node is "isolated," then any object used by an action within the node cannot be accessed by any action outside the node until the structured activity node as a whole completes. Any concurrent actions that would result in accessing such objects are required to have their execution deferred until the completion of the node.
  * <!-- end-model-doc -->
  *
  * <p>
@@ -119,8 +118,8 @@
 	 * <p>
 	 * This feature subsets the following features:
 	 * <ul>
-	 *   <li>'{@link org.eclipse.uml2.uml.Element#getOwnedElements() <em>Owned Element</em>}'</li>
 	 *   <li>'{@link org.eclipse.uml2.uml.ActivityGroup#getContainedNodes() <em>Contained Node</em>}'</li>
+	 *   <li>'{@link org.eclipse.uml2.uml.Element#getOwnedElements() <em>Owned Element</em>}'</li>
 	 * </ul>
 	 * </p>
 	 * <!-- begin-user-doc -->
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/StructuredClassifier.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/StructuredClassifier.java
index 31ed595..6868f8e 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/StructuredClassifier.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/StructuredClassifier.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey (Embarcadero Technologies) - 205188
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: StructuredClassifier.java,v 1.12 2008/01/09 18:56:03 khussey Exp $
  */
 package org.eclipse.uml2.uml;
 
@@ -55,8 +54,8 @@
 	 * This feature subsets the following features:
 	 * <ul>
 	 *   <li>'{@link org.eclipse.uml2.uml.Classifier#getAttributes() <em>Attribute</em>}'</li>
-	 *   <li>'{@link org.eclipse.uml2.uml.StructuredClassifier#getRoles() <em>Role</em>}'</li>
 	 *   <li>'{@link org.eclipse.uml2.uml.Namespace#getOwnedMembers() <em>Owned Member</em>}'</li>
+	 *   <li>'{@link org.eclipse.uml2.uml.StructuredClassifier#getRoles() <em>Role</em>}'</li>
 	 * </ul>
 	 * </p>
 	 * <!-- begin-user-doc -->
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/Substitution.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/Substitution.java
index a747c72..f36bbc3 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/Substitution.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/Substitution.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: Substitution.java,v 1.5 2007/10/23 15:54:22 jbruck Exp $
  */
 package org.eclipse.uml2.uml;
 
@@ -74,8 +73,8 @@
 	 * <p>
 	 * This feature subsets the following features:
 	 * <ul>
-	 *   <li>'{@link org.eclipse.uml2.uml.Dependency#getClients() <em>Client</em>}'</li>
 	 *   <li>'{@link org.eclipse.uml2.uml.Element#getOwner() <em>Owner</em>}'</li>
+	 *   <li>'{@link org.eclipse.uml2.uml.Dependency#getClients() <em>Client</em>}'</li>
 	 * </ul>
 	 * </p>
 	 * <!-- begin-user-doc -->
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/TemplateBinding.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/TemplateBinding.java
index bbc067a..978bae6 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/TemplateBinding.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/TemplateBinding.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: TemplateBinding.java,v 1.14 2007/10/23 15:54:21 jbruck Exp $
  */
 package org.eclipse.uml2.uml;
 
@@ -114,8 +113,8 @@
 	 * <p>
 	 * This feature subsets the following features:
 	 * <ul>
-	 *   <li>'{@link org.eclipse.uml2.uml.DirectedRelationship#getSources() <em>Source</em>}'</li>
 	 *   <li>'{@link org.eclipse.uml2.uml.Element#getOwner() <em>Owner</em>}'</li>
+	 *   <li>'{@link org.eclipse.uml2.uml.DirectedRelationship#getSources() <em>Source</em>}'</li>
 	 * </ul>
 	 * </p>
 	 * <!-- begin-user-doc -->
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/TemplateParameter.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/TemplateParameter.java
index 955c2c1..0e17467 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/TemplateParameter.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/TemplateParameter.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: TemplateParameter.java,v 1.12 2007/10/23 15:54:20 jbruck Exp $
  */
 package org.eclipse.uml2.uml;
 
@@ -32,9 +31,9 @@
  * The following features are supported:
  * <ul>
  *   <li>{@link org.eclipse.uml2.uml.TemplateParameter#getDefault <em>Default</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.TemplateParameter#getOwnedDefault <em>Owned Default</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.TemplateParameter#getOwnedParameteredElement <em>Owned Parametered Element</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.TemplateParameter#getParameteredElement <em>Parametered Element</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.TemplateParameter#getOwnedDefault <em>Owned Default</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.TemplateParameter#getSignature <em>Signature</em>}</li>
  * </ul>
  * </p>
@@ -85,8 +84,8 @@
 	 * <p>
 	 * This feature subsets the following features:
 	 * <ul>
-	 *   <li>'{@link org.eclipse.uml2.uml.Element#getOwnedElements() <em>Owned Element</em>}'</li>
 	 *   <li>'{@link org.eclipse.uml2.uml.TemplateParameter#getParameteredElement() <em>Parametered Element</em>}'</li>
+	 *   <li>'{@link org.eclipse.uml2.uml.Element#getOwnedElements() <em>Owned Element</em>}'</li>
 	 * </ul>
 	 * </p>
 	 * <!-- begin-user-doc -->
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/TemplateSignature.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/TemplateSignature.java
index e92f28f..24dbdcb 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/TemplateSignature.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/TemplateSignature.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: TemplateSignature.java,v 1.14 2007/10/23 15:54:22 jbruck Exp $
  */
 package org.eclipse.uml2.uml;
 
@@ -101,8 +100,8 @@
 	 * <p>
 	 * This feature subsets the following features:
 	 * <ul>
-	 *   <li>'{@link org.eclipse.uml2.uml.Element#getOwnedElements() <em>Owned Element</em>}'</li>
 	 *   <li>'{@link org.eclipse.uml2.uml.TemplateSignature#getParameters() <em>Parameter</em>}'</li>
+	 *   <li>'{@link org.eclipse.uml2.uml.Element#getOwnedElements() <em>Owned Element</em>}'</li>
 	 * </ul>
 	 * </p>
 	 * <!-- begin-user-doc -->
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/Trigger.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/Trigger.java
index b367520..53ea69e 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/Trigger.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/Trigger.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2007 IBM Corporation and others.
+ * Copyright (c) 2005, 2011 IBM Corporation, CEA, and others.
  * All rights reserved.   This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -7,8 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
+ *   Kenn Hussey (CEA) - 351774
  *
- * $Id: Trigger.java,v 1.6 2007/06/12 12:53:16 khussey Exp $
  */
 package org.eclipse.uml2.uml;
 
@@ -20,8 +20,8 @@
  * <!-- end-user-doc -->
  *
  * <!-- begin-model-doc -->
- * A trigger relates an event to a behavior that may affect an instance of the classifier.
  * A trigger specification may be qualified by the port on which the event occurred.
+ * A trigger relates an event to a behavior that may affect an instance of the classifier.
  * <!-- end-model-doc -->
  *
  * <p>
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/TypedElement.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/TypedElement.java
index 5dd132c..fefa92d 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/TypedElement.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/TypedElement.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: TypedElement.java,v 1.4 2006/06/07 21:39:13 khussey Exp $
  */
 package org.eclipse.uml2.uml;
 
@@ -19,8 +18,8 @@
  * <!-- end-user-doc -->
  *
  * <!-- begin-model-doc -->
- * A typed element has a type.
  * A typed element is a kind of named element that represents an element with a type.
+ * A typed element has a type.
  * <!-- end-model-doc -->
  *
  * <p>
@@ -42,8 +41,8 @@
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * <!-- begin-model-doc -->
-	 * The type of the TypedElement.
 	 * This information is derived from the return result for this Operation.
+	 * The type of the TypedElement.
 	 * <!-- end-model-doc -->
 	 * @return the value of the '<em>Type</em>' reference.
 	 * @see #setType(Type)
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/UMLPackage.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/UMLPackage.java
index 477aba3..23fd7d2 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/UMLPackage.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/UMLPackage.java
@@ -9,9 +9,8 @@
  *   IBM - initial API and implementation
  *   Kenn Hussey (Embarcadero Technologies) - 208353, 205188, 204200
  *   Kenn Hussey - 286329
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: UMLPackage.java,v 1.32 2009/12/04 15:30:46 khussey Exp $
  */
 package org.eclipse.uml2.uml;
 
@@ -497,7 +496,7 @@
 	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getRelationship()
 	 * @generated
 	 */
-	int RELATIONSHIP = 3;
+	int RELATIONSHIP = 24;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.DirectedRelationshipImpl <em>Directed Relationship</em>}' class.
@@ -507,7 +506,7 @@
 	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getDirectedRelationship()
 	 * @generated
 	 */
-	int DIRECTED_RELATIONSHIP = 2;
+	int DIRECTED_RELATIONSHIP = 23;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.NamedElementImpl <em>Named Element</em>}' class.
@@ -517,7 +516,7 @@
 	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getNamedElement()
 	 * @generated
 	 */
-	int NAMED_ELEMENT = 11;
+	int NAMED_ELEMENT = 12;
 
 	/**
 	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
@@ -952,22 +951,13 @@
 	int NAMED_ELEMENT___MUST_BE_OWNED = ELEMENT___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int NAMED_ELEMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = ELEMENT_OPERATION_COUNT + 0;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int NAMED_ELEMENT___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = ELEMENT_OPERATION_COUNT + 1;
+	int NAMED_ELEMENT___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = ELEMENT_OPERATION_COUNT + 0;
 
 	/**
 	 * The operation id for the '<em>Validate Has No Qualified Name</em>' operation.
@@ -976,7 +966,16 @@
 	 * @generated
 	 * @ordered
 	 */
-	int NAMED_ELEMENT___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = ELEMENT_OPERATION_COUNT + 2;
+	int NAMED_ELEMENT___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = ELEMENT_OPERATION_COUNT + 1;
+
+	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int NAMED_ELEMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = ELEMENT_OPERATION_COUNT + 2;
 
 	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
@@ -1085,7 +1084,7 @@
 	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getPackageableElement()
 	 * @generated
 	 */
-	int PACKAGEABLE_ELEMENT = 23;
+	int PACKAGEABLE_ELEMENT = 2;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.ValueSpecificationImpl <em>Value Specification</em>}' class.
@@ -1095,7 +1094,7 @@
 	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getValueSpecification()
 	 * @generated
 	 */
-	int VALUE_SPECIFICATION = 20;
+	int VALUE_SPECIFICATION = 15;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.LiteralSpecificationImpl <em>Literal Specification</em>}' class.
@@ -1115,7 +1114,7 @@
 	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getTypedElement()
 	 * @generated
 	 */
-	int TYPED_ELEMENT = 21;
+	int TYPED_ELEMENT = 16;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.DependencyImpl <em>Dependency</em>}' class.
@@ -1135,7 +1134,7 @@
 	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getParameterableElement()
 	 * @generated
 	 */
-	int PARAMETERABLE_ELEMENT = 16;
+	int PARAMETERABLE_ELEMENT = 3;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.TemplateParameterImpl <em>Template Parameter</em>}' class.
@@ -1145,7 +1144,7 @@
 	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getTemplateParameter()
 	 * @generated
 	 */
-	int TEMPLATE_PARAMETER = 15;
+	int TEMPLATE_PARAMETER = 21;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.TemplateSignatureImpl <em>Template Signature</em>}' class.
@@ -1155,7 +1154,7 @@
 	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getTemplateSignature()
 	 * @generated
 	 */
-	int TEMPLATE_SIGNATURE = 14;
+	int TEMPLATE_SIGNATURE = 20;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.TemplateableElementImpl <em>Templateable Element</em>}' class.
@@ -1165,7 +1164,7 @@
 	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getTemplateableElement()
 	 * @generated
 	 */
-	int TEMPLATEABLE_ELEMENT = 13;
+	int TEMPLATEABLE_ELEMENT = 19;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.TemplateBindingImpl <em>Template Binding</em>}' class.
@@ -1175,7 +1174,7 @@
 	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getTemplateBinding()
 	 * @generated
 	 */
-	int TEMPLATE_BINDING = 17;
+	int TEMPLATE_BINDING = 22;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.TemplateParameterSubstitutionImpl <em>Template Parameter Substitution</em>}' class.
@@ -1185,7 +1184,7 @@
 	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getTemplateParameterSubstitution()
 	 * @generated
 	 */
-	int TEMPLATE_PARAMETER_SUBSTITUTION = 18;
+	int TEMPLATE_PARAMETER_SUBSTITUTION = 25;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.NamespaceImpl <em>Namespace</em>}' class.
@@ -1195,7 +1194,7 @@
 	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getNamespace()
 	 * @generated
 	 */
-	int NAMESPACE = 10;
+	int NAMESPACE = 11;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.ElementImportImpl <em>Element Import</em>}' class.
@@ -1205,7 +1204,7 @@
 	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getElementImport()
 	 * @generated
 	 */
-	int ELEMENT_IMPORT = 28;
+	int ELEMENT_IMPORT = 29;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.PackageImportImpl <em>Package Import</em>}' class.
@@ -1215,7 +1214,7 @@
 	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getPackageImport()
 	 * @generated
 	 */
-	int PACKAGE_IMPORT = 29;
+	int PACKAGE_IMPORT = 30;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.PackageImpl <em>Package</em>}' class.
@@ -1225,7 +1224,7 @@
 	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getPackage()
 	 * @generated
 	 */
-	int PACKAGE = 24;
+	int PACKAGE = 18;
 
 	/**
 	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
@@ -1678,15 +1677,6 @@
 	int PACKAGEABLE_ELEMENT___MUST_BE_OWNED = NAMED_ELEMENT___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGEABLE_ELEMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = NAMED_ELEMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -1705,6 +1695,15 @@
 	int PACKAGEABLE_ELEMENT___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = NAMED_ELEMENT___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGEABLE_ELEMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = NAMED_ELEMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -2317,15 +2316,6 @@
 	int DEPENDENCY___MUST_BE_OWNED = PACKAGEABLE_ELEMENT___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DEPENDENCY___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = PACKAGEABLE_ELEMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -2344,6 +2334,15 @@
 	int DEPENDENCY___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = PACKAGEABLE_ELEMENT___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DEPENDENCY___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = PACKAGEABLE_ELEMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -2468,7 +2467,7 @@
 	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getPackageMerge()
 	 * @generated
 	 */
-	int PACKAGE_MERGE = 25;
+	int PACKAGE_MERGE = 26;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.TypeImpl <em>Type</em>}' class.
@@ -2478,7 +2477,7 @@
 	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getType()
 	 * @generated
 	 */
-	int TYPE = 22;
+	int TYPE = 17;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.ProfileApplicationImpl <em>Profile Application</em>}' class.
@@ -2488,7 +2487,7 @@
 	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getProfileApplication()
 	 * @generated
 	 */
-	int PROFILE_APPLICATION = 26;
+	int PROFILE_APPLICATION = 27;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.ProfileImpl <em>Profile</em>}' class.
@@ -2498,7 +2497,7 @@
 	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getProfile()
 	 * @generated
 	 */
-	int PROFILE = 27;
+	int PROFILE = 28;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.ClassifierImpl <em>Classifier</em>}' class.
@@ -2508,7 +2507,7 @@
 	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getClassifier()
 	 * @generated
 	 */
-	int CLASSIFIER = 9;
+	int CLASSIFIER = 10;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.StructuredClassifierImpl <em>Structured Classifier</em>}' class.
@@ -2518,7 +2517,7 @@
 	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getStructuredClassifier()
 	 * @generated
 	 */
-	int STRUCTURED_CLASSIFIER = 79;
+	int STRUCTURED_CLASSIFIER = 9;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.EncapsulatedClassifierImpl <em>Encapsulated Classifier</em>}' class.
@@ -2528,7 +2527,7 @@
 	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getEncapsulatedClassifier()
 	 * @generated
 	 */
-	int ENCAPSULATED_CLASSIFIER = 92;
+	int ENCAPSULATED_CLASSIFIER = 8;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.ClassImpl <em>Class</em>}' class.
@@ -2558,7 +2557,7 @@
 	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getBehavioredClassifier()
 	 * @generated
 	 */
-	int BEHAVIORED_CLASSIFIER = 8;
+	int BEHAVIORED_CLASSIFIER = 50;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.RedefinableElementImpl <em>Redefinable Element</em>}' class.
@@ -2568,7 +2567,7 @@
 	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getRedefinableElement()
 	 * @generated
 	 */
-	int REDEFINABLE_ELEMENT = 46;
+	int REDEFINABLE_ELEMENT = 37;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.GeneralizationImpl <em>Generalization</em>}' class.
@@ -2578,7 +2577,7 @@
 	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getGeneralization()
 	 * @generated
 	 */
-	int GENERALIZATION = 81;
+	int GENERALIZATION = 83;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.GeneralizationSetImpl <em>Generalization Set</em>}' class.
@@ -2588,7 +2587,7 @@
 	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getGeneralizationSet()
 	 * @generated
 	 */
-	int GENERALIZATION_SET = 82;
+	int GENERALIZATION_SET = 84;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.FeatureImpl <em>Feature</em>}' class.
@@ -2598,7 +2597,7 @@
 	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getFeature()
 	 * @generated
 	 */
-	int FEATURE = 45;
+	int FEATURE = 36;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.UseCaseImpl <em>Use Case</em>}' class.
@@ -2608,7 +2607,7 @@
 	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getUseCase()
 	 * @generated
 	 */
-	int USE_CASE = 84;
+	int USE_CASE = 86;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.IncludeImpl <em>Include</em>}' class.
@@ -2618,7 +2617,7 @@
 	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getInclude()
 	 * @generated
 	 */
-	int INCLUDE = 87;
+	int INCLUDE = 89;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.ExtendImpl <em>Extend</em>}' class.
@@ -2628,7 +2627,7 @@
 	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getExtend()
 	 * @generated
 	 */
-	int EXTEND = 85;
+	int EXTEND = 87;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.ConstraintImpl <em>Constraint</em>}' class.
@@ -2638,7 +2637,7 @@
 	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getConstraint()
 	 * @generated
 	 */
-	int CONSTRAINT = 50;
+	int CONSTRAINT = 66;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.ExtensionPointImpl <em>Extension Point</em>}' class.
@@ -2648,7 +2647,7 @@
 	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getExtensionPoint()
 	 * @generated
 	 */
-	int EXTENSION_POINT = 86;
+	int EXTENSION_POINT = 88;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.AbstractionImpl <em>Abstraction</em>}' class.
@@ -2668,7 +2667,7 @@
 	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getRealization()
 	 * @generated
 	 */
-	int REALIZATION = 89;
+	int REALIZATION = 52;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.SubstitutionImpl <em>Substitution</em>}' class.
@@ -2678,7 +2677,7 @@
 	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getSubstitution()
 	 * @generated
 	 */
-	int SUBSTITUTION = 88;
+	int SUBSTITUTION = 90;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.OpaqueExpressionImpl <em>Opaque Expression</em>}' class.
@@ -2698,7 +2697,7 @@
 	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getConnectableElement()
 	 * @generated
 	 */
-	int CONNECTABLE_ELEMENT = 33;
+	int CONNECTABLE_ELEMENT = 38;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.ParameterImpl <em>Parameter</em>}' class.
@@ -2708,7 +2707,7 @@
 	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getParameter()
 	 * @generated
 	 */
-	int PARAMETER = 48;
+	int PARAMETER = 69;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.MultiplicityElementImpl <em>Multiplicity Element</em>}' class.
@@ -2728,7 +2727,7 @@
 	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getConnectorEnd()
 	 * @generated
 	 */
-	int CONNECTOR_END = 34;
+	int CONNECTOR_END = 39;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.StructuralFeatureImpl <em>Structural Feature</em>}' class.
@@ -2738,7 +2737,7 @@
 	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getStructuralFeature()
 	 * @generated
 	 */
-	int STRUCTURAL_FEATURE = 68;
+	int STRUCTURAL_FEATURE = 34;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.PropertyImpl <em>Property</em>}' class.
@@ -2748,7 +2747,7 @@
 	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getProperty()
 	 * @generated
 	 */
-	int PROPERTY = 32;
+	int PROPERTY = 33;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.DeploymentTargetImpl <em>Deployment Target</em>}' class.
@@ -2758,7 +2757,7 @@
 	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getDeploymentTarget()
 	 * @generated
 	 */
-	int DEPLOYMENT_TARGET = 37;
+	int DEPLOYMENT_TARGET = 41;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.DeploymentImpl <em>Deployment</em>}' class.
@@ -2768,7 +2767,7 @@
 	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getDeployment()
 	 * @generated
 	 */
-	int DEPLOYMENT = 38;
+	int DEPLOYMENT = 42;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.DeployedArtifactImpl <em>Deployed Artifact</em>}' class.
@@ -2778,7 +2777,7 @@
 	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getDeployedArtifact()
 	 * @generated
 	 */
-	int DEPLOYED_ARTIFACT = 41;
+	int DEPLOYED_ARTIFACT = 45;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.ArtifactImpl <em>Artifact</em>}' class.
@@ -2788,7 +2787,7 @@
 	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getArtifact()
 	 * @generated
 	 */
-	int ARTIFACT = 40;
+	int ARTIFACT = 44;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.DeploymentSpecificationImpl <em>Deployment Specification</em>}' class.
@@ -2798,7 +2797,7 @@
 	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getDeploymentSpecification()
 	 * @generated
 	 */
-	int DEPLOYMENT_SPECIFICATION = 39;
+	int DEPLOYMENT_SPECIFICATION = 43;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.ManifestationImpl <em>Manifestation</em>}' class.
@@ -2808,7 +2807,7 @@
 	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getManifestation()
 	 * @generated
 	 */
-	int MANIFESTATION = 42;
+	int MANIFESTATION = 46;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.BehavioralFeatureImpl <em>Behavioral Feature</em>}' class.
@@ -2818,7 +2817,7 @@
 	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getBehavioralFeature()
 	 * @generated
 	 */
-	int BEHAVIORAL_FEATURE = 44;
+	int BEHAVIORAL_FEATURE = 48;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.OperationImpl <em>Operation</em>}' class.
@@ -2828,7 +2827,7 @@
 	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getOperation()
 	 * @generated
 	 */
-	int OPERATION = 43;
+	int OPERATION = 47;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.BehaviorImpl <em>Behavior</em>}' class.
@@ -2838,7 +2837,7 @@
 	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getBehavior()
 	 * @generated
 	 */
-	int BEHAVIOR = 47;
+	int BEHAVIOR = 49;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.ParameterSetImpl <em>Parameter Set</em>}' class.
@@ -2848,7 +2847,7 @@
 	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getParameterSet()
 	 * @generated
 	 */
-	int PARAMETER_SET = 49;
+	int PARAMETER_SET = 70;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.DataTypeImpl <em>Data Type</em>}' class.
@@ -2858,7 +2857,7 @@
 	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getDataType()
 	 * @generated
 	 */
-	int DATA_TYPE = 51;
+	int DATA_TYPE = 71;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.InterfaceImpl <em>Interface</em>}' class.
@@ -2868,7 +2867,7 @@
 	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getInterface()
 	 * @generated
 	 */
-	int INTERFACE = 52;
+	int INTERFACE = 53;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.ReceptionImpl <em>Reception</em>}' class.
@@ -2878,7 +2877,7 @@
 	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getReception()
 	 * @generated
 	 */
-	int RECEPTION = 53;
+	int RECEPTION = 54;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.SignalImpl <em>Signal</em>}' class.
@@ -2888,7 +2887,7 @@
 	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getSignal()
 	 * @generated
 	 */
-	int SIGNAL = 54;
+	int SIGNAL = 55;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.StateMachineImpl <em>State Machine</em>}' class.
@@ -2898,7 +2897,7 @@
 	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getStateMachine()
 	 * @generated
 	 */
-	int STATE_MACHINE = 56;
+	int STATE_MACHINE = 57;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.ProtocolStateMachineImpl <em>Protocol State Machine</em>}' class.
@@ -2908,7 +2907,7 @@
 	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getProtocolStateMachine()
 	 * @generated
 	 */
-	int PROTOCOL_STATE_MACHINE = 55;
+	int PROTOCOL_STATE_MACHINE = 56;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.RegionImpl <em>Region</em>}' class.
@@ -2918,7 +2917,7 @@
 	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getRegion()
 	 * @generated
 	 */
-	int REGION = 59;
+	int REGION = 60;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.VertexImpl <em>Vertex</em>}' class.
@@ -2928,7 +2927,7 @@
 	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getVertex()
 	 * @generated
 	 */
-	int VERTEX = 58;
+	int VERTEX = 59;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.TransitionImpl <em>Transition</em>}' class.
@@ -2938,7 +2937,7 @@
 	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getTransition()
 	 * @generated
 	 */
-	int TRANSITION = 65;
+	int TRANSITION = 67;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.TriggerImpl <em>Trigger</em>}' class.
@@ -2948,7 +2947,7 @@
 	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getTrigger()
 	 * @generated
 	 */
-	int TRIGGER = 62;
+	int TRIGGER = 63;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.EventImpl <em>Event</em>}' class.
@@ -2958,7 +2957,7 @@
 	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getEvent()
 	 * @generated
 	 */
-	int EVENT = 63;
+	int EVENT = 64;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.PortImpl <em>Port</em>}' class.
@@ -2968,7 +2967,7 @@
 	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getPort()
 	 * @generated
 	 */
-	int PORT = 64;
+	int PORT = 65;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.StateImpl <em>State</em>}' class.
@@ -2978,7 +2977,7 @@
 	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getState()
 	 * @generated
 	 */
-	int STATE = 60;
+	int STATE = 61;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.ConnectionPointReferenceImpl <em>Connection Point Reference</em>}' class.
@@ -2988,7 +2987,7 @@
 	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getConnectionPointReference()
 	 * @generated
 	 */
-	int CONNECTION_POINT_REFERENCE = 61;
+	int CONNECTION_POINT_REFERENCE = 62;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.PseudostateImpl <em>Pseudostate</em>}' class.
@@ -2998,7 +2997,7 @@
 	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getPseudostate()
 	 * @generated
 	 */
-	int PSEUDOSTATE = 57;
+	int PSEUDOSTATE = 58;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.ProtocolConformanceImpl <em>Protocol Conformance</em>}' class.
@@ -3008,7 +3007,7 @@
 	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getProtocolConformance()
 	 * @generated
 	 */
-	int PROTOCOL_CONFORMANCE = 66;
+	int PROTOCOL_CONFORMANCE = 68;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.OperationTemplateParameterImpl <em>Operation Template Parameter</em>}' class.
@@ -3018,7 +3017,7 @@
 	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getOperationTemplateParameter()
 	 * @generated
 	 */
-	int OPERATION_TEMPLATE_PARAMETER = 67;
+	int OPERATION_TEMPLATE_PARAMETER = 72;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.AssociationImpl <em>Association</em>}' class.
@@ -3028,7 +3027,7 @@
 	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getAssociation()
 	 * @generated
 	 */
-	int ASSOCIATION = 31;
+	int ASSOCIATION = 32;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.ConnectableElementTemplateParameterImpl <em>Connectable Element Template Parameter</em>}' class.
@@ -3038,7 +3037,7 @@
 	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getConnectableElementTemplateParameter()
 	 * @generated
 	 */
-	int CONNECTABLE_ELEMENT_TEMPLATE_PARAMETER = 36;
+	int CONNECTABLE_ELEMENT_TEMPLATE_PARAMETER = 40;
 
 	/**
 	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
@@ -3545,15 +3544,6 @@
 	int ABSTRACTION___MUST_BE_OWNED = DEPENDENCY___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ABSTRACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = DEPENDENCY___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -3572,6 +3562,15 @@
 	int ABSTRACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = DEPENDENCY___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ABSTRACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = DEPENDENCY___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -3689,400 +3688,1084 @@
 	int ABSTRACTION_OPERATION_COUNT = DEPENDENCY_OPERATION_COUNT + 0;
 
 	/**
-	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
+	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.CollaborationUseImpl <em>Collaboration Use</em>}' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
+	 * @see org.eclipse.uml2.uml.internal.impl.CollaborationUseImpl
+	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getCollaborationUse()
 	 * @generated
-	 * @ordered
 	 */
-	int RELATIONSHIP__EANNOTATIONS = ELEMENT__EANNOTATIONS;
+	int COLLABORATION_USE = 81;
 
 	/**
-	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
+	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.CollaborationImpl <em>Collaboration</em>}' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
+	 * @see org.eclipse.uml2.uml.internal.impl.CollaborationImpl
+	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getCollaboration()
 	 * @generated
-	 * @ordered
 	 */
-	int RELATIONSHIP__OWNED_COMMENT = ELEMENT__OWNED_COMMENT;
+	int COLLABORATION = 82;
 
 	/**
-	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
+	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.ConnectorImpl <em>Connector</em>}' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
+	 * @see org.eclipse.uml2.uml.internal.impl.ConnectorImpl
+	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getConnector()
 	 * @generated
-	 * @ordered
 	 */
-	int RELATIONSHIP__OWNED_ELEMENT = ELEMENT__OWNED_ELEMENT;
+	int CONNECTOR = 92;
 
 	/**
-	 * The feature id for the '<em><b>Owner</b></em>' reference.
+	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.RedefinableTemplateSignatureImpl <em>Redefinable Template Signature</em>}' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
+	 * @see org.eclipse.uml2.uml.internal.impl.RedefinableTemplateSignatureImpl
+	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getRedefinableTemplateSignature()
 	 * @generated
-	 * @ordered
 	 */
-	int RELATIONSHIP__OWNER = ELEMENT__OWNER;
+	int REDEFINABLE_TEMPLATE_SIGNATURE = 85;
 
 	/**
-	 * The feature id for the '<em><b>Related Element</b></em>' reference list.
+	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.ClassifierTemplateParameterImpl <em>Classifier Template Parameter</em>}' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
+	 * @see org.eclipse.uml2.uml.internal.impl.ClassifierTemplateParameterImpl
+	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getClassifierTemplateParameter()
 	 * @generated
-	 * @ordered
 	 */
-	int RELATIONSHIP__RELATED_ELEMENT = ELEMENT_FEATURE_COUNT + 0;
+	int CLASSIFIER_TEMPLATE_PARAMETER = 91;
 
 	/**
-	 * The number of structural features of the '<em>Relationship</em>' class.
+	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.InterfaceRealizationImpl <em>Interface Realization</em>}' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
+	 * @see org.eclipse.uml2.uml.internal.impl.InterfaceRealizationImpl
+	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getInterfaceRealization()
 	 * @generated
-	 * @ordered
 	 */
-	int RELATIONSHIP_FEATURE_COUNT = ELEMENT_FEATURE_COUNT + 1;
+	int INTERFACE_REALIZATION = 51;
 
 	/**
-	 * The operation id for the '<em>Get EAnnotation</em>' operation.
+	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.ExtensionImpl <em>Extension</em>}' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
+	 * @see org.eclipse.uml2.uml.internal.impl.ExtensionImpl
+	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getExtension()
 	 * @generated
-	 * @ordered
 	 */
-	int RELATIONSHIP___GET_EANNOTATION__STRING = ELEMENT___GET_EANNOTATION__STRING;
+	int EXTENSION = 31;
 
 	/**
-	 * The operation id for the '<em>Validate Has Owner</em>' operation.
+	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.ExtensionEndImpl <em>Extension End</em>}' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
+	 * @see org.eclipse.uml2.uml.internal.impl.ExtensionEndImpl
+	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getExtensionEnd()
 	 * @generated
-	 * @ordered
 	 */
-	int RELATIONSHIP___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP = ELEMENT___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP;
+	int EXTENSION_END = 73;
 
 	/**
-	 * The operation id for the '<em>Validate Not Own Self</em>' operation.
+	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.ImageImpl <em>Image</em>}' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
+	 * @see org.eclipse.uml2.uml.internal.impl.ImageImpl
+	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getImage()
 	 * @generated
-	 * @ordered
 	 */
-	int RELATIONSHIP___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP = ELEMENT___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP;
+	int IMAGE = 93;
 
 	/**
-	 * The operation id for the '<em>Add Keyword</em>' operation.
+	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.ExpressionImpl <em>Expression</em>}' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
+	 * @see org.eclipse.uml2.uml.internal.impl.ExpressionImpl
+	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getExpression()
 	 * @generated
-	 * @ordered
 	 */
-	int RELATIONSHIP___ADD_KEYWORD__STRING = ELEMENT___ADD_KEYWORD__STRING;
+	int EXPRESSION = 14;
 
 	/**
-	 * The operation id for the '<em>Apply Stereotype</em>' operation.
+	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.StringExpressionImpl <em>String Expression</em>}' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
+	 * @see org.eclipse.uml2.uml.internal.impl.StringExpressionImpl
+	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getStringExpression()
 	 * @generated
-	 * @ordered
 	 */
-	int RELATIONSHIP___APPLY_STEREOTYPE__STEREOTYPE = ELEMENT___APPLY_STEREOTYPE__STEREOTYPE;
+	int STRING_EXPRESSION = 13;
 
 	/**
-	 * The operation id for the '<em>Create EAnnotation</em>' operation.
+	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.LiteralIntegerImpl <em>Literal Integer</em>}' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
+	 * @see org.eclipse.uml2.uml.internal.impl.LiteralIntegerImpl
+	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getLiteralInteger()
 	 * @generated
-	 * @ordered
 	 */
-	int RELATIONSHIP___CREATE_EANNOTATION__STRING = ELEMENT___CREATE_EANNOTATION__STRING;
+	int LITERAL_INTEGER = 203;
 
 	/**
-	 * The operation id for the '<em>Destroy</em>' operation.
+	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.LiteralStringImpl <em>Literal String</em>}' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
+	 * @see org.eclipse.uml2.uml.internal.impl.LiteralStringImpl
+	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getLiteralString()
 	 * @generated
-	 * @ordered
 	 */
-	int RELATIONSHIP___DESTROY = ELEMENT___DESTROY;
+	int LITERAL_STRING = 206;
 
 	/**
-	 * The operation id for the '<em>Get Keywords</em>' operation.
+	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.LiteralBooleanImpl <em>Literal Boolean</em>}' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
+	 * @see org.eclipse.uml2.uml.internal.impl.LiteralBooleanImpl
+	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getLiteralBoolean()
 	 * @generated
-	 * @ordered
 	 */
-	int RELATIONSHIP___GET_KEYWORDS = ELEMENT___GET_KEYWORDS;
+	int LITERAL_BOOLEAN = 201;
 
 	/**
-	 * The operation id for the '<em>Get Applicable Stereotype</em>' operation.
+	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.LiteralNullImpl <em>Literal Null</em>}' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
+	 * @see org.eclipse.uml2.uml.internal.impl.LiteralNullImpl
+	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getLiteralNull()
 	 * @generated
-	 * @ordered
 	 */
-	int RELATIONSHIP___GET_APPLICABLE_STEREOTYPE__STRING = ELEMENT___GET_APPLICABLE_STEREOTYPE__STRING;
+	int LITERAL_NULL = 204;
 
 	/**
-	 * The operation id for the '<em>Get Applicable Stereotypes</em>' operation.
+	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.SlotImpl <em>Slot</em>}' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
+	 * @see org.eclipse.uml2.uml.internal.impl.SlotImpl
+	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getSlot()
 	 * @generated
-	 * @ordered
 	 */
-	int RELATIONSHIP___GET_APPLICABLE_STEREOTYPES = ELEMENT___GET_APPLICABLE_STEREOTYPES;
+	int SLOT = 78;
 
 	/**
-	 * The operation id for the '<em>Get Applied Stereotype</em>' operation.
+	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.InstanceSpecificationImpl <em>Instance Specification</em>}' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
+	 * @see org.eclipse.uml2.uml.internal.impl.InstanceSpecificationImpl
+	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getInstanceSpecification()
 	 * @generated
-	 * @ordered
 	 */
-	int RELATIONSHIP___GET_APPLIED_STEREOTYPE__STRING = ELEMENT___GET_APPLIED_STEREOTYPE__STRING;
+	int INSTANCE_SPECIFICATION = 77;
 
 	/**
-	 * The operation id for the '<em>Get Applied Stereotypes</em>' operation.
+	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.EnumerationImpl <em>Enumeration</em>}' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
+	 * @see org.eclipse.uml2.uml.internal.impl.EnumerationImpl
+	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getEnumeration()
 	 * @generated
-	 * @ordered
 	 */
-	int RELATIONSHIP___GET_APPLIED_STEREOTYPES = ELEMENT___GET_APPLIED_STEREOTYPES;
+	int ENUMERATION = 75;
 
 	/**
-	 * The operation id for the '<em>Get Applied Substereotype</em>' operation.
+	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.EnumerationLiteralImpl <em>Enumeration Literal</em>}' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
+	 * @see org.eclipse.uml2.uml.internal.impl.EnumerationLiteralImpl
+	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getEnumerationLiteral()
 	 * @generated
-	 * @ordered
 	 */
-	int RELATIONSHIP___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING = ELEMENT___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING;
+	int ENUMERATION_LITERAL = 76;
 
 	/**
-	 * The operation id for the '<em>Get Applied Substereotypes</em>' operation.
+	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.PrimitiveTypeImpl <em>Primitive Type</em>}' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
+	 * @see org.eclipse.uml2.uml.internal.impl.PrimitiveTypeImpl
+	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getPrimitiveType()
 	 * @generated
-	 * @ordered
 	 */
-	int RELATIONSHIP___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE = ELEMENT___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE;
+	int PRIMITIVE_TYPE = 79;
 
 	/**
-	 * The operation id for the '<em>Get Model</em>' operation.
+	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.InstanceValueImpl <em>Instance Value</em>}' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
+	 * @see org.eclipse.uml2.uml.internal.impl.InstanceValueImpl
+	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getInstanceValue()
 	 * @generated
-	 * @ordered
 	 */
-	int RELATIONSHIP___GET_MODEL = ELEMENT___GET_MODEL;
+	int INSTANCE_VALUE = 199;
 
 	/**
-	 * The operation id for the '<em>Get Nearest Package</em>' operation.
+	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.LiteralUnlimitedNaturalImpl <em>Literal Unlimited Natural</em>}' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
+	 * @see org.eclipse.uml2.uml.internal.impl.LiteralUnlimitedNaturalImpl
+	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getLiteralUnlimitedNatural()
 	 * @generated
-	 * @ordered
 	 */
-	int RELATIONSHIP___GET_NEAREST_PACKAGE = ELEMENT___GET_NEAREST_PACKAGE;
+	int LITERAL_UNLIMITED_NATURAL = 207;
 
 	/**
-	 * The operation id for the '<em>Get Relationships</em>' operation.
+	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.OpaqueBehaviorImpl <em>Opaque Behavior</em>}' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
+	 * @see org.eclipse.uml2.uml.internal.impl.OpaqueBehaviorImpl
+	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getOpaqueBehavior()
 	 * @generated
-	 * @ordered
 	 */
-	int RELATIONSHIP___GET_RELATIONSHIPS = ELEMENT___GET_RELATIONSHIPS;
+	int OPAQUE_BEHAVIOR = 195;
 
 	/**
-	 * The operation id for the '<em>Get Relationships</em>' operation.
+	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.FunctionBehaviorImpl <em>Function Behavior</em>}' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
+	 * @see org.eclipse.uml2.uml.internal.impl.FunctionBehaviorImpl
+	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getFunctionBehavior()
 	 * @generated
-	 * @ordered
 	 */
-	int RELATIONSHIP___GET_RELATIONSHIPS__ECLASS = ELEMENT___GET_RELATIONSHIPS__ECLASS;
+	int FUNCTION_BEHAVIOR = 194;
 
 	/**
-	 * The operation id for the '<em>Get Required Stereotype</em>' operation.
+	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.ActorImpl <em>Actor</em>}' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
+	 * @see org.eclipse.uml2.uml.internal.impl.ActorImpl
+	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getActor()
 	 * @generated
-	 * @ordered
 	 */
-	int RELATIONSHIP___GET_REQUIRED_STEREOTYPE__STRING = ELEMENT___GET_REQUIRED_STEREOTYPE__STRING;
+	int ACTOR = 131;
 
 	/**
-	 * The operation id for the '<em>Get Required Stereotypes</em>' operation.
+	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.UsageImpl <em>Usage</em>}' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
+	 * @see org.eclipse.uml2.uml.internal.impl.UsageImpl
+	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getUsage()
 	 * @generated
-	 * @ordered
 	 */
-	int RELATIONSHIP___GET_REQUIRED_STEREOTYPES = ELEMENT___GET_REQUIRED_STEREOTYPES;
+	int USAGE = 80;
 
 	/**
-	 * The operation id for the '<em>Get Source Directed Relationships</em>' operation.
+	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.MessageImpl <em>Message</em>}' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
+	 * @see org.eclipse.uml2.uml.internal.impl.MessageImpl
+	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getMessage()
 	 * @generated
-	 * @ordered
 	 */
-	int RELATIONSHIP___GET_SOURCE_DIRECTED_RELATIONSHIPS = ELEMENT___GET_SOURCE_DIRECTED_RELATIONSHIPS;
+	int MESSAGE = 120;
 
 	/**
-	 * The operation id for the '<em>Get Source Directed Relationships</em>' operation.
+	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.MessageEndImpl <em>Message End</em>}' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
+	 * @see org.eclipse.uml2.uml.internal.impl.MessageEndImpl
+	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getMessageEnd()
 	 * @generated
-	 * @ordered
 	 */
-	int RELATIONSHIP___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS = ELEMENT___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS;
+	int MESSAGE_END = 119;
 
 	/**
-	 * The operation id for the '<em>Get Stereotype Application</em>' operation.
+	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.InteractionImpl <em>Interaction</em>}' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
+	 * @see org.eclipse.uml2.uml.internal.impl.InteractionImpl
+	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getInteraction()
 	 * @generated
-	 * @ordered
 	 */
-	int RELATIONSHIP___GET_STEREOTYPE_APPLICATION__STEREOTYPE = ELEMENT___GET_STEREOTYPE_APPLICATION__STEREOTYPE;
+	int INTERACTION = 121;
 
 	/**
-	 * The operation id for the '<em>Get Stereotype Applications</em>' operation.
+	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.InteractionFragmentImpl <em>Interaction Fragment</em>}' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
+	 * @see org.eclipse.uml2.uml.internal.impl.InteractionFragmentImpl
+	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getInteractionFragment()
 	 * @generated
-	 * @ordered
 	 */
-	int RELATIONSHIP___GET_STEREOTYPE_APPLICATIONS = ELEMENT___GET_STEREOTYPE_APPLICATIONS;
+	int INTERACTION_FRAGMENT = 114;
 
 	/**
-	 * The operation id for the '<em>Get Target Directed Relationships</em>' operation.
+	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.LifelineImpl <em>Lifeline</em>}' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
+	 * @see org.eclipse.uml2.uml.internal.impl.LifelineImpl
+	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getLifeline()
 	 * @generated
-	 * @ordered
 	 */
-	int RELATIONSHIP___GET_TARGET_DIRECTED_RELATIONSHIPS = ELEMENT___GET_TARGET_DIRECTED_RELATIONSHIPS;
+	int LIFELINE = 115;
 
 	/**
-	 * The operation id for the '<em>Get Target Directed Relationships</em>' operation.
+	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.InteractionUseImpl <em>Interaction Use</em>}' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
+	 * @see org.eclipse.uml2.uml.internal.impl.InteractionUseImpl
+	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getInteractionUse()
 	 * @generated
-	 * @ordered
 	 */
-	int RELATIONSHIP___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS = ELEMENT___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS;
+	int INTERACTION_USE = 117;
 
 	/**
-	 * The operation id for the '<em>Get Value</em>' operation.
+	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.PartDecompositionImpl <em>Part Decomposition</em>}' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
+	 * @see org.eclipse.uml2.uml.internal.impl.PartDecompositionImpl
+	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getPartDecomposition()
 	 * @generated
-	 * @ordered
 	 */
-	int RELATIONSHIP___GET_VALUE__STEREOTYPE_STRING = ELEMENT___GET_VALUE__STEREOTYPE_STRING;
+	int PART_DECOMPOSITION = 116;
 
 	/**
-	 * The operation id for the '<em>Has Keyword</em>' operation.
+	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.GateImpl <em>Gate</em>}' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
+	 * @see org.eclipse.uml2.uml.internal.impl.GateImpl
+	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getGate()
 	 * @generated
-	 * @ordered
 	 */
-	int RELATIONSHIP___HAS_KEYWORD__STRING = ELEMENT___HAS_KEYWORD__STRING;
+	int GATE = 118;
 
 	/**
-	 * The operation id for the '<em>Has Value</em>' operation.
+	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.ActivityNodeImpl <em>Activity Node</em>}' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
+	 * @see org.eclipse.uml2.uml.internal.impl.ActivityNodeImpl
+	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getActivityNode()
 	 * @generated
-	 * @ordered
 	 */
-	int RELATIONSHIP___HAS_VALUE__STEREOTYPE_STRING = ELEMENT___HAS_VALUE__STEREOTYPE_STRING;
+	int ACTIVITY_NODE = 99;
 
 	/**
-	 * The operation id for the '<em>Is Stereotype Applicable</em>' operation.
+	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.ExecutableNodeImpl <em>Executable Node</em>}' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
+	 * @see org.eclipse.uml2.uml.internal.impl.ExecutableNodeImpl
+	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getExecutableNode()
 	 * @generated
-	 * @ordered
 	 */
-	int RELATIONSHIP___IS_STEREOTYPE_APPLICABLE__STEREOTYPE = ELEMENT___IS_STEREOTYPE_APPLICABLE__STEREOTYPE;
+	int EXECUTABLE_NODE = 98;
 
 	/**
-	 * The operation id for the '<em>Is Stereotype Applied</em>' operation.
+	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.ActionImpl <em>Action</em>}' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
+	 * @see org.eclipse.uml2.uml.internal.impl.ActionImpl
+	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getAction()
 	 * @generated
-	 * @ordered
 	 */
-	int RELATIONSHIP___IS_STEREOTYPE_APPLIED__STEREOTYPE = ELEMENT___IS_STEREOTYPE_APPLIED__STEREOTYPE;
+	int ACTION = 97;
 
 	/**
-	 * The operation id for the '<em>Is Stereotype Required</em>' operation.
+	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.ActivityEdgeImpl <em>Activity Edge</em>}' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
+	 * @see org.eclipse.uml2.uml.internal.impl.ActivityEdgeImpl
+	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getActivityEdge()
 	 * @generated
-	 * @ordered
 	 */
-	int RELATIONSHIP___IS_STEREOTYPE_REQUIRED__STEREOTYPE = ELEMENT___IS_STEREOTYPE_REQUIRED__STEREOTYPE;
+	int ACTIVITY_EDGE = 102;
 
 	/**
-	 * The operation id for the '<em>Remove Keyword</em>' operation.
+	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.ActivityImpl <em>Activity</em>}' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
+	 * @see org.eclipse.uml2.uml.internal.impl.ActivityImpl
+	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getActivity()
 	 * @generated
-	 * @ordered
 	 */
-	int RELATIONSHIP___REMOVE_KEYWORD__STRING = ELEMENT___REMOVE_KEYWORD__STRING;
+	int ACTIVITY = 100;
 
 	/**
-	 * The operation id for the '<em>Set Value</em>' operation.
+	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.ActivityPartitionImpl <em>Activity Partition</em>}' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
+	 * @see org.eclipse.uml2.uml.internal.impl.ActivityPartitionImpl
+	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getActivityPartition()
 	 * @generated
-	 * @ordered
 	 */
-	int RELATIONSHIP___SET_VALUE__STEREOTYPE_STRING_OBJECT = ELEMENT___SET_VALUE__STEREOTYPE_STRING_OBJECT;
+	int ACTIVITY_PARTITION = 103;
 
 	/**
-	 * The operation id for the '<em>Unapply Stereotype</em>' operation.
+	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.ActivityGroupImpl <em>Activity Group</em>}' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
+	 * @see org.eclipse.uml2.uml.internal.impl.ActivityGroupImpl
+	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getActivityGroup()
 	 * @generated
-	 * @ordered
 	 */
-	int RELATIONSHIP___UNAPPLY_STEREOTYPE__STEREOTYPE = ELEMENT___UNAPPLY_STEREOTYPE__STEREOTYPE;
+	int ACTIVITY_GROUP = 101;
 
 	/**
-	 * The operation id for the '<em>All Owned Elements</em>' operation.
+	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.StructuredActivityNodeImpl <em>Structured Activity Node</em>}' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
+	 * @see org.eclipse.uml2.uml.internal.impl.StructuredActivityNodeImpl
+	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getStructuredActivityNode()
 	 * @generated
-	 * @ordered
 	 */
-	int RELATIONSHIP___ALL_OWNED_ELEMENTS = ELEMENT___ALL_OWNED_ELEMENTS;
+	int STRUCTURED_ACTIVITY_NODE = 104;
 
 	/**
-	 * The operation id for the '<em>Must Be Owned</em>' operation.
+	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.VariableImpl <em>Variable</em>}' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
+	 * @see org.eclipse.uml2.uml.internal.impl.VariableImpl
+	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getVariable()
 	 * @generated
-	 * @ordered
 	 */
-	int RELATIONSHIP___MUST_BE_OWNED = ELEMENT___MUST_BE_OWNED;
+	int VARIABLE = 109;
 
 	/**
-	 * The number of operations of the '<em>Relationship</em>' class.
+	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.InterruptibleActivityRegionImpl <em>Interruptible Activity Region</em>}' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
+	 * @see org.eclipse.uml2.uml.internal.impl.InterruptibleActivityRegionImpl
+	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getInterruptibleActivityRegion()
 	 * @generated
-	 * @ordered
 	 */
-	int RELATIONSHIP_OPERATION_COUNT = ELEMENT_OPERATION_COUNT + 0;
+	int INTERRUPTIBLE_ACTIVITY_REGION = 110;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.ExceptionHandlerImpl <em>Exception Handler</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.uml2.uml.internal.impl.ExceptionHandlerImpl
+	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getExceptionHandler()
+	 * @generated
+	 */
+	int EXCEPTION_HANDLER = 111;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.ObjectNodeImpl <em>Object Node</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.uml2.uml.internal.impl.ObjectNodeImpl
+	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getObjectNode()
+	 * @generated
+	 */
+	int OBJECT_NODE = 107;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.PinImpl <em>Pin</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.uml2.uml.internal.impl.PinImpl
+	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getPin()
+	 * @generated
+	 */
+	int PIN = 106;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.OutputPinImpl <em>Output Pin</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.uml2.uml.internal.impl.OutputPinImpl
+	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getOutputPin()
+	 * @generated
+	 */
+	int OUTPUT_PIN = 108;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.InputPinImpl <em>Input Pin</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.uml2.uml.internal.impl.InputPinImpl
+	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getInputPin()
+	 * @generated
+	 */
+	int INPUT_PIN = 105;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.GeneralOrderingImpl <em>General Ordering</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.uml2.uml.internal.impl.GeneralOrderingImpl
+	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getGeneralOrdering()
+	 * @generated
+	 */
+	int GENERAL_ORDERING = 124;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.OccurrenceSpecificationImpl <em>Occurrence Specification</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.uml2.uml.internal.impl.OccurrenceSpecificationImpl
+	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getOccurrenceSpecification()
+	 * @generated
+	 */
+	int OCCURRENCE_SPECIFICATION = 125;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.InteractionOperandImpl <em>Interaction Operand</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.uml2.uml.internal.impl.InteractionOperandImpl
+	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getInteractionOperand()
+	 * @generated
+	 */
+	int INTERACTION_OPERAND = 122;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.InteractionConstraintImpl <em>Interaction Constraint</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.uml2.uml.internal.impl.InteractionConstraintImpl
+	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getInteractionConstraint()
+	 * @generated
+	 */
+	int INTERACTION_CONSTRAINT = 123;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.ExecutionSpecificationImpl <em>Execution Specification</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.uml2.uml.internal.impl.ExecutionSpecificationImpl
+	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getExecutionSpecification()
+	 * @generated
+	 */
+	int EXECUTION_SPECIFICATION = 113;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.ExecutionOccurrenceSpecificationImpl <em>Execution Occurrence Specification</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.uml2.uml.internal.impl.ExecutionOccurrenceSpecificationImpl
+	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getExecutionOccurrenceSpecification()
+	 * @generated
+	 */
+	int EXECUTION_OCCURRENCE_SPECIFICATION = 188;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.StateInvariantImpl <em>State Invariant</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.uml2.uml.internal.impl.StateInvariantImpl
+	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getStateInvariant()
+	 * @generated
+	 */
+	int STATE_INVARIANT = 232;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.ActionExecutionSpecificationImpl <em>Action Execution Specification</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.uml2.uml.internal.impl.ActionExecutionSpecificationImpl
+	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getActionExecutionSpecification()
+	 * @generated
+	 */
+	int ACTION_EXECUTION_SPECIFICATION = 112;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.BehaviorExecutionSpecificationImpl <em>Behavior Execution Specification</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.uml2.uml.internal.impl.BehaviorExecutionSpecificationImpl
+	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getBehaviorExecutionSpecification()
+	 * @generated
+	 */
+	int BEHAVIOR_EXECUTION_SPECIFICATION = 141;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.MessageEventImpl <em>Message Event</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.uml2.uml.internal.impl.MessageEventImpl
+	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getMessageEvent()
+	 * @generated
+	 */
+	int MESSAGE_EVENT = 139;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.MessageOccurrenceSpecificationImpl <em>Message Occurrence Specification</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.uml2.uml.internal.impl.MessageOccurrenceSpecificationImpl
+	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getMessageOccurrenceSpecification()
+	 * @generated
+	 */
+	int MESSAGE_OCCURRENCE_SPECIFICATION = 177;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.CombinedFragmentImpl <em>Combined Fragment</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.uml2.uml.internal.impl.CombinedFragmentImpl
+	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getCombinedFragment()
+	 * @generated
+	 */
+	int COMBINED_FRAGMENT = 154;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.ContinuationImpl <em>Continuation</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.uml2.uml.internal.impl.ContinuationImpl
+	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getContinuation()
+	 * @generated
+	 */
+	int CONTINUATION = 160;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.ConsiderIgnoreFragmentImpl <em>Consider Ignore Fragment</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.uml2.uml.internal.impl.ConsiderIgnoreFragmentImpl
+	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getConsiderIgnoreFragment()
+	 * @generated
+	 */
+	int CONSIDER_IGNORE_FRAGMENT = 159;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.CallEventImpl <em>Call Event</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.uml2.uml.internal.impl.CallEventImpl
+	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getCallEvent()
+	 * @generated
+	 */
+	int CALL_EVENT = 146;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.ChangeEventImpl <em>Change Event</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.uml2.uml.internal.impl.ChangeEventImpl
+	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getChangeEvent()
+	 * @generated
+	 */
+	int CHANGE_EVENT = 149;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.SignalEventImpl <em>Signal Event</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.uml2.uml.internal.impl.SignalEventImpl
+	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getSignalEvent()
+	 * @generated
+	 */
+	int SIGNAL_EVENT = 229;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.AnyReceiveEventImpl <em>Any Receive Event</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.uml2.uml.internal.impl.AnyReceiveEventImpl
+	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getAnyReceiveEvent()
+	 * @generated
+	 */
+	int ANY_RECEIVE_EVENT = 138;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.CreateObjectActionImpl <em>Create Object Action</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.uml2.uml.internal.impl.CreateObjectActionImpl
+	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getCreateObjectAction()
+	 * @generated
+	 */
+	int CREATE_OBJECT_ACTION = 169;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.DestroyObjectActionImpl <em>Destroy Object Action</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.uml2.uml.internal.impl.DestroyObjectActionImpl
+	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getDestroyObjectAction()
+	 * @generated
+	 */
+	int DESTROY_OBJECT_ACTION = 175;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.TestIdentityActionImpl <em>Test Identity Action</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.uml2.uml.internal.impl.TestIdentityActionImpl
+	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getTestIdentityAction()
+	 * @generated
+	 */
+	int TEST_IDENTITY_ACTION = 233;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.ReadSelfActionImpl <em>Read Self Action</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.uml2.uml.internal.impl.ReadSelfActionImpl
+	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getReadSelfAction()
+	 * @generated
+	 */
+	int READ_SELF_ACTION = 218;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.StructuralFeatureActionImpl <em>Structural Feature Action</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.uml2.uml.internal.impl.StructuralFeatureActionImpl
+	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getStructuralFeatureAction()
+	 * @generated
+	 */
+	int STRUCTURAL_FEATURE_ACTION = 134;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.ReadStructuralFeatureActionImpl <em>Read Structural Feature Action</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.uml2.uml.internal.impl.ReadStructuralFeatureActionImpl
+	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getReadStructuralFeatureAction()
+	 * @generated
+	 */
+	int READ_STRUCTURAL_FEATURE_ACTION = 219;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.WriteStructuralFeatureActionImpl <em>Write Structural Feature Action</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.uml2.uml.internal.impl.WriteStructuralFeatureActionImpl
+	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getWriteStructuralFeatureAction()
+	 * @generated
+	 */
+	int WRITE_STRUCTURAL_FEATURE_ACTION = 133;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.ClearStructuralFeatureActionImpl <em>Clear Structural Feature Action</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.uml2.uml.internal.impl.ClearStructuralFeatureActionImpl
+	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getClearStructuralFeatureAction()
+	 * @generated
+	 */
+	int CLEAR_STRUCTURAL_FEATURE_ACTION = 152;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.RemoveStructuralFeatureValueActionImpl <em>Remove Structural Feature Value Action</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.uml2.uml.internal.impl.RemoveStructuralFeatureValueActionImpl
+	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getRemoveStructuralFeatureValueAction()
+	 * @generated
+	 */
+	int REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION = 223;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.AddStructuralFeatureValueActionImpl <em>Add Structural Feature Value Action</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.uml2.uml.internal.impl.AddStructuralFeatureValueActionImpl
+	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getAddStructuralFeatureValueAction()
+	 * @generated
+	 */
+	int ADD_STRUCTURAL_FEATURE_VALUE_ACTION = 132;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.LinkActionImpl <em>Link Action</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.uml2.uml.internal.impl.LinkActionImpl
+	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getLinkAction()
+	 * @generated
+	 */
+	int LINK_ACTION = 164;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.LinkEndDataImpl <em>Link End Data</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.uml2.uml.internal.impl.LinkEndDataImpl
+	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getLinkEndData()
+	 * @generated
+	 */
+	int LINK_END_DATA = 165;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.QualifierValueImpl <em>Qualifier Value</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.uml2.uml.internal.impl.QualifierValueImpl
+	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getQualifierValue()
+	 * @generated
+	 */
+	int QUALIFIER_VALUE = 166;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.ReadLinkActionImpl <em>Read Link Action</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.uml2.uml.internal.impl.ReadLinkActionImpl
+	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getReadLinkAction()
+	 * @generated
+	 */
+	int READ_LINK_ACTION = 215;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.LinkEndCreationDataImpl <em>Link End Creation Data</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.uml2.uml.internal.impl.LinkEndCreationDataImpl
+	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getLinkEndCreationData()
+	 * @generated
+	 */
+	int LINK_END_CREATION_DATA = 167;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.WriteLinkActionImpl <em>Write Link Action</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.uml2.uml.internal.impl.WriteLinkActionImpl
+	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getWriteLinkAction()
+	 * @generated
+	 */
+	int WRITE_LINK_ACTION = 163;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.CreateLinkActionImpl <em>Create Link Action</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.uml2.uml.internal.impl.CreateLinkActionImpl
+	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getCreateLinkAction()
+	 * @generated
+	 */
+	int CREATE_LINK_ACTION = 162;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.DestroyLinkActionImpl <em>Destroy Link Action</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.uml2.uml.internal.impl.DestroyLinkActionImpl
+	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getDestroyLinkAction()
+	 * @generated
+	 */
+	int DESTROY_LINK_ACTION = 173;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.LinkEndDestructionDataImpl <em>Link End Destruction Data</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.uml2.uml.internal.impl.LinkEndDestructionDataImpl
+	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getLinkEndDestructionData()
+	 * @generated
+	 */
+	int LINK_END_DESTRUCTION_DATA = 174;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.ClearAssociationActionImpl <em>Clear Association Action</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.uml2.uml.internal.impl.ClearAssociationActionImpl
+	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getClearAssociationAction()
+	 * @generated
+	 */
+	int CLEAR_ASSOCIATION_ACTION = 151;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.InvocationActionImpl <em>Invocation Action</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.uml2.uml.internal.impl.InvocationActionImpl
+	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getInvocationAction()
+	 * @generated
+	 */
+	int INVOCATION_ACTION = 143;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.BroadcastSignalActionImpl <em>Broadcast Signal Action</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.uml2.uml.internal.impl.BroadcastSignalActionImpl
+	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getBroadcastSignalAction()
+	 * @generated
+	 */
+	int BROADCAST_SIGNAL_ACTION = 142;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.SendObjectActionImpl <em>Send Object Action</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.uml2.uml.internal.impl.SendObjectActionImpl
+	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getSendObjectAction()
+	 * @generated
+	 */
+	int SEND_OBJECT_ACTION = 226;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.ValueSpecificationActionImpl <em>Value Specification Action</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.uml2.uml.internal.impl.ValueSpecificationActionImpl
+	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getValueSpecificationAction()
+	 * @generated
+	 */
+	int VALUE_SPECIFICATION_ACTION = 241;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.TimeExpressionImpl <em>Time Expression</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.uml2.uml.internal.impl.TimeExpressionImpl
+	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getTimeExpression()
+	 * @generated
+	 */
+	int TIME_EXPRESSION = 236;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.DurationImpl <em>Duration</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.uml2.uml.internal.impl.DurationImpl
+	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getDuration()
+	 * @generated
+	 */
+	int DURATION = 180;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.ValuePinImpl <em>Value Pin</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.uml2.uml.internal.impl.ValuePinImpl
+	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getValuePin()
+	 * @generated
+	 */
+	int VALUE_PIN = 240;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.IntervalImpl <em>Interval</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.uml2.uml.internal.impl.IntervalImpl
+	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getInterval()
+	 * @generated
+	 */
+	int INTERVAL = 184;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.DurationIntervalImpl <em>Duration Interval</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.uml2.uml.internal.impl.DurationIntervalImpl
+	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getDurationInterval()
+	 * @generated
+	 */
+	int DURATION_INTERVAL = 185;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.IntervalConstraintImpl <em>Interval Constraint</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.uml2.uml.internal.impl.IntervalConstraintImpl
+	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getIntervalConstraint()
+	 * @generated
+	 */
+	int INTERVAL_CONSTRAINT = 183;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.TimeConstraintImpl <em>Time Constraint</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.uml2.uml.internal.impl.TimeConstraintImpl
+	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getTimeConstraint()
+	 * @generated
+	 */
+	int TIME_CONSTRAINT = 234;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.TimeIntervalImpl <em>Time Interval</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.uml2.uml.internal.impl.TimeIntervalImpl
+	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getTimeInterval()
+	 * @generated
+	 */
+	int TIME_INTERVAL = 235;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.DurationConstraintImpl <em>Duration Constraint</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.uml2.uml.internal.impl.DurationConstraintImpl
+	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getDurationConstraint()
+	 * @generated
+	 */
+	int DURATION_CONSTRAINT = 182;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.OpaqueActionImpl <em>Opaque Action</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.uml2.uml.internal.impl.OpaqueActionImpl
+	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getOpaqueAction()
+	 * @generated
+	 */
+	int OPAQUE_ACTION = 210;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.CallActionImpl <em>Call Action</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.uml2.uml.internal.impl.CallActionImpl
+	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getCallAction()
+	 * @generated
+	 */
+	int CALL_ACTION = 144;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.SendSignalActionImpl <em>Send Signal Action</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.uml2.uml.internal.impl.SendSignalActionImpl
+	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getSendSignalAction()
+	 * @generated
+	 */
+	int SEND_SIGNAL_ACTION = 227;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.CallOperationActionImpl <em>Call Operation Action</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.uml2.uml.internal.impl.CallOperationActionImpl
+	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getCallOperationAction()
+	 * @generated
+	 */
+	int CALL_OPERATION_ACTION = 147;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.CallBehaviorActionImpl <em>Call Behavior Action</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.uml2.uml.internal.impl.CallBehaviorActionImpl
+	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getCallBehaviorAction()
+	 * @generated
+	 */
+	int CALL_BEHAVIOR_ACTION = 145;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.InformationItemImpl <em>Information Item</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.uml2.uml.internal.impl.InformationItemImpl
+	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getInformationItem()
+	 * @generated
+	 */
+	int INFORMATION_ITEM = 197;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.InformationFlowImpl <em>Information Flow</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.uml2.uml.internal.impl.InformationFlowImpl
+	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getInformationFlow()
+	 * @generated
+	 */
+	int INFORMATION_FLOW = 196;
+
+	/**
+	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.ModelImpl <em>Model</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.uml2.uml.internal.impl.ModelImpl
+	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getModel()
+	 * @generated
+	 */
+	int MODEL = 74;
 
 	/**
 	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
@@ -4091,7 +4774,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DIRECTED_RELATIONSHIP__EANNOTATIONS = RELATIONSHIP__EANNOTATIONS;
+	int PARAMETERABLE_ELEMENT__EANNOTATIONS = ELEMENT__EANNOTATIONS;
 
 	/**
 	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
@@ -4100,7 +4783,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DIRECTED_RELATIONSHIP__OWNED_COMMENT = RELATIONSHIP__OWNED_COMMENT;
+	int PARAMETERABLE_ELEMENT__OWNED_COMMENT = ELEMENT__OWNED_COMMENT;
 
 	/**
 	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
@@ -4109,7 +4792,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DIRECTED_RELATIONSHIP__OWNED_ELEMENT = RELATIONSHIP__OWNED_ELEMENT;
+	int PARAMETERABLE_ELEMENT__OWNED_ELEMENT = ELEMENT__OWNED_ELEMENT;
 
 	/**
 	 * The feature id for the '<em><b>Owner</b></em>' reference.
@@ -4118,43 +4801,34 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DIRECTED_RELATIONSHIP__OWNER = RELATIONSHIP__OWNER;
+	int PARAMETERABLE_ELEMENT__OWNER = ELEMENT__OWNER;
 
 	/**
-	 * The feature id for the '<em><b>Related Element</b></em>' reference list.
+	 * The feature id for the '<em><b>Owning Template Parameter</b></em>' container reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int DIRECTED_RELATIONSHIP__RELATED_ELEMENT = RELATIONSHIP__RELATED_ELEMENT;
+	int PARAMETERABLE_ELEMENT__OWNING_TEMPLATE_PARAMETER = ELEMENT_FEATURE_COUNT + 0;
 
 	/**
-	 * The feature id for the '<em><b>Source</b></em>' reference list.
+	 * The feature id for the '<em><b>Template Parameter</b></em>' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int DIRECTED_RELATIONSHIP__SOURCE = RELATIONSHIP_FEATURE_COUNT + 0;
+	int PARAMETERABLE_ELEMENT__TEMPLATE_PARAMETER = ELEMENT_FEATURE_COUNT + 1;
 
 	/**
-	 * The feature id for the '<em><b>Target</b></em>' reference list.
+	 * The number of structural features of the '<em>Parameterable Element</em>' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int DIRECTED_RELATIONSHIP__TARGET = RELATIONSHIP_FEATURE_COUNT + 1;
-
-	/**
-	 * The number of structural features of the '<em>Directed Relationship</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DIRECTED_RELATIONSHIP_FEATURE_COUNT = RELATIONSHIP_FEATURE_COUNT + 2;
+	int PARAMETERABLE_ELEMENT_FEATURE_COUNT = ELEMENT_FEATURE_COUNT + 2;
 
 	/**
 	 * The operation id for the '<em>Get EAnnotation</em>' operation.
@@ -4163,7 +4837,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DIRECTED_RELATIONSHIP___GET_EANNOTATION__STRING = RELATIONSHIP___GET_EANNOTATION__STRING;
+	int PARAMETERABLE_ELEMENT___GET_EANNOTATION__STRING = ELEMENT___GET_EANNOTATION__STRING;
 
 	/**
 	 * The operation id for the '<em>Validate Has Owner</em>' operation.
@@ -4172,7 +4846,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DIRECTED_RELATIONSHIP___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP = RELATIONSHIP___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP;
+	int PARAMETERABLE_ELEMENT___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP = ELEMENT___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP;
 
 	/**
 	 * The operation id for the '<em>Validate Not Own Self</em>' operation.
@@ -4181,7 +4855,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DIRECTED_RELATIONSHIP___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP = RELATIONSHIP___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP;
+	int PARAMETERABLE_ELEMENT___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP = ELEMENT___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP;
 
 	/**
 	 * The operation id for the '<em>Add Keyword</em>' operation.
@@ -4190,7 +4864,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DIRECTED_RELATIONSHIP___ADD_KEYWORD__STRING = RELATIONSHIP___ADD_KEYWORD__STRING;
+	int PARAMETERABLE_ELEMENT___ADD_KEYWORD__STRING = ELEMENT___ADD_KEYWORD__STRING;
 
 	/**
 	 * The operation id for the '<em>Apply Stereotype</em>' operation.
@@ -4199,7 +4873,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DIRECTED_RELATIONSHIP___APPLY_STEREOTYPE__STEREOTYPE = RELATIONSHIP___APPLY_STEREOTYPE__STEREOTYPE;
+	int PARAMETERABLE_ELEMENT___APPLY_STEREOTYPE__STEREOTYPE = ELEMENT___APPLY_STEREOTYPE__STEREOTYPE;
 
 	/**
 	 * The operation id for the '<em>Create EAnnotation</em>' operation.
@@ -4208,7 +4882,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DIRECTED_RELATIONSHIP___CREATE_EANNOTATION__STRING = RELATIONSHIP___CREATE_EANNOTATION__STRING;
+	int PARAMETERABLE_ELEMENT___CREATE_EANNOTATION__STRING = ELEMENT___CREATE_EANNOTATION__STRING;
 
 	/**
 	 * The operation id for the '<em>Destroy</em>' operation.
@@ -4217,7 +4891,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DIRECTED_RELATIONSHIP___DESTROY = RELATIONSHIP___DESTROY;
+	int PARAMETERABLE_ELEMENT___DESTROY = ELEMENT___DESTROY;
 
 	/**
 	 * The operation id for the '<em>Get Keywords</em>' operation.
@@ -4226,7 +4900,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DIRECTED_RELATIONSHIP___GET_KEYWORDS = RELATIONSHIP___GET_KEYWORDS;
+	int PARAMETERABLE_ELEMENT___GET_KEYWORDS = ELEMENT___GET_KEYWORDS;
 
 	/**
 	 * The operation id for the '<em>Get Applicable Stereotype</em>' operation.
@@ -4235,7 +4909,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DIRECTED_RELATIONSHIP___GET_APPLICABLE_STEREOTYPE__STRING = RELATIONSHIP___GET_APPLICABLE_STEREOTYPE__STRING;
+	int PARAMETERABLE_ELEMENT___GET_APPLICABLE_STEREOTYPE__STRING = ELEMENT___GET_APPLICABLE_STEREOTYPE__STRING;
 
 	/**
 	 * The operation id for the '<em>Get Applicable Stereotypes</em>' operation.
@@ -4244,7 +4918,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DIRECTED_RELATIONSHIP___GET_APPLICABLE_STEREOTYPES = RELATIONSHIP___GET_APPLICABLE_STEREOTYPES;
+	int PARAMETERABLE_ELEMENT___GET_APPLICABLE_STEREOTYPES = ELEMENT___GET_APPLICABLE_STEREOTYPES;
 
 	/**
 	 * The operation id for the '<em>Get Applied Stereotype</em>' operation.
@@ -4253,7 +4927,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DIRECTED_RELATIONSHIP___GET_APPLIED_STEREOTYPE__STRING = RELATIONSHIP___GET_APPLIED_STEREOTYPE__STRING;
+	int PARAMETERABLE_ELEMENT___GET_APPLIED_STEREOTYPE__STRING = ELEMENT___GET_APPLIED_STEREOTYPE__STRING;
 
 	/**
 	 * The operation id for the '<em>Get Applied Stereotypes</em>' operation.
@@ -4262,7 +4936,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DIRECTED_RELATIONSHIP___GET_APPLIED_STEREOTYPES = RELATIONSHIP___GET_APPLIED_STEREOTYPES;
+	int PARAMETERABLE_ELEMENT___GET_APPLIED_STEREOTYPES = ELEMENT___GET_APPLIED_STEREOTYPES;
 
 	/**
 	 * The operation id for the '<em>Get Applied Substereotype</em>' operation.
@@ -4271,7 +4945,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DIRECTED_RELATIONSHIP___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING = RELATIONSHIP___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING;
+	int PARAMETERABLE_ELEMENT___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING = ELEMENT___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING;
 
 	/**
 	 * The operation id for the '<em>Get Applied Substereotypes</em>' operation.
@@ -4280,7 +4954,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DIRECTED_RELATIONSHIP___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE = RELATIONSHIP___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE;
+	int PARAMETERABLE_ELEMENT___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE = ELEMENT___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE;
 
 	/**
 	 * The operation id for the '<em>Get Model</em>' operation.
@@ -4289,7 +4963,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DIRECTED_RELATIONSHIP___GET_MODEL = RELATIONSHIP___GET_MODEL;
+	int PARAMETERABLE_ELEMENT___GET_MODEL = ELEMENT___GET_MODEL;
 
 	/**
 	 * The operation id for the '<em>Get Nearest Package</em>' operation.
@@ -4298,7 +4972,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DIRECTED_RELATIONSHIP___GET_NEAREST_PACKAGE = RELATIONSHIP___GET_NEAREST_PACKAGE;
+	int PARAMETERABLE_ELEMENT___GET_NEAREST_PACKAGE = ELEMENT___GET_NEAREST_PACKAGE;
 
 	/**
 	 * The operation id for the '<em>Get Relationships</em>' operation.
@@ -4307,7 +4981,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DIRECTED_RELATIONSHIP___GET_RELATIONSHIPS = RELATIONSHIP___GET_RELATIONSHIPS;
+	int PARAMETERABLE_ELEMENT___GET_RELATIONSHIPS = ELEMENT___GET_RELATIONSHIPS;
 
 	/**
 	 * The operation id for the '<em>Get Relationships</em>' operation.
@@ -4316,7 +4990,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DIRECTED_RELATIONSHIP___GET_RELATIONSHIPS__ECLASS = RELATIONSHIP___GET_RELATIONSHIPS__ECLASS;
+	int PARAMETERABLE_ELEMENT___GET_RELATIONSHIPS__ECLASS = ELEMENT___GET_RELATIONSHIPS__ECLASS;
 
 	/**
 	 * The operation id for the '<em>Get Required Stereotype</em>' operation.
@@ -4325,7 +4999,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DIRECTED_RELATIONSHIP___GET_REQUIRED_STEREOTYPE__STRING = RELATIONSHIP___GET_REQUIRED_STEREOTYPE__STRING;
+	int PARAMETERABLE_ELEMENT___GET_REQUIRED_STEREOTYPE__STRING = ELEMENT___GET_REQUIRED_STEREOTYPE__STRING;
 
 	/**
 	 * The operation id for the '<em>Get Required Stereotypes</em>' operation.
@@ -4334,7 +5008,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DIRECTED_RELATIONSHIP___GET_REQUIRED_STEREOTYPES = RELATIONSHIP___GET_REQUIRED_STEREOTYPES;
+	int PARAMETERABLE_ELEMENT___GET_REQUIRED_STEREOTYPES = ELEMENT___GET_REQUIRED_STEREOTYPES;
 
 	/**
 	 * The operation id for the '<em>Get Source Directed Relationships</em>' operation.
@@ -4343,7 +5017,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DIRECTED_RELATIONSHIP___GET_SOURCE_DIRECTED_RELATIONSHIPS = RELATIONSHIP___GET_SOURCE_DIRECTED_RELATIONSHIPS;
+	int PARAMETERABLE_ELEMENT___GET_SOURCE_DIRECTED_RELATIONSHIPS = ELEMENT___GET_SOURCE_DIRECTED_RELATIONSHIPS;
 
 	/**
 	 * The operation id for the '<em>Get Source Directed Relationships</em>' operation.
@@ -4352,7 +5026,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DIRECTED_RELATIONSHIP___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS = RELATIONSHIP___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS;
+	int PARAMETERABLE_ELEMENT___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS = ELEMENT___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS;
 
 	/**
 	 * The operation id for the '<em>Get Stereotype Application</em>' operation.
@@ -4361,7 +5035,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DIRECTED_RELATIONSHIP___GET_STEREOTYPE_APPLICATION__STEREOTYPE = RELATIONSHIP___GET_STEREOTYPE_APPLICATION__STEREOTYPE;
+	int PARAMETERABLE_ELEMENT___GET_STEREOTYPE_APPLICATION__STEREOTYPE = ELEMENT___GET_STEREOTYPE_APPLICATION__STEREOTYPE;
 
 	/**
 	 * The operation id for the '<em>Get Stereotype Applications</em>' operation.
@@ -4370,7 +5044,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DIRECTED_RELATIONSHIP___GET_STEREOTYPE_APPLICATIONS = RELATIONSHIP___GET_STEREOTYPE_APPLICATIONS;
+	int PARAMETERABLE_ELEMENT___GET_STEREOTYPE_APPLICATIONS = ELEMENT___GET_STEREOTYPE_APPLICATIONS;
 
 	/**
 	 * The operation id for the '<em>Get Target Directed Relationships</em>' operation.
@@ -4379,7 +5053,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DIRECTED_RELATIONSHIP___GET_TARGET_DIRECTED_RELATIONSHIPS = RELATIONSHIP___GET_TARGET_DIRECTED_RELATIONSHIPS;
+	int PARAMETERABLE_ELEMENT___GET_TARGET_DIRECTED_RELATIONSHIPS = ELEMENT___GET_TARGET_DIRECTED_RELATIONSHIPS;
 
 	/**
 	 * The operation id for the '<em>Get Target Directed Relationships</em>' operation.
@@ -4388,7 +5062,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DIRECTED_RELATIONSHIP___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS = RELATIONSHIP___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS;
+	int PARAMETERABLE_ELEMENT___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS = ELEMENT___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS;
 
 	/**
 	 * The operation id for the '<em>Get Value</em>' operation.
@@ -4397,7 +5071,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DIRECTED_RELATIONSHIP___GET_VALUE__STEREOTYPE_STRING = RELATIONSHIP___GET_VALUE__STEREOTYPE_STRING;
+	int PARAMETERABLE_ELEMENT___GET_VALUE__STEREOTYPE_STRING = ELEMENT___GET_VALUE__STEREOTYPE_STRING;
 
 	/**
 	 * The operation id for the '<em>Has Keyword</em>' operation.
@@ -4406,7 +5080,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DIRECTED_RELATIONSHIP___HAS_KEYWORD__STRING = RELATIONSHIP___HAS_KEYWORD__STRING;
+	int PARAMETERABLE_ELEMENT___HAS_KEYWORD__STRING = ELEMENT___HAS_KEYWORD__STRING;
 
 	/**
 	 * The operation id for the '<em>Has Value</em>' operation.
@@ -4415,7 +5089,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DIRECTED_RELATIONSHIP___HAS_VALUE__STEREOTYPE_STRING = RELATIONSHIP___HAS_VALUE__STEREOTYPE_STRING;
+	int PARAMETERABLE_ELEMENT___HAS_VALUE__STEREOTYPE_STRING = ELEMENT___HAS_VALUE__STEREOTYPE_STRING;
 
 	/**
 	 * The operation id for the '<em>Is Stereotype Applicable</em>' operation.
@@ -4424,7 +5098,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DIRECTED_RELATIONSHIP___IS_STEREOTYPE_APPLICABLE__STEREOTYPE = RELATIONSHIP___IS_STEREOTYPE_APPLICABLE__STEREOTYPE;
+	int PARAMETERABLE_ELEMENT___IS_STEREOTYPE_APPLICABLE__STEREOTYPE = ELEMENT___IS_STEREOTYPE_APPLICABLE__STEREOTYPE;
 
 	/**
 	 * The operation id for the '<em>Is Stereotype Applied</em>' operation.
@@ -4433,7 +5107,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DIRECTED_RELATIONSHIP___IS_STEREOTYPE_APPLIED__STEREOTYPE = RELATIONSHIP___IS_STEREOTYPE_APPLIED__STEREOTYPE;
+	int PARAMETERABLE_ELEMENT___IS_STEREOTYPE_APPLIED__STEREOTYPE = ELEMENT___IS_STEREOTYPE_APPLIED__STEREOTYPE;
 
 	/**
 	 * The operation id for the '<em>Is Stereotype Required</em>' operation.
@@ -4442,7 +5116,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DIRECTED_RELATIONSHIP___IS_STEREOTYPE_REQUIRED__STEREOTYPE = RELATIONSHIP___IS_STEREOTYPE_REQUIRED__STEREOTYPE;
+	int PARAMETERABLE_ELEMENT___IS_STEREOTYPE_REQUIRED__STEREOTYPE = ELEMENT___IS_STEREOTYPE_REQUIRED__STEREOTYPE;
 
 	/**
 	 * The operation id for the '<em>Remove Keyword</em>' operation.
@@ -4451,7 +5125,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DIRECTED_RELATIONSHIP___REMOVE_KEYWORD__STRING = RELATIONSHIP___REMOVE_KEYWORD__STRING;
+	int PARAMETERABLE_ELEMENT___REMOVE_KEYWORD__STRING = ELEMENT___REMOVE_KEYWORD__STRING;
 
 	/**
 	 * The operation id for the '<em>Set Value</em>' operation.
@@ -4460,7 +5134,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DIRECTED_RELATIONSHIP___SET_VALUE__STEREOTYPE_STRING_OBJECT = RELATIONSHIP___SET_VALUE__STEREOTYPE_STRING_OBJECT;
+	int PARAMETERABLE_ELEMENT___SET_VALUE__STEREOTYPE_STRING_OBJECT = ELEMENT___SET_VALUE__STEREOTYPE_STRING_OBJECT;
 
 	/**
 	 * The operation id for the '<em>Unapply Stereotype</em>' operation.
@@ -4469,7 +5143,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DIRECTED_RELATIONSHIP___UNAPPLY_STEREOTYPE__STEREOTYPE = RELATIONSHIP___UNAPPLY_STEREOTYPE__STEREOTYPE;
+	int PARAMETERABLE_ELEMENT___UNAPPLY_STEREOTYPE__STEREOTYPE = ELEMENT___UNAPPLY_STEREOTYPE__STEREOTYPE;
 
 	/**
 	 * The operation id for the '<em>All Owned Elements</em>' operation.
@@ -4478,7 +5152,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DIRECTED_RELATIONSHIP___ALL_OWNED_ELEMENTS = RELATIONSHIP___ALL_OWNED_ELEMENTS;
+	int PARAMETERABLE_ELEMENT___ALL_OWNED_ELEMENTS = ELEMENT___ALL_OWNED_ELEMENTS;
 
 	/**
 	 * The operation id for the '<em>Must Be Owned</em>' operation.
@@ -4487,16 +5161,34 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DIRECTED_RELATIONSHIP___MUST_BE_OWNED = RELATIONSHIP___MUST_BE_OWNED;
+	int PARAMETERABLE_ELEMENT___MUST_BE_OWNED = ELEMENT___MUST_BE_OWNED;
 
 	/**
-	 * The number of operations of the '<em>Directed Relationship</em>' class.
+	 * The operation id for the '<em>Is Compatible With</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int DIRECTED_RELATIONSHIP_OPERATION_COUNT = RELATIONSHIP_OPERATION_COUNT + 0;
+	int PARAMETERABLE_ELEMENT___IS_COMPATIBLE_WITH__PARAMETERABLEELEMENT = ELEMENT_OPERATION_COUNT + 0;
+
+	/**
+	 * The operation id for the '<em>Is Template Parameter</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETERABLE_ELEMENT___IS_TEMPLATE_PARAMETER = ELEMENT_OPERATION_COUNT + 1;
+
+	/**
+	 * The number of operations of the '<em>Parameterable Element</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETERABLE_ELEMENT_OPERATION_COUNT = ELEMENT_OPERATION_COUNT + 2;
 
 	/**
 	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
@@ -5390,15 +6082,6 @@
 	int NAMESPACE___MUST_BE_OWNED = NAMED_ELEMENT___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int NAMESPACE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = NAMED_ELEMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -5417,6 +6100,15 @@
 	int NAMESPACE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = NAMED_ELEMENT___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int NAMESPACE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = NAMED_ELEMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -6299,15 +6991,6 @@
 	int CLASSIFIER___MUST_BE_OWNED = NAMESPACE___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CLASSIFIER___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = NAMESPACE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -6326,6 +7009,15 @@
 	int CLASSIFIER___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = NAMESPACE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CLASSIFIER___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = NAMESPACE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -6623,31 +7315,13 @@
 	int CLASSIFIER___PARAMETERABLE_ELEMENTS = NAMESPACE_OPERATION_COUNT + 11;
 
 	/**
-	 * The operation id for the '<em>Validate Specialize Type</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CLASSIFIER___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP = NAMESPACE_OPERATION_COUNT + 12;
-
-	/**
-	 * The operation id for the '<em>Validate Maps To Generalization Set</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CLASSIFIER___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP = NAMESPACE_OPERATION_COUNT + 13;
-
-	/**
 	 * The operation id for the '<em>Validate Non Final Parents</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int CLASSIFIER___VALIDATE_NON_FINAL_PARENTS__DIAGNOSTICCHAIN_MAP = NAMESPACE_OPERATION_COUNT + 14;
+	int CLASSIFIER___VALIDATE_NON_FINAL_PARENTS__DIAGNOSTICCHAIN_MAP = NAMESPACE_OPERATION_COUNT + 12;
 
 	/**
 	 * The operation id for the '<em>Validate No Cycles In Generalization</em>' operation.
@@ -6656,7 +7330,25 @@
 	 * @generated
 	 * @ordered
 	 */
-	int CLASSIFIER___VALIDATE_NO_CYCLES_IN_GENERALIZATION__DIAGNOSTICCHAIN_MAP = NAMESPACE_OPERATION_COUNT + 15;
+	int CLASSIFIER___VALIDATE_NO_CYCLES_IN_GENERALIZATION__DIAGNOSTICCHAIN_MAP = NAMESPACE_OPERATION_COUNT + 13;
+
+	/**
+	 * The operation id for the '<em>Validate Specialize Type</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CLASSIFIER___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP = NAMESPACE_OPERATION_COUNT + 14;
+
+	/**
+	 * The operation id for the '<em>Validate Maps To Generalization Set</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CLASSIFIER___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP = NAMESPACE_OPERATION_COUNT + 15;
 
 	/**
 	 * The operation id for the '<em>Get All Attributes</em>' operation.
@@ -6821,1086 +7513,6 @@
 	int CLASSIFIER_OPERATION_COUNT = NAMESPACE_OPERATION_COUNT + 33;
 
 	/**
-	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.CollaborationUseImpl <em>Collaboration Use</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.uml2.uml.internal.impl.CollaborationUseImpl
-	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getCollaborationUse()
-	 * @generated
-	 */
-	int COLLABORATION_USE = 77;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.CollaborationImpl <em>Collaboration</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.uml2.uml.internal.impl.CollaborationImpl
-	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getCollaboration()
-	 * @generated
-	 */
-	int COLLABORATION = 78;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.ConnectorImpl <em>Connector</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.uml2.uml.internal.impl.ConnectorImpl
-	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getConnector()
-	 * @generated
-	 */
-	int CONNECTOR = 80;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.RedefinableTemplateSignatureImpl <em>Redefinable Template Signature</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.uml2.uml.internal.impl.RedefinableTemplateSignatureImpl
-	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getRedefinableTemplateSignature()
-	 * @generated
-	 */
-	int REDEFINABLE_TEMPLATE_SIGNATURE = 83;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.ClassifierTemplateParameterImpl <em>Classifier Template Parameter</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.uml2.uml.internal.impl.ClassifierTemplateParameterImpl
-	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getClassifierTemplateParameter()
-	 * @generated
-	 */
-	int CLASSIFIER_TEMPLATE_PARAMETER = 90;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.InterfaceRealizationImpl <em>Interface Realization</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.uml2.uml.internal.impl.InterfaceRealizationImpl
-	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getInterfaceRealization()
-	 * @generated
-	 */
-	int INTERFACE_REALIZATION = 91;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.ExtensionImpl <em>Extension</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.uml2.uml.internal.impl.ExtensionImpl
-	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getExtension()
-	 * @generated
-	 */
-	int EXTENSION = 30;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.ExtensionEndImpl <em>Extension End</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.uml2.uml.internal.impl.ExtensionEndImpl
-	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getExtensionEnd()
-	 * @generated
-	 */
-	int EXTENSION_END = 69;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.ImageImpl <em>Image</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.uml2.uml.internal.impl.ImageImpl
-	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getImage()
-	 * @generated
-	 */
-	int IMAGE = 93;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.ExpressionImpl <em>Expression</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.uml2.uml.internal.impl.ExpressionImpl
-	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getExpression()
-	 * @generated
-	 */
-	int EXPRESSION = 19;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.StringExpressionImpl <em>String Expression</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.uml2.uml.internal.impl.StringExpressionImpl
-	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getStringExpression()
-	 * @generated
-	 */
-	int STRING_EXPRESSION = 12;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.LiteralIntegerImpl <em>Literal Integer</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.uml2.uml.internal.impl.LiteralIntegerImpl
-	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getLiteralInteger()
-	 * @generated
-	 */
-	int LITERAL_INTEGER = 203;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.LiteralStringImpl <em>Literal String</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.uml2.uml.internal.impl.LiteralStringImpl
-	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getLiteralString()
-	 * @generated
-	 */
-	int LITERAL_STRING = 206;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.LiteralBooleanImpl <em>Literal Boolean</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.uml2.uml.internal.impl.LiteralBooleanImpl
-	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getLiteralBoolean()
-	 * @generated
-	 */
-	int LITERAL_BOOLEAN = 201;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.LiteralNullImpl <em>Literal Null</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.uml2.uml.internal.impl.LiteralNullImpl
-	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getLiteralNull()
-	 * @generated
-	 */
-	int LITERAL_NULL = 204;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.SlotImpl <em>Slot</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.uml2.uml.internal.impl.SlotImpl
-	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getSlot()
-	 * @generated
-	 */
-	int SLOT = 74;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.InstanceSpecificationImpl <em>Instance Specification</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.uml2.uml.internal.impl.InstanceSpecificationImpl
-	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getInstanceSpecification()
-	 * @generated
-	 */
-	int INSTANCE_SPECIFICATION = 73;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.EnumerationImpl <em>Enumeration</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.uml2.uml.internal.impl.EnumerationImpl
-	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getEnumeration()
-	 * @generated
-	 */
-	int ENUMERATION = 71;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.EnumerationLiteralImpl <em>Enumeration Literal</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.uml2.uml.internal.impl.EnumerationLiteralImpl
-	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getEnumerationLiteral()
-	 * @generated
-	 */
-	int ENUMERATION_LITERAL = 72;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.PrimitiveTypeImpl <em>Primitive Type</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.uml2.uml.internal.impl.PrimitiveTypeImpl
-	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getPrimitiveType()
-	 * @generated
-	 */
-	int PRIMITIVE_TYPE = 75;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.InstanceValueImpl <em>Instance Value</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.uml2.uml.internal.impl.InstanceValueImpl
-	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getInstanceValue()
-	 * @generated
-	 */
-	int INSTANCE_VALUE = 199;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.LiteralUnlimitedNaturalImpl <em>Literal Unlimited Natural</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.uml2.uml.internal.impl.LiteralUnlimitedNaturalImpl
-	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getLiteralUnlimitedNatural()
-	 * @generated
-	 */
-	int LITERAL_UNLIMITED_NATURAL = 207;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.OpaqueBehaviorImpl <em>Opaque Behavior</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.uml2.uml.internal.impl.OpaqueBehaviorImpl
-	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getOpaqueBehavior()
-	 * @generated
-	 */
-	int OPAQUE_BEHAVIOR = 195;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.FunctionBehaviorImpl <em>Function Behavior</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.uml2.uml.internal.impl.FunctionBehaviorImpl
-	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getFunctionBehavior()
-	 * @generated
-	 */
-	int FUNCTION_BEHAVIOR = 194;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.ActorImpl <em>Actor</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.uml2.uml.internal.impl.ActorImpl
-	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getActor()
-	 * @generated
-	 */
-	int ACTOR = 131;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.UsageImpl <em>Usage</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.uml2.uml.internal.impl.UsageImpl
-	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getUsage()
-	 * @generated
-	 */
-	int USAGE = 76;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.MessageImpl <em>Message</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.uml2.uml.internal.impl.MessageImpl
-	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getMessage()
-	 * @generated
-	 */
-	int MESSAGE = 120;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.MessageEndImpl <em>Message End</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.uml2.uml.internal.impl.MessageEndImpl
-	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getMessageEnd()
-	 * @generated
-	 */
-	int MESSAGE_END = 119;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.InteractionImpl <em>Interaction</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.uml2.uml.internal.impl.InteractionImpl
-	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getInteraction()
-	 * @generated
-	 */
-	int INTERACTION = 121;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.InteractionFragmentImpl <em>Interaction Fragment</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.uml2.uml.internal.impl.InteractionFragmentImpl
-	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getInteractionFragment()
-	 * @generated
-	 */
-	int INTERACTION_FRAGMENT = 114;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.LifelineImpl <em>Lifeline</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.uml2.uml.internal.impl.LifelineImpl
-	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getLifeline()
-	 * @generated
-	 */
-	int LIFELINE = 115;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.InteractionUseImpl <em>Interaction Use</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.uml2.uml.internal.impl.InteractionUseImpl
-	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getInteractionUse()
-	 * @generated
-	 */
-	int INTERACTION_USE = 117;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.PartDecompositionImpl <em>Part Decomposition</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.uml2.uml.internal.impl.PartDecompositionImpl
-	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getPartDecomposition()
-	 * @generated
-	 */
-	int PART_DECOMPOSITION = 116;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.GateImpl <em>Gate</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.uml2.uml.internal.impl.GateImpl
-	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getGate()
-	 * @generated
-	 */
-	int GATE = 118;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.ActivityNodeImpl <em>Activity Node</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.uml2.uml.internal.impl.ActivityNodeImpl
-	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getActivityNode()
-	 * @generated
-	 */
-	int ACTIVITY_NODE = 99;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.ExecutableNodeImpl <em>Executable Node</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.uml2.uml.internal.impl.ExecutableNodeImpl
-	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getExecutableNode()
-	 * @generated
-	 */
-	int EXECUTABLE_NODE = 98;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.ActionImpl <em>Action</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.uml2.uml.internal.impl.ActionImpl
-	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getAction()
-	 * @generated
-	 */
-	int ACTION = 97;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.ActivityEdgeImpl <em>Activity Edge</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.uml2.uml.internal.impl.ActivityEdgeImpl
-	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getActivityEdge()
-	 * @generated
-	 */
-	int ACTIVITY_EDGE = 101;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.ActivityImpl <em>Activity</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.uml2.uml.internal.impl.ActivityImpl
-	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getActivity()
-	 * @generated
-	 */
-	int ACTIVITY = 100;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.ActivityPartitionImpl <em>Activity Partition</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.uml2.uml.internal.impl.ActivityPartitionImpl
-	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getActivityPartition()
-	 * @generated
-	 */
-	int ACTIVITY_PARTITION = 103;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.ActivityGroupImpl <em>Activity Group</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.uml2.uml.internal.impl.ActivityGroupImpl
-	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getActivityGroup()
-	 * @generated
-	 */
-	int ACTIVITY_GROUP = 102;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.StructuredActivityNodeImpl <em>Structured Activity Node</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.uml2.uml.internal.impl.StructuredActivityNodeImpl
-	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getStructuredActivityNode()
-	 * @generated
-	 */
-	int STRUCTURED_ACTIVITY_NODE = 104;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.VariableImpl <em>Variable</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.uml2.uml.internal.impl.VariableImpl
-	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getVariable()
-	 * @generated
-	 */
-	int VARIABLE = 109;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.InterruptibleActivityRegionImpl <em>Interruptible Activity Region</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.uml2.uml.internal.impl.InterruptibleActivityRegionImpl
-	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getInterruptibleActivityRegion()
-	 * @generated
-	 */
-	int INTERRUPTIBLE_ACTIVITY_REGION = 110;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.ExceptionHandlerImpl <em>Exception Handler</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.uml2.uml.internal.impl.ExceptionHandlerImpl
-	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getExceptionHandler()
-	 * @generated
-	 */
-	int EXCEPTION_HANDLER = 111;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.ObjectNodeImpl <em>Object Node</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.uml2.uml.internal.impl.ObjectNodeImpl
-	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getObjectNode()
-	 * @generated
-	 */
-	int OBJECT_NODE = 107;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.PinImpl <em>Pin</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.uml2.uml.internal.impl.PinImpl
-	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getPin()
-	 * @generated
-	 */
-	int PIN = 106;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.OutputPinImpl <em>Output Pin</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.uml2.uml.internal.impl.OutputPinImpl
-	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getOutputPin()
-	 * @generated
-	 */
-	int OUTPUT_PIN = 108;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.InputPinImpl <em>Input Pin</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.uml2.uml.internal.impl.InputPinImpl
-	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getInputPin()
-	 * @generated
-	 */
-	int INPUT_PIN = 105;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.GeneralOrderingImpl <em>General Ordering</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.uml2.uml.internal.impl.GeneralOrderingImpl
-	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getGeneralOrdering()
-	 * @generated
-	 */
-	int GENERAL_ORDERING = 124;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.OccurrenceSpecificationImpl <em>Occurrence Specification</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.uml2.uml.internal.impl.OccurrenceSpecificationImpl
-	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getOccurrenceSpecification()
-	 * @generated
-	 */
-	int OCCURRENCE_SPECIFICATION = 125;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.InteractionOperandImpl <em>Interaction Operand</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.uml2.uml.internal.impl.InteractionOperandImpl
-	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getInteractionOperand()
-	 * @generated
-	 */
-	int INTERACTION_OPERAND = 122;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.InteractionConstraintImpl <em>Interaction Constraint</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.uml2.uml.internal.impl.InteractionConstraintImpl
-	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getInteractionConstraint()
-	 * @generated
-	 */
-	int INTERACTION_CONSTRAINT = 123;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.ExecutionSpecificationImpl <em>Execution Specification</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.uml2.uml.internal.impl.ExecutionSpecificationImpl
-	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getExecutionSpecification()
-	 * @generated
-	 */
-	int EXECUTION_SPECIFICATION = 113;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.ExecutionOccurrenceSpecificationImpl <em>Execution Occurrence Specification</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.uml2.uml.internal.impl.ExecutionOccurrenceSpecificationImpl
-	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getExecutionOccurrenceSpecification()
-	 * @generated
-	 */
-	int EXECUTION_OCCURRENCE_SPECIFICATION = 188;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.StateInvariantImpl <em>State Invariant</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.uml2.uml.internal.impl.StateInvariantImpl
-	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getStateInvariant()
-	 * @generated
-	 */
-	int STATE_INVARIANT = 232;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.ActionExecutionSpecificationImpl <em>Action Execution Specification</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.uml2.uml.internal.impl.ActionExecutionSpecificationImpl
-	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getActionExecutionSpecification()
-	 * @generated
-	 */
-	int ACTION_EXECUTION_SPECIFICATION = 112;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.BehaviorExecutionSpecificationImpl <em>Behavior Execution Specification</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.uml2.uml.internal.impl.BehaviorExecutionSpecificationImpl
-	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getBehaviorExecutionSpecification()
-	 * @generated
-	 */
-	int BEHAVIOR_EXECUTION_SPECIFICATION = 141;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.MessageEventImpl <em>Message Event</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.uml2.uml.internal.impl.MessageEventImpl
-	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getMessageEvent()
-	 * @generated
-	 */
-	int MESSAGE_EVENT = 139;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.MessageOccurrenceSpecificationImpl <em>Message Occurrence Specification</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.uml2.uml.internal.impl.MessageOccurrenceSpecificationImpl
-	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getMessageOccurrenceSpecification()
-	 * @generated
-	 */
-	int MESSAGE_OCCURRENCE_SPECIFICATION = 177;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.CombinedFragmentImpl <em>Combined Fragment</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.uml2.uml.internal.impl.CombinedFragmentImpl
-	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getCombinedFragment()
-	 * @generated
-	 */
-	int COMBINED_FRAGMENT = 154;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.ContinuationImpl <em>Continuation</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.uml2.uml.internal.impl.ContinuationImpl
-	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getContinuation()
-	 * @generated
-	 */
-	int CONTINUATION = 160;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.ConsiderIgnoreFragmentImpl <em>Consider Ignore Fragment</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.uml2.uml.internal.impl.ConsiderIgnoreFragmentImpl
-	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getConsiderIgnoreFragment()
-	 * @generated
-	 */
-	int CONSIDER_IGNORE_FRAGMENT = 159;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.CallEventImpl <em>Call Event</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.uml2.uml.internal.impl.CallEventImpl
-	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getCallEvent()
-	 * @generated
-	 */
-	int CALL_EVENT = 146;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.ChangeEventImpl <em>Change Event</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.uml2.uml.internal.impl.ChangeEventImpl
-	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getChangeEvent()
-	 * @generated
-	 */
-	int CHANGE_EVENT = 149;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.SignalEventImpl <em>Signal Event</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.uml2.uml.internal.impl.SignalEventImpl
-	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getSignalEvent()
-	 * @generated
-	 */
-	int SIGNAL_EVENT = 229;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.AnyReceiveEventImpl <em>Any Receive Event</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.uml2.uml.internal.impl.AnyReceiveEventImpl
-	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getAnyReceiveEvent()
-	 * @generated
-	 */
-	int ANY_RECEIVE_EVENT = 138;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.CreateObjectActionImpl <em>Create Object Action</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.uml2.uml.internal.impl.CreateObjectActionImpl
-	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getCreateObjectAction()
-	 * @generated
-	 */
-	int CREATE_OBJECT_ACTION = 169;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.DestroyObjectActionImpl <em>Destroy Object Action</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.uml2.uml.internal.impl.DestroyObjectActionImpl
-	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getDestroyObjectAction()
-	 * @generated
-	 */
-	int DESTROY_OBJECT_ACTION = 175;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.TestIdentityActionImpl <em>Test Identity Action</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.uml2.uml.internal.impl.TestIdentityActionImpl
-	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getTestIdentityAction()
-	 * @generated
-	 */
-	int TEST_IDENTITY_ACTION = 233;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.ReadSelfActionImpl <em>Read Self Action</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.uml2.uml.internal.impl.ReadSelfActionImpl
-	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getReadSelfAction()
-	 * @generated
-	 */
-	int READ_SELF_ACTION = 218;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.StructuralFeatureActionImpl <em>Structural Feature Action</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.uml2.uml.internal.impl.StructuralFeatureActionImpl
-	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getStructuralFeatureAction()
-	 * @generated
-	 */
-	int STRUCTURAL_FEATURE_ACTION = 134;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.ReadStructuralFeatureActionImpl <em>Read Structural Feature Action</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.uml2.uml.internal.impl.ReadStructuralFeatureActionImpl
-	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getReadStructuralFeatureAction()
-	 * @generated
-	 */
-	int READ_STRUCTURAL_FEATURE_ACTION = 219;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.WriteStructuralFeatureActionImpl <em>Write Structural Feature Action</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.uml2.uml.internal.impl.WriteStructuralFeatureActionImpl
-	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getWriteStructuralFeatureAction()
-	 * @generated
-	 */
-	int WRITE_STRUCTURAL_FEATURE_ACTION = 133;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.ClearStructuralFeatureActionImpl <em>Clear Structural Feature Action</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.uml2.uml.internal.impl.ClearStructuralFeatureActionImpl
-	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getClearStructuralFeatureAction()
-	 * @generated
-	 */
-	int CLEAR_STRUCTURAL_FEATURE_ACTION = 152;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.RemoveStructuralFeatureValueActionImpl <em>Remove Structural Feature Value Action</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.uml2.uml.internal.impl.RemoveStructuralFeatureValueActionImpl
-	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getRemoveStructuralFeatureValueAction()
-	 * @generated
-	 */
-	int REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION = 223;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.AddStructuralFeatureValueActionImpl <em>Add Structural Feature Value Action</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.uml2.uml.internal.impl.AddStructuralFeatureValueActionImpl
-	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getAddStructuralFeatureValueAction()
-	 * @generated
-	 */
-	int ADD_STRUCTURAL_FEATURE_VALUE_ACTION = 132;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.LinkActionImpl <em>Link Action</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.uml2.uml.internal.impl.LinkActionImpl
-	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getLinkAction()
-	 * @generated
-	 */
-	int LINK_ACTION = 164;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.LinkEndDataImpl <em>Link End Data</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.uml2.uml.internal.impl.LinkEndDataImpl
-	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getLinkEndData()
-	 * @generated
-	 */
-	int LINK_END_DATA = 165;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.QualifierValueImpl <em>Qualifier Value</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.uml2.uml.internal.impl.QualifierValueImpl
-	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getQualifierValue()
-	 * @generated
-	 */
-	int QUALIFIER_VALUE = 166;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.ReadLinkActionImpl <em>Read Link Action</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.uml2.uml.internal.impl.ReadLinkActionImpl
-	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getReadLinkAction()
-	 * @generated
-	 */
-	int READ_LINK_ACTION = 215;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.LinkEndCreationDataImpl <em>Link End Creation Data</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.uml2.uml.internal.impl.LinkEndCreationDataImpl
-	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getLinkEndCreationData()
-	 * @generated
-	 */
-	int LINK_END_CREATION_DATA = 167;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.WriteLinkActionImpl <em>Write Link Action</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.uml2.uml.internal.impl.WriteLinkActionImpl
-	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getWriteLinkAction()
-	 * @generated
-	 */
-	int WRITE_LINK_ACTION = 163;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.CreateLinkActionImpl <em>Create Link Action</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.uml2.uml.internal.impl.CreateLinkActionImpl
-	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getCreateLinkAction()
-	 * @generated
-	 */
-	int CREATE_LINK_ACTION = 162;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.DestroyLinkActionImpl <em>Destroy Link Action</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.uml2.uml.internal.impl.DestroyLinkActionImpl
-	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getDestroyLinkAction()
-	 * @generated
-	 */
-	int DESTROY_LINK_ACTION = 173;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.LinkEndDestructionDataImpl <em>Link End Destruction Data</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.uml2.uml.internal.impl.LinkEndDestructionDataImpl
-	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getLinkEndDestructionData()
-	 * @generated
-	 */
-	int LINK_END_DESTRUCTION_DATA = 174;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.ClearAssociationActionImpl <em>Clear Association Action</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.uml2.uml.internal.impl.ClearAssociationActionImpl
-	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getClearAssociationAction()
-	 * @generated
-	 */
-	int CLEAR_ASSOCIATION_ACTION = 151;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.InvocationActionImpl <em>Invocation Action</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.uml2.uml.internal.impl.InvocationActionImpl
-	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getInvocationAction()
-	 * @generated
-	 */
-	int INVOCATION_ACTION = 143;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.BroadcastSignalActionImpl <em>Broadcast Signal Action</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.uml2.uml.internal.impl.BroadcastSignalActionImpl
-	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getBroadcastSignalAction()
-	 * @generated
-	 */
-	int BROADCAST_SIGNAL_ACTION = 142;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.SendObjectActionImpl <em>Send Object Action</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.uml2.uml.internal.impl.SendObjectActionImpl
-	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getSendObjectAction()
-	 * @generated
-	 */
-	int SEND_OBJECT_ACTION = 226;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.ValueSpecificationActionImpl <em>Value Specification Action</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.uml2.uml.internal.impl.ValueSpecificationActionImpl
-	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getValueSpecificationAction()
-	 * @generated
-	 */
-	int VALUE_SPECIFICATION_ACTION = 241;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.TimeExpressionImpl <em>Time Expression</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.uml2.uml.internal.impl.TimeExpressionImpl
-	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getTimeExpression()
-	 * @generated
-	 */
-	int TIME_EXPRESSION = 236;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.DurationImpl <em>Duration</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.uml2.uml.internal.impl.DurationImpl
-	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getDuration()
-	 * @generated
-	 */
-	int DURATION = 180;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.ValuePinImpl <em>Value Pin</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.uml2.uml.internal.impl.ValuePinImpl
-	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getValuePin()
-	 * @generated
-	 */
-	int VALUE_PIN = 240;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.IntervalImpl <em>Interval</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.uml2.uml.internal.impl.IntervalImpl
-	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getInterval()
-	 * @generated
-	 */
-	int INTERVAL = 184;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.DurationIntervalImpl <em>Duration Interval</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.uml2.uml.internal.impl.DurationIntervalImpl
-	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getDurationInterval()
-	 * @generated
-	 */
-	int DURATION_INTERVAL = 185;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.IntervalConstraintImpl <em>Interval Constraint</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.uml2.uml.internal.impl.IntervalConstraintImpl
-	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getIntervalConstraint()
-	 * @generated
-	 */
-	int INTERVAL_CONSTRAINT = 183;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.TimeConstraintImpl <em>Time Constraint</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.uml2.uml.internal.impl.TimeConstraintImpl
-	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getTimeConstraint()
-	 * @generated
-	 */
-	int TIME_CONSTRAINT = 234;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.TimeIntervalImpl <em>Time Interval</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.uml2.uml.internal.impl.TimeIntervalImpl
-	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getTimeInterval()
-	 * @generated
-	 */
-	int TIME_INTERVAL = 235;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.DurationConstraintImpl <em>Duration Constraint</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.uml2.uml.internal.impl.DurationConstraintImpl
-	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getDurationConstraint()
-	 * @generated
-	 */
-	int DURATION_CONSTRAINT = 182;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.OpaqueActionImpl <em>Opaque Action</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.uml2.uml.internal.impl.OpaqueActionImpl
-	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getOpaqueAction()
-	 * @generated
-	 */
-	int OPAQUE_ACTION = 210;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.CallActionImpl <em>Call Action</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.uml2.uml.internal.impl.CallActionImpl
-	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getCallAction()
-	 * @generated
-	 */
-	int CALL_ACTION = 144;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.SendSignalActionImpl <em>Send Signal Action</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.uml2.uml.internal.impl.SendSignalActionImpl
-	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getSendSignalAction()
-	 * @generated
-	 */
-	int SEND_SIGNAL_ACTION = 227;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.CallOperationActionImpl <em>Call Operation Action</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.uml2.uml.internal.impl.CallOperationActionImpl
-	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getCallOperationAction()
-	 * @generated
-	 */
-	int CALL_OPERATION_ACTION = 147;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.CallBehaviorActionImpl <em>Call Behavior Action</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.uml2.uml.internal.impl.CallBehaviorActionImpl
-	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getCallBehaviorAction()
-	 * @generated
-	 */
-	int CALL_BEHAVIOR_ACTION = 145;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.InformationItemImpl <em>Information Item</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.uml2.uml.internal.impl.InformationItemImpl
-	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getInformationItem()
-	 * @generated
-	 */
-	int INFORMATION_ITEM = 197;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.InformationFlowImpl <em>Information Flow</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.uml2.uml.internal.impl.InformationFlowImpl
-	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getInformationFlow()
-	 * @generated
-	 */
-	int INFORMATION_FLOW = 196;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.ModelImpl <em>Model</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.uml2.uml.internal.impl.ModelImpl
-	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getModel()
-	 * @generated
-	 */
-	int MODEL = 70;
-
-	/**
 	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -8621,15 +8233,6 @@
 	int STRUCTURED_CLASSIFIER___MUST_BE_OWNED = CLASSIFIER___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int STRUCTURED_CLASSIFIER___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = CLASSIFIER___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -8648,6 +8251,15 @@
 	int STRUCTURED_CLASSIFIER___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = CLASSIFIER___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STRUCTURED_CLASSIFIER___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = CLASSIFIER___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -8945,24 +8557,6 @@
 	int STRUCTURED_CLASSIFIER___PARAMETERABLE_ELEMENTS = CLASSIFIER___PARAMETERABLE_ELEMENTS;
 
 	/**
-	 * The operation id for the '<em>Validate Specialize Type</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int STRUCTURED_CLASSIFIER___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP = CLASSIFIER___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Validate Maps To Generalization Set</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int STRUCTURED_CLASSIFIER___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP = CLASSIFIER___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Non Final Parents</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -8981,6 +8575,24 @@
 	int STRUCTURED_CLASSIFIER___VALIDATE_NO_CYCLES_IN_GENERALIZATION__DIAGNOSTICCHAIN_MAP = CLASSIFIER___VALIDATE_NO_CYCLES_IN_GENERALIZATION__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Specialize Type</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STRUCTURED_CLASSIFIER___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP = CLASSIFIER___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Validate Maps To Generalization Set</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STRUCTURED_CLASSIFIER___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP = CLASSIFIER___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Get All Attributes</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -9899,15 +9511,6 @@
 	int ENCAPSULATED_CLASSIFIER___MUST_BE_OWNED = STRUCTURED_CLASSIFIER___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ENCAPSULATED_CLASSIFIER___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = STRUCTURED_CLASSIFIER___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -9926,6 +9529,15 @@
 	int ENCAPSULATED_CLASSIFIER___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = STRUCTURED_CLASSIFIER___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENCAPSULATED_CLASSIFIER___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = STRUCTURED_CLASSIFIER___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -10223,24 +9835,6 @@
 	int ENCAPSULATED_CLASSIFIER___PARAMETERABLE_ELEMENTS = STRUCTURED_CLASSIFIER___PARAMETERABLE_ELEMENTS;
 
 	/**
-	 * The operation id for the '<em>Validate Specialize Type</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ENCAPSULATED_CLASSIFIER___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP = STRUCTURED_CLASSIFIER___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Validate Maps To Generalization Set</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ENCAPSULATED_CLASSIFIER___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP = STRUCTURED_CLASSIFIER___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Non Final Parents</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -10259,6 +9853,24 @@
 	int ENCAPSULATED_CLASSIFIER___VALIDATE_NO_CYCLES_IN_GENERALIZATION__DIAGNOSTICCHAIN_MAP = STRUCTURED_CLASSIFIER___VALIDATE_NO_CYCLES_IN_GENERALIZATION__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Specialize Type</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENCAPSULATED_CLASSIFIER___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP = STRUCTURED_CLASSIFIER___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Validate Maps To Generalization Set</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENCAPSULATED_CLASSIFIER___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP = STRUCTURED_CLASSIFIER___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Get All Attributes</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -11267,15 +10879,6 @@
 	int CLASS___MUST_BE_OWNED = ENCAPSULATED_CLASSIFIER___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CLASS___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = ENCAPSULATED_CLASSIFIER___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -11294,6 +10897,15 @@
 	int CLASS___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = ENCAPSULATED_CLASSIFIER___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CLASS___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = ENCAPSULATED_CLASSIFIER___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -11591,24 +11203,6 @@
 	int CLASS___PARAMETERABLE_ELEMENTS = ENCAPSULATED_CLASSIFIER___PARAMETERABLE_ELEMENTS;
 
 	/**
-	 * The operation id for the '<em>Validate Specialize Type</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CLASS___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP = ENCAPSULATED_CLASSIFIER___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Validate Maps To Generalization Set</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CLASS___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP = ENCAPSULATED_CLASSIFIER___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Non Final Parents</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -11627,6 +11221,24 @@
 	int CLASS___VALIDATE_NO_CYCLES_IN_GENERALIZATION__DIAGNOSTICCHAIN_MAP = ENCAPSULATED_CLASSIFIER___VALIDATE_NO_CYCLES_IN_GENERALIZATION__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Specialize Type</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CLASS___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP = ENCAPSULATED_CLASSIFIER___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Validate Maps To Generalization Set</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CLASS___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP = ENCAPSULATED_CLASSIFIER___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Get All Attributes</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -12725,15 +12337,6 @@
 	int STEREOTYPE___MUST_BE_OWNED = CLASS___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int STEREOTYPE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = CLASS___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -12752,6 +12355,15 @@
 	int STEREOTYPE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = CLASS___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STEREOTYPE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = CLASS___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -13049,24 +12661,6 @@
 	int STEREOTYPE___PARAMETERABLE_ELEMENTS = CLASS___PARAMETERABLE_ELEMENTS;
 
 	/**
-	 * The operation id for the '<em>Validate Specialize Type</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int STEREOTYPE___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP = CLASS___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Validate Maps To Generalization Set</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int STEREOTYPE___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP = CLASS___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Non Final Parents</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -13085,6 +12679,24 @@
 	int STEREOTYPE___VALIDATE_NO_CYCLES_IN_GENERALIZATION__DIAGNOSTICCHAIN_MAP = CLASS___VALIDATE_NO_CYCLES_IN_GENERALIZATION__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Specialize Type</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STEREOTYPE___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP = CLASS___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Validate Maps To Generalization Set</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STEREOTYPE___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP = CLASS___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Get All Attributes</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -13346,22 +12958,13 @@
 	int STEREOTYPE___GET_SUPER_CLASSES = CLASS___GET_SUPER_CLASSES;
 
 	/**
-	 * The operation id for the '<em>Validate Binary Associations Only</em>' operation.
+	 * The operation id for the '<em>Validate Association End Ownership</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int STEREOTYPE___VALIDATE_BINARY_ASSOCIATIONS_ONLY__DIAGNOSTICCHAIN_MAP = CLASS_OPERATION_COUNT + 0;
-
-	/**
-	 * The operation id for the '<em>Validate Generalize</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int STEREOTYPE___VALIDATE_GENERALIZE__DIAGNOSTICCHAIN_MAP = CLASS_OPERATION_COUNT + 1;
+	int STEREOTYPE___VALIDATE_ASSOCIATION_END_OWNERSHIP__DIAGNOSTICCHAIN_MAP = CLASS_OPERATION_COUNT + 0;
 
 	/**
 	 * The operation id for the '<em>Validate Name Not Clash</em>' operation.
@@ -13370,16 +12973,25 @@
 	 * @generated
 	 * @ordered
 	 */
-	int STEREOTYPE___VALIDATE_NAME_NOT_CLASH__DIAGNOSTICCHAIN_MAP = CLASS_OPERATION_COUNT + 2;
+	int STEREOTYPE___VALIDATE_NAME_NOT_CLASH__DIAGNOSTICCHAIN_MAP = CLASS_OPERATION_COUNT + 1;
 
 	/**
-	 * The operation id for the '<em>Validate Association End Ownership</em>' operation.
+	 * The operation id for the '<em>Validate Binary Associations Only</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int STEREOTYPE___VALIDATE_ASSOCIATION_END_OWNERSHIP__DIAGNOSTICCHAIN_MAP = CLASS_OPERATION_COUNT + 3;
+	int STEREOTYPE___VALIDATE_BINARY_ASSOCIATIONS_ONLY__DIAGNOSTICCHAIN_MAP = CLASS_OPERATION_COUNT + 2;
+
+	/**
+	 * The operation id for the '<em>Validate Generalize</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STEREOTYPE___VALIDATE_GENERALIZE__DIAGNOSTICCHAIN_MAP = CLASS_OPERATION_COUNT + 3;
 
 	/**
 	 * The operation id for the '<em>Create Extension</em>' operation.
@@ -13487,1266 +13099,6 @@
 	 * @generated
 	 * @ordered
 	 */
-	int BEHAVIORED_CLASSIFIER__EANNOTATIONS = CLASSIFIER__EANNOTATIONS;
-
-	/**
-	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER__OWNED_COMMENT = CLASSIFIER__OWNED_COMMENT;
-
-	/**
-	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER__OWNED_ELEMENT = CLASSIFIER__OWNED_ELEMENT;
-
-	/**
-	 * The feature id for the '<em><b>Owner</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER__OWNER = CLASSIFIER__OWNER;
-
-	/**
-	 * The feature id for the '<em><b>Client Dependency</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER__CLIENT_DEPENDENCY = CLASSIFIER__CLIENT_DEPENDENCY;
-
-	/**
-	 * The feature id for the '<em><b>Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER__NAME = CLASSIFIER__NAME;
-
-	/**
-	 * The feature id for the '<em><b>Name Expression</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER__NAME_EXPRESSION = CLASSIFIER__NAME_EXPRESSION;
-
-	/**
-	 * The feature id for the '<em><b>Namespace</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER__NAMESPACE = CLASSIFIER__NAMESPACE;
-
-	/**
-	 * The feature id for the '<em><b>Qualified Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER__QUALIFIED_NAME = CLASSIFIER__QUALIFIED_NAME;
-
-	/**
-	 * The feature id for the '<em><b>Visibility</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER__VISIBILITY = CLASSIFIER__VISIBILITY;
-
-	/**
-	 * The feature id for the '<em><b>Element Import</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER__ELEMENT_IMPORT = CLASSIFIER__ELEMENT_IMPORT;
-
-	/**
-	 * The feature id for the '<em><b>Package Import</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER__PACKAGE_IMPORT = CLASSIFIER__PACKAGE_IMPORT;
-
-	/**
-	 * The feature id for the '<em><b>Owned Rule</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER__OWNED_RULE = CLASSIFIER__OWNED_RULE;
-
-	/**
-	 * The feature id for the '<em><b>Owned Member</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER__OWNED_MEMBER = CLASSIFIER__OWNED_MEMBER;
-
-	/**
-	 * The feature id for the '<em><b>Imported Member</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER__IMPORTED_MEMBER = CLASSIFIER__IMPORTED_MEMBER;
-
-	/**
-	 * The feature id for the '<em><b>Member</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER__MEMBER = CLASSIFIER__MEMBER;
-
-	/**
-	 * The feature id for the '<em><b>Is Leaf</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER__IS_LEAF = CLASSIFIER__IS_LEAF;
-
-	/**
-	 * The feature id for the '<em><b>Redefined Element</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER__REDEFINED_ELEMENT = CLASSIFIER__REDEFINED_ELEMENT;
-
-	/**
-	 * The feature id for the '<em><b>Redefinition Context</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER__REDEFINITION_CONTEXT = CLASSIFIER__REDEFINITION_CONTEXT;
-
-	/**
-	 * The feature id for the '<em><b>Owning Template Parameter</b></em>' container reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER__OWNING_TEMPLATE_PARAMETER = CLASSIFIER__OWNING_TEMPLATE_PARAMETER;
-
-	/**
-	 * The feature id for the '<em><b>Template Parameter</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER__TEMPLATE_PARAMETER = CLASSIFIER__TEMPLATE_PARAMETER;
-
-	/**
-	 * The feature id for the '<em><b>Package</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER__PACKAGE = CLASSIFIER__PACKAGE;
-
-	/**
-	 * The feature id for the '<em><b>Owned Template Signature</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER__OWNED_TEMPLATE_SIGNATURE = CLASSIFIER__OWNED_TEMPLATE_SIGNATURE;
-
-	/**
-	 * The feature id for the '<em><b>Template Binding</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER__TEMPLATE_BINDING = CLASSIFIER__TEMPLATE_BINDING;
-
-	/**
-	 * The feature id for the '<em><b>Feature</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER__FEATURE = CLASSIFIER__FEATURE;
-
-	/**
-	 * The feature id for the '<em><b>Attribute</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER__ATTRIBUTE = CLASSIFIER__ATTRIBUTE;
-
-	/**
-	 * The feature id for the '<em><b>Collaboration Use</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER__COLLABORATION_USE = CLASSIFIER__COLLABORATION_USE;
-
-	/**
-	 * The feature id for the '<em><b>General</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER__GENERAL = CLASSIFIER__GENERAL;
-
-	/**
-	 * The feature id for the '<em><b>Generalization</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER__GENERALIZATION = CLASSIFIER__GENERALIZATION;
-
-	/**
-	 * The feature id for the '<em><b>Powertype Extent</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER__POWERTYPE_EXTENT = CLASSIFIER__POWERTYPE_EXTENT;
-
-	/**
-	 * The feature id for the '<em><b>Inherited Member</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER__INHERITED_MEMBER = CLASSIFIER__INHERITED_MEMBER;
-
-	/**
-	 * The feature id for the '<em><b>Is Abstract</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER__IS_ABSTRACT = CLASSIFIER__IS_ABSTRACT;
-
-	/**
-	 * The feature id for the '<em><b>Is Final Specialization</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER__IS_FINAL_SPECIALIZATION = CLASSIFIER__IS_FINAL_SPECIALIZATION;
-
-	/**
-	 * The feature id for the '<em><b>Owned Use Case</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER__OWNED_USE_CASE = CLASSIFIER__OWNED_USE_CASE;
-
-	/**
-	 * The feature id for the '<em><b>Use Case</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER__USE_CASE = CLASSIFIER__USE_CASE;
-
-	/**
-	 * The feature id for the '<em><b>Redefined Classifier</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER__REDEFINED_CLASSIFIER = CLASSIFIER__REDEFINED_CLASSIFIER;
-
-	/**
-	 * The feature id for the '<em><b>Representation</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER__REPRESENTATION = CLASSIFIER__REPRESENTATION;
-
-	/**
-	 * The feature id for the '<em><b>Substitution</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER__SUBSTITUTION = CLASSIFIER__SUBSTITUTION;
-
-	/**
-	 * The feature id for the '<em><b>Classifier Behavior</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER__CLASSIFIER_BEHAVIOR = CLASSIFIER_FEATURE_COUNT + 0;
-
-	/**
-	 * The feature id for the '<em><b>Interface Realization</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER__INTERFACE_REALIZATION = CLASSIFIER_FEATURE_COUNT + 1;
-
-	/**
-	 * The feature id for the '<em><b>Owned Behavior</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER__OWNED_BEHAVIOR = CLASSIFIER_FEATURE_COUNT + 2;
-
-	/**
-	 * The number of structural features of the '<em>Behaviored Classifier</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER_FEATURE_COUNT = CLASSIFIER_FEATURE_COUNT + 3;
-
-	/**
-	 * The operation id for the '<em>Get EAnnotation</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER___GET_EANNOTATION__STRING = CLASSIFIER___GET_EANNOTATION__STRING;
-
-	/**
-	 * The operation id for the '<em>Validate Has Owner</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP = CLASSIFIER___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Validate Not Own Self</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP = CLASSIFIER___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Add Keyword</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER___ADD_KEYWORD__STRING = CLASSIFIER___ADD_KEYWORD__STRING;
-
-	/**
-	 * The operation id for the '<em>Apply Stereotype</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER___APPLY_STEREOTYPE__STEREOTYPE = CLASSIFIER___APPLY_STEREOTYPE__STEREOTYPE;
-
-	/**
-	 * The operation id for the '<em>Create EAnnotation</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER___CREATE_EANNOTATION__STRING = CLASSIFIER___CREATE_EANNOTATION__STRING;
-
-	/**
-	 * The operation id for the '<em>Destroy</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER___DESTROY = CLASSIFIER___DESTROY;
-
-	/**
-	 * The operation id for the '<em>Get Keywords</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER___GET_KEYWORDS = CLASSIFIER___GET_KEYWORDS;
-
-	/**
-	 * The operation id for the '<em>Get Applicable Stereotype</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER___GET_APPLICABLE_STEREOTYPE__STRING = CLASSIFIER___GET_APPLICABLE_STEREOTYPE__STRING;
-
-	/**
-	 * The operation id for the '<em>Get Applicable Stereotypes</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER___GET_APPLICABLE_STEREOTYPES = CLASSIFIER___GET_APPLICABLE_STEREOTYPES;
-
-	/**
-	 * The operation id for the '<em>Get Applied Stereotype</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER___GET_APPLIED_STEREOTYPE__STRING = CLASSIFIER___GET_APPLIED_STEREOTYPE__STRING;
-
-	/**
-	 * The operation id for the '<em>Get Applied Stereotypes</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER___GET_APPLIED_STEREOTYPES = CLASSIFIER___GET_APPLIED_STEREOTYPES;
-
-	/**
-	 * The operation id for the '<em>Get Applied Substereotype</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING = CLASSIFIER___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING;
-
-	/**
-	 * The operation id for the '<em>Get Applied Substereotypes</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE = CLASSIFIER___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE;
-
-	/**
-	 * The operation id for the '<em>Get Model</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER___GET_MODEL = CLASSIFIER___GET_MODEL;
-
-	/**
-	 * The operation id for the '<em>Get Nearest Package</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER___GET_NEAREST_PACKAGE = CLASSIFIER___GET_NEAREST_PACKAGE;
-
-	/**
-	 * The operation id for the '<em>Get Relationships</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER___GET_RELATIONSHIPS = CLASSIFIER___GET_RELATIONSHIPS;
-
-	/**
-	 * The operation id for the '<em>Get Relationships</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER___GET_RELATIONSHIPS__ECLASS = CLASSIFIER___GET_RELATIONSHIPS__ECLASS;
-
-	/**
-	 * The operation id for the '<em>Get Required Stereotype</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER___GET_REQUIRED_STEREOTYPE__STRING = CLASSIFIER___GET_REQUIRED_STEREOTYPE__STRING;
-
-	/**
-	 * The operation id for the '<em>Get Required Stereotypes</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER___GET_REQUIRED_STEREOTYPES = CLASSIFIER___GET_REQUIRED_STEREOTYPES;
-
-	/**
-	 * The operation id for the '<em>Get Source Directed Relationships</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER___GET_SOURCE_DIRECTED_RELATIONSHIPS = CLASSIFIER___GET_SOURCE_DIRECTED_RELATIONSHIPS;
-
-	/**
-	 * The operation id for the '<em>Get Source Directed Relationships</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS = CLASSIFIER___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS;
-
-	/**
-	 * The operation id for the '<em>Get Stereotype Application</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER___GET_STEREOTYPE_APPLICATION__STEREOTYPE = CLASSIFIER___GET_STEREOTYPE_APPLICATION__STEREOTYPE;
-
-	/**
-	 * The operation id for the '<em>Get Stereotype Applications</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER___GET_STEREOTYPE_APPLICATIONS = CLASSIFIER___GET_STEREOTYPE_APPLICATIONS;
-
-	/**
-	 * The operation id for the '<em>Get Target Directed Relationships</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER___GET_TARGET_DIRECTED_RELATIONSHIPS = CLASSIFIER___GET_TARGET_DIRECTED_RELATIONSHIPS;
-
-	/**
-	 * The operation id for the '<em>Get Target Directed Relationships</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS = CLASSIFIER___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS;
-
-	/**
-	 * The operation id for the '<em>Get Value</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER___GET_VALUE__STEREOTYPE_STRING = CLASSIFIER___GET_VALUE__STEREOTYPE_STRING;
-
-	/**
-	 * The operation id for the '<em>Has Keyword</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER___HAS_KEYWORD__STRING = CLASSIFIER___HAS_KEYWORD__STRING;
-
-	/**
-	 * The operation id for the '<em>Has Value</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER___HAS_VALUE__STEREOTYPE_STRING = CLASSIFIER___HAS_VALUE__STEREOTYPE_STRING;
-
-	/**
-	 * The operation id for the '<em>Is Stereotype Applicable</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER___IS_STEREOTYPE_APPLICABLE__STEREOTYPE = CLASSIFIER___IS_STEREOTYPE_APPLICABLE__STEREOTYPE;
-
-	/**
-	 * The operation id for the '<em>Is Stereotype Applied</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER___IS_STEREOTYPE_APPLIED__STEREOTYPE = CLASSIFIER___IS_STEREOTYPE_APPLIED__STEREOTYPE;
-
-	/**
-	 * The operation id for the '<em>Is Stereotype Required</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER___IS_STEREOTYPE_REQUIRED__STEREOTYPE = CLASSIFIER___IS_STEREOTYPE_REQUIRED__STEREOTYPE;
-
-	/**
-	 * The operation id for the '<em>Remove Keyword</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER___REMOVE_KEYWORD__STRING = CLASSIFIER___REMOVE_KEYWORD__STRING;
-
-	/**
-	 * The operation id for the '<em>Set Value</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER___SET_VALUE__STEREOTYPE_STRING_OBJECT = CLASSIFIER___SET_VALUE__STEREOTYPE_STRING_OBJECT;
-
-	/**
-	 * The operation id for the '<em>Unapply Stereotype</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER___UNAPPLY_STEREOTYPE__STEREOTYPE = CLASSIFIER___UNAPPLY_STEREOTYPE__STEREOTYPE;
-
-	/**
-	 * The operation id for the '<em>All Owned Elements</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER___ALL_OWNED_ELEMENTS = CLASSIFIER___ALL_OWNED_ELEMENTS;
-
-	/**
-	 * The operation id for the '<em>Must Be Owned</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER___MUST_BE_OWNED = CLASSIFIER___MUST_BE_OWNED;
-
-	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = CLASSIFIER___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = CLASSIFIER___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Validate Has No Qualified Name</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = CLASSIFIER___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Create Dependency</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER___CREATE_DEPENDENCY__NAMEDELEMENT = CLASSIFIER___CREATE_DEPENDENCY__NAMEDELEMENT;
-
-	/**
-	 * The operation id for the '<em>Create Usage</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER___CREATE_USAGE__NAMEDELEMENT = CLASSIFIER___CREATE_USAGE__NAMEDELEMENT;
-
-	/**
-	 * The operation id for the '<em>Get Label</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER___GET_LABEL = CLASSIFIER___GET_LABEL;
-
-	/**
-	 * The operation id for the '<em>Get Label</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER___GET_LABEL__BOOLEAN = CLASSIFIER___GET_LABEL__BOOLEAN;
-
-	/**
-	 * The operation id for the '<em>All Namespaces</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER___ALL_NAMESPACES = CLASSIFIER___ALL_NAMESPACES;
-
-	/**
-	 * The operation id for the '<em>All Owning Packages</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER___ALL_OWNING_PACKAGES = CLASSIFIER___ALL_OWNING_PACKAGES;
-
-	/**
-	 * The operation id for the '<em>Is Distinguishable From</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE = CLASSIFIER___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE;
-
-	/**
-	 * The operation id for the '<em>Get Namespace</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER___GET_NAMESPACE = CLASSIFIER___GET_NAMESPACE;
-
-	/**
-	 * The operation id for the '<em>Get Qualified Name</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER___GET_QUALIFIED_NAME = CLASSIFIER___GET_QUALIFIED_NAME;
-
-	/**
-	 * The operation id for the '<em>Separator</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER___SEPARATOR = CLASSIFIER___SEPARATOR;
-
-	/**
-	 * The operation id for the '<em>Validate Members Distinguishable</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER___VALIDATE_MEMBERS_DISTINGUISHABLE__DIAGNOSTICCHAIN_MAP = CLASSIFIER___VALIDATE_MEMBERS_DISTINGUISHABLE__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Create Element Import</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER___CREATE_ELEMENT_IMPORT__PACKAGEABLEELEMENT_VISIBILITYKIND = CLASSIFIER___CREATE_ELEMENT_IMPORT__PACKAGEABLEELEMENT_VISIBILITYKIND;
-
-	/**
-	 * The operation id for the '<em>Create Package Import</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER___CREATE_PACKAGE_IMPORT__PACKAGE_VISIBILITYKIND = CLASSIFIER___CREATE_PACKAGE_IMPORT__PACKAGE_VISIBILITYKIND;
-
-	/**
-	 * The operation id for the '<em>Get Imported Elements</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER___GET_IMPORTED_ELEMENTS = CLASSIFIER___GET_IMPORTED_ELEMENTS;
-
-	/**
-	 * The operation id for the '<em>Get Imported Packages</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER___GET_IMPORTED_PACKAGES = CLASSIFIER___GET_IMPORTED_PACKAGES;
-
-	/**
-	 * The operation id for the '<em>Exclude Collisions</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER___EXCLUDE_COLLISIONS__ELIST = CLASSIFIER___EXCLUDE_COLLISIONS__ELIST;
-
-	/**
-	 * The operation id for the '<em>Get Names Of Member</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER___GET_NAMES_OF_MEMBER__NAMEDELEMENT = CLASSIFIER___GET_NAMES_OF_MEMBER__NAMEDELEMENT;
-
-	/**
-	 * The operation id for the '<em>Import Members</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER___IMPORT_MEMBERS__ELIST = CLASSIFIER___IMPORT_MEMBERS__ELIST;
-
-	/**
-	 * The operation id for the '<em>Get Imported Members</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER___GET_IMPORTED_MEMBERS = CLASSIFIER___GET_IMPORTED_MEMBERS;
-
-	/**
-	 * The operation id for the '<em>Members Are Distinguishable</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER___MEMBERS_ARE_DISTINGUISHABLE = CLASSIFIER___MEMBERS_ARE_DISTINGUISHABLE;
-
-	/**
-	 * The operation id for the '<em>Get Owned Members</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER___GET_OWNED_MEMBERS = CLASSIFIER___GET_OWNED_MEMBERS;
-
-	/**
-	 * The operation id for the '<em>Validate Redefinition Consistent</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP = CLASSIFIER___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Validate Non Leaf Redefinition</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP = CLASSIFIER___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Validate Redefinition Context Valid</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP = CLASSIFIER___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Is Consistent With</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER___IS_CONSISTENT_WITH__REDEFINABLEELEMENT = CLASSIFIER___IS_CONSISTENT_WITH__REDEFINABLEELEMENT;
-
-	/**
-	 * The operation id for the '<em>Is Redefinition Context Valid</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT = CLASSIFIER___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT;
-
-	/**
-	 * The operation id for the '<em>Is Compatible With</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER___IS_COMPATIBLE_WITH__PARAMETERABLEELEMENT = CLASSIFIER___IS_COMPATIBLE_WITH__PARAMETERABLEELEMENT;
-
-	/**
-	 * The operation id for the '<em>Is Template Parameter</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER___IS_TEMPLATE_PARAMETER = CLASSIFIER___IS_TEMPLATE_PARAMETER;
-
-	/**
-	 * The operation id for the '<em>Create Association</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER___CREATE_ASSOCIATION__BOOLEAN_AGGREGATIONKIND_STRING_INT_INT_TYPE_BOOLEAN_AGGREGATIONKIND_STRING_INT_INT = CLASSIFIER___CREATE_ASSOCIATION__BOOLEAN_AGGREGATIONKIND_STRING_INT_INT_TYPE_BOOLEAN_AGGREGATIONKIND_STRING_INT_INT;
-
-	/**
-	 * The operation id for the '<em>Get Associations</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER___GET_ASSOCIATIONS = CLASSIFIER___GET_ASSOCIATIONS;
-
-	/**
-	 * The operation id for the '<em>Conforms To</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER___CONFORMS_TO__TYPE = CLASSIFIER___CONFORMS_TO__TYPE;
-
-	/**
-	 * The operation id for the '<em>Is Template</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER___IS_TEMPLATE = CLASSIFIER___IS_TEMPLATE;
-
-	/**
-	 * The operation id for the '<em>Parameterable Elements</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER___PARAMETERABLE_ELEMENTS = CLASSIFIER___PARAMETERABLE_ELEMENTS;
-
-	/**
-	 * The operation id for the '<em>Validate Specialize Type</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP = CLASSIFIER___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Validate Maps To Generalization Set</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP = CLASSIFIER___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Validate Non Final Parents</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER___VALIDATE_NON_FINAL_PARENTS__DIAGNOSTICCHAIN_MAP = CLASSIFIER___VALIDATE_NON_FINAL_PARENTS__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Validate No Cycles In Generalization</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER___VALIDATE_NO_CYCLES_IN_GENERALIZATION__DIAGNOSTICCHAIN_MAP = CLASSIFIER___VALIDATE_NO_CYCLES_IN_GENERALIZATION__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Get All Attributes</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER___GET_ALL_ATTRIBUTES = CLASSIFIER___GET_ALL_ATTRIBUTES;
-
-	/**
-	 * The operation id for the '<em>Get All Operations</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER___GET_ALL_OPERATIONS = CLASSIFIER___GET_ALL_OPERATIONS;
-
-	/**
-	 * The operation id for the '<em>Get All Used Interfaces</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER___GET_ALL_USED_INTERFACES = CLASSIFIER___GET_ALL_USED_INTERFACES;
-
-	/**
-	 * The operation id for the '<em>Get Operation</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER___GET_OPERATION__STRING_ELIST_ELIST = CLASSIFIER___GET_OPERATION__STRING_ELIST_ELIST;
-
-	/**
-	 * The operation id for the '<em>Get Operation</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER___GET_OPERATION__STRING_ELIST_ELIST_BOOLEAN = CLASSIFIER___GET_OPERATION__STRING_ELIST_ELIST_BOOLEAN;
-
-	/**
-	 * The operation id for the '<em>Get Operations</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER___GET_OPERATIONS = CLASSIFIER___GET_OPERATIONS;
-
-	/**
-	 * The operation id for the '<em>Get Used Interfaces</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER___GET_USED_INTERFACES = CLASSIFIER___GET_USED_INTERFACES;
-
-	/**
-	 * The operation id for the '<em>All Features</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER___ALL_FEATURES = CLASSIFIER___ALL_FEATURES;
-
-	/**
-	 * The operation id for the '<em>All Parents</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER___ALL_PARENTS = CLASSIFIER___ALL_PARENTS;
-
-	/**
-	 * The operation id for the '<em>Conforms To</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER___CONFORMS_TO__CLASSIFIER = CLASSIFIER___CONFORMS_TO__CLASSIFIER;
-
-	/**
-	 * The operation id for the '<em>Get Generals</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER___GET_GENERALS = CLASSIFIER___GET_GENERALS;
-
-	/**
-	 * The operation id for the '<em>Has Visibility Of</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER___HAS_VISIBILITY_OF__NAMEDELEMENT = CLASSIFIER___HAS_VISIBILITY_OF__NAMEDELEMENT;
-
-	/**
-	 * The operation id for the '<em>Inherit</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER___INHERIT__ELIST = CLASSIFIER___INHERIT__ELIST;
-
-	/**
-	 * The operation id for the '<em>Inheritable Members</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER___INHERITABLE_MEMBERS__CLASSIFIER = CLASSIFIER___INHERITABLE_MEMBERS__CLASSIFIER;
-
-	/**
-	 * The operation id for the '<em>Get Inherited Members</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER___GET_INHERITED_MEMBERS = CLASSIFIER___GET_INHERITED_MEMBERS;
-
-	/**
-	 * The operation id for the '<em>May Specialize Type</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER___MAY_SPECIALIZE_TYPE__CLASSIFIER = CLASSIFIER___MAY_SPECIALIZE_TYPE__CLASSIFIER;
-
-	/**
-	 * The operation id for the '<em>Parents</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER___PARENTS = CLASSIFIER___PARENTS;
-
-	/**
-	 * The operation id for the '<em>Validate Class Behavior</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER___VALIDATE_CLASS_BEHAVIOR__DIAGNOSTICCHAIN_MAP = CLASSIFIER_OPERATION_COUNT + 0;
-
-	/**
-	 * The operation id for the '<em>Get All Implemented Interfaces</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER___GET_ALL_IMPLEMENTED_INTERFACES = CLASSIFIER_OPERATION_COUNT + 1;
-
-	/**
-	 * The operation id for the '<em>Get Implemented Interfaces</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER___GET_IMPLEMENTED_INTERFACES = CLASSIFIER_OPERATION_COUNT + 2;
-
-	/**
-	 * The number of operations of the '<em>Behaviored Classifier</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORED_CLASSIFIER_OPERATION_COUNT = CLASSIFIER_OPERATION_COUNT + 3;
-
-	/**
-	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
 	int VALUE_SPECIFICATION__EANNOTATIONS = PACKAGEABLE_ELEMENT__EANNOTATIONS;
 
 	/**
@@ -15200,15 +13552,6 @@
 	int VALUE_SPECIFICATION___MUST_BE_OWNED = PACKAGEABLE_ELEMENT___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int VALUE_SPECIFICATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = PACKAGEABLE_ELEMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -15227,6 +13570,15 @@
 	int VALUE_SPECIFICATION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = PACKAGEABLE_ELEMENT___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int VALUE_SPECIFICATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = PACKAGEABLE_ELEMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -15884,15 +14236,6 @@
 	int EXPRESSION___MUST_BE_OWNED = VALUE_SPECIFICATION___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int EXPRESSION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = VALUE_SPECIFICATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -15911,6 +14254,15 @@
 	int EXPRESSION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = VALUE_SPECIFICATION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EXPRESSION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = VALUE_SPECIFICATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -16604,15 +14956,6 @@
 	int STRING_EXPRESSION___MUST_BE_OWNED = EXPRESSION___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int STRING_EXPRESSION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = EXPRESSION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -16631,6 +14974,15 @@
 	int STRING_EXPRESSION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = EXPRESSION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STRING_EXPRESSION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = EXPRESSION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -16820,22 +15172,22 @@
 	int STRING_EXPRESSION___PARAMETERABLE_ELEMENTS = EXPRESSION_OPERATION_COUNT + 1;
 
 	/**
-	 * The operation id for the '<em>Validate Operands</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int STRING_EXPRESSION___VALIDATE_OPERANDS__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 2;
-
-	/**
 	 * The operation id for the '<em>Validate Subexpressions</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int STRING_EXPRESSION___VALIDATE_SUBEXPRESSIONS__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 3;
+	int STRING_EXPRESSION___VALIDATE_SUBEXPRESSIONS__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 2;
+
+	/**
+	 * The operation id for the '<em>Validate Operands</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STRING_EXPRESSION___VALIDATE_OPERANDS__DIAGNOSTICCHAIN_MAP = EXPRESSION_OPERATION_COUNT + 3;
 
 	/**
 	 * The number of operations of the '<em>String Expression</em>' class.
@@ -16853,6 +15205,2274 @@
 	 * @generated
 	 * @ordered
 	 */
+	int TYPED_ELEMENT__EANNOTATIONS = NAMED_ELEMENT__EANNOTATIONS;
+
+	/**
+	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPED_ELEMENT__OWNED_COMMENT = NAMED_ELEMENT__OWNED_COMMENT;
+
+	/**
+	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPED_ELEMENT__OWNED_ELEMENT = NAMED_ELEMENT__OWNED_ELEMENT;
+
+	/**
+	 * The feature id for the '<em><b>Owner</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPED_ELEMENT__OWNER = NAMED_ELEMENT__OWNER;
+
+	/**
+	 * The feature id for the '<em><b>Client Dependency</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPED_ELEMENT__CLIENT_DEPENDENCY = NAMED_ELEMENT__CLIENT_DEPENDENCY;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPED_ELEMENT__NAME = NAMED_ELEMENT__NAME;
+
+	/**
+	 * The feature id for the '<em><b>Name Expression</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPED_ELEMENT__NAME_EXPRESSION = NAMED_ELEMENT__NAME_EXPRESSION;
+
+	/**
+	 * The feature id for the '<em><b>Namespace</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPED_ELEMENT__NAMESPACE = NAMED_ELEMENT__NAMESPACE;
+
+	/**
+	 * The feature id for the '<em><b>Qualified Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPED_ELEMENT__QUALIFIED_NAME = NAMED_ELEMENT__QUALIFIED_NAME;
+
+	/**
+	 * The feature id for the '<em><b>Visibility</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPED_ELEMENT__VISIBILITY = NAMED_ELEMENT__VISIBILITY;
+
+	/**
+	 * The feature id for the '<em><b>Type</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPED_ELEMENT__TYPE = NAMED_ELEMENT_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of structural features of the '<em>Typed Element</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPED_ELEMENT_FEATURE_COUNT = NAMED_ELEMENT_FEATURE_COUNT + 1;
+
+	/**
+	 * The operation id for the '<em>Get EAnnotation</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPED_ELEMENT___GET_EANNOTATION__STRING = NAMED_ELEMENT___GET_EANNOTATION__STRING;
+
+	/**
+	 * The operation id for the '<em>Validate Has Owner</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPED_ELEMENT___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP = NAMED_ELEMENT___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Validate Not Own Self</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPED_ELEMENT___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP = NAMED_ELEMENT___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Add Keyword</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPED_ELEMENT___ADD_KEYWORD__STRING = NAMED_ELEMENT___ADD_KEYWORD__STRING;
+
+	/**
+	 * The operation id for the '<em>Apply Stereotype</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPED_ELEMENT___APPLY_STEREOTYPE__STEREOTYPE = NAMED_ELEMENT___APPLY_STEREOTYPE__STEREOTYPE;
+
+	/**
+	 * The operation id for the '<em>Create EAnnotation</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPED_ELEMENT___CREATE_EANNOTATION__STRING = NAMED_ELEMENT___CREATE_EANNOTATION__STRING;
+
+	/**
+	 * The operation id for the '<em>Destroy</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPED_ELEMENT___DESTROY = NAMED_ELEMENT___DESTROY;
+
+	/**
+	 * The operation id for the '<em>Get Keywords</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPED_ELEMENT___GET_KEYWORDS = NAMED_ELEMENT___GET_KEYWORDS;
+
+	/**
+	 * The operation id for the '<em>Get Applicable Stereotype</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPED_ELEMENT___GET_APPLICABLE_STEREOTYPE__STRING = NAMED_ELEMENT___GET_APPLICABLE_STEREOTYPE__STRING;
+
+	/**
+	 * The operation id for the '<em>Get Applicable Stereotypes</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPED_ELEMENT___GET_APPLICABLE_STEREOTYPES = NAMED_ELEMENT___GET_APPLICABLE_STEREOTYPES;
+
+	/**
+	 * The operation id for the '<em>Get Applied Stereotype</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPED_ELEMENT___GET_APPLIED_STEREOTYPE__STRING = NAMED_ELEMENT___GET_APPLIED_STEREOTYPE__STRING;
+
+	/**
+	 * The operation id for the '<em>Get Applied Stereotypes</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPED_ELEMENT___GET_APPLIED_STEREOTYPES = NAMED_ELEMENT___GET_APPLIED_STEREOTYPES;
+
+	/**
+	 * The operation id for the '<em>Get Applied Substereotype</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPED_ELEMENT___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING = NAMED_ELEMENT___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING;
+
+	/**
+	 * The operation id for the '<em>Get Applied Substereotypes</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPED_ELEMENT___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE = NAMED_ELEMENT___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE;
+
+	/**
+	 * The operation id for the '<em>Get Model</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPED_ELEMENT___GET_MODEL = NAMED_ELEMENT___GET_MODEL;
+
+	/**
+	 * The operation id for the '<em>Get Nearest Package</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPED_ELEMENT___GET_NEAREST_PACKAGE = NAMED_ELEMENT___GET_NEAREST_PACKAGE;
+
+	/**
+	 * The operation id for the '<em>Get Relationships</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPED_ELEMENT___GET_RELATIONSHIPS = NAMED_ELEMENT___GET_RELATIONSHIPS;
+
+	/**
+	 * The operation id for the '<em>Get Relationships</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPED_ELEMENT___GET_RELATIONSHIPS__ECLASS = NAMED_ELEMENT___GET_RELATIONSHIPS__ECLASS;
+
+	/**
+	 * The operation id for the '<em>Get Required Stereotype</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPED_ELEMENT___GET_REQUIRED_STEREOTYPE__STRING = NAMED_ELEMENT___GET_REQUIRED_STEREOTYPE__STRING;
+
+	/**
+	 * The operation id for the '<em>Get Required Stereotypes</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPED_ELEMENT___GET_REQUIRED_STEREOTYPES = NAMED_ELEMENT___GET_REQUIRED_STEREOTYPES;
+
+	/**
+	 * The operation id for the '<em>Get Source Directed Relationships</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPED_ELEMENT___GET_SOURCE_DIRECTED_RELATIONSHIPS = NAMED_ELEMENT___GET_SOURCE_DIRECTED_RELATIONSHIPS;
+
+	/**
+	 * The operation id for the '<em>Get Source Directed Relationships</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPED_ELEMENT___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS = NAMED_ELEMENT___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS;
+
+	/**
+	 * The operation id for the '<em>Get Stereotype Application</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPED_ELEMENT___GET_STEREOTYPE_APPLICATION__STEREOTYPE = NAMED_ELEMENT___GET_STEREOTYPE_APPLICATION__STEREOTYPE;
+
+	/**
+	 * The operation id for the '<em>Get Stereotype Applications</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPED_ELEMENT___GET_STEREOTYPE_APPLICATIONS = NAMED_ELEMENT___GET_STEREOTYPE_APPLICATIONS;
+
+	/**
+	 * The operation id for the '<em>Get Target Directed Relationships</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPED_ELEMENT___GET_TARGET_DIRECTED_RELATIONSHIPS = NAMED_ELEMENT___GET_TARGET_DIRECTED_RELATIONSHIPS;
+
+	/**
+	 * The operation id for the '<em>Get Target Directed Relationships</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPED_ELEMENT___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS = NAMED_ELEMENT___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS;
+
+	/**
+	 * The operation id for the '<em>Get Value</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPED_ELEMENT___GET_VALUE__STEREOTYPE_STRING = NAMED_ELEMENT___GET_VALUE__STEREOTYPE_STRING;
+
+	/**
+	 * The operation id for the '<em>Has Keyword</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPED_ELEMENT___HAS_KEYWORD__STRING = NAMED_ELEMENT___HAS_KEYWORD__STRING;
+
+	/**
+	 * The operation id for the '<em>Has Value</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPED_ELEMENT___HAS_VALUE__STEREOTYPE_STRING = NAMED_ELEMENT___HAS_VALUE__STEREOTYPE_STRING;
+
+	/**
+	 * The operation id for the '<em>Is Stereotype Applicable</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPED_ELEMENT___IS_STEREOTYPE_APPLICABLE__STEREOTYPE = NAMED_ELEMENT___IS_STEREOTYPE_APPLICABLE__STEREOTYPE;
+
+	/**
+	 * The operation id for the '<em>Is Stereotype Applied</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPED_ELEMENT___IS_STEREOTYPE_APPLIED__STEREOTYPE = NAMED_ELEMENT___IS_STEREOTYPE_APPLIED__STEREOTYPE;
+
+	/**
+	 * The operation id for the '<em>Is Stereotype Required</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPED_ELEMENT___IS_STEREOTYPE_REQUIRED__STEREOTYPE = NAMED_ELEMENT___IS_STEREOTYPE_REQUIRED__STEREOTYPE;
+
+	/**
+	 * The operation id for the '<em>Remove Keyword</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPED_ELEMENT___REMOVE_KEYWORD__STRING = NAMED_ELEMENT___REMOVE_KEYWORD__STRING;
+
+	/**
+	 * The operation id for the '<em>Set Value</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPED_ELEMENT___SET_VALUE__STEREOTYPE_STRING_OBJECT = NAMED_ELEMENT___SET_VALUE__STEREOTYPE_STRING_OBJECT;
+
+	/**
+	 * The operation id for the '<em>Unapply Stereotype</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPED_ELEMENT___UNAPPLY_STEREOTYPE__STEREOTYPE = NAMED_ELEMENT___UNAPPLY_STEREOTYPE__STEREOTYPE;
+
+	/**
+	 * The operation id for the '<em>All Owned Elements</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPED_ELEMENT___ALL_OWNED_ELEMENTS = NAMED_ELEMENT___ALL_OWNED_ELEMENTS;
+
+	/**
+	 * The operation id for the '<em>Must Be Owned</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPED_ELEMENT___MUST_BE_OWNED = NAMED_ELEMENT___MUST_BE_OWNED;
+
+	/**
+	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPED_ELEMENT___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = NAMED_ELEMENT___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Validate Has No Qualified Name</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPED_ELEMENT___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = NAMED_ELEMENT___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPED_ELEMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = NAMED_ELEMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Create Dependency</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPED_ELEMENT___CREATE_DEPENDENCY__NAMEDELEMENT = NAMED_ELEMENT___CREATE_DEPENDENCY__NAMEDELEMENT;
+
+	/**
+	 * The operation id for the '<em>Create Usage</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPED_ELEMENT___CREATE_USAGE__NAMEDELEMENT = NAMED_ELEMENT___CREATE_USAGE__NAMEDELEMENT;
+
+	/**
+	 * The operation id for the '<em>Get Label</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPED_ELEMENT___GET_LABEL = NAMED_ELEMENT___GET_LABEL;
+
+	/**
+	 * The operation id for the '<em>Get Label</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPED_ELEMENT___GET_LABEL__BOOLEAN = NAMED_ELEMENT___GET_LABEL__BOOLEAN;
+
+	/**
+	 * The operation id for the '<em>All Namespaces</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPED_ELEMENT___ALL_NAMESPACES = NAMED_ELEMENT___ALL_NAMESPACES;
+
+	/**
+	 * The operation id for the '<em>All Owning Packages</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPED_ELEMENT___ALL_OWNING_PACKAGES = NAMED_ELEMENT___ALL_OWNING_PACKAGES;
+
+	/**
+	 * The operation id for the '<em>Is Distinguishable From</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPED_ELEMENT___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE = NAMED_ELEMENT___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE;
+
+	/**
+	 * The operation id for the '<em>Get Namespace</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPED_ELEMENT___GET_NAMESPACE = NAMED_ELEMENT___GET_NAMESPACE;
+
+	/**
+	 * The operation id for the '<em>Get Qualified Name</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPED_ELEMENT___GET_QUALIFIED_NAME = NAMED_ELEMENT___GET_QUALIFIED_NAME;
+
+	/**
+	 * The operation id for the '<em>Separator</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPED_ELEMENT___SEPARATOR = NAMED_ELEMENT___SEPARATOR;
+
+	/**
+	 * The number of operations of the '<em>Typed Element</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPED_ELEMENT_OPERATION_COUNT = NAMED_ELEMENT_OPERATION_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPE__EANNOTATIONS = PACKAGEABLE_ELEMENT__EANNOTATIONS;
+
+	/**
+	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPE__OWNED_COMMENT = PACKAGEABLE_ELEMENT__OWNED_COMMENT;
+
+	/**
+	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPE__OWNED_ELEMENT = PACKAGEABLE_ELEMENT__OWNED_ELEMENT;
+
+	/**
+	 * The feature id for the '<em><b>Owner</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPE__OWNER = PACKAGEABLE_ELEMENT__OWNER;
+
+	/**
+	 * The feature id for the '<em><b>Client Dependency</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPE__CLIENT_DEPENDENCY = PACKAGEABLE_ELEMENT__CLIENT_DEPENDENCY;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPE__NAME = PACKAGEABLE_ELEMENT__NAME;
+
+	/**
+	 * The feature id for the '<em><b>Name Expression</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPE__NAME_EXPRESSION = PACKAGEABLE_ELEMENT__NAME_EXPRESSION;
+
+	/**
+	 * The feature id for the '<em><b>Namespace</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPE__NAMESPACE = PACKAGEABLE_ELEMENT__NAMESPACE;
+
+	/**
+	 * The feature id for the '<em><b>Qualified Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPE__QUALIFIED_NAME = PACKAGEABLE_ELEMENT__QUALIFIED_NAME;
+
+	/**
+	 * The feature id for the '<em><b>Visibility</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPE__VISIBILITY = PACKAGEABLE_ELEMENT__VISIBILITY;
+
+	/**
+	 * The feature id for the '<em><b>Owning Template Parameter</b></em>' container reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPE__OWNING_TEMPLATE_PARAMETER = PACKAGEABLE_ELEMENT__OWNING_TEMPLATE_PARAMETER;
+
+	/**
+	 * The feature id for the '<em><b>Template Parameter</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPE__TEMPLATE_PARAMETER = PACKAGEABLE_ELEMENT__TEMPLATE_PARAMETER;
+
+	/**
+	 * The feature id for the '<em><b>Package</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPE__PACKAGE = PACKAGEABLE_ELEMENT_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of structural features of the '<em>Type</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPE_FEATURE_COUNT = PACKAGEABLE_ELEMENT_FEATURE_COUNT + 1;
+
+	/**
+	 * The operation id for the '<em>Get EAnnotation</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPE___GET_EANNOTATION__STRING = PACKAGEABLE_ELEMENT___GET_EANNOTATION__STRING;
+
+	/**
+	 * The operation id for the '<em>Validate Has Owner</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPE___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP = PACKAGEABLE_ELEMENT___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Validate Not Own Self</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPE___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP = PACKAGEABLE_ELEMENT___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Add Keyword</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPE___ADD_KEYWORD__STRING = PACKAGEABLE_ELEMENT___ADD_KEYWORD__STRING;
+
+	/**
+	 * The operation id for the '<em>Apply Stereotype</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPE___APPLY_STEREOTYPE__STEREOTYPE = PACKAGEABLE_ELEMENT___APPLY_STEREOTYPE__STEREOTYPE;
+
+	/**
+	 * The operation id for the '<em>Create EAnnotation</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPE___CREATE_EANNOTATION__STRING = PACKAGEABLE_ELEMENT___CREATE_EANNOTATION__STRING;
+
+	/**
+	 * The operation id for the '<em>Destroy</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPE___DESTROY = PACKAGEABLE_ELEMENT___DESTROY;
+
+	/**
+	 * The operation id for the '<em>Get Keywords</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPE___GET_KEYWORDS = PACKAGEABLE_ELEMENT___GET_KEYWORDS;
+
+	/**
+	 * The operation id for the '<em>Get Applicable Stereotype</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPE___GET_APPLICABLE_STEREOTYPE__STRING = PACKAGEABLE_ELEMENT___GET_APPLICABLE_STEREOTYPE__STRING;
+
+	/**
+	 * The operation id for the '<em>Get Applicable Stereotypes</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPE___GET_APPLICABLE_STEREOTYPES = PACKAGEABLE_ELEMENT___GET_APPLICABLE_STEREOTYPES;
+
+	/**
+	 * The operation id for the '<em>Get Applied Stereotype</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPE___GET_APPLIED_STEREOTYPE__STRING = PACKAGEABLE_ELEMENT___GET_APPLIED_STEREOTYPE__STRING;
+
+	/**
+	 * The operation id for the '<em>Get Applied Stereotypes</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPE___GET_APPLIED_STEREOTYPES = PACKAGEABLE_ELEMENT___GET_APPLIED_STEREOTYPES;
+
+	/**
+	 * The operation id for the '<em>Get Applied Substereotype</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPE___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING = PACKAGEABLE_ELEMENT___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING;
+
+	/**
+	 * The operation id for the '<em>Get Applied Substereotypes</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPE___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE = PACKAGEABLE_ELEMENT___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE;
+
+	/**
+	 * The operation id for the '<em>Get Model</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPE___GET_MODEL = PACKAGEABLE_ELEMENT___GET_MODEL;
+
+	/**
+	 * The operation id for the '<em>Get Nearest Package</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPE___GET_NEAREST_PACKAGE = PACKAGEABLE_ELEMENT___GET_NEAREST_PACKAGE;
+
+	/**
+	 * The operation id for the '<em>Get Relationships</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPE___GET_RELATIONSHIPS = PACKAGEABLE_ELEMENT___GET_RELATIONSHIPS;
+
+	/**
+	 * The operation id for the '<em>Get Relationships</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPE___GET_RELATIONSHIPS__ECLASS = PACKAGEABLE_ELEMENT___GET_RELATIONSHIPS__ECLASS;
+
+	/**
+	 * The operation id for the '<em>Get Required Stereotype</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPE___GET_REQUIRED_STEREOTYPE__STRING = PACKAGEABLE_ELEMENT___GET_REQUIRED_STEREOTYPE__STRING;
+
+	/**
+	 * The operation id for the '<em>Get Required Stereotypes</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPE___GET_REQUIRED_STEREOTYPES = PACKAGEABLE_ELEMENT___GET_REQUIRED_STEREOTYPES;
+
+	/**
+	 * The operation id for the '<em>Get Source Directed Relationships</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPE___GET_SOURCE_DIRECTED_RELATIONSHIPS = PACKAGEABLE_ELEMENT___GET_SOURCE_DIRECTED_RELATIONSHIPS;
+
+	/**
+	 * The operation id for the '<em>Get Source Directed Relationships</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPE___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS = PACKAGEABLE_ELEMENT___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS;
+
+	/**
+	 * The operation id for the '<em>Get Stereotype Application</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPE___GET_STEREOTYPE_APPLICATION__STEREOTYPE = PACKAGEABLE_ELEMENT___GET_STEREOTYPE_APPLICATION__STEREOTYPE;
+
+	/**
+	 * The operation id for the '<em>Get Stereotype Applications</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPE___GET_STEREOTYPE_APPLICATIONS = PACKAGEABLE_ELEMENT___GET_STEREOTYPE_APPLICATIONS;
+
+	/**
+	 * The operation id for the '<em>Get Target Directed Relationships</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPE___GET_TARGET_DIRECTED_RELATIONSHIPS = PACKAGEABLE_ELEMENT___GET_TARGET_DIRECTED_RELATIONSHIPS;
+
+	/**
+	 * The operation id for the '<em>Get Target Directed Relationships</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPE___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS = PACKAGEABLE_ELEMENT___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS;
+
+	/**
+	 * The operation id for the '<em>Get Value</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPE___GET_VALUE__STEREOTYPE_STRING = PACKAGEABLE_ELEMENT___GET_VALUE__STEREOTYPE_STRING;
+
+	/**
+	 * The operation id for the '<em>Has Keyword</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPE___HAS_KEYWORD__STRING = PACKAGEABLE_ELEMENT___HAS_KEYWORD__STRING;
+
+	/**
+	 * The operation id for the '<em>Has Value</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPE___HAS_VALUE__STEREOTYPE_STRING = PACKAGEABLE_ELEMENT___HAS_VALUE__STEREOTYPE_STRING;
+
+	/**
+	 * The operation id for the '<em>Is Stereotype Applicable</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPE___IS_STEREOTYPE_APPLICABLE__STEREOTYPE = PACKAGEABLE_ELEMENT___IS_STEREOTYPE_APPLICABLE__STEREOTYPE;
+
+	/**
+	 * The operation id for the '<em>Is Stereotype Applied</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPE___IS_STEREOTYPE_APPLIED__STEREOTYPE = PACKAGEABLE_ELEMENT___IS_STEREOTYPE_APPLIED__STEREOTYPE;
+
+	/**
+	 * The operation id for the '<em>Is Stereotype Required</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPE___IS_STEREOTYPE_REQUIRED__STEREOTYPE = PACKAGEABLE_ELEMENT___IS_STEREOTYPE_REQUIRED__STEREOTYPE;
+
+	/**
+	 * The operation id for the '<em>Remove Keyword</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPE___REMOVE_KEYWORD__STRING = PACKAGEABLE_ELEMENT___REMOVE_KEYWORD__STRING;
+
+	/**
+	 * The operation id for the '<em>Set Value</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPE___SET_VALUE__STEREOTYPE_STRING_OBJECT = PACKAGEABLE_ELEMENT___SET_VALUE__STEREOTYPE_STRING_OBJECT;
+
+	/**
+	 * The operation id for the '<em>Unapply Stereotype</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPE___UNAPPLY_STEREOTYPE__STEREOTYPE = PACKAGEABLE_ELEMENT___UNAPPLY_STEREOTYPE__STEREOTYPE;
+
+	/**
+	 * The operation id for the '<em>All Owned Elements</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPE___ALL_OWNED_ELEMENTS = PACKAGEABLE_ELEMENT___ALL_OWNED_ELEMENTS;
+
+	/**
+	 * The operation id for the '<em>Must Be Owned</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPE___MUST_BE_OWNED = PACKAGEABLE_ELEMENT___MUST_BE_OWNED;
+
+	/**
+	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPE___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = PACKAGEABLE_ELEMENT___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Validate Has No Qualified Name</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = PACKAGEABLE_ELEMENT___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = PACKAGEABLE_ELEMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Create Dependency</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPE___CREATE_DEPENDENCY__NAMEDELEMENT = PACKAGEABLE_ELEMENT___CREATE_DEPENDENCY__NAMEDELEMENT;
+
+	/**
+	 * The operation id for the '<em>Create Usage</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPE___CREATE_USAGE__NAMEDELEMENT = PACKAGEABLE_ELEMENT___CREATE_USAGE__NAMEDELEMENT;
+
+	/**
+	 * The operation id for the '<em>Get Label</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPE___GET_LABEL = PACKAGEABLE_ELEMENT___GET_LABEL;
+
+	/**
+	 * The operation id for the '<em>Get Label</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPE___GET_LABEL__BOOLEAN = PACKAGEABLE_ELEMENT___GET_LABEL__BOOLEAN;
+
+	/**
+	 * The operation id for the '<em>All Namespaces</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPE___ALL_NAMESPACES = PACKAGEABLE_ELEMENT___ALL_NAMESPACES;
+
+	/**
+	 * The operation id for the '<em>All Owning Packages</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPE___ALL_OWNING_PACKAGES = PACKAGEABLE_ELEMENT___ALL_OWNING_PACKAGES;
+
+	/**
+	 * The operation id for the '<em>Is Distinguishable From</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPE___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE = PACKAGEABLE_ELEMENT___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE;
+
+	/**
+	 * The operation id for the '<em>Get Namespace</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPE___GET_NAMESPACE = PACKAGEABLE_ELEMENT___GET_NAMESPACE;
+
+	/**
+	 * The operation id for the '<em>Get Qualified Name</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPE___GET_QUALIFIED_NAME = PACKAGEABLE_ELEMENT___GET_QUALIFIED_NAME;
+
+	/**
+	 * The operation id for the '<em>Separator</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPE___SEPARATOR = PACKAGEABLE_ELEMENT___SEPARATOR;
+
+	/**
+	 * The operation id for the '<em>Is Compatible With</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPE___IS_COMPATIBLE_WITH__PARAMETERABLEELEMENT = PACKAGEABLE_ELEMENT___IS_COMPATIBLE_WITH__PARAMETERABLEELEMENT;
+
+	/**
+	 * The operation id for the '<em>Is Template Parameter</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPE___IS_TEMPLATE_PARAMETER = PACKAGEABLE_ELEMENT___IS_TEMPLATE_PARAMETER;
+
+	/**
+	 * The operation id for the '<em>Create Association</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPE___CREATE_ASSOCIATION__BOOLEAN_AGGREGATIONKIND_STRING_INT_INT_TYPE_BOOLEAN_AGGREGATIONKIND_STRING_INT_INT = PACKAGEABLE_ELEMENT_OPERATION_COUNT + 0;
+
+	/**
+	 * The operation id for the '<em>Get Associations</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPE___GET_ASSOCIATIONS = PACKAGEABLE_ELEMENT_OPERATION_COUNT + 1;
+
+	/**
+	 * The operation id for the '<em>Conforms To</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPE___CONFORMS_TO__TYPE = PACKAGEABLE_ELEMENT_OPERATION_COUNT + 2;
+
+	/**
+	 * The number of operations of the '<em>Type</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TYPE_OPERATION_COUNT = PACKAGEABLE_ELEMENT_OPERATION_COUNT + 3;
+
+	/**
+	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE__EANNOTATIONS = NAMESPACE__EANNOTATIONS;
+
+	/**
+	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE__OWNED_COMMENT = NAMESPACE__OWNED_COMMENT;
+
+	/**
+	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE__OWNED_ELEMENT = NAMESPACE__OWNED_ELEMENT;
+
+	/**
+	 * The feature id for the '<em><b>Owner</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE__OWNER = NAMESPACE__OWNER;
+
+	/**
+	 * The feature id for the '<em><b>Client Dependency</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE__CLIENT_DEPENDENCY = NAMESPACE__CLIENT_DEPENDENCY;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE__NAME = NAMESPACE__NAME;
+
+	/**
+	 * The feature id for the '<em><b>Name Expression</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE__NAME_EXPRESSION = NAMESPACE__NAME_EXPRESSION;
+
+	/**
+	 * The feature id for the '<em><b>Namespace</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE__NAMESPACE = NAMESPACE__NAMESPACE;
+
+	/**
+	 * The feature id for the '<em><b>Qualified Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE__QUALIFIED_NAME = NAMESPACE__QUALIFIED_NAME;
+
+	/**
+	 * The feature id for the '<em><b>Visibility</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE__VISIBILITY = NAMESPACE__VISIBILITY;
+
+	/**
+	 * The feature id for the '<em><b>Element Import</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE__ELEMENT_IMPORT = NAMESPACE__ELEMENT_IMPORT;
+
+	/**
+	 * The feature id for the '<em><b>Package Import</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE__PACKAGE_IMPORT = NAMESPACE__PACKAGE_IMPORT;
+
+	/**
+	 * The feature id for the '<em><b>Owned Rule</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE__OWNED_RULE = NAMESPACE__OWNED_RULE;
+
+	/**
+	 * The feature id for the '<em><b>Owned Member</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE__OWNED_MEMBER = NAMESPACE__OWNED_MEMBER;
+
+	/**
+	 * The feature id for the '<em><b>Imported Member</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE__IMPORTED_MEMBER = NAMESPACE__IMPORTED_MEMBER;
+
+	/**
+	 * The feature id for the '<em><b>Member</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE__MEMBER = NAMESPACE__MEMBER;
+
+	/**
+	 * The feature id for the '<em><b>Owning Template Parameter</b></em>' container reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE__OWNING_TEMPLATE_PARAMETER = NAMESPACE_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Template Parameter</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE__TEMPLATE_PARAMETER = NAMESPACE_FEATURE_COUNT + 1;
+
+	/**
+	 * The feature id for the '<em><b>Owned Template Signature</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE__OWNED_TEMPLATE_SIGNATURE = NAMESPACE_FEATURE_COUNT + 2;
+
+	/**
+	 * The feature id for the '<em><b>Template Binding</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE__TEMPLATE_BINDING = NAMESPACE_FEATURE_COUNT + 3;
+
+	/**
+	 * The feature id for the '<em><b>URI</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE__URI = NAMESPACE_FEATURE_COUNT + 4;
+
+	/**
+	 * The feature id for the '<em><b>Nested Package</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE__NESTED_PACKAGE = NAMESPACE_FEATURE_COUNT + 5;
+
+	/**
+	 * The feature id for the '<em><b>Nesting Package</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE__NESTING_PACKAGE = NAMESPACE_FEATURE_COUNT + 6;
+
+	/**
+	 * The feature id for the '<em><b>Owned Stereotype</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE__OWNED_STEREOTYPE = NAMESPACE_FEATURE_COUNT + 7;
+
+	/**
+	 * The feature id for the '<em><b>Package Merge</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE__PACKAGE_MERGE = NAMESPACE_FEATURE_COUNT + 8;
+
+	/**
+	 * The feature id for the '<em><b>Packaged Element</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE__PACKAGED_ELEMENT = NAMESPACE_FEATURE_COUNT + 9;
+
+	/**
+	 * The feature id for the '<em><b>Profile Application</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE__PROFILE_APPLICATION = NAMESPACE_FEATURE_COUNT + 10;
+
+	/**
+	 * The feature id for the '<em><b>Owned Type</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE__OWNED_TYPE = NAMESPACE_FEATURE_COUNT + 11;
+
+	/**
+	 * The number of structural features of the '<em>Package</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE_FEATURE_COUNT = NAMESPACE_FEATURE_COUNT + 12;
+
+	/**
+	 * The operation id for the '<em>Get EAnnotation</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE___GET_EANNOTATION__STRING = NAMESPACE___GET_EANNOTATION__STRING;
+
+	/**
+	 * The operation id for the '<em>Validate Has Owner</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP = NAMESPACE___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Validate Not Own Self</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP = NAMESPACE___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Add Keyword</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE___ADD_KEYWORD__STRING = NAMESPACE___ADD_KEYWORD__STRING;
+
+	/**
+	 * The operation id for the '<em>Apply Stereotype</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE___APPLY_STEREOTYPE__STEREOTYPE = NAMESPACE___APPLY_STEREOTYPE__STEREOTYPE;
+
+	/**
+	 * The operation id for the '<em>Create EAnnotation</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE___CREATE_EANNOTATION__STRING = NAMESPACE___CREATE_EANNOTATION__STRING;
+
+	/**
+	 * The operation id for the '<em>Destroy</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE___DESTROY = NAMESPACE___DESTROY;
+
+	/**
+	 * The operation id for the '<em>Get Keywords</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE___GET_KEYWORDS = NAMESPACE___GET_KEYWORDS;
+
+	/**
+	 * The operation id for the '<em>Get Applicable Stereotype</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE___GET_APPLICABLE_STEREOTYPE__STRING = NAMESPACE___GET_APPLICABLE_STEREOTYPE__STRING;
+
+	/**
+	 * The operation id for the '<em>Get Applicable Stereotypes</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE___GET_APPLICABLE_STEREOTYPES = NAMESPACE___GET_APPLICABLE_STEREOTYPES;
+
+	/**
+	 * The operation id for the '<em>Get Applied Stereotype</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE___GET_APPLIED_STEREOTYPE__STRING = NAMESPACE___GET_APPLIED_STEREOTYPE__STRING;
+
+	/**
+	 * The operation id for the '<em>Get Applied Stereotypes</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE___GET_APPLIED_STEREOTYPES = NAMESPACE___GET_APPLIED_STEREOTYPES;
+
+	/**
+	 * The operation id for the '<em>Get Applied Substereotype</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING = NAMESPACE___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING;
+
+	/**
+	 * The operation id for the '<em>Get Applied Substereotypes</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE = NAMESPACE___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE;
+
+	/**
+	 * The operation id for the '<em>Get Model</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE___GET_MODEL = NAMESPACE___GET_MODEL;
+
+	/**
+	 * The operation id for the '<em>Get Nearest Package</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE___GET_NEAREST_PACKAGE = NAMESPACE___GET_NEAREST_PACKAGE;
+
+	/**
+	 * The operation id for the '<em>Get Relationships</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE___GET_RELATIONSHIPS = NAMESPACE___GET_RELATIONSHIPS;
+
+	/**
+	 * The operation id for the '<em>Get Relationships</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE___GET_RELATIONSHIPS__ECLASS = NAMESPACE___GET_RELATIONSHIPS__ECLASS;
+
+	/**
+	 * The operation id for the '<em>Get Required Stereotype</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE___GET_REQUIRED_STEREOTYPE__STRING = NAMESPACE___GET_REQUIRED_STEREOTYPE__STRING;
+
+	/**
+	 * The operation id for the '<em>Get Required Stereotypes</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE___GET_REQUIRED_STEREOTYPES = NAMESPACE___GET_REQUIRED_STEREOTYPES;
+
+	/**
+	 * The operation id for the '<em>Get Source Directed Relationships</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE___GET_SOURCE_DIRECTED_RELATIONSHIPS = NAMESPACE___GET_SOURCE_DIRECTED_RELATIONSHIPS;
+
+	/**
+	 * The operation id for the '<em>Get Source Directed Relationships</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS = NAMESPACE___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS;
+
+	/**
+	 * The operation id for the '<em>Get Stereotype Application</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE___GET_STEREOTYPE_APPLICATION__STEREOTYPE = NAMESPACE___GET_STEREOTYPE_APPLICATION__STEREOTYPE;
+
+	/**
+	 * The operation id for the '<em>Get Stereotype Applications</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE___GET_STEREOTYPE_APPLICATIONS = NAMESPACE___GET_STEREOTYPE_APPLICATIONS;
+
+	/**
+	 * The operation id for the '<em>Get Target Directed Relationships</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE___GET_TARGET_DIRECTED_RELATIONSHIPS = NAMESPACE___GET_TARGET_DIRECTED_RELATIONSHIPS;
+
+	/**
+	 * The operation id for the '<em>Get Target Directed Relationships</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS = NAMESPACE___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS;
+
+	/**
+	 * The operation id for the '<em>Get Value</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE___GET_VALUE__STEREOTYPE_STRING = NAMESPACE___GET_VALUE__STEREOTYPE_STRING;
+
+	/**
+	 * The operation id for the '<em>Has Keyword</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE___HAS_KEYWORD__STRING = NAMESPACE___HAS_KEYWORD__STRING;
+
+	/**
+	 * The operation id for the '<em>Has Value</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE___HAS_VALUE__STEREOTYPE_STRING = NAMESPACE___HAS_VALUE__STEREOTYPE_STRING;
+
+	/**
+	 * The operation id for the '<em>Is Stereotype Applicable</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE___IS_STEREOTYPE_APPLICABLE__STEREOTYPE = NAMESPACE___IS_STEREOTYPE_APPLICABLE__STEREOTYPE;
+
+	/**
+	 * The operation id for the '<em>Is Stereotype Applied</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE___IS_STEREOTYPE_APPLIED__STEREOTYPE = NAMESPACE___IS_STEREOTYPE_APPLIED__STEREOTYPE;
+
+	/**
+	 * The operation id for the '<em>Is Stereotype Required</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE___IS_STEREOTYPE_REQUIRED__STEREOTYPE = NAMESPACE___IS_STEREOTYPE_REQUIRED__STEREOTYPE;
+
+	/**
+	 * The operation id for the '<em>Remove Keyword</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE___REMOVE_KEYWORD__STRING = NAMESPACE___REMOVE_KEYWORD__STRING;
+
+	/**
+	 * The operation id for the '<em>Set Value</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE___SET_VALUE__STEREOTYPE_STRING_OBJECT = NAMESPACE___SET_VALUE__STEREOTYPE_STRING_OBJECT;
+
+	/**
+	 * The operation id for the '<em>Unapply Stereotype</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE___UNAPPLY_STEREOTYPE__STEREOTYPE = NAMESPACE___UNAPPLY_STEREOTYPE__STEREOTYPE;
+
+	/**
+	 * The operation id for the '<em>All Owned Elements</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE___ALL_OWNED_ELEMENTS = NAMESPACE___ALL_OWNED_ELEMENTS;
+
+	/**
+	 * The operation id for the '<em>Must Be Owned</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE___MUST_BE_OWNED = NAMESPACE___MUST_BE_OWNED;
+
+	/**
+	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = NAMESPACE___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Validate Has No Qualified Name</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = NAMESPACE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = NAMESPACE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Create Dependency</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE___CREATE_DEPENDENCY__NAMEDELEMENT = NAMESPACE___CREATE_DEPENDENCY__NAMEDELEMENT;
+
+	/**
+	 * The operation id for the '<em>Create Usage</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE___CREATE_USAGE__NAMEDELEMENT = NAMESPACE___CREATE_USAGE__NAMEDELEMENT;
+
+	/**
+	 * The operation id for the '<em>Get Label</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE___GET_LABEL = NAMESPACE___GET_LABEL;
+
+	/**
+	 * The operation id for the '<em>Get Label</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE___GET_LABEL__BOOLEAN = NAMESPACE___GET_LABEL__BOOLEAN;
+
+	/**
+	 * The operation id for the '<em>All Namespaces</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE___ALL_NAMESPACES = NAMESPACE___ALL_NAMESPACES;
+
+	/**
+	 * The operation id for the '<em>All Owning Packages</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE___ALL_OWNING_PACKAGES = NAMESPACE___ALL_OWNING_PACKAGES;
+
+	/**
+	 * The operation id for the '<em>Is Distinguishable From</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE = NAMESPACE___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE;
+
+	/**
+	 * The operation id for the '<em>Get Namespace</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE___GET_NAMESPACE = NAMESPACE___GET_NAMESPACE;
+
+	/**
+	 * The operation id for the '<em>Get Qualified Name</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE___GET_QUALIFIED_NAME = NAMESPACE___GET_QUALIFIED_NAME;
+
+	/**
+	 * The operation id for the '<em>Separator</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE___SEPARATOR = NAMESPACE___SEPARATOR;
+
+	/**
+	 * The operation id for the '<em>Validate Members Distinguishable</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE___VALIDATE_MEMBERS_DISTINGUISHABLE__DIAGNOSTICCHAIN_MAP = NAMESPACE___VALIDATE_MEMBERS_DISTINGUISHABLE__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Create Element Import</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE___CREATE_ELEMENT_IMPORT__PACKAGEABLEELEMENT_VISIBILITYKIND = NAMESPACE___CREATE_ELEMENT_IMPORT__PACKAGEABLEELEMENT_VISIBILITYKIND;
+
+	/**
+	 * The operation id for the '<em>Create Package Import</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE___CREATE_PACKAGE_IMPORT__PACKAGE_VISIBILITYKIND = NAMESPACE___CREATE_PACKAGE_IMPORT__PACKAGE_VISIBILITYKIND;
+
+	/**
+	 * The operation id for the '<em>Get Imported Elements</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE___GET_IMPORTED_ELEMENTS = NAMESPACE___GET_IMPORTED_ELEMENTS;
+
+	/**
+	 * The operation id for the '<em>Get Imported Packages</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE___GET_IMPORTED_PACKAGES = NAMESPACE___GET_IMPORTED_PACKAGES;
+
+	/**
+	 * The operation id for the '<em>Exclude Collisions</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE___EXCLUDE_COLLISIONS__ELIST = NAMESPACE___EXCLUDE_COLLISIONS__ELIST;
+
+	/**
+	 * The operation id for the '<em>Get Names Of Member</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE___GET_NAMES_OF_MEMBER__NAMEDELEMENT = NAMESPACE___GET_NAMES_OF_MEMBER__NAMEDELEMENT;
+
+	/**
+	 * The operation id for the '<em>Import Members</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE___IMPORT_MEMBERS__ELIST = NAMESPACE___IMPORT_MEMBERS__ELIST;
+
+	/**
+	 * The operation id for the '<em>Get Imported Members</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE___GET_IMPORTED_MEMBERS = NAMESPACE___GET_IMPORTED_MEMBERS;
+
+	/**
+	 * The operation id for the '<em>Members Are Distinguishable</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE___MEMBERS_ARE_DISTINGUISHABLE = NAMESPACE___MEMBERS_ARE_DISTINGUISHABLE;
+
+	/**
+	 * The operation id for the '<em>Get Owned Members</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE___GET_OWNED_MEMBERS = NAMESPACE___GET_OWNED_MEMBERS;
+
+	/**
+	 * The operation id for the '<em>Is Compatible With</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE___IS_COMPATIBLE_WITH__PARAMETERABLEELEMENT = NAMESPACE_OPERATION_COUNT + 0;
+
+	/**
+	 * The operation id for the '<em>Is Template Parameter</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE___IS_TEMPLATE_PARAMETER = NAMESPACE_OPERATION_COUNT + 1;
+
+	/**
+	 * The operation id for the '<em>Is Template</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE___IS_TEMPLATE = NAMESPACE_OPERATION_COUNT + 2;
+
+	/**
+	 * The operation id for the '<em>Parameterable Elements</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE___PARAMETERABLE_ELEMENTS = NAMESPACE_OPERATION_COUNT + 3;
+
+	/**
+	 * The operation id for the '<em>Validate Elements Public Or Private</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE___VALIDATE_ELEMENTS_PUBLIC_OR_PRIVATE__DIAGNOSTICCHAIN_MAP = NAMESPACE_OPERATION_COUNT + 4;
+
+	/**
+	 * The operation id for the '<em>Apply Profile</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE___APPLY_PROFILE__PROFILE = NAMESPACE_OPERATION_COUNT + 5;
+
+	/**
+	 * The operation id for the '<em>Create Owned Class</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE___CREATE_OWNED_CLASS__STRING_BOOLEAN = NAMESPACE_OPERATION_COUNT + 6;
+
+	/**
+	 * The operation id for the '<em>Create Owned Enumeration</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE___CREATE_OWNED_ENUMERATION__STRING = NAMESPACE_OPERATION_COUNT + 7;
+
+	/**
+	 * The operation id for the '<em>Create Owned Interface</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE___CREATE_OWNED_INTERFACE__STRING = NAMESPACE_OPERATION_COUNT + 8;
+
+	/**
+	 * The operation id for the '<em>Create Owned Primitive Type</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE___CREATE_OWNED_PRIMITIVE_TYPE__STRING = NAMESPACE_OPERATION_COUNT + 9;
+
+	/**
+	 * The operation id for the '<em>Create Owned Stereotype</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE___CREATE_OWNED_STEREOTYPE__STRING_BOOLEAN = NAMESPACE_OPERATION_COUNT + 10;
+
+	/**
+	 * The operation id for the '<em>Get All Applied Profiles</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE___GET_ALL_APPLIED_PROFILES = NAMESPACE_OPERATION_COUNT + 11;
+
+	/**
+	 * The operation id for the '<em>Get All Profile Applications</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE___GET_ALL_PROFILE_APPLICATIONS = NAMESPACE_OPERATION_COUNT + 12;
+
+	/**
+	 * The operation id for the '<em>Get Applied Profile</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE___GET_APPLIED_PROFILE__STRING = NAMESPACE_OPERATION_COUNT + 13;
+
+	/**
+	 * The operation id for the '<em>Get Applied Profile</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE___GET_APPLIED_PROFILE__STRING_BOOLEAN = NAMESPACE_OPERATION_COUNT + 14;
+
+	/**
+	 * The operation id for the '<em>Get Applied Profiles</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE___GET_APPLIED_PROFILES = NAMESPACE_OPERATION_COUNT + 15;
+
+	/**
+	 * The operation id for the '<em>Get Profile Application</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE___GET_PROFILE_APPLICATION__PROFILE = NAMESPACE_OPERATION_COUNT + 16;
+
+	/**
+	 * The operation id for the '<em>Get Profile Application</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE___GET_PROFILE_APPLICATION__PROFILE_BOOLEAN = NAMESPACE_OPERATION_COUNT + 17;
+
+	/**
+	 * The operation id for the '<em>Is Model Library</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE___IS_MODEL_LIBRARY = NAMESPACE_OPERATION_COUNT + 18;
+
+	/**
+	 * The operation id for the '<em>Is Profile Applied</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE___IS_PROFILE_APPLIED__PROFILE = NAMESPACE_OPERATION_COUNT + 19;
+
+	/**
+	 * The operation id for the '<em>Unapply Profile</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE___UNAPPLY_PROFILE__PROFILE = NAMESPACE_OPERATION_COUNT + 20;
+
+	/**
+	 * The operation id for the '<em>All Applicable Stereotypes</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE___ALL_APPLICABLE_STEREOTYPES = NAMESPACE_OPERATION_COUNT + 21;
+
+	/**
+	 * The operation id for the '<em>Containing Profile</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE___CONTAINING_PROFILE = NAMESPACE_OPERATION_COUNT + 22;
+
+	/**
+	 * The operation id for the '<em>Makes Visible</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE___MAKES_VISIBLE__NAMEDELEMENT = NAMESPACE_OPERATION_COUNT + 23;
+
+	/**
+	 * The operation id for the '<em>Get Nested Packages</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE___GET_NESTED_PACKAGES = NAMESPACE_OPERATION_COUNT + 24;
+
+	/**
+	 * The operation id for the '<em>Get Owned Stereotypes</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE___GET_OWNED_STEREOTYPES = NAMESPACE_OPERATION_COUNT + 25;
+
+	/**
+	 * The operation id for the '<em>Get Owned Types</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE___GET_OWNED_TYPES = NAMESPACE_OPERATION_COUNT + 26;
+
+	/**
+	 * The operation id for the '<em>Visible Members</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE___VISIBLE_MEMBERS = NAMESPACE_OPERATION_COUNT + 27;
+
+	/**
+	 * The number of operations of the '<em>Package</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PACKAGE_OPERATION_COUNT = NAMESPACE_OPERATION_COUNT + 28;
+
+	/**
+	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
 	int TEMPLATEABLE_ELEMENT__EANNOTATIONS = ELEMENT__EANNOTATIONS;
 
 	/**
@@ -17738,13 +18358,22 @@
 	int TEMPLATE_PARAMETER__DEFAULT = ELEMENT_FEATURE_COUNT + 0;
 
 	/**
+	 * The feature id for the '<em><b>Owned Default</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TEMPLATE_PARAMETER__OWNED_DEFAULT = ELEMENT_FEATURE_COUNT + 1;
+
+	/**
 	 * The feature id for the '<em><b>Owned Parametered Element</b></em>' containment reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT = ELEMENT_FEATURE_COUNT + 1;
+	int TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT = ELEMENT_FEATURE_COUNT + 2;
 
 	/**
 	 * The feature id for the '<em><b>Parametered Element</b></em>' reference.
@@ -17753,16 +18382,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int TEMPLATE_PARAMETER__PARAMETERED_ELEMENT = ELEMENT_FEATURE_COUNT + 2;
-
-	/**
-	 * The feature id for the '<em><b>Owned Default</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TEMPLATE_PARAMETER__OWNED_DEFAULT = ELEMENT_FEATURE_COUNT + 3;
+	int TEMPLATE_PARAMETER__PARAMETERED_ELEMENT = ELEMENT_FEATURE_COUNT + 3;
 
 	/**
 	 * The feature id for the '<em><b>Signature</b></em>' container reference.
@@ -18140,7 +18760,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int PARAMETERABLE_ELEMENT__EANNOTATIONS = ELEMENT__EANNOTATIONS;
+	int RELATIONSHIP__EANNOTATIONS = ELEMENT__EANNOTATIONS;
 
 	/**
 	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
@@ -18149,7 +18769,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int PARAMETERABLE_ELEMENT__OWNED_COMMENT = ELEMENT__OWNED_COMMENT;
+	int RELATIONSHIP__OWNED_COMMENT = ELEMENT__OWNED_COMMENT;
 
 	/**
 	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
@@ -18158,7 +18778,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int PARAMETERABLE_ELEMENT__OWNED_ELEMENT = ELEMENT__OWNED_ELEMENT;
+	int RELATIONSHIP__OWNED_ELEMENT = ELEMENT__OWNED_ELEMENT;
 
 	/**
 	 * The feature id for the '<em><b>Owner</b></em>' reference.
@@ -18167,34 +18787,25 @@
 	 * @generated
 	 * @ordered
 	 */
-	int PARAMETERABLE_ELEMENT__OWNER = ELEMENT__OWNER;
+	int RELATIONSHIP__OWNER = ELEMENT__OWNER;
 
 	/**
-	 * The feature id for the '<em><b>Owning Template Parameter</b></em>' container reference.
+	 * The feature id for the '<em><b>Related Element</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int PARAMETERABLE_ELEMENT__OWNING_TEMPLATE_PARAMETER = ELEMENT_FEATURE_COUNT + 0;
+	int RELATIONSHIP__RELATED_ELEMENT = ELEMENT_FEATURE_COUNT + 0;
 
 	/**
-	 * The feature id for the '<em><b>Template Parameter</b></em>' reference.
+	 * The number of structural features of the '<em>Relationship</em>' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int PARAMETERABLE_ELEMENT__TEMPLATE_PARAMETER = ELEMENT_FEATURE_COUNT + 1;
-
-	/**
-	 * The number of structural features of the '<em>Parameterable Element</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETERABLE_ELEMENT_FEATURE_COUNT = ELEMENT_FEATURE_COUNT + 2;
+	int RELATIONSHIP_FEATURE_COUNT = ELEMENT_FEATURE_COUNT + 1;
 
 	/**
 	 * The operation id for the '<em>Get EAnnotation</em>' operation.
@@ -18203,7 +18814,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int PARAMETERABLE_ELEMENT___GET_EANNOTATION__STRING = ELEMENT___GET_EANNOTATION__STRING;
+	int RELATIONSHIP___GET_EANNOTATION__STRING = ELEMENT___GET_EANNOTATION__STRING;
 
 	/**
 	 * The operation id for the '<em>Validate Has Owner</em>' operation.
@@ -18212,7 +18823,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int PARAMETERABLE_ELEMENT___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP = ELEMENT___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP;
+	int RELATIONSHIP___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP = ELEMENT___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP;
 
 	/**
 	 * The operation id for the '<em>Validate Not Own Self</em>' operation.
@@ -18221,7 +18832,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int PARAMETERABLE_ELEMENT___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP = ELEMENT___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP;
+	int RELATIONSHIP___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP = ELEMENT___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP;
 
 	/**
 	 * The operation id for the '<em>Add Keyword</em>' operation.
@@ -18230,7 +18841,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int PARAMETERABLE_ELEMENT___ADD_KEYWORD__STRING = ELEMENT___ADD_KEYWORD__STRING;
+	int RELATIONSHIP___ADD_KEYWORD__STRING = ELEMENT___ADD_KEYWORD__STRING;
 
 	/**
 	 * The operation id for the '<em>Apply Stereotype</em>' operation.
@@ -18239,7 +18850,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int PARAMETERABLE_ELEMENT___APPLY_STEREOTYPE__STEREOTYPE = ELEMENT___APPLY_STEREOTYPE__STEREOTYPE;
+	int RELATIONSHIP___APPLY_STEREOTYPE__STEREOTYPE = ELEMENT___APPLY_STEREOTYPE__STEREOTYPE;
 
 	/**
 	 * The operation id for the '<em>Create EAnnotation</em>' operation.
@@ -18248,7 +18859,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int PARAMETERABLE_ELEMENT___CREATE_EANNOTATION__STRING = ELEMENT___CREATE_EANNOTATION__STRING;
+	int RELATIONSHIP___CREATE_EANNOTATION__STRING = ELEMENT___CREATE_EANNOTATION__STRING;
 
 	/**
 	 * The operation id for the '<em>Destroy</em>' operation.
@@ -18257,7 +18868,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int PARAMETERABLE_ELEMENT___DESTROY = ELEMENT___DESTROY;
+	int RELATIONSHIP___DESTROY = ELEMENT___DESTROY;
 
 	/**
 	 * The operation id for the '<em>Get Keywords</em>' operation.
@@ -18266,7 +18877,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int PARAMETERABLE_ELEMENT___GET_KEYWORDS = ELEMENT___GET_KEYWORDS;
+	int RELATIONSHIP___GET_KEYWORDS = ELEMENT___GET_KEYWORDS;
 
 	/**
 	 * The operation id for the '<em>Get Applicable Stereotype</em>' operation.
@@ -18275,7 +18886,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int PARAMETERABLE_ELEMENT___GET_APPLICABLE_STEREOTYPE__STRING = ELEMENT___GET_APPLICABLE_STEREOTYPE__STRING;
+	int RELATIONSHIP___GET_APPLICABLE_STEREOTYPE__STRING = ELEMENT___GET_APPLICABLE_STEREOTYPE__STRING;
 
 	/**
 	 * The operation id for the '<em>Get Applicable Stereotypes</em>' operation.
@@ -18284,7 +18895,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int PARAMETERABLE_ELEMENT___GET_APPLICABLE_STEREOTYPES = ELEMENT___GET_APPLICABLE_STEREOTYPES;
+	int RELATIONSHIP___GET_APPLICABLE_STEREOTYPES = ELEMENT___GET_APPLICABLE_STEREOTYPES;
 
 	/**
 	 * The operation id for the '<em>Get Applied Stereotype</em>' operation.
@@ -18293,7 +18904,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int PARAMETERABLE_ELEMENT___GET_APPLIED_STEREOTYPE__STRING = ELEMENT___GET_APPLIED_STEREOTYPE__STRING;
+	int RELATIONSHIP___GET_APPLIED_STEREOTYPE__STRING = ELEMENT___GET_APPLIED_STEREOTYPE__STRING;
 
 	/**
 	 * The operation id for the '<em>Get Applied Stereotypes</em>' operation.
@@ -18302,7 +18913,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int PARAMETERABLE_ELEMENT___GET_APPLIED_STEREOTYPES = ELEMENT___GET_APPLIED_STEREOTYPES;
+	int RELATIONSHIP___GET_APPLIED_STEREOTYPES = ELEMENT___GET_APPLIED_STEREOTYPES;
 
 	/**
 	 * The operation id for the '<em>Get Applied Substereotype</em>' operation.
@@ -18311,7 +18922,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int PARAMETERABLE_ELEMENT___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING = ELEMENT___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING;
+	int RELATIONSHIP___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING = ELEMENT___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING;
 
 	/**
 	 * The operation id for the '<em>Get Applied Substereotypes</em>' operation.
@@ -18320,7 +18931,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int PARAMETERABLE_ELEMENT___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE = ELEMENT___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE;
+	int RELATIONSHIP___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE = ELEMENT___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE;
 
 	/**
 	 * The operation id for the '<em>Get Model</em>' operation.
@@ -18329,7 +18940,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int PARAMETERABLE_ELEMENT___GET_MODEL = ELEMENT___GET_MODEL;
+	int RELATIONSHIP___GET_MODEL = ELEMENT___GET_MODEL;
 
 	/**
 	 * The operation id for the '<em>Get Nearest Package</em>' operation.
@@ -18338,7 +18949,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int PARAMETERABLE_ELEMENT___GET_NEAREST_PACKAGE = ELEMENT___GET_NEAREST_PACKAGE;
+	int RELATIONSHIP___GET_NEAREST_PACKAGE = ELEMENT___GET_NEAREST_PACKAGE;
 
 	/**
 	 * The operation id for the '<em>Get Relationships</em>' operation.
@@ -18347,7 +18958,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int PARAMETERABLE_ELEMENT___GET_RELATIONSHIPS = ELEMENT___GET_RELATIONSHIPS;
+	int RELATIONSHIP___GET_RELATIONSHIPS = ELEMENT___GET_RELATIONSHIPS;
 
 	/**
 	 * The operation id for the '<em>Get Relationships</em>' operation.
@@ -18356,7 +18967,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int PARAMETERABLE_ELEMENT___GET_RELATIONSHIPS__ECLASS = ELEMENT___GET_RELATIONSHIPS__ECLASS;
+	int RELATIONSHIP___GET_RELATIONSHIPS__ECLASS = ELEMENT___GET_RELATIONSHIPS__ECLASS;
 
 	/**
 	 * The operation id for the '<em>Get Required Stereotype</em>' operation.
@@ -18365,7 +18976,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int PARAMETERABLE_ELEMENT___GET_REQUIRED_STEREOTYPE__STRING = ELEMENT___GET_REQUIRED_STEREOTYPE__STRING;
+	int RELATIONSHIP___GET_REQUIRED_STEREOTYPE__STRING = ELEMENT___GET_REQUIRED_STEREOTYPE__STRING;
 
 	/**
 	 * The operation id for the '<em>Get Required Stereotypes</em>' operation.
@@ -18374,7 +18985,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int PARAMETERABLE_ELEMENT___GET_REQUIRED_STEREOTYPES = ELEMENT___GET_REQUIRED_STEREOTYPES;
+	int RELATIONSHIP___GET_REQUIRED_STEREOTYPES = ELEMENT___GET_REQUIRED_STEREOTYPES;
 
 	/**
 	 * The operation id for the '<em>Get Source Directed Relationships</em>' operation.
@@ -18383,7 +18994,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int PARAMETERABLE_ELEMENT___GET_SOURCE_DIRECTED_RELATIONSHIPS = ELEMENT___GET_SOURCE_DIRECTED_RELATIONSHIPS;
+	int RELATIONSHIP___GET_SOURCE_DIRECTED_RELATIONSHIPS = ELEMENT___GET_SOURCE_DIRECTED_RELATIONSHIPS;
 
 	/**
 	 * The operation id for the '<em>Get Source Directed Relationships</em>' operation.
@@ -18392,7 +19003,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int PARAMETERABLE_ELEMENT___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS = ELEMENT___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS;
+	int RELATIONSHIP___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS = ELEMENT___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS;
 
 	/**
 	 * The operation id for the '<em>Get Stereotype Application</em>' operation.
@@ -18401,7 +19012,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int PARAMETERABLE_ELEMENT___GET_STEREOTYPE_APPLICATION__STEREOTYPE = ELEMENT___GET_STEREOTYPE_APPLICATION__STEREOTYPE;
+	int RELATIONSHIP___GET_STEREOTYPE_APPLICATION__STEREOTYPE = ELEMENT___GET_STEREOTYPE_APPLICATION__STEREOTYPE;
 
 	/**
 	 * The operation id for the '<em>Get Stereotype Applications</em>' operation.
@@ -18410,7 +19021,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int PARAMETERABLE_ELEMENT___GET_STEREOTYPE_APPLICATIONS = ELEMENT___GET_STEREOTYPE_APPLICATIONS;
+	int RELATIONSHIP___GET_STEREOTYPE_APPLICATIONS = ELEMENT___GET_STEREOTYPE_APPLICATIONS;
 
 	/**
 	 * The operation id for the '<em>Get Target Directed Relationships</em>' operation.
@@ -18419,7 +19030,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int PARAMETERABLE_ELEMENT___GET_TARGET_DIRECTED_RELATIONSHIPS = ELEMENT___GET_TARGET_DIRECTED_RELATIONSHIPS;
+	int RELATIONSHIP___GET_TARGET_DIRECTED_RELATIONSHIPS = ELEMENT___GET_TARGET_DIRECTED_RELATIONSHIPS;
 
 	/**
 	 * The operation id for the '<em>Get Target Directed Relationships</em>' operation.
@@ -18428,7 +19039,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int PARAMETERABLE_ELEMENT___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS = ELEMENT___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS;
+	int RELATIONSHIP___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS = ELEMENT___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS;
 
 	/**
 	 * The operation id for the '<em>Get Value</em>' operation.
@@ -18437,7 +19048,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int PARAMETERABLE_ELEMENT___GET_VALUE__STEREOTYPE_STRING = ELEMENT___GET_VALUE__STEREOTYPE_STRING;
+	int RELATIONSHIP___GET_VALUE__STEREOTYPE_STRING = ELEMENT___GET_VALUE__STEREOTYPE_STRING;
 
 	/**
 	 * The operation id for the '<em>Has Keyword</em>' operation.
@@ -18446,7 +19057,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int PARAMETERABLE_ELEMENT___HAS_KEYWORD__STRING = ELEMENT___HAS_KEYWORD__STRING;
+	int RELATIONSHIP___HAS_KEYWORD__STRING = ELEMENT___HAS_KEYWORD__STRING;
 
 	/**
 	 * The operation id for the '<em>Has Value</em>' operation.
@@ -18455,7 +19066,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int PARAMETERABLE_ELEMENT___HAS_VALUE__STEREOTYPE_STRING = ELEMENT___HAS_VALUE__STEREOTYPE_STRING;
+	int RELATIONSHIP___HAS_VALUE__STEREOTYPE_STRING = ELEMENT___HAS_VALUE__STEREOTYPE_STRING;
 
 	/**
 	 * The operation id for the '<em>Is Stereotype Applicable</em>' operation.
@@ -18464,7 +19075,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int PARAMETERABLE_ELEMENT___IS_STEREOTYPE_APPLICABLE__STEREOTYPE = ELEMENT___IS_STEREOTYPE_APPLICABLE__STEREOTYPE;
+	int RELATIONSHIP___IS_STEREOTYPE_APPLICABLE__STEREOTYPE = ELEMENT___IS_STEREOTYPE_APPLICABLE__STEREOTYPE;
 
 	/**
 	 * The operation id for the '<em>Is Stereotype Applied</em>' operation.
@@ -18473,7 +19084,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int PARAMETERABLE_ELEMENT___IS_STEREOTYPE_APPLIED__STEREOTYPE = ELEMENT___IS_STEREOTYPE_APPLIED__STEREOTYPE;
+	int RELATIONSHIP___IS_STEREOTYPE_APPLIED__STEREOTYPE = ELEMENT___IS_STEREOTYPE_APPLIED__STEREOTYPE;
 
 	/**
 	 * The operation id for the '<em>Is Stereotype Required</em>' operation.
@@ -18482,7 +19093,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int PARAMETERABLE_ELEMENT___IS_STEREOTYPE_REQUIRED__STEREOTYPE = ELEMENT___IS_STEREOTYPE_REQUIRED__STEREOTYPE;
+	int RELATIONSHIP___IS_STEREOTYPE_REQUIRED__STEREOTYPE = ELEMENT___IS_STEREOTYPE_REQUIRED__STEREOTYPE;
 
 	/**
 	 * The operation id for the '<em>Remove Keyword</em>' operation.
@@ -18491,7 +19102,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int PARAMETERABLE_ELEMENT___REMOVE_KEYWORD__STRING = ELEMENT___REMOVE_KEYWORD__STRING;
+	int RELATIONSHIP___REMOVE_KEYWORD__STRING = ELEMENT___REMOVE_KEYWORD__STRING;
 
 	/**
 	 * The operation id for the '<em>Set Value</em>' operation.
@@ -18500,7 +19111,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int PARAMETERABLE_ELEMENT___SET_VALUE__STEREOTYPE_STRING_OBJECT = ELEMENT___SET_VALUE__STEREOTYPE_STRING_OBJECT;
+	int RELATIONSHIP___SET_VALUE__STEREOTYPE_STRING_OBJECT = ELEMENT___SET_VALUE__STEREOTYPE_STRING_OBJECT;
 
 	/**
 	 * The operation id for the '<em>Unapply Stereotype</em>' operation.
@@ -18509,7 +19120,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int PARAMETERABLE_ELEMENT___UNAPPLY_STEREOTYPE__STEREOTYPE = ELEMENT___UNAPPLY_STEREOTYPE__STEREOTYPE;
+	int RELATIONSHIP___UNAPPLY_STEREOTYPE__STEREOTYPE = ELEMENT___UNAPPLY_STEREOTYPE__STEREOTYPE;
 
 	/**
 	 * The operation id for the '<em>All Owned Elements</em>' operation.
@@ -18518,7 +19129,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int PARAMETERABLE_ELEMENT___ALL_OWNED_ELEMENTS = ELEMENT___ALL_OWNED_ELEMENTS;
+	int RELATIONSHIP___ALL_OWNED_ELEMENTS = ELEMENT___ALL_OWNED_ELEMENTS;
 
 	/**
 	 * The operation id for the '<em>Must Be Owned</em>' operation.
@@ -18527,34 +19138,430 @@
 	 * @generated
 	 * @ordered
 	 */
-	int PARAMETERABLE_ELEMENT___MUST_BE_OWNED = ELEMENT___MUST_BE_OWNED;
+	int RELATIONSHIP___MUST_BE_OWNED = ELEMENT___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Is Compatible With</em>' operation.
+	 * The number of operations of the '<em>Relationship</em>' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int PARAMETERABLE_ELEMENT___IS_COMPATIBLE_WITH__PARAMETERABLEELEMENT = ELEMENT_OPERATION_COUNT + 0;
+	int RELATIONSHIP_OPERATION_COUNT = ELEMENT_OPERATION_COUNT + 0;
 
 	/**
-	 * The operation id for the '<em>Is Template Parameter</em>' operation.
+	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int PARAMETERABLE_ELEMENT___IS_TEMPLATE_PARAMETER = ELEMENT_OPERATION_COUNT + 1;
+	int DIRECTED_RELATIONSHIP__EANNOTATIONS = RELATIONSHIP__EANNOTATIONS;
 
 	/**
-	 * The number of operations of the '<em>Parameterable Element</em>' class.
+	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int PARAMETERABLE_ELEMENT_OPERATION_COUNT = ELEMENT_OPERATION_COUNT + 2;
+	int DIRECTED_RELATIONSHIP__OWNED_COMMENT = RELATIONSHIP__OWNED_COMMENT;
+
+	/**
+	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DIRECTED_RELATIONSHIP__OWNED_ELEMENT = RELATIONSHIP__OWNED_ELEMENT;
+
+	/**
+	 * The feature id for the '<em><b>Owner</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DIRECTED_RELATIONSHIP__OWNER = RELATIONSHIP__OWNER;
+
+	/**
+	 * The feature id for the '<em><b>Related Element</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DIRECTED_RELATIONSHIP__RELATED_ELEMENT = RELATIONSHIP__RELATED_ELEMENT;
+
+	/**
+	 * The feature id for the '<em><b>Source</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DIRECTED_RELATIONSHIP__SOURCE = RELATIONSHIP_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Target</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DIRECTED_RELATIONSHIP__TARGET = RELATIONSHIP_FEATURE_COUNT + 1;
+
+	/**
+	 * The number of structural features of the '<em>Directed Relationship</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DIRECTED_RELATIONSHIP_FEATURE_COUNT = RELATIONSHIP_FEATURE_COUNT + 2;
+
+	/**
+	 * The operation id for the '<em>Get EAnnotation</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DIRECTED_RELATIONSHIP___GET_EANNOTATION__STRING = RELATIONSHIP___GET_EANNOTATION__STRING;
+
+	/**
+	 * The operation id for the '<em>Validate Has Owner</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DIRECTED_RELATIONSHIP___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP = RELATIONSHIP___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Validate Not Own Self</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DIRECTED_RELATIONSHIP___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP = RELATIONSHIP___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Add Keyword</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DIRECTED_RELATIONSHIP___ADD_KEYWORD__STRING = RELATIONSHIP___ADD_KEYWORD__STRING;
+
+	/**
+	 * The operation id for the '<em>Apply Stereotype</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DIRECTED_RELATIONSHIP___APPLY_STEREOTYPE__STEREOTYPE = RELATIONSHIP___APPLY_STEREOTYPE__STEREOTYPE;
+
+	/**
+	 * The operation id for the '<em>Create EAnnotation</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DIRECTED_RELATIONSHIP___CREATE_EANNOTATION__STRING = RELATIONSHIP___CREATE_EANNOTATION__STRING;
+
+	/**
+	 * The operation id for the '<em>Destroy</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DIRECTED_RELATIONSHIP___DESTROY = RELATIONSHIP___DESTROY;
+
+	/**
+	 * The operation id for the '<em>Get Keywords</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DIRECTED_RELATIONSHIP___GET_KEYWORDS = RELATIONSHIP___GET_KEYWORDS;
+
+	/**
+	 * The operation id for the '<em>Get Applicable Stereotype</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DIRECTED_RELATIONSHIP___GET_APPLICABLE_STEREOTYPE__STRING = RELATIONSHIP___GET_APPLICABLE_STEREOTYPE__STRING;
+
+	/**
+	 * The operation id for the '<em>Get Applicable Stereotypes</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DIRECTED_RELATIONSHIP___GET_APPLICABLE_STEREOTYPES = RELATIONSHIP___GET_APPLICABLE_STEREOTYPES;
+
+	/**
+	 * The operation id for the '<em>Get Applied Stereotype</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DIRECTED_RELATIONSHIP___GET_APPLIED_STEREOTYPE__STRING = RELATIONSHIP___GET_APPLIED_STEREOTYPE__STRING;
+
+	/**
+	 * The operation id for the '<em>Get Applied Stereotypes</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DIRECTED_RELATIONSHIP___GET_APPLIED_STEREOTYPES = RELATIONSHIP___GET_APPLIED_STEREOTYPES;
+
+	/**
+	 * The operation id for the '<em>Get Applied Substereotype</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DIRECTED_RELATIONSHIP___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING = RELATIONSHIP___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING;
+
+	/**
+	 * The operation id for the '<em>Get Applied Substereotypes</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DIRECTED_RELATIONSHIP___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE = RELATIONSHIP___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE;
+
+	/**
+	 * The operation id for the '<em>Get Model</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DIRECTED_RELATIONSHIP___GET_MODEL = RELATIONSHIP___GET_MODEL;
+
+	/**
+	 * The operation id for the '<em>Get Nearest Package</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DIRECTED_RELATIONSHIP___GET_NEAREST_PACKAGE = RELATIONSHIP___GET_NEAREST_PACKAGE;
+
+	/**
+	 * The operation id for the '<em>Get Relationships</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DIRECTED_RELATIONSHIP___GET_RELATIONSHIPS = RELATIONSHIP___GET_RELATIONSHIPS;
+
+	/**
+	 * The operation id for the '<em>Get Relationships</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DIRECTED_RELATIONSHIP___GET_RELATIONSHIPS__ECLASS = RELATIONSHIP___GET_RELATIONSHIPS__ECLASS;
+
+	/**
+	 * The operation id for the '<em>Get Required Stereotype</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DIRECTED_RELATIONSHIP___GET_REQUIRED_STEREOTYPE__STRING = RELATIONSHIP___GET_REQUIRED_STEREOTYPE__STRING;
+
+	/**
+	 * The operation id for the '<em>Get Required Stereotypes</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DIRECTED_RELATIONSHIP___GET_REQUIRED_STEREOTYPES = RELATIONSHIP___GET_REQUIRED_STEREOTYPES;
+
+	/**
+	 * The operation id for the '<em>Get Source Directed Relationships</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DIRECTED_RELATIONSHIP___GET_SOURCE_DIRECTED_RELATIONSHIPS = RELATIONSHIP___GET_SOURCE_DIRECTED_RELATIONSHIPS;
+
+	/**
+	 * The operation id for the '<em>Get Source Directed Relationships</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DIRECTED_RELATIONSHIP___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS = RELATIONSHIP___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS;
+
+	/**
+	 * The operation id for the '<em>Get Stereotype Application</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DIRECTED_RELATIONSHIP___GET_STEREOTYPE_APPLICATION__STEREOTYPE = RELATIONSHIP___GET_STEREOTYPE_APPLICATION__STEREOTYPE;
+
+	/**
+	 * The operation id for the '<em>Get Stereotype Applications</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DIRECTED_RELATIONSHIP___GET_STEREOTYPE_APPLICATIONS = RELATIONSHIP___GET_STEREOTYPE_APPLICATIONS;
+
+	/**
+	 * The operation id for the '<em>Get Target Directed Relationships</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DIRECTED_RELATIONSHIP___GET_TARGET_DIRECTED_RELATIONSHIPS = RELATIONSHIP___GET_TARGET_DIRECTED_RELATIONSHIPS;
+
+	/**
+	 * The operation id for the '<em>Get Target Directed Relationships</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DIRECTED_RELATIONSHIP___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS = RELATIONSHIP___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS;
+
+	/**
+	 * The operation id for the '<em>Get Value</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DIRECTED_RELATIONSHIP___GET_VALUE__STEREOTYPE_STRING = RELATIONSHIP___GET_VALUE__STEREOTYPE_STRING;
+
+	/**
+	 * The operation id for the '<em>Has Keyword</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DIRECTED_RELATIONSHIP___HAS_KEYWORD__STRING = RELATIONSHIP___HAS_KEYWORD__STRING;
+
+	/**
+	 * The operation id for the '<em>Has Value</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DIRECTED_RELATIONSHIP___HAS_VALUE__STEREOTYPE_STRING = RELATIONSHIP___HAS_VALUE__STEREOTYPE_STRING;
+
+	/**
+	 * The operation id for the '<em>Is Stereotype Applicable</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DIRECTED_RELATIONSHIP___IS_STEREOTYPE_APPLICABLE__STEREOTYPE = RELATIONSHIP___IS_STEREOTYPE_APPLICABLE__STEREOTYPE;
+
+	/**
+	 * The operation id for the '<em>Is Stereotype Applied</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DIRECTED_RELATIONSHIP___IS_STEREOTYPE_APPLIED__STEREOTYPE = RELATIONSHIP___IS_STEREOTYPE_APPLIED__STEREOTYPE;
+
+	/**
+	 * The operation id for the '<em>Is Stereotype Required</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DIRECTED_RELATIONSHIP___IS_STEREOTYPE_REQUIRED__STEREOTYPE = RELATIONSHIP___IS_STEREOTYPE_REQUIRED__STEREOTYPE;
+
+	/**
+	 * The operation id for the '<em>Remove Keyword</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DIRECTED_RELATIONSHIP___REMOVE_KEYWORD__STRING = RELATIONSHIP___REMOVE_KEYWORD__STRING;
+
+	/**
+	 * The operation id for the '<em>Set Value</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DIRECTED_RELATIONSHIP___SET_VALUE__STEREOTYPE_STRING_OBJECT = RELATIONSHIP___SET_VALUE__STEREOTYPE_STRING_OBJECT;
+
+	/**
+	 * The operation id for the '<em>Unapply Stereotype</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DIRECTED_RELATIONSHIP___UNAPPLY_STEREOTYPE__STEREOTYPE = RELATIONSHIP___UNAPPLY_STEREOTYPE__STEREOTYPE;
+
+	/**
+	 * The operation id for the '<em>All Owned Elements</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DIRECTED_RELATIONSHIP___ALL_OWNED_ELEMENTS = RELATIONSHIP___ALL_OWNED_ELEMENTS;
+
+	/**
+	 * The operation id for the '<em>Must Be Owned</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DIRECTED_RELATIONSHIP___MUST_BE_OWNED = RELATIONSHIP___MUST_BE_OWNED;
+
+	/**
+	 * The number of operations of the '<em>Directed Relationship</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DIRECTED_RELATIONSHIP_OPERATION_COUNT = RELATIONSHIP_OPERATION_COUNT + 0;
 
 	/**
 	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
@@ -19448,2274 +20455,6 @@
 	int TEMPLATE_PARAMETER_SUBSTITUTION_OPERATION_COUNT = ELEMENT_OPERATION_COUNT + 1;
 
 	/**
-	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPED_ELEMENT__EANNOTATIONS = NAMED_ELEMENT__EANNOTATIONS;
-
-	/**
-	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPED_ELEMENT__OWNED_COMMENT = NAMED_ELEMENT__OWNED_COMMENT;
-
-	/**
-	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPED_ELEMENT__OWNED_ELEMENT = NAMED_ELEMENT__OWNED_ELEMENT;
-
-	/**
-	 * The feature id for the '<em><b>Owner</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPED_ELEMENT__OWNER = NAMED_ELEMENT__OWNER;
-
-	/**
-	 * The feature id for the '<em><b>Client Dependency</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPED_ELEMENT__CLIENT_DEPENDENCY = NAMED_ELEMENT__CLIENT_DEPENDENCY;
-
-	/**
-	 * The feature id for the '<em><b>Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPED_ELEMENT__NAME = NAMED_ELEMENT__NAME;
-
-	/**
-	 * The feature id for the '<em><b>Name Expression</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPED_ELEMENT__NAME_EXPRESSION = NAMED_ELEMENT__NAME_EXPRESSION;
-
-	/**
-	 * The feature id for the '<em><b>Namespace</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPED_ELEMENT__NAMESPACE = NAMED_ELEMENT__NAMESPACE;
-
-	/**
-	 * The feature id for the '<em><b>Qualified Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPED_ELEMENT__QUALIFIED_NAME = NAMED_ELEMENT__QUALIFIED_NAME;
-
-	/**
-	 * The feature id for the '<em><b>Visibility</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPED_ELEMENT__VISIBILITY = NAMED_ELEMENT__VISIBILITY;
-
-	/**
-	 * The feature id for the '<em><b>Type</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPED_ELEMENT__TYPE = NAMED_ELEMENT_FEATURE_COUNT + 0;
-
-	/**
-	 * The number of structural features of the '<em>Typed Element</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPED_ELEMENT_FEATURE_COUNT = NAMED_ELEMENT_FEATURE_COUNT + 1;
-
-	/**
-	 * The operation id for the '<em>Get EAnnotation</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPED_ELEMENT___GET_EANNOTATION__STRING = NAMED_ELEMENT___GET_EANNOTATION__STRING;
-
-	/**
-	 * The operation id for the '<em>Validate Has Owner</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPED_ELEMENT___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP = NAMED_ELEMENT___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Validate Not Own Self</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPED_ELEMENT___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP = NAMED_ELEMENT___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Add Keyword</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPED_ELEMENT___ADD_KEYWORD__STRING = NAMED_ELEMENT___ADD_KEYWORD__STRING;
-
-	/**
-	 * The operation id for the '<em>Apply Stereotype</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPED_ELEMENT___APPLY_STEREOTYPE__STEREOTYPE = NAMED_ELEMENT___APPLY_STEREOTYPE__STEREOTYPE;
-
-	/**
-	 * The operation id for the '<em>Create EAnnotation</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPED_ELEMENT___CREATE_EANNOTATION__STRING = NAMED_ELEMENT___CREATE_EANNOTATION__STRING;
-
-	/**
-	 * The operation id for the '<em>Destroy</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPED_ELEMENT___DESTROY = NAMED_ELEMENT___DESTROY;
-
-	/**
-	 * The operation id for the '<em>Get Keywords</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPED_ELEMENT___GET_KEYWORDS = NAMED_ELEMENT___GET_KEYWORDS;
-
-	/**
-	 * The operation id for the '<em>Get Applicable Stereotype</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPED_ELEMENT___GET_APPLICABLE_STEREOTYPE__STRING = NAMED_ELEMENT___GET_APPLICABLE_STEREOTYPE__STRING;
-
-	/**
-	 * The operation id for the '<em>Get Applicable Stereotypes</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPED_ELEMENT___GET_APPLICABLE_STEREOTYPES = NAMED_ELEMENT___GET_APPLICABLE_STEREOTYPES;
-
-	/**
-	 * The operation id for the '<em>Get Applied Stereotype</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPED_ELEMENT___GET_APPLIED_STEREOTYPE__STRING = NAMED_ELEMENT___GET_APPLIED_STEREOTYPE__STRING;
-
-	/**
-	 * The operation id for the '<em>Get Applied Stereotypes</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPED_ELEMENT___GET_APPLIED_STEREOTYPES = NAMED_ELEMENT___GET_APPLIED_STEREOTYPES;
-
-	/**
-	 * The operation id for the '<em>Get Applied Substereotype</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPED_ELEMENT___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING = NAMED_ELEMENT___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING;
-
-	/**
-	 * The operation id for the '<em>Get Applied Substereotypes</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPED_ELEMENT___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE = NAMED_ELEMENT___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE;
-
-	/**
-	 * The operation id for the '<em>Get Model</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPED_ELEMENT___GET_MODEL = NAMED_ELEMENT___GET_MODEL;
-
-	/**
-	 * The operation id for the '<em>Get Nearest Package</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPED_ELEMENT___GET_NEAREST_PACKAGE = NAMED_ELEMENT___GET_NEAREST_PACKAGE;
-
-	/**
-	 * The operation id for the '<em>Get Relationships</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPED_ELEMENT___GET_RELATIONSHIPS = NAMED_ELEMENT___GET_RELATIONSHIPS;
-
-	/**
-	 * The operation id for the '<em>Get Relationships</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPED_ELEMENT___GET_RELATIONSHIPS__ECLASS = NAMED_ELEMENT___GET_RELATIONSHIPS__ECLASS;
-
-	/**
-	 * The operation id for the '<em>Get Required Stereotype</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPED_ELEMENT___GET_REQUIRED_STEREOTYPE__STRING = NAMED_ELEMENT___GET_REQUIRED_STEREOTYPE__STRING;
-
-	/**
-	 * The operation id for the '<em>Get Required Stereotypes</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPED_ELEMENT___GET_REQUIRED_STEREOTYPES = NAMED_ELEMENT___GET_REQUIRED_STEREOTYPES;
-
-	/**
-	 * The operation id for the '<em>Get Source Directed Relationships</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPED_ELEMENT___GET_SOURCE_DIRECTED_RELATIONSHIPS = NAMED_ELEMENT___GET_SOURCE_DIRECTED_RELATIONSHIPS;
-
-	/**
-	 * The operation id for the '<em>Get Source Directed Relationships</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPED_ELEMENT___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS = NAMED_ELEMENT___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS;
-
-	/**
-	 * The operation id for the '<em>Get Stereotype Application</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPED_ELEMENT___GET_STEREOTYPE_APPLICATION__STEREOTYPE = NAMED_ELEMENT___GET_STEREOTYPE_APPLICATION__STEREOTYPE;
-
-	/**
-	 * The operation id for the '<em>Get Stereotype Applications</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPED_ELEMENT___GET_STEREOTYPE_APPLICATIONS = NAMED_ELEMENT___GET_STEREOTYPE_APPLICATIONS;
-
-	/**
-	 * The operation id for the '<em>Get Target Directed Relationships</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPED_ELEMENT___GET_TARGET_DIRECTED_RELATIONSHIPS = NAMED_ELEMENT___GET_TARGET_DIRECTED_RELATIONSHIPS;
-
-	/**
-	 * The operation id for the '<em>Get Target Directed Relationships</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPED_ELEMENT___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS = NAMED_ELEMENT___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS;
-
-	/**
-	 * The operation id for the '<em>Get Value</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPED_ELEMENT___GET_VALUE__STEREOTYPE_STRING = NAMED_ELEMENT___GET_VALUE__STEREOTYPE_STRING;
-
-	/**
-	 * The operation id for the '<em>Has Keyword</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPED_ELEMENT___HAS_KEYWORD__STRING = NAMED_ELEMENT___HAS_KEYWORD__STRING;
-
-	/**
-	 * The operation id for the '<em>Has Value</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPED_ELEMENT___HAS_VALUE__STEREOTYPE_STRING = NAMED_ELEMENT___HAS_VALUE__STEREOTYPE_STRING;
-
-	/**
-	 * The operation id for the '<em>Is Stereotype Applicable</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPED_ELEMENT___IS_STEREOTYPE_APPLICABLE__STEREOTYPE = NAMED_ELEMENT___IS_STEREOTYPE_APPLICABLE__STEREOTYPE;
-
-	/**
-	 * The operation id for the '<em>Is Stereotype Applied</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPED_ELEMENT___IS_STEREOTYPE_APPLIED__STEREOTYPE = NAMED_ELEMENT___IS_STEREOTYPE_APPLIED__STEREOTYPE;
-
-	/**
-	 * The operation id for the '<em>Is Stereotype Required</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPED_ELEMENT___IS_STEREOTYPE_REQUIRED__STEREOTYPE = NAMED_ELEMENT___IS_STEREOTYPE_REQUIRED__STEREOTYPE;
-
-	/**
-	 * The operation id for the '<em>Remove Keyword</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPED_ELEMENT___REMOVE_KEYWORD__STRING = NAMED_ELEMENT___REMOVE_KEYWORD__STRING;
-
-	/**
-	 * The operation id for the '<em>Set Value</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPED_ELEMENT___SET_VALUE__STEREOTYPE_STRING_OBJECT = NAMED_ELEMENT___SET_VALUE__STEREOTYPE_STRING_OBJECT;
-
-	/**
-	 * The operation id for the '<em>Unapply Stereotype</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPED_ELEMENT___UNAPPLY_STEREOTYPE__STEREOTYPE = NAMED_ELEMENT___UNAPPLY_STEREOTYPE__STEREOTYPE;
-
-	/**
-	 * The operation id for the '<em>All Owned Elements</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPED_ELEMENT___ALL_OWNED_ELEMENTS = NAMED_ELEMENT___ALL_OWNED_ELEMENTS;
-
-	/**
-	 * The operation id for the '<em>Must Be Owned</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPED_ELEMENT___MUST_BE_OWNED = NAMED_ELEMENT___MUST_BE_OWNED;
-
-	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPED_ELEMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = NAMED_ELEMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPED_ELEMENT___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = NAMED_ELEMENT___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Validate Has No Qualified Name</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPED_ELEMENT___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = NAMED_ELEMENT___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Create Dependency</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPED_ELEMENT___CREATE_DEPENDENCY__NAMEDELEMENT = NAMED_ELEMENT___CREATE_DEPENDENCY__NAMEDELEMENT;
-
-	/**
-	 * The operation id for the '<em>Create Usage</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPED_ELEMENT___CREATE_USAGE__NAMEDELEMENT = NAMED_ELEMENT___CREATE_USAGE__NAMEDELEMENT;
-
-	/**
-	 * The operation id for the '<em>Get Label</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPED_ELEMENT___GET_LABEL = NAMED_ELEMENT___GET_LABEL;
-
-	/**
-	 * The operation id for the '<em>Get Label</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPED_ELEMENT___GET_LABEL__BOOLEAN = NAMED_ELEMENT___GET_LABEL__BOOLEAN;
-
-	/**
-	 * The operation id for the '<em>All Namespaces</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPED_ELEMENT___ALL_NAMESPACES = NAMED_ELEMENT___ALL_NAMESPACES;
-
-	/**
-	 * The operation id for the '<em>All Owning Packages</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPED_ELEMENT___ALL_OWNING_PACKAGES = NAMED_ELEMENT___ALL_OWNING_PACKAGES;
-
-	/**
-	 * The operation id for the '<em>Is Distinguishable From</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPED_ELEMENT___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE = NAMED_ELEMENT___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE;
-
-	/**
-	 * The operation id for the '<em>Get Namespace</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPED_ELEMENT___GET_NAMESPACE = NAMED_ELEMENT___GET_NAMESPACE;
-
-	/**
-	 * The operation id for the '<em>Get Qualified Name</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPED_ELEMENT___GET_QUALIFIED_NAME = NAMED_ELEMENT___GET_QUALIFIED_NAME;
-
-	/**
-	 * The operation id for the '<em>Separator</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPED_ELEMENT___SEPARATOR = NAMED_ELEMENT___SEPARATOR;
-
-	/**
-	 * The number of operations of the '<em>Typed Element</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPED_ELEMENT_OPERATION_COUNT = NAMED_ELEMENT_OPERATION_COUNT + 0;
-
-	/**
-	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPE__EANNOTATIONS = PACKAGEABLE_ELEMENT__EANNOTATIONS;
-
-	/**
-	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPE__OWNED_COMMENT = PACKAGEABLE_ELEMENT__OWNED_COMMENT;
-
-	/**
-	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPE__OWNED_ELEMENT = PACKAGEABLE_ELEMENT__OWNED_ELEMENT;
-
-	/**
-	 * The feature id for the '<em><b>Owner</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPE__OWNER = PACKAGEABLE_ELEMENT__OWNER;
-
-	/**
-	 * The feature id for the '<em><b>Client Dependency</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPE__CLIENT_DEPENDENCY = PACKAGEABLE_ELEMENT__CLIENT_DEPENDENCY;
-
-	/**
-	 * The feature id for the '<em><b>Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPE__NAME = PACKAGEABLE_ELEMENT__NAME;
-
-	/**
-	 * The feature id for the '<em><b>Name Expression</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPE__NAME_EXPRESSION = PACKAGEABLE_ELEMENT__NAME_EXPRESSION;
-
-	/**
-	 * The feature id for the '<em><b>Namespace</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPE__NAMESPACE = PACKAGEABLE_ELEMENT__NAMESPACE;
-
-	/**
-	 * The feature id for the '<em><b>Qualified Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPE__QUALIFIED_NAME = PACKAGEABLE_ELEMENT__QUALIFIED_NAME;
-
-	/**
-	 * The feature id for the '<em><b>Visibility</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPE__VISIBILITY = PACKAGEABLE_ELEMENT__VISIBILITY;
-
-	/**
-	 * The feature id for the '<em><b>Owning Template Parameter</b></em>' container reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPE__OWNING_TEMPLATE_PARAMETER = PACKAGEABLE_ELEMENT__OWNING_TEMPLATE_PARAMETER;
-
-	/**
-	 * The feature id for the '<em><b>Template Parameter</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPE__TEMPLATE_PARAMETER = PACKAGEABLE_ELEMENT__TEMPLATE_PARAMETER;
-
-	/**
-	 * The feature id for the '<em><b>Package</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPE__PACKAGE = PACKAGEABLE_ELEMENT_FEATURE_COUNT + 0;
-
-	/**
-	 * The number of structural features of the '<em>Type</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPE_FEATURE_COUNT = PACKAGEABLE_ELEMENT_FEATURE_COUNT + 1;
-
-	/**
-	 * The operation id for the '<em>Get EAnnotation</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPE___GET_EANNOTATION__STRING = PACKAGEABLE_ELEMENT___GET_EANNOTATION__STRING;
-
-	/**
-	 * The operation id for the '<em>Validate Has Owner</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPE___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP = PACKAGEABLE_ELEMENT___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Validate Not Own Self</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPE___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP = PACKAGEABLE_ELEMENT___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Add Keyword</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPE___ADD_KEYWORD__STRING = PACKAGEABLE_ELEMENT___ADD_KEYWORD__STRING;
-
-	/**
-	 * The operation id for the '<em>Apply Stereotype</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPE___APPLY_STEREOTYPE__STEREOTYPE = PACKAGEABLE_ELEMENT___APPLY_STEREOTYPE__STEREOTYPE;
-
-	/**
-	 * The operation id for the '<em>Create EAnnotation</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPE___CREATE_EANNOTATION__STRING = PACKAGEABLE_ELEMENT___CREATE_EANNOTATION__STRING;
-
-	/**
-	 * The operation id for the '<em>Destroy</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPE___DESTROY = PACKAGEABLE_ELEMENT___DESTROY;
-
-	/**
-	 * The operation id for the '<em>Get Keywords</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPE___GET_KEYWORDS = PACKAGEABLE_ELEMENT___GET_KEYWORDS;
-
-	/**
-	 * The operation id for the '<em>Get Applicable Stereotype</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPE___GET_APPLICABLE_STEREOTYPE__STRING = PACKAGEABLE_ELEMENT___GET_APPLICABLE_STEREOTYPE__STRING;
-
-	/**
-	 * The operation id for the '<em>Get Applicable Stereotypes</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPE___GET_APPLICABLE_STEREOTYPES = PACKAGEABLE_ELEMENT___GET_APPLICABLE_STEREOTYPES;
-
-	/**
-	 * The operation id for the '<em>Get Applied Stereotype</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPE___GET_APPLIED_STEREOTYPE__STRING = PACKAGEABLE_ELEMENT___GET_APPLIED_STEREOTYPE__STRING;
-
-	/**
-	 * The operation id for the '<em>Get Applied Stereotypes</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPE___GET_APPLIED_STEREOTYPES = PACKAGEABLE_ELEMENT___GET_APPLIED_STEREOTYPES;
-
-	/**
-	 * The operation id for the '<em>Get Applied Substereotype</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPE___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING = PACKAGEABLE_ELEMENT___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING;
-
-	/**
-	 * The operation id for the '<em>Get Applied Substereotypes</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPE___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE = PACKAGEABLE_ELEMENT___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE;
-
-	/**
-	 * The operation id for the '<em>Get Model</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPE___GET_MODEL = PACKAGEABLE_ELEMENT___GET_MODEL;
-
-	/**
-	 * The operation id for the '<em>Get Nearest Package</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPE___GET_NEAREST_PACKAGE = PACKAGEABLE_ELEMENT___GET_NEAREST_PACKAGE;
-
-	/**
-	 * The operation id for the '<em>Get Relationships</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPE___GET_RELATIONSHIPS = PACKAGEABLE_ELEMENT___GET_RELATIONSHIPS;
-
-	/**
-	 * The operation id for the '<em>Get Relationships</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPE___GET_RELATIONSHIPS__ECLASS = PACKAGEABLE_ELEMENT___GET_RELATIONSHIPS__ECLASS;
-
-	/**
-	 * The operation id for the '<em>Get Required Stereotype</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPE___GET_REQUIRED_STEREOTYPE__STRING = PACKAGEABLE_ELEMENT___GET_REQUIRED_STEREOTYPE__STRING;
-
-	/**
-	 * The operation id for the '<em>Get Required Stereotypes</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPE___GET_REQUIRED_STEREOTYPES = PACKAGEABLE_ELEMENT___GET_REQUIRED_STEREOTYPES;
-
-	/**
-	 * The operation id for the '<em>Get Source Directed Relationships</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPE___GET_SOURCE_DIRECTED_RELATIONSHIPS = PACKAGEABLE_ELEMENT___GET_SOURCE_DIRECTED_RELATIONSHIPS;
-
-	/**
-	 * The operation id for the '<em>Get Source Directed Relationships</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPE___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS = PACKAGEABLE_ELEMENT___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS;
-
-	/**
-	 * The operation id for the '<em>Get Stereotype Application</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPE___GET_STEREOTYPE_APPLICATION__STEREOTYPE = PACKAGEABLE_ELEMENT___GET_STEREOTYPE_APPLICATION__STEREOTYPE;
-
-	/**
-	 * The operation id for the '<em>Get Stereotype Applications</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPE___GET_STEREOTYPE_APPLICATIONS = PACKAGEABLE_ELEMENT___GET_STEREOTYPE_APPLICATIONS;
-
-	/**
-	 * The operation id for the '<em>Get Target Directed Relationships</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPE___GET_TARGET_DIRECTED_RELATIONSHIPS = PACKAGEABLE_ELEMENT___GET_TARGET_DIRECTED_RELATIONSHIPS;
-
-	/**
-	 * The operation id for the '<em>Get Target Directed Relationships</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPE___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS = PACKAGEABLE_ELEMENT___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS;
-
-	/**
-	 * The operation id for the '<em>Get Value</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPE___GET_VALUE__STEREOTYPE_STRING = PACKAGEABLE_ELEMENT___GET_VALUE__STEREOTYPE_STRING;
-
-	/**
-	 * The operation id for the '<em>Has Keyword</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPE___HAS_KEYWORD__STRING = PACKAGEABLE_ELEMENT___HAS_KEYWORD__STRING;
-
-	/**
-	 * The operation id for the '<em>Has Value</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPE___HAS_VALUE__STEREOTYPE_STRING = PACKAGEABLE_ELEMENT___HAS_VALUE__STEREOTYPE_STRING;
-
-	/**
-	 * The operation id for the '<em>Is Stereotype Applicable</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPE___IS_STEREOTYPE_APPLICABLE__STEREOTYPE = PACKAGEABLE_ELEMENT___IS_STEREOTYPE_APPLICABLE__STEREOTYPE;
-
-	/**
-	 * The operation id for the '<em>Is Stereotype Applied</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPE___IS_STEREOTYPE_APPLIED__STEREOTYPE = PACKAGEABLE_ELEMENT___IS_STEREOTYPE_APPLIED__STEREOTYPE;
-
-	/**
-	 * The operation id for the '<em>Is Stereotype Required</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPE___IS_STEREOTYPE_REQUIRED__STEREOTYPE = PACKAGEABLE_ELEMENT___IS_STEREOTYPE_REQUIRED__STEREOTYPE;
-
-	/**
-	 * The operation id for the '<em>Remove Keyword</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPE___REMOVE_KEYWORD__STRING = PACKAGEABLE_ELEMENT___REMOVE_KEYWORD__STRING;
-
-	/**
-	 * The operation id for the '<em>Set Value</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPE___SET_VALUE__STEREOTYPE_STRING_OBJECT = PACKAGEABLE_ELEMENT___SET_VALUE__STEREOTYPE_STRING_OBJECT;
-
-	/**
-	 * The operation id for the '<em>Unapply Stereotype</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPE___UNAPPLY_STEREOTYPE__STEREOTYPE = PACKAGEABLE_ELEMENT___UNAPPLY_STEREOTYPE__STEREOTYPE;
-
-	/**
-	 * The operation id for the '<em>All Owned Elements</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPE___ALL_OWNED_ELEMENTS = PACKAGEABLE_ELEMENT___ALL_OWNED_ELEMENTS;
-
-	/**
-	 * The operation id for the '<em>Must Be Owned</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPE___MUST_BE_OWNED = PACKAGEABLE_ELEMENT___MUST_BE_OWNED;
-
-	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = PACKAGEABLE_ELEMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPE___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = PACKAGEABLE_ELEMENT___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Validate Has No Qualified Name</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = PACKAGEABLE_ELEMENT___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Create Dependency</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPE___CREATE_DEPENDENCY__NAMEDELEMENT = PACKAGEABLE_ELEMENT___CREATE_DEPENDENCY__NAMEDELEMENT;
-
-	/**
-	 * The operation id for the '<em>Create Usage</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPE___CREATE_USAGE__NAMEDELEMENT = PACKAGEABLE_ELEMENT___CREATE_USAGE__NAMEDELEMENT;
-
-	/**
-	 * The operation id for the '<em>Get Label</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPE___GET_LABEL = PACKAGEABLE_ELEMENT___GET_LABEL;
-
-	/**
-	 * The operation id for the '<em>Get Label</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPE___GET_LABEL__BOOLEAN = PACKAGEABLE_ELEMENT___GET_LABEL__BOOLEAN;
-
-	/**
-	 * The operation id for the '<em>All Namespaces</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPE___ALL_NAMESPACES = PACKAGEABLE_ELEMENT___ALL_NAMESPACES;
-
-	/**
-	 * The operation id for the '<em>All Owning Packages</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPE___ALL_OWNING_PACKAGES = PACKAGEABLE_ELEMENT___ALL_OWNING_PACKAGES;
-
-	/**
-	 * The operation id for the '<em>Is Distinguishable From</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPE___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE = PACKAGEABLE_ELEMENT___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE;
-
-	/**
-	 * The operation id for the '<em>Get Namespace</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPE___GET_NAMESPACE = PACKAGEABLE_ELEMENT___GET_NAMESPACE;
-
-	/**
-	 * The operation id for the '<em>Get Qualified Name</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPE___GET_QUALIFIED_NAME = PACKAGEABLE_ELEMENT___GET_QUALIFIED_NAME;
-
-	/**
-	 * The operation id for the '<em>Separator</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPE___SEPARATOR = PACKAGEABLE_ELEMENT___SEPARATOR;
-
-	/**
-	 * The operation id for the '<em>Is Compatible With</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPE___IS_COMPATIBLE_WITH__PARAMETERABLEELEMENT = PACKAGEABLE_ELEMENT___IS_COMPATIBLE_WITH__PARAMETERABLEELEMENT;
-
-	/**
-	 * The operation id for the '<em>Is Template Parameter</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPE___IS_TEMPLATE_PARAMETER = PACKAGEABLE_ELEMENT___IS_TEMPLATE_PARAMETER;
-
-	/**
-	 * The operation id for the '<em>Create Association</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPE___CREATE_ASSOCIATION__BOOLEAN_AGGREGATIONKIND_STRING_INT_INT_TYPE_BOOLEAN_AGGREGATIONKIND_STRING_INT_INT = PACKAGEABLE_ELEMENT_OPERATION_COUNT + 0;
-
-	/**
-	 * The operation id for the '<em>Get Associations</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPE___GET_ASSOCIATIONS = PACKAGEABLE_ELEMENT_OPERATION_COUNT + 1;
-
-	/**
-	 * The operation id for the '<em>Conforms To</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPE___CONFORMS_TO__TYPE = PACKAGEABLE_ELEMENT_OPERATION_COUNT + 2;
-
-	/**
-	 * The number of operations of the '<em>Type</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TYPE_OPERATION_COUNT = PACKAGEABLE_ELEMENT_OPERATION_COUNT + 3;
-
-	/**
-	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE__EANNOTATIONS = NAMESPACE__EANNOTATIONS;
-
-	/**
-	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE__OWNED_COMMENT = NAMESPACE__OWNED_COMMENT;
-
-	/**
-	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE__OWNED_ELEMENT = NAMESPACE__OWNED_ELEMENT;
-
-	/**
-	 * The feature id for the '<em><b>Owner</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE__OWNER = NAMESPACE__OWNER;
-
-	/**
-	 * The feature id for the '<em><b>Client Dependency</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE__CLIENT_DEPENDENCY = NAMESPACE__CLIENT_DEPENDENCY;
-
-	/**
-	 * The feature id for the '<em><b>Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE__NAME = NAMESPACE__NAME;
-
-	/**
-	 * The feature id for the '<em><b>Name Expression</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE__NAME_EXPRESSION = NAMESPACE__NAME_EXPRESSION;
-
-	/**
-	 * The feature id for the '<em><b>Namespace</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE__NAMESPACE = NAMESPACE__NAMESPACE;
-
-	/**
-	 * The feature id for the '<em><b>Qualified Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE__QUALIFIED_NAME = NAMESPACE__QUALIFIED_NAME;
-
-	/**
-	 * The feature id for the '<em><b>Visibility</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE__VISIBILITY = NAMESPACE__VISIBILITY;
-
-	/**
-	 * The feature id for the '<em><b>Element Import</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE__ELEMENT_IMPORT = NAMESPACE__ELEMENT_IMPORT;
-
-	/**
-	 * The feature id for the '<em><b>Package Import</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE__PACKAGE_IMPORT = NAMESPACE__PACKAGE_IMPORT;
-
-	/**
-	 * The feature id for the '<em><b>Owned Rule</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE__OWNED_RULE = NAMESPACE__OWNED_RULE;
-
-	/**
-	 * The feature id for the '<em><b>Owned Member</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE__OWNED_MEMBER = NAMESPACE__OWNED_MEMBER;
-
-	/**
-	 * The feature id for the '<em><b>Imported Member</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE__IMPORTED_MEMBER = NAMESPACE__IMPORTED_MEMBER;
-
-	/**
-	 * The feature id for the '<em><b>Member</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE__MEMBER = NAMESPACE__MEMBER;
-
-	/**
-	 * The feature id for the '<em><b>Owning Template Parameter</b></em>' container reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE__OWNING_TEMPLATE_PARAMETER = NAMESPACE_FEATURE_COUNT + 0;
-
-	/**
-	 * The feature id for the '<em><b>Template Parameter</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE__TEMPLATE_PARAMETER = NAMESPACE_FEATURE_COUNT + 1;
-
-	/**
-	 * The feature id for the '<em><b>Owned Template Signature</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE__OWNED_TEMPLATE_SIGNATURE = NAMESPACE_FEATURE_COUNT + 2;
-
-	/**
-	 * The feature id for the '<em><b>Template Binding</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE__TEMPLATE_BINDING = NAMESPACE_FEATURE_COUNT + 3;
-
-	/**
-	 * The feature id for the '<em><b>URI</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE__URI = NAMESPACE_FEATURE_COUNT + 4;
-
-	/**
-	 * The feature id for the '<em><b>Nested Package</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE__NESTED_PACKAGE = NAMESPACE_FEATURE_COUNT + 5;
-
-	/**
-	 * The feature id for the '<em><b>Nesting Package</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE__NESTING_PACKAGE = NAMESPACE_FEATURE_COUNT + 6;
-
-	/**
-	 * The feature id for the '<em><b>Owned Stereotype</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE__OWNED_STEREOTYPE = NAMESPACE_FEATURE_COUNT + 7;
-
-	/**
-	 * The feature id for the '<em><b>Package Merge</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE__PACKAGE_MERGE = NAMESPACE_FEATURE_COUNT + 8;
-
-	/**
-	 * The feature id for the '<em><b>Packaged Element</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE__PACKAGED_ELEMENT = NAMESPACE_FEATURE_COUNT + 9;
-
-	/**
-	 * The feature id for the '<em><b>Profile Application</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE__PROFILE_APPLICATION = NAMESPACE_FEATURE_COUNT + 10;
-
-	/**
-	 * The feature id for the '<em><b>Owned Type</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE__OWNED_TYPE = NAMESPACE_FEATURE_COUNT + 11;
-
-	/**
-	 * The number of structural features of the '<em>Package</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE_FEATURE_COUNT = NAMESPACE_FEATURE_COUNT + 12;
-
-	/**
-	 * The operation id for the '<em>Get EAnnotation</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE___GET_EANNOTATION__STRING = NAMESPACE___GET_EANNOTATION__STRING;
-
-	/**
-	 * The operation id for the '<em>Validate Has Owner</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP = NAMESPACE___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Validate Not Own Self</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP = NAMESPACE___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Add Keyword</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE___ADD_KEYWORD__STRING = NAMESPACE___ADD_KEYWORD__STRING;
-
-	/**
-	 * The operation id for the '<em>Apply Stereotype</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE___APPLY_STEREOTYPE__STEREOTYPE = NAMESPACE___APPLY_STEREOTYPE__STEREOTYPE;
-
-	/**
-	 * The operation id for the '<em>Create EAnnotation</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE___CREATE_EANNOTATION__STRING = NAMESPACE___CREATE_EANNOTATION__STRING;
-
-	/**
-	 * The operation id for the '<em>Destroy</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE___DESTROY = NAMESPACE___DESTROY;
-
-	/**
-	 * The operation id for the '<em>Get Keywords</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE___GET_KEYWORDS = NAMESPACE___GET_KEYWORDS;
-
-	/**
-	 * The operation id for the '<em>Get Applicable Stereotype</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE___GET_APPLICABLE_STEREOTYPE__STRING = NAMESPACE___GET_APPLICABLE_STEREOTYPE__STRING;
-
-	/**
-	 * The operation id for the '<em>Get Applicable Stereotypes</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE___GET_APPLICABLE_STEREOTYPES = NAMESPACE___GET_APPLICABLE_STEREOTYPES;
-
-	/**
-	 * The operation id for the '<em>Get Applied Stereotype</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE___GET_APPLIED_STEREOTYPE__STRING = NAMESPACE___GET_APPLIED_STEREOTYPE__STRING;
-
-	/**
-	 * The operation id for the '<em>Get Applied Stereotypes</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE___GET_APPLIED_STEREOTYPES = NAMESPACE___GET_APPLIED_STEREOTYPES;
-
-	/**
-	 * The operation id for the '<em>Get Applied Substereotype</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING = NAMESPACE___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING;
-
-	/**
-	 * The operation id for the '<em>Get Applied Substereotypes</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE = NAMESPACE___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE;
-
-	/**
-	 * The operation id for the '<em>Get Model</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE___GET_MODEL = NAMESPACE___GET_MODEL;
-
-	/**
-	 * The operation id for the '<em>Get Nearest Package</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE___GET_NEAREST_PACKAGE = NAMESPACE___GET_NEAREST_PACKAGE;
-
-	/**
-	 * The operation id for the '<em>Get Relationships</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE___GET_RELATIONSHIPS = NAMESPACE___GET_RELATIONSHIPS;
-
-	/**
-	 * The operation id for the '<em>Get Relationships</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE___GET_RELATIONSHIPS__ECLASS = NAMESPACE___GET_RELATIONSHIPS__ECLASS;
-
-	/**
-	 * The operation id for the '<em>Get Required Stereotype</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE___GET_REQUIRED_STEREOTYPE__STRING = NAMESPACE___GET_REQUIRED_STEREOTYPE__STRING;
-
-	/**
-	 * The operation id for the '<em>Get Required Stereotypes</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE___GET_REQUIRED_STEREOTYPES = NAMESPACE___GET_REQUIRED_STEREOTYPES;
-
-	/**
-	 * The operation id for the '<em>Get Source Directed Relationships</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE___GET_SOURCE_DIRECTED_RELATIONSHIPS = NAMESPACE___GET_SOURCE_DIRECTED_RELATIONSHIPS;
-
-	/**
-	 * The operation id for the '<em>Get Source Directed Relationships</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS = NAMESPACE___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS;
-
-	/**
-	 * The operation id for the '<em>Get Stereotype Application</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE___GET_STEREOTYPE_APPLICATION__STEREOTYPE = NAMESPACE___GET_STEREOTYPE_APPLICATION__STEREOTYPE;
-
-	/**
-	 * The operation id for the '<em>Get Stereotype Applications</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE___GET_STEREOTYPE_APPLICATIONS = NAMESPACE___GET_STEREOTYPE_APPLICATIONS;
-
-	/**
-	 * The operation id for the '<em>Get Target Directed Relationships</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE___GET_TARGET_DIRECTED_RELATIONSHIPS = NAMESPACE___GET_TARGET_DIRECTED_RELATIONSHIPS;
-
-	/**
-	 * The operation id for the '<em>Get Target Directed Relationships</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS = NAMESPACE___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS;
-
-	/**
-	 * The operation id for the '<em>Get Value</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE___GET_VALUE__STEREOTYPE_STRING = NAMESPACE___GET_VALUE__STEREOTYPE_STRING;
-
-	/**
-	 * The operation id for the '<em>Has Keyword</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE___HAS_KEYWORD__STRING = NAMESPACE___HAS_KEYWORD__STRING;
-
-	/**
-	 * The operation id for the '<em>Has Value</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE___HAS_VALUE__STEREOTYPE_STRING = NAMESPACE___HAS_VALUE__STEREOTYPE_STRING;
-
-	/**
-	 * The operation id for the '<em>Is Stereotype Applicable</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE___IS_STEREOTYPE_APPLICABLE__STEREOTYPE = NAMESPACE___IS_STEREOTYPE_APPLICABLE__STEREOTYPE;
-
-	/**
-	 * The operation id for the '<em>Is Stereotype Applied</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE___IS_STEREOTYPE_APPLIED__STEREOTYPE = NAMESPACE___IS_STEREOTYPE_APPLIED__STEREOTYPE;
-
-	/**
-	 * The operation id for the '<em>Is Stereotype Required</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE___IS_STEREOTYPE_REQUIRED__STEREOTYPE = NAMESPACE___IS_STEREOTYPE_REQUIRED__STEREOTYPE;
-
-	/**
-	 * The operation id for the '<em>Remove Keyword</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE___REMOVE_KEYWORD__STRING = NAMESPACE___REMOVE_KEYWORD__STRING;
-
-	/**
-	 * The operation id for the '<em>Set Value</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE___SET_VALUE__STEREOTYPE_STRING_OBJECT = NAMESPACE___SET_VALUE__STEREOTYPE_STRING_OBJECT;
-
-	/**
-	 * The operation id for the '<em>Unapply Stereotype</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE___UNAPPLY_STEREOTYPE__STEREOTYPE = NAMESPACE___UNAPPLY_STEREOTYPE__STEREOTYPE;
-
-	/**
-	 * The operation id for the '<em>All Owned Elements</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE___ALL_OWNED_ELEMENTS = NAMESPACE___ALL_OWNED_ELEMENTS;
-
-	/**
-	 * The operation id for the '<em>Must Be Owned</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE___MUST_BE_OWNED = NAMESPACE___MUST_BE_OWNED;
-
-	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = NAMESPACE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = NAMESPACE___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Validate Has No Qualified Name</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = NAMESPACE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Create Dependency</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE___CREATE_DEPENDENCY__NAMEDELEMENT = NAMESPACE___CREATE_DEPENDENCY__NAMEDELEMENT;
-
-	/**
-	 * The operation id for the '<em>Create Usage</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE___CREATE_USAGE__NAMEDELEMENT = NAMESPACE___CREATE_USAGE__NAMEDELEMENT;
-
-	/**
-	 * The operation id for the '<em>Get Label</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE___GET_LABEL = NAMESPACE___GET_LABEL;
-
-	/**
-	 * The operation id for the '<em>Get Label</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE___GET_LABEL__BOOLEAN = NAMESPACE___GET_LABEL__BOOLEAN;
-
-	/**
-	 * The operation id for the '<em>All Namespaces</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE___ALL_NAMESPACES = NAMESPACE___ALL_NAMESPACES;
-
-	/**
-	 * The operation id for the '<em>All Owning Packages</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE___ALL_OWNING_PACKAGES = NAMESPACE___ALL_OWNING_PACKAGES;
-
-	/**
-	 * The operation id for the '<em>Is Distinguishable From</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE = NAMESPACE___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE;
-
-	/**
-	 * The operation id for the '<em>Get Namespace</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE___GET_NAMESPACE = NAMESPACE___GET_NAMESPACE;
-
-	/**
-	 * The operation id for the '<em>Get Qualified Name</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE___GET_QUALIFIED_NAME = NAMESPACE___GET_QUALIFIED_NAME;
-
-	/**
-	 * The operation id for the '<em>Separator</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE___SEPARATOR = NAMESPACE___SEPARATOR;
-
-	/**
-	 * The operation id for the '<em>Validate Members Distinguishable</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE___VALIDATE_MEMBERS_DISTINGUISHABLE__DIAGNOSTICCHAIN_MAP = NAMESPACE___VALIDATE_MEMBERS_DISTINGUISHABLE__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Create Element Import</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE___CREATE_ELEMENT_IMPORT__PACKAGEABLEELEMENT_VISIBILITYKIND = NAMESPACE___CREATE_ELEMENT_IMPORT__PACKAGEABLEELEMENT_VISIBILITYKIND;
-
-	/**
-	 * The operation id for the '<em>Create Package Import</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE___CREATE_PACKAGE_IMPORT__PACKAGE_VISIBILITYKIND = NAMESPACE___CREATE_PACKAGE_IMPORT__PACKAGE_VISIBILITYKIND;
-
-	/**
-	 * The operation id for the '<em>Get Imported Elements</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE___GET_IMPORTED_ELEMENTS = NAMESPACE___GET_IMPORTED_ELEMENTS;
-
-	/**
-	 * The operation id for the '<em>Get Imported Packages</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE___GET_IMPORTED_PACKAGES = NAMESPACE___GET_IMPORTED_PACKAGES;
-
-	/**
-	 * The operation id for the '<em>Exclude Collisions</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE___EXCLUDE_COLLISIONS__ELIST = NAMESPACE___EXCLUDE_COLLISIONS__ELIST;
-
-	/**
-	 * The operation id for the '<em>Get Names Of Member</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE___GET_NAMES_OF_MEMBER__NAMEDELEMENT = NAMESPACE___GET_NAMES_OF_MEMBER__NAMEDELEMENT;
-
-	/**
-	 * The operation id for the '<em>Import Members</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE___IMPORT_MEMBERS__ELIST = NAMESPACE___IMPORT_MEMBERS__ELIST;
-
-	/**
-	 * The operation id for the '<em>Get Imported Members</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE___GET_IMPORTED_MEMBERS = NAMESPACE___GET_IMPORTED_MEMBERS;
-
-	/**
-	 * The operation id for the '<em>Members Are Distinguishable</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE___MEMBERS_ARE_DISTINGUISHABLE = NAMESPACE___MEMBERS_ARE_DISTINGUISHABLE;
-
-	/**
-	 * The operation id for the '<em>Get Owned Members</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE___GET_OWNED_MEMBERS = NAMESPACE___GET_OWNED_MEMBERS;
-
-	/**
-	 * The operation id for the '<em>Is Compatible With</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE___IS_COMPATIBLE_WITH__PARAMETERABLEELEMENT = NAMESPACE_OPERATION_COUNT + 0;
-
-	/**
-	 * The operation id for the '<em>Is Template Parameter</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE___IS_TEMPLATE_PARAMETER = NAMESPACE_OPERATION_COUNT + 1;
-
-	/**
-	 * The operation id for the '<em>Is Template</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE___IS_TEMPLATE = NAMESPACE_OPERATION_COUNT + 2;
-
-	/**
-	 * The operation id for the '<em>Parameterable Elements</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE___PARAMETERABLE_ELEMENTS = NAMESPACE_OPERATION_COUNT + 3;
-
-	/**
-	 * The operation id for the '<em>Validate Elements Public Or Private</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE___VALIDATE_ELEMENTS_PUBLIC_OR_PRIVATE__DIAGNOSTICCHAIN_MAP = NAMESPACE_OPERATION_COUNT + 4;
-
-	/**
-	 * The operation id for the '<em>Apply Profile</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE___APPLY_PROFILE__PROFILE = NAMESPACE_OPERATION_COUNT + 5;
-
-	/**
-	 * The operation id for the '<em>Create Owned Class</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE___CREATE_OWNED_CLASS__STRING_BOOLEAN = NAMESPACE_OPERATION_COUNT + 6;
-
-	/**
-	 * The operation id for the '<em>Create Owned Enumeration</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE___CREATE_OWNED_ENUMERATION__STRING = NAMESPACE_OPERATION_COUNT + 7;
-
-	/**
-	 * The operation id for the '<em>Create Owned Interface</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE___CREATE_OWNED_INTERFACE__STRING = NAMESPACE_OPERATION_COUNT + 8;
-
-	/**
-	 * The operation id for the '<em>Create Owned Primitive Type</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE___CREATE_OWNED_PRIMITIVE_TYPE__STRING = NAMESPACE_OPERATION_COUNT + 9;
-
-	/**
-	 * The operation id for the '<em>Create Owned Stereotype</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE___CREATE_OWNED_STEREOTYPE__STRING_BOOLEAN = NAMESPACE_OPERATION_COUNT + 10;
-
-	/**
-	 * The operation id for the '<em>Get All Applied Profiles</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE___GET_ALL_APPLIED_PROFILES = NAMESPACE_OPERATION_COUNT + 11;
-
-	/**
-	 * The operation id for the '<em>Get All Profile Applications</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE___GET_ALL_PROFILE_APPLICATIONS = NAMESPACE_OPERATION_COUNT + 12;
-
-	/**
-	 * The operation id for the '<em>Get Applied Profile</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE___GET_APPLIED_PROFILE__STRING = NAMESPACE_OPERATION_COUNT + 13;
-
-	/**
-	 * The operation id for the '<em>Get Applied Profile</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE___GET_APPLIED_PROFILE__STRING_BOOLEAN = NAMESPACE_OPERATION_COUNT + 14;
-
-	/**
-	 * The operation id for the '<em>Get Applied Profiles</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE___GET_APPLIED_PROFILES = NAMESPACE_OPERATION_COUNT + 15;
-
-	/**
-	 * The operation id for the '<em>Get Profile Application</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE___GET_PROFILE_APPLICATION__PROFILE = NAMESPACE_OPERATION_COUNT + 16;
-
-	/**
-	 * The operation id for the '<em>Get Profile Application</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE___GET_PROFILE_APPLICATION__PROFILE_BOOLEAN = NAMESPACE_OPERATION_COUNT + 17;
-
-	/**
-	 * The operation id for the '<em>Is Model Library</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE___IS_MODEL_LIBRARY = NAMESPACE_OPERATION_COUNT + 18;
-
-	/**
-	 * The operation id for the '<em>Is Profile Applied</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE___IS_PROFILE_APPLIED__PROFILE = NAMESPACE_OPERATION_COUNT + 19;
-
-	/**
-	 * The operation id for the '<em>Unapply Profile</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE___UNAPPLY_PROFILE__PROFILE = NAMESPACE_OPERATION_COUNT + 20;
-
-	/**
-	 * The operation id for the '<em>All Applicable Stereotypes</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE___ALL_APPLICABLE_STEREOTYPES = NAMESPACE_OPERATION_COUNT + 21;
-
-	/**
-	 * The operation id for the '<em>Containing Profile</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE___CONTAINING_PROFILE = NAMESPACE_OPERATION_COUNT + 22;
-
-	/**
-	 * The operation id for the '<em>Makes Visible</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE___MAKES_VISIBLE__NAMEDELEMENT = NAMESPACE_OPERATION_COUNT + 23;
-
-	/**
-	 * The operation id for the '<em>Get Nested Packages</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE___GET_NESTED_PACKAGES = NAMESPACE_OPERATION_COUNT + 24;
-
-	/**
-	 * The operation id for the '<em>Get Owned Stereotypes</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE___GET_OWNED_STEREOTYPES = NAMESPACE_OPERATION_COUNT + 25;
-
-	/**
-	 * The operation id for the '<em>Get Owned Types</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE___GET_OWNED_TYPES = NAMESPACE_OPERATION_COUNT + 26;
-
-	/**
-	 * The operation id for the '<em>Visible Members</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE___VISIBLE_MEMBERS = NAMESPACE_OPERATION_COUNT + 27;
-
-	/**
-	 * The number of operations of the '<em>Package</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PACKAGE_OPERATION_COUNT = NAMESPACE_OPERATION_COUNT + 28;
-
-	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.uml.internal.impl.ObservationImpl <em>Observation</em>}' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -23599,15 +22338,6 @@
 	int PROFILE___MUST_BE_OWNED = PACKAGE___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PROFILE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = PACKAGE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -23626,6 +22356,15 @@
 	int PROFILE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = PACKAGE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROFILE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = PACKAGE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -24616,22 +23355,22 @@
 	int ELEMENT_IMPORT___MUST_BE_OWNED = DIRECTED_RELATIONSHIP___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Imported Element Is Public</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ELEMENT_IMPORT___VALIDATE_IMPORTED_ELEMENT_IS_PUBLIC__DIAGNOSTICCHAIN_MAP = DIRECTED_RELATIONSHIP_OPERATION_COUNT + 0;
-
-	/**
 	 * The operation id for the '<em>Validate Visibility Public Or Private</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int ELEMENT_IMPORT___VALIDATE_VISIBILITY_PUBLIC_OR_PRIVATE__DIAGNOSTICCHAIN_MAP = DIRECTED_RELATIONSHIP_OPERATION_COUNT + 1;
+	int ELEMENT_IMPORT___VALIDATE_VISIBILITY_PUBLIC_OR_PRIVATE__DIAGNOSTICCHAIN_MAP = DIRECTED_RELATIONSHIP_OPERATION_COUNT + 0;
+
+	/**
+	 * The operation id for the '<em>Validate Imported Element Is Public</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ELEMENT_IMPORT___VALIDATE_IMPORTED_ELEMENT_IS_PUBLIC__DIAGNOSTICCHAIN_MAP = DIRECTED_RELATIONSHIP_OPERATION_COUNT + 1;
 
 	/**
 	 * The operation id for the '<em>Get Name</em>' operation.
@@ -25840,15 +24579,6 @@
 	int ASSOCIATION___MUST_BE_OWNED = CLASSIFIER___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ASSOCIATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = CLASSIFIER___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -25867,6 +24597,15 @@
 	int ASSOCIATION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = CLASSIFIER___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ASSOCIATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = CLASSIFIER___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -26164,24 +24903,6 @@
 	int ASSOCIATION___PARAMETERABLE_ELEMENTS = CLASSIFIER___PARAMETERABLE_ELEMENTS;
 
 	/**
-	 * The operation id for the '<em>Validate Specialize Type</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ASSOCIATION___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP = CLASSIFIER___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Validate Maps To Generalization Set</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ASSOCIATION___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP = CLASSIFIER___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Non Final Parents</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -26200,6 +24921,24 @@
 	int ASSOCIATION___VALIDATE_NO_CYCLES_IN_GENERALIZATION__DIAGNOSTICCHAIN_MAP = CLASSIFIER___VALIDATE_NO_CYCLES_IN_GENERALIZATION__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Specialize Type</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ASSOCIATION___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP = CLASSIFIER___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Validate Maps To Generalization Set</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ASSOCIATION___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP = CLASSIFIER___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Get All Attributes</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -26362,13 +25101,13 @@
 	int ASSOCIATION___VALIDATE_SPECIALIZED_END_NUMBER__DIAGNOSTICCHAIN_MAP = CLASSIFIER_OPERATION_COUNT + 0;
 
 	/**
-	 * The operation id for the '<em>Validate Specialized End Types</em>' operation.
+	 * The operation id for the '<em>Validate Association Ends</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int ASSOCIATION___VALIDATE_SPECIALIZED_END_TYPES__DIAGNOSTICCHAIN_MAP = CLASSIFIER_OPERATION_COUNT + 1;
+	int ASSOCIATION___VALIDATE_ASSOCIATION_ENDS__DIAGNOSTICCHAIN_MAP = CLASSIFIER_OPERATION_COUNT + 1;
 
 	/**
 	 * The operation id for the '<em>Validate Binary Associations</em>' operation.
@@ -26380,13 +25119,13 @@
 	int ASSOCIATION___VALIDATE_BINARY_ASSOCIATIONS__DIAGNOSTICCHAIN_MAP = CLASSIFIER_OPERATION_COUNT + 2;
 
 	/**
-	 * The operation id for the '<em>Validate Association Ends</em>' operation.
+	 * The operation id for the '<em>Validate Specialized End Types</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int ASSOCIATION___VALIDATE_ASSOCIATION_ENDS__DIAGNOSTICCHAIN_MAP = CLASSIFIER_OPERATION_COUNT + 3;
+	int ASSOCIATION___VALIDATE_SPECIALIZED_END_TYPES__DIAGNOSTICCHAIN_MAP = CLASSIFIER_OPERATION_COUNT + 3;
 
 	/**
 	 * The operation id for the '<em>Is Binary</em>' operation.
@@ -27172,15 +25911,6 @@
 	int EXTENSION___MUST_BE_OWNED = ASSOCIATION___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int EXTENSION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = ASSOCIATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -27199,6 +25929,15 @@
 	int EXTENSION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = ASSOCIATION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EXTENSION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = ASSOCIATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -27496,24 +26235,6 @@
 	int EXTENSION___PARAMETERABLE_ELEMENTS = ASSOCIATION___PARAMETERABLE_ELEMENTS;
 
 	/**
-	 * The operation id for the '<em>Validate Specialize Type</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int EXTENSION___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP = ASSOCIATION___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Validate Maps To Generalization Set</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int EXTENSION___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP = ASSOCIATION___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Non Final Parents</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -27532,6 +26253,24 @@
 	int EXTENSION___VALIDATE_NO_CYCLES_IN_GENERALIZATION__DIAGNOSTICCHAIN_MAP = ASSOCIATION___VALIDATE_NO_CYCLES_IN_GENERALIZATION__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Specialize Type</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EXTENSION___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP = ASSOCIATION___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Validate Maps To Generalization Set</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EXTENSION___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP = ASSOCIATION___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Get All Attributes</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -27694,13 +26433,13 @@
 	int EXTENSION___VALIDATE_SPECIALIZED_END_NUMBER__DIAGNOSTICCHAIN_MAP = ASSOCIATION___VALIDATE_SPECIALIZED_END_NUMBER__DIAGNOSTICCHAIN_MAP;
 
 	/**
-	 * The operation id for the '<em>Validate Specialized End Types</em>' operation.
+	 * The operation id for the '<em>Validate Association Ends</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int EXTENSION___VALIDATE_SPECIALIZED_END_TYPES__DIAGNOSTICCHAIN_MAP = ASSOCIATION___VALIDATE_SPECIALIZED_END_TYPES__DIAGNOSTICCHAIN_MAP;
+	int EXTENSION___VALIDATE_ASSOCIATION_ENDS__DIAGNOSTICCHAIN_MAP = ASSOCIATION___VALIDATE_ASSOCIATION_ENDS__DIAGNOSTICCHAIN_MAP;
 
 	/**
 	 * The operation id for the '<em>Validate Binary Associations</em>' operation.
@@ -27712,13 +26451,13 @@
 	int EXTENSION___VALIDATE_BINARY_ASSOCIATIONS__DIAGNOSTICCHAIN_MAP = ASSOCIATION___VALIDATE_BINARY_ASSOCIATIONS__DIAGNOSTICCHAIN_MAP;
 
 	/**
-	 * The operation id for the '<em>Validate Association Ends</em>' operation.
+	 * The operation id for the '<em>Validate Specialized End Types</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int EXTENSION___VALIDATE_ASSOCIATION_ENDS__DIAGNOSTICCHAIN_MAP = ASSOCIATION___VALIDATE_ASSOCIATION_ENDS__DIAGNOSTICCHAIN_MAP;
+	int EXTENSION___VALIDATE_SPECIALIZED_END_TYPES__DIAGNOSTICCHAIN_MAP = ASSOCIATION___VALIDATE_SPECIALIZED_END_TYPES__DIAGNOSTICCHAIN_MAP;
 
 	/**
 	 * The operation id for the '<em>Is Binary</em>' operation.
@@ -28270,15 +27009,6 @@
 	int REDEFINABLE_ELEMENT___MUST_BE_OWNED = NAMED_ELEMENT___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REDEFINABLE_ELEMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = NAMED_ELEMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -28297,6 +27027,15 @@
 	int REDEFINABLE_ELEMENT___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = NAMED_ELEMENT___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REDEFINABLE_ELEMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = NAMED_ELEMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -28918,15 +27657,6 @@
 	int FEATURE___MUST_BE_OWNED = REDEFINABLE_ELEMENT___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FEATURE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = REDEFINABLE_ELEMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -28945,6 +27675,15 @@
 	int FEATURE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = REDEFINABLE_ELEMENT___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FEATURE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = REDEFINABLE_ELEMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -29638,15 +28377,6 @@
 	int STRUCTURAL_FEATURE___MUST_BE_OWNED = FEATURE___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int STRUCTURAL_FEATURE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = FEATURE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -29665,6 +28395,15 @@
 	int STRUCTURAL_FEATURE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = FEATURE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STRUCTURAL_FEATURE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = FEATURE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -29800,31 +28539,22 @@
 	int STRUCTURAL_FEATURE___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT = FEATURE___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT;
 
 	/**
-	 * The operation id for the '<em>Validate Upper Ge Lower</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int STRUCTURAL_FEATURE___VALIDATE_UPPER_GE_LOWER__DIAGNOSTICCHAIN_MAP = FEATURE_OPERATION_COUNT + 0;
-
-	/**
 	 * The operation id for the '<em>Validate Lower Ge0</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int STRUCTURAL_FEATURE___VALIDATE_LOWER_GE0__DIAGNOSTICCHAIN_MAP = FEATURE_OPERATION_COUNT + 1;
+	int STRUCTURAL_FEATURE___VALIDATE_LOWER_GE0__DIAGNOSTICCHAIN_MAP = FEATURE_OPERATION_COUNT + 0;
 
 	/**
-	 * The operation id for the '<em>Validate Value Specification No Side Effects</em>' operation.
+	 * The operation id for the '<em>Validate Upper Ge Lower</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int STRUCTURAL_FEATURE___VALIDATE_VALUE_SPECIFICATION_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP = FEATURE_OPERATION_COUNT + 2;
+	int STRUCTURAL_FEATURE___VALIDATE_UPPER_GE_LOWER__DIAGNOSTICCHAIN_MAP = FEATURE_OPERATION_COUNT + 1;
 
 	/**
 	 * The operation id for the '<em>Validate Value Specification Constant</em>' operation.
@@ -29833,7 +28563,16 @@
 	 * @generated
 	 * @ordered
 	 */
-	int STRUCTURAL_FEATURE___VALIDATE_VALUE_SPECIFICATION_CONSTANT__DIAGNOSTICCHAIN_MAP = FEATURE_OPERATION_COUNT + 3;
+	int STRUCTURAL_FEATURE___VALIDATE_VALUE_SPECIFICATION_CONSTANT__DIAGNOSTICCHAIN_MAP = FEATURE_OPERATION_COUNT + 2;
+
+	/**
+	 * The operation id for the '<em>Validate Value Specification No Side Effects</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STRUCTURAL_FEATURE___VALIDATE_VALUE_SPECIFICATION_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP = FEATURE_OPERATION_COUNT + 3;
 
 	/**
 	 * The operation id for the '<em>Set Lower</em>' operation.
@@ -30196,22 +28935,22 @@
 	int PROPERTY__DEPLOYMENT = STRUCTURAL_FEATURE_FEATURE_COUNT + 4;
 
 	/**
-	 * The feature id for the '<em><b>Datatype</b></em>' container reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PROPERTY__DATATYPE = STRUCTURAL_FEATURE_FEATURE_COUNT + 5;
-
-	/**
 	 * The feature id for the '<em><b>Interface</b></em>' container reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int PROPERTY__INTERFACE = STRUCTURAL_FEATURE_FEATURE_COUNT + 6;
+	int PROPERTY__INTERFACE = STRUCTURAL_FEATURE_FEATURE_COUNT + 5;
+
+	/**
+	 * The feature id for the '<em><b>Datatype</b></em>' container reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPERTY__DATATYPE = STRUCTURAL_FEATURE_FEATURE_COUNT + 6;
 
 	/**
 	 * The feature id for the '<em><b>Aggregation</b></em>' attribute.
@@ -30691,15 +29430,6 @@
 	int PROPERTY___MUST_BE_OWNED = STRUCTURAL_FEATURE___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PROPERTY___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = STRUCTURAL_FEATURE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -30718,6 +29448,15 @@
 	int PROPERTY___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = STRUCTURAL_FEATURE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPERTY___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = STRUCTURAL_FEATURE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -30853,15 +29592,6 @@
 	int PROPERTY___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT = STRUCTURAL_FEATURE___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT;
 
 	/**
-	 * The operation id for the '<em>Validate Upper Ge Lower</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PROPERTY___VALIDATE_UPPER_GE_LOWER__DIAGNOSTICCHAIN_MAP = STRUCTURAL_FEATURE___VALIDATE_UPPER_GE_LOWER__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Lower Ge0</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -30871,13 +29601,13 @@
 	int PROPERTY___VALIDATE_LOWER_GE0__DIAGNOSTICCHAIN_MAP = STRUCTURAL_FEATURE___VALIDATE_LOWER_GE0__DIAGNOSTICCHAIN_MAP;
 
 	/**
-	 * The operation id for the '<em>Validate Value Specification No Side Effects</em>' operation.
+	 * The operation id for the '<em>Validate Upper Ge Lower</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int PROPERTY___VALIDATE_VALUE_SPECIFICATION_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP = STRUCTURAL_FEATURE___VALIDATE_VALUE_SPECIFICATION_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP;
+	int PROPERTY___VALIDATE_UPPER_GE_LOWER__DIAGNOSTICCHAIN_MAP = STRUCTURAL_FEATURE___VALIDATE_UPPER_GE_LOWER__DIAGNOSTICCHAIN_MAP;
 
 	/**
 	 * The operation id for the '<em>Validate Value Specification Constant</em>' operation.
@@ -30889,6 +29619,15 @@
 	int PROPERTY___VALIDATE_VALUE_SPECIFICATION_CONSTANT__DIAGNOSTICCHAIN_MAP = STRUCTURAL_FEATURE___VALIDATE_VALUE_SPECIFICATION_CONSTANT__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Value Specification No Side Effects</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPERTY___VALIDATE_VALUE_SPECIFICATION_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP = STRUCTURAL_FEATURE___VALIDATE_VALUE_SPECIFICATION_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Set Lower</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -31024,22 +29763,22 @@
 	int PROPERTY___GET_DEPLOYED_ELEMENTS = STRUCTURAL_FEATURE_OPERATION_COUNT + 3;
 
 	/**
-	 * The operation id for the '<em>Validate Subsetting Context Conforms</em>' operation.
+	 * The operation id for the '<em>Validate Subsetted Property Names</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int PROPERTY___VALIDATE_SUBSETTING_CONTEXT_CONFORMS__DIAGNOSTICCHAIN_MAP = STRUCTURAL_FEATURE_OPERATION_COUNT + 4;
+	int PROPERTY___VALIDATE_SUBSETTED_PROPERTY_NAMES__DIAGNOSTICCHAIN_MAP = STRUCTURAL_FEATURE_OPERATION_COUNT + 4;
 
 	/**
-	 * The operation id for the '<em>Validate Derived Union Is Read Only</em>' operation.
+	 * The operation id for the '<em>Validate Subsetting Rules</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int PROPERTY___VALIDATE_DERIVED_UNION_IS_READ_ONLY__DIAGNOSTICCHAIN_MAP = STRUCTURAL_FEATURE_OPERATION_COUNT + 5;
+	int PROPERTY___VALIDATE_SUBSETTING_RULES__DIAGNOSTICCHAIN_MAP = STRUCTURAL_FEATURE_OPERATION_COUNT + 5;
 
 	/**
 	 * The operation id for the '<em>Validate Multiplicity Of Composite</em>' operation.
@@ -31051,40 +29790,31 @@
 	int PROPERTY___VALIDATE_MULTIPLICITY_OF_COMPOSITE__DIAGNOSTICCHAIN_MAP = STRUCTURAL_FEATURE_OPERATION_COUNT + 6;
 
 	/**
-	 * The operation id for the '<em>Validate Redefined Property Inherited</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PROPERTY___VALIDATE_REDEFINED_PROPERTY_INHERITED__DIAGNOSTICCHAIN_MAP = STRUCTURAL_FEATURE_OPERATION_COUNT + 7;
-
-	/**
-	 * The operation id for the '<em>Validate Subsetting Rules</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PROPERTY___VALIDATE_SUBSETTING_RULES__DIAGNOSTICCHAIN_MAP = STRUCTURAL_FEATURE_OPERATION_COUNT + 8;
-
-	/**
 	 * The operation id for the '<em>Validate Binding To Attribute</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int PROPERTY___VALIDATE_BINDING_TO_ATTRIBUTE__DIAGNOSTICCHAIN_MAP = STRUCTURAL_FEATURE_OPERATION_COUNT + 9;
+	int PROPERTY___VALIDATE_BINDING_TO_ATTRIBUTE__DIAGNOSTICCHAIN_MAP = STRUCTURAL_FEATURE_OPERATION_COUNT + 7;
 
 	/**
-	 * The operation id for the '<em>Validate Derived Union Is Derived</em>' operation.
+	 * The operation id for the '<em>Validate Redefined Property Inherited</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int PROPERTY___VALIDATE_DERIVED_UNION_IS_DERIVED__DIAGNOSTICCHAIN_MAP = STRUCTURAL_FEATURE_OPERATION_COUNT + 10;
+	int PROPERTY___VALIDATE_REDEFINED_PROPERTY_INHERITED__DIAGNOSTICCHAIN_MAP = STRUCTURAL_FEATURE_OPERATION_COUNT + 8;
+
+	/**
+	 * The operation id for the '<em>Validate Subsetting Context Conforms</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPERTY___VALIDATE_SUBSETTING_CONTEXT_CONFORMS__DIAGNOSTICCHAIN_MAP = STRUCTURAL_FEATURE_OPERATION_COUNT + 9;
 
 	/**
 	 * The operation id for the '<em>Validate Deployment Target</em>' operation.
@@ -31093,16 +29823,25 @@
 	 * @generated
 	 * @ordered
 	 */
-	int PROPERTY___VALIDATE_DEPLOYMENT_TARGET__DIAGNOSTICCHAIN_MAP = STRUCTURAL_FEATURE_OPERATION_COUNT + 11;
+	int PROPERTY___VALIDATE_DEPLOYMENT_TARGET__DIAGNOSTICCHAIN_MAP = STRUCTURAL_FEATURE_OPERATION_COUNT + 10;
 
 	/**
-	 * The operation id for the '<em>Validate Subsetted Property Names</em>' operation.
+	 * The operation id for the '<em>Validate Derived Union Is Derived</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int PROPERTY___VALIDATE_SUBSETTED_PROPERTY_NAMES__DIAGNOSTICCHAIN_MAP = STRUCTURAL_FEATURE_OPERATION_COUNT + 12;
+	int PROPERTY___VALIDATE_DERIVED_UNION_IS_DERIVED__DIAGNOSTICCHAIN_MAP = STRUCTURAL_FEATURE_OPERATION_COUNT + 11;
+
+	/**
+	 * The operation id for the '<em>Validate Derived Union Is Read Only</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROPERTY___VALIDATE_DERIVED_UNION_IS_READ_ONLY__DIAGNOSTICCHAIN_MAP = STRUCTURAL_FEATURE_OPERATION_COUNT + 12;
 
 	/**
 	 * The operation id for the '<em>Get Other End</em>' operation.
@@ -31291,6 +30030,582 @@
 	 * @generated
 	 * @ordered
 	 */
+	int MULTIPLICITY_ELEMENT__EANNOTATIONS = ELEMENT__EANNOTATIONS;
+
+	/**
+	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MULTIPLICITY_ELEMENT__OWNED_COMMENT = ELEMENT__OWNED_COMMENT;
+
+	/**
+	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MULTIPLICITY_ELEMENT__OWNED_ELEMENT = ELEMENT__OWNED_ELEMENT;
+
+	/**
+	 * The feature id for the '<em><b>Owner</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MULTIPLICITY_ELEMENT__OWNER = ELEMENT__OWNER;
+
+	/**
+	 * The feature id for the '<em><b>Is Ordered</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MULTIPLICITY_ELEMENT__IS_ORDERED = ELEMENT_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Is Unique</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MULTIPLICITY_ELEMENT__IS_UNIQUE = ELEMENT_FEATURE_COUNT + 1;
+
+	/**
+	 * The feature id for the '<em><b>Lower</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MULTIPLICITY_ELEMENT__LOWER = ELEMENT_FEATURE_COUNT + 2;
+
+	/**
+	 * The feature id for the '<em><b>Lower Value</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MULTIPLICITY_ELEMENT__LOWER_VALUE = ELEMENT_FEATURE_COUNT + 3;
+
+	/**
+	 * The feature id for the '<em><b>Upper</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MULTIPLICITY_ELEMENT__UPPER = ELEMENT_FEATURE_COUNT + 4;
+
+	/**
+	 * The feature id for the '<em><b>Upper Value</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MULTIPLICITY_ELEMENT__UPPER_VALUE = ELEMENT_FEATURE_COUNT + 5;
+
+	/**
+	 * The number of structural features of the '<em>Multiplicity Element</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MULTIPLICITY_ELEMENT_FEATURE_COUNT = ELEMENT_FEATURE_COUNT + 6;
+
+	/**
+	 * The operation id for the '<em>Get EAnnotation</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MULTIPLICITY_ELEMENT___GET_EANNOTATION__STRING = ELEMENT___GET_EANNOTATION__STRING;
+
+	/**
+	 * The operation id for the '<em>Validate Has Owner</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MULTIPLICITY_ELEMENT___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP = ELEMENT___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Validate Not Own Self</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MULTIPLICITY_ELEMENT___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP = ELEMENT___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Add Keyword</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MULTIPLICITY_ELEMENT___ADD_KEYWORD__STRING = ELEMENT___ADD_KEYWORD__STRING;
+
+	/**
+	 * The operation id for the '<em>Apply Stereotype</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MULTIPLICITY_ELEMENT___APPLY_STEREOTYPE__STEREOTYPE = ELEMENT___APPLY_STEREOTYPE__STEREOTYPE;
+
+	/**
+	 * The operation id for the '<em>Create EAnnotation</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MULTIPLICITY_ELEMENT___CREATE_EANNOTATION__STRING = ELEMENT___CREATE_EANNOTATION__STRING;
+
+	/**
+	 * The operation id for the '<em>Destroy</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MULTIPLICITY_ELEMENT___DESTROY = ELEMENT___DESTROY;
+
+	/**
+	 * The operation id for the '<em>Get Keywords</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MULTIPLICITY_ELEMENT___GET_KEYWORDS = ELEMENT___GET_KEYWORDS;
+
+	/**
+	 * The operation id for the '<em>Get Applicable Stereotype</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MULTIPLICITY_ELEMENT___GET_APPLICABLE_STEREOTYPE__STRING = ELEMENT___GET_APPLICABLE_STEREOTYPE__STRING;
+
+	/**
+	 * The operation id for the '<em>Get Applicable Stereotypes</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MULTIPLICITY_ELEMENT___GET_APPLICABLE_STEREOTYPES = ELEMENT___GET_APPLICABLE_STEREOTYPES;
+
+	/**
+	 * The operation id for the '<em>Get Applied Stereotype</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MULTIPLICITY_ELEMENT___GET_APPLIED_STEREOTYPE__STRING = ELEMENT___GET_APPLIED_STEREOTYPE__STRING;
+
+	/**
+	 * The operation id for the '<em>Get Applied Stereotypes</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MULTIPLICITY_ELEMENT___GET_APPLIED_STEREOTYPES = ELEMENT___GET_APPLIED_STEREOTYPES;
+
+	/**
+	 * The operation id for the '<em>Get Applied Substereotype</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MULTIPLICITY_ELEMENT___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING = ELEMENT___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING;
+
+	/**
+	 * The operation id for the '<em>Get Applied Substereotypes</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MULTIPLICITY_ELEMENT___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE = ELEMENT___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE;
+
+	/**
+	 * The operation id for the '<em>Get Model</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MULTIPLICITY_ELEMENT___GET_MODEL = ELEMENT___GET_MODEL;
+
+	/**
+	 * The operation id for the '<em>Get Nearest Package</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MULTIPLICITY_ELEMENT___GET_NEAREST_PACKAGE = ELEMENT___GET_NEAREST_PACKAGE;
+
+	/**
+	 * The operation id for the '<em>Get Relationships</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MULTIPLICITY_ELEMENT___GET_RELATIONSHIPS = ELEMENT___GET_RELATIONSHIPS;
+
+	/**
+	 * The operation id for the '<em>Get Relationships</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MULTIPLICITY_ELEMENT___GET_RELATIONSHIPS__ECLASS = ELEMENT___GET_RELATIONSHIPS__ECLASS;
+
+	/**
+	 * The operation id for the '<em>Get Required Stereotype</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MULTIPLICITY_ELEMENT___GET_REQUIRED_STEREOTYPE__STRING = ELEMENT___GET_REQUIRED_STEREOTYPE__STRING;
+
+	/**
+	 * The operation id for the '<em>Get Required Stereotypes</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MULTIPLICITY_ELEMENT___GET_REQUIRED_STEREOTYPES = ELEMENT___GET_REQUIRED_STEREOTYPES;
+
+	/**
+	 * The operation id for the '<em>Get Source Directed Relationships</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MULTIPLICITY_ELEMENT___GET_SOURCE_DIRECTED_RELATIONSHIPS = ELEMENT___GET_SOURCE_DIRECTED_RELATIONSHIPS;
+
+	/**
+	 * The operation id for the '<em>Get Source Directed Relationships</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MULTIPLICITY_ELEMENT___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS = ELEMENT___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS;
+
+	/**
+	 * The operation id for the '<em>Get Stereotype Application</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MULTIPLICITY_ELEMENT___GET_STEREOTYPE_APPLICATION__STEREOTYPE = ELEMENT___GET_STEREOTYPE_APPLICATION__STEREOTYPE;
+
+	/**
+	 * The operation id for the '<em>Get Stereotype Applications</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MULTIPLICITY_ELEMENT___GET_STEREOTYPE_APPLICATIONS = ELEMENT___GET_STEREOTYPE_APPLICATIONS;
+
+	/**
+	 * The operation id for the '<em>Get Target Directed Relationships</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MULTIPLICITY_ELEMENT___GET_TARGET_DIRECTED_RELATIONSHIPS = ELEMENT___GET_TARGET_DIRECTED_RELATIONSHIPS;
+
+	/**
+	 * The operation id for the '<em>Get Target Directed Relationships</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MULTIPLICITY_ELEMENT___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS = ELEMENT___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS;
+
+	/**
+	 * The operation id for the '<em>Get Value</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MULTIPLICITY_ELEMENT___GET_VALUE__STEREOTYPE_STRING = ELEMENT___GET_VALUE__STEREOTYPE_STRING;
+
+	/**
+	 * The operation id for the '<em>Has Keyword</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MULTIPLICITY_ELEMENT___HAS_KEYWORD__STRING = ELEMENT___HAS_KEYWORD__STRING;
+
+	/**
+	 * The operation id for the '<em>Has Value</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MULTIPLICITY_ELEMENT___HAS_VALUE__STEREOTYPE_STRING = ELEMENT___HAS_VALUE__STEREOTYPE_STRING;
+
+	/**
+	 * The operation id for the '<em>Is Stereotype Applicable</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MULTIPLICITY_ELEMENT___IS_STEREOTYPE_APPLICABLE__STEREOTYPE = ELEMENT___IS_STEREOTYPE_APPLICABLE__STEREOTYPE;
+
+	/**
+	 * The operation id for the '<em>Is Stereotype Applied</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MULTIPLICITY_ELEMENT___IS_STEREOTYPE_APPLIED__STEREOTYPE = ELEMENT___IS_STEREOTYPE_APPLIED__STEREOTYPE;
+
+	/**
+	 * The operation id for the '<em>Is Stereotype Required</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MULTIPLICITY_ELEMENT___IS_STEREOTYPE_REQUIRED__STEREOTYPE = ELEMENT___IS_STEREOTYPE_REQUIRED__STEREOTYPE;
+
+	/**
+	 * The operation id for the '<em>Remove Keyword</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MULTIPLICITY_ELEMENT___REMOVE_KEYWORD__STRING = ELEMENT___REMOVE_KEYWORD__STRING;
+
+	/**
+	 * The operation id for the '<em>Set Value</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MULTIPLICITY_ELEMENT___SET_VALUE__STEREOTYPE_STRING_OBJECT = ELEMENT___SET_VALUE__STEREOTYPE_STRING_OBJECT;
+
+	/**
+	 * The operation id for the '<em>Unapply Stereotype</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MULTIPLICITY_ELEMENT___UNAPPLY_STEREOTYPE__STEREOTYPE = ELEMENT___UNAPPLY_STEREOTYPE__STEREOTYPE;
+
+	/**
+	 * The operation id for the '<em>All Owned Elements</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MULTIPLICITY_ELEMENT___ALL_OWNED_ELEMENTS = ELEMENT___ALL_OWNED_ELEMENTS;
+
+	/**
+	 * The operation id for the '<em>Must Be Owned</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MULTIPLICITY_ELEMENT___MUST_BE_OWNED = ELEMENT___MUST_BE_OWNED;
+
+	/**
+	 * The operation id for the '<em>Validate Lower Ge0</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MULTIPLICITY_ELEMENT___VALIDATE_LOWER_GE0__DIAGNOSTICCHAIN_MAP = ELEMENT_OPERATION_COUNT + 0;
+
+	/**
+	 * The operation id for the '<em>Validate Upper Ge Lower</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MULTIPLICITY_ELEMENT___VALIDATE_UPPER_GE_LOWER__DIAGNOSTICCHAIN_MAP = ELEMENT_OPERATION_COUNT + 1;
+
+	/**
+	 * The operation id for the '<em>Validate Value Specification Constant</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MULTIPLICITY_ELEMENT___VALIDATE_VALUE_SPECIFICATION_CONSTANT__DIAGNOSTICCHAIN_MAP = ELEMENT_OPERATION_COUNT + 2;
+
+	/**
+	 * The operation id for the '<em>Validate Value Specification No Side Effects</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MULTIPLICITY_ELEMENT___VALIDATE_VALUE_SPECIFICATION_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP = ELEMENT_OPERATION_COUNT + 3;
+
+	/**
+	 * The operation id for the '<em>Set Lower</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MULTIPLICITY_ELEMENT___SET_LOWER__INT = ELEMENT_OPERATION_COUNT + 4;
+
+	/**
+	 * The operation id for the '<em>Set Upper</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MULTIPLICITY_ELEMENT___SET_UPPER__INT = ELEMENT_OPERATION_COUNT + 5;
+
+	/**
+	 * The operation id for the '<em>Compatible With</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MULTIPLICITY_ELEMENT___COMPATIBLE_WITH__MULTIPLICITYELEMENT = ELEMENT_OPERATION_COUNT + 6;
+
+	/**
+	 * The operation id for the '<em>Includes Cardinality</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MULTIPLICITY_ELEMENT___INCLUDES_CARDINALITY__INT = ELEMENT_OPERATION_COUNT + 7;
+
+	/**
+	 * The operation id for the '<em>Includes Multiplicity</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MULTIPLICITY_ELEMENT___INCLUDES_MULTIPLICITY__MULTIPLICITYELEMENT = ELEMENT_OPERATION_COUNT + 8;
+
+	/**
+	 * The operation id for the '<em>Is</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MULTIPLICITY_ELEMENT___IS__INT_INT = ELEMENT_OPERATION_COUNT + 9;
+
+	/**
+	 * The operation id for the '<em>Is Multivalued</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MULTIPLICITY_ELEMENT___IS_MULTIVALUED = ELEMENT_OPERATION_COUNT + 10;
+
+	/**
+	 * The operation id for the '<em>Get Lower</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MULTIPLICITY_ELEMENT___GET_LOWER = ELEMENT_OPERATION_COUNT + 11;
+
+	/**
+	 * The operation id for the '<em>Lower Bound</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MULTIPLICITY_ELEMENT___LOWER_BOUND = ELEMENT_OPERATION_COUNT + 12;
+
+	/**
+	 * The operation id for the '<em>Get Upper</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MULTIPLICITY_ELEMENT___GET_UPPER = ELEMENT_OPERATION_COUNT + 13;
+
+	/**
+	 * The operation id for the '<em>Upper Bound</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MULTIPLICITY_ELEMENT___UPPER_BOUND = ELEMENT_OPERATION_COUNT + 14;
+
+	/**
+	 * The number of operations of the '<em>Multiplicity Element</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MULTIPLICITY_ELEMENT_OPERATION_COUNT = ELEMENT_OPERATION_COUNT + 15;
+
+	/**
+	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
 	int CONNECTABLE_ELEMENT__EANNOTATIONS = TYPED_ELEMENT__EANNOTATIONS;
 
 	/**
@@ -31753,15 +31068,6 @@
 	int CONNECTABLE_ELEMENT___MUST_BE_OWNED = TYPED_ELEMENT___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONNECTABLE_ELEMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = TYPED_ELEMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -31780,6 +31086,15 @@
 	int CONNECTABLE_ELEMENT___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = TYPED_ELEMENT___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONNECTABLE_ELEMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = TYPED_ELEMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -31912,582 +31227,6 @@
 	 * @generated
 	 * @ordered
 	 */
-	int MULTIPLICITY_ELEMENT__EANNOTATIONS = ELEMENT__EANNOTATIONS;
-
-	/**
-	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MULTIPLICITY_ELEMENT__OWNED_COMMENT = ELEMENT__OWNED_COMMENT;
-
-	/**
-	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MULTIPLICITY_ELEMENT__OWNED_ELEMENT = ELEMENT__OWNED_ELEMENT;
-
-	/**
-	 * The feature id for the '<em><b>Owner</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MULTIPLICITY_ELEMENT__OWNER = ELEMENT__OWNER;
-
-	/**
-	 * The feature id for the '<em><b>Is Ordered</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MULTIPLICITY_ELEMENT__IS_ORDERED = ELEMENT_FEATURE_COUNT + 0;
-
-	/**
-	 * The feature id for the '<em><b>Is Unique</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MULTIPLICITY_ELEMENT__IS_UNIQUE = ELEMENT_FEATURE_COUNT + 1;
-
-	/**
-	 * The feature id for the '<em><b>Lower</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MULTIPLICITY_ELEMENT__LOWER = ELEMENT_FEATURE_COUNT + 2;
-
-	/**
-	 * The feature id for the '<em><b>Lower Value</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MULTIPLICITY_ELEMENT__LOWER_VALUE = ELEMENT_FEATURE_COUNT + 3;
-
-	/**
-	 * The feature id for the '<em><b>Upper</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MULTIPLICITY_ELEMENT__UPPER = ELEMENT_FEATURE_COUNT + 4;
-
-	/**
-	 * The feature id for the '<em><b>Upper Value</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MULTIPLICITY_ELEMENT__UPPER_VALUE = ELEMENT_FEATURE_COUNT + 5;
-
-	/**
-	 * The number of structural features of the '<em>Multiplicity Element</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MULTIPLICITY_ELEMENT_FEATURE_COUNT = ELEMENT_FEATURE_COUNT + 6;
-
-	/**
-	 * The operation id for the '<em>Get EAnnotation</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MULTIPLICITY_ELEMENT___GET_EANNOTATION__STRING = ELEMENT___GET_EANNOTATION__STRING;
-
-	/**
-	 * The operation id for the '<em>Validate Has Owner</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MULTIPLICITY_ELEMENT___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP = ELEMENT___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Validate Not Own Self</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MULTIPLICITY_ELEMENT___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP = ELEMENT___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Add Keyword</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MULTIPLICITY_ELEMENT___ADD_KEYWORD__STRING = ELEMENT___ADD_KEYWORD__STRING;
-
-	/**
-	 * The operation id for the '<em>Apply Stereotype</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MULTIPLICITY_ELEMENT___APPLY_STEREOTYPE__STEREOTYPE = ELEMENT___APPLY_STEREOTYPE__STEREOTYPE;
-
-	/**
-	 * The operation id for the '<em>Create EAnnotation</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MULTIPLICITY_ELEMENT___CREATE_EANNOTATION__STRING = ELEMENT___CREATE_EANNOTATION__STRING;
-
-	/**
-	 * The operation id for the '<em>Destroy</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MULTIPLICITY_ELEMENT___DESTROY = ELEMENT___DESTROY;
-
-	/**
-	 * The operation id for the '<em>Get Keywords</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MULTIPLICITY_ELEMENT___GET_KEYWORDS = ELEMENT___GET_KEYWORDS;
-
-	/**
-	 * The operation id for the '<em>Get Applicable Stereotype</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MULTIPLICITY_ELEMENT___GET_APPLICABLE_STEREOTYPE__STRING = ELEMENT___GET_APPLICABLE_STEREOTYPE__STRING;
-
-	/**
-	 * The operation id for the '<em>Get Applicable Stereotypes</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MULTIPLICITY_ELEMENT___GET_APPLICABLE_STEREOTYPES = ELEMENT___GET_APPLICABLE_STEREOTYPES;
-
-	/**
-	 * The operation id for the '<em>Get Applied Stereotype</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MULTIPLICITY_ELEMENT___GET_APPLIED_STEREOTYPE__STRING = ELEMENT___GET_APPLIED_STEREOTYPE__STRING;
-
-	/**
-	 * The operation id for the '<em>Get Applied Stereotypes</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MULTIPLICITY_ELEMENT___GET_APPLIED_STEREOTYPES = ELEMENT___GET_APPLIED_STEREOTYPES;
-
-	/**
-	 * The operation id for the '<em>Get Applied Substereotype</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MULTIPLICITY_ELEMENT___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING = ELEMENT___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING;
-
-	/**
-	 * The operation id for the '<em>Get Applied Substereotypes</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MULTIPLICITY_ELEMENT___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE = ELEMENT___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE;
-
-	/**
-	 * The operation id for the '<em>Get Model</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MULTIPLICITY_ELEMENT___GET_MODEL = ELEMENT___GET_MODEL;
-
-	/**
-	 * The operation id for the '<em>Get Nearest Package</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MULTIPLICITY_ELEMENT___GET_NEAREST_PACKAGE = ELEMENT___GET_NEAREST_PACKAGE;
-
-	/**
-	 * The operation id for the '<em>Get Relationships</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MULTIPLICITY_ELEMENT___GET_RELATIONSHIPS = ELEMENT___GET_RELATIONSHIPS;
-
-	/**
-	 * The operation id for the '<em>Get Relationships</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MULTIPLICITY_ELEMENT___GET_RELATIONSHIPS__ECLASS = ELEMENT___GET_RELATIONSHIPS__ECLASS;
-
-	/**
-	 * The operation id for the '<em>Get Required Stereotype</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MULTIPLICITY_ELEMENT___GET_REQUIRED_STEREOTYPE__STRING = ELEMENT___GET_REQUIRED_STEREOTYPE__STRING;
-
-	/**
-	 * The operation id for the '<em>Get Required Stereotypes</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MULTIPLICITY_ELEMENT___GET_REQUIRED_STEREOTYPES = ELEMENT___GET_REQUIRED_STEREOTYPES;
-
-	/**
-	 * The operation id for the '<em>Get Source Directed Relationships</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MULTIPLICITY_ELEMENT___GET_SOURCE_DIRECTED_RELATIONSHIPS = ELEMENT___GET_SOURCE_DIRECTED_RELATIONSHIPS;
-
-	/**
-	 * The operation id for the '<em>Get Source Directed Relationships</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MULTIPLICITY_ELEMENT___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS = ELEMENT___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS;
-
-	/**
-	 * The operation id for the '<em>Get Stereotype Application</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MULTIPLICITY_ELEMENT___GET_STEREOTYPE_APPLICATION__STEREOTYPE = ELEMENT___GET_STEREOTYPE_APPLICATION__STEREOTYPE;
-
-	/**
-	 * The operation id for the '<em>Get Stereotype Applications</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MULTIPLICITY_ELEMENT___GET_STEREOTYPE_APPLICATIONS = ELEMENT___GET_STEREOTYPE_APPLICATIONS;
-
-	/**
-	 * The operation id for the '<em>Get Target Directed Relationships</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MULTIPLICITY_ELEMENT___GET_TARGET_DIRECTED_RELATIONSHIPS = ELEMENT___GET_TARGET_DIRECTED_RELATIONSHIPS;
-
-	/**
-	 * The operation id for the '<em>Get Target Directed Relationships</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MULTIPLICITY_ELEMENT___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS = ELEMENT___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS;
-
-	/**
-	 * The operation id for the '<em>Get Value</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MULTIPLICITY_ELEMENT___GET_VALUE__STEREOTYPE_STRING = ELEMENT___GET_VALUE__STEREOTYPE_STRING;
-
-	/**
-	 * The operation id for the '<em>Has Keyword</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MULTIPLICITY_ELEMENT___HAS_KEYWORD__STRING = ELEMENT___HAS_KEYWORD__STRING;
-
-	/**
-	 * The operation id for the '<em>Has Value</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MULTIPLICITY_ELEMENT___HAS_VALUE__STEREOTYPE_STRING = ELEMENT___HAS_VALUE__STEREOTYPE_STRING;
-
-	/**
-	 * The operation id for the '<em>Is Stereotype Applicable</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MULTIPLICITY_ELEMENT___IS_STEREOTYPE_APPLICABLE__STEREOTYPE = ELEMENT___IS_STEREOTYPE_APPLICABLE__STEREOTYPE;
-
-	/**
-	 * The operation id for the '<em>Is Stereotype Applied</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MULTIPLICITY_ELEMENT___IS_STEREOTYPE_APPLIED__STEREOTYPE = ELEMENT___IS_STEREOTYPE_APPLIED__STEREOTYPE;
-
-	/**
-	 * The operation id for the '<em>Is Stereotype Required</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MULTIPLICITY_ELEMENT___IS_STEREOTYPE_REQUIRED__STEREOTYPE = ELEMENT___IS_STEREOTYPE_REQUIRED__STEREOTYPE;
-
-	/**
-	 * The operation id for the '<em>Remove Keyword</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MULTIPLICITY_ELEMENT___REMOVE_KEYWORD__STRING = ELEMENT___REMOVE_KEYWORD__STRING;
-
-	/**
-	 * The operation id for the '<em>Set Value</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MULTIPLICITY_ELEMENT___SET_VALUE__STEREOTYPE_STRING_OBJECT = ELEMENT___SET_VALUE__STEREOTYPE_STRING_OBJECT;
-
-	/**
-	 * The operation id for the '<em>Unapply Stereotype</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MULTIPLICITY_ELEMENT___UNAPPLY_STEREOTYPE__STEREOTYPE = ELEMENT___UNAPPLY_STEREOTYPE__STEREOTYPE;
-
-	/**
-	 * The operation id for the '<em>All Owned Elements</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MULTIPLICITY_ELEMENT___ALL_OWNED_ELEMENTS = ELEMENT___ALL_OWNED_ELEMENTS;
-
-	/**
-	 * The operation id for the '<em>Must Be Owned</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MULTIPLICITY_ELEMENT___MUST_BE_OWNED = ELEMENT___MUST_BE_OWNED;
-
-	/**
-	 * The operation id for the '<em>Validate Upper Ge Lower</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MULTIPLICITY_ELEMENT___VALIDATE_UPPER_GE_LOWER__DIAGNOSTICCHAIN_MAP = ELEMENT_OPERATION_COUNT + 0;
-
-	/**
-	 * The operation id for the '<em>Validate Lower Ge0</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MULTIPLICITY_ELEMENT___VALIDATE_LOWER_GE0__DIAGNOSTICCHAIN_MAP = ELEMENT_OPERATION_COUNT + 1;
-
-	/**
-	 * The operation id for the '<em>Validate Value Specification No Side Effects</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MULTIPLICITY_ELEMENT___VALIDATE_VALUE_SPECIFICATION_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP = ELEMENT_OPERATION_COUNT + 2;
-
-	/**
-	 * The operation id for the '<em>Validate Value Specification Constant</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MULTIPLICITY_ELEMENT___VALIDATE_VALUE_SPECIFICATION_CONSTANT__DIAGNOSTICCHAIN_MAP = ELEMENT_OPERATION_COUNT + 3;
-
-	/**
-	 * The operation id for the '<em>Set Lower</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MULTIPLICITY_ELEMENT___SET_LOWER__INT = ELEMENT_OPERATION_COUNT + 4;
-
-	/**
-	 * The operation id for the '<em>Set Upper</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MULTIPLICITY_ELEMENT___SET_UPPER__INT = ELEMENT_OPERATION_COUNT + 5;
-
-	/**
-	 * The operation id for the '<em>Compatible With</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MULTIPLICITY_ELEMENT___COMPATIBLE_WITH__MULTIPLICITYELEMENT = ELEMENT_OPERATION_COUNT + 6;
-
-	/**
-	 * The operation id for the '<em>Includes Cardinality</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MULTIPLICITY_ELEMENT___INCLUDES_CARDINALITY__INT = ELEMENT_OPERATION_COUNT + 7;
-
-	/**
-	 * The operation id for the '<em>Includes Multiplicity</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MULTIPLICITY_ELEMENT___INCLUDES_MULTIPLICITY__MULTIPLICITYELEMENT = ELEMENT_OPERATION_COUNT + 8;
-
-	/**
-	 * The operation id for the '<em>Is</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MULTIPLICITY_ELEMENT___IS__INT_INT = ELEMENT_OPERATION_COUNT + 9;
-
-	/**
-	 * The operation id for the '<em>Is Multivalued</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MULTIPLICITY_ELEMENT___IS_MULTIVALUED = ELEMENT_OPERATION_COUNT + 10;
-
-	/**
-	 * The operation id for the '<em>Get Lower</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MULTIPLICITY_ELEMENT___GET_LOWER = ELEMENT_OPERATION_COUNT + 11;
-
-	/**
-	 * The operation id for the '<em>Lower Bound</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MULTIPLICITY_ELEMENT___LOWER_BOUND = ELEMENT_OPERATION_COUNT + 12;
-
-	/**
-	 * The operation id for the '<em>Get Upper</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MULTIPLICITY_ELEMENT___GET_UPPER = ELEMENT_OPERATION_COUNT + 13;
-
-	/**
-	 * The operation id for the '<em>Upper Bound</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MULTIPLICITY_ELEMENT___UPPER_BOUND = ELEMENT_OPERATION_COUNT + 14;
-
-	/**
-	 * The number of operations of the '<em>Multiplicity Element</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MULTIPLICITY_ELEMENT_OPERATION_COUNT = ELEMENT_OPERATION_COUNT + 15;
-
-	/**
-	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
 	int CONNECTOR_END__EANNOTATIONS = MULTIPLICITY_ELEMENT__EANNOTATIONS;
 
 	/**
@@ -32941,15 +31680,6 @@
 	int CONNECTOR_END___MUST_BE_OWNED = MULTIPLICITY_ELEMENT___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Upper Ge Lower</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONNECTOR_END___VALIDATE_UPPER_GE_LOWER__DIAGNOSTICCHAIN_MAP = MULTIPLICITY_ELEMENT___VALIDATE_UPPER_GE_LOWER__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Lower Ge0</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -32959,13 +31689,13 @@
 	int CONNECTOR_END___VALIDATE_LOWER_GE0__DIAGNOSTICCHAIN_MAP = MULTIPLICITY_ELEMENT___VALIDATE_LOWER_GE0__DIAGNOSTICCHAIN_MAP;
 
 	/**
-	 * The operation id for the '<em>Validate Value Specification No Side Effects</em>' operation.
+	 * The operation id for the '<em>Validate Upper Ge Lower</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int CONNECTOR_END___VALIDATE_VALUE_SPECIFICATION_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP = MULTIPLICITY_ELEMENT___VALIDATE_VALUE_SPECIFICATION_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP;
+	int CONNECTOR_END___VALIDATE_UPPER_GE_LOWER__DIAGNOSTICCHAIN_MAP = MULTIPLICITY_ELEMENT___VALIDATE_UPPER_GE_LOWER__DIAGNOSTICCHAIN_MAP;
 
 	/**
 	 * The operation id for the '<em>Validate Value Specification Constant</em>' operation.
@@ -32977,6 +31707,15 @@
 	int CONNECTOR_END___VALIDATE_VALUE_SPECIFICATION_CONSTANT__DIAGNOSTICCHAIN_MAP = MULTIPLICITY_ELEMENT___VALIDATE_VALUE_SPECIFICATION_CONSTANT__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Value Specification No Side Effects</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONNECTOR_END___VALIDATE_VALUE_SPECIFICATION_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP = MULTIPLICITY_ELEMENT___VALIDATE_VALUE_SPECIFICATION_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Set Lower</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -33085,13 +31824,13 @@
 	int CONNECTOR_END___VALIDATE_ROLE_AND_PART_WITH_PORT__DIAGNOSTICCHAIN_MAP = MULTIPLICITY_ELEMENT_OPERATION_COUNT + 0;
 
 	/**
-	 * The operation id for the '<em>Validate Part With Port Empty</em>' operation.
+	 * The operation id for the '<em>Validate Self Part With Port</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int CONNECTOR_END___VALIDATE_PART_WITH_PORT_EMPTY__DIAGNOSTICCHAIN_MAP = MULTIPLICITY_ELEMENT_OPERATION_COUNT + 1;
+	int CONNECTOR_END___VALIDATE_SELF_PART_WITH_PORT__DIAGNOSTICCHAIN_MAP = MULTIPLICITY_ELEMENT_OPERATION_COUNT + 1;
 
 	/**
 	 * The operation id for the '<em>Validate Multiplicity</em>' operation.
@@ -33103,13 +31842,13 @@
 	int CONNECTOR_END___VALIDATE_MULTIPLICITY__DIAGNOSTICCHAIN_MAP = MULTIPLICITY_ELEMENT_OPERATION_COUNT + 2;
 
 	/**
-	 * The operation id for the '<em>Validate Self Part With Port</em>' operation.
+	 * The operation id for the '<em>Validate Part With Port Empty</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int CONNECTOR_END___VALIDATE_SELF_PART_WITH_PORT__DIAGNOSTICCHAIN_MAP = MULTIPLICITY_ELEMENT_OPERATION_COUNT + 3;
+	int CONNECTOR_END___VALIDATE_PART_WITH_PORT_EMPTY__DIAGNOSTICCHAIN_MAP = MULTIPLICITY_ELEMENT_OPERATION_COUNT + 3;
 
 	/**
 	 * The operation id for the '<em>Get Defining End</em>' operation.
@@ -33175,6 +31914,15 @@
 	int CONNECTABLE_ELEMENT_TEMPLATE_PARAMETER__DEFAULT = TEMPLATE_PARAMETER__DEFAULT;
 
 	/**
+	 * The feature id for the '<em><b>Owned Default</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONNECTABLE_ELEMENT_TEMPLATE_PARAMETER__OWNED_DEFAULT = TEMPLATE_PARAMETER__OWNED_DEFAULT;
+
+	/**
 	 * The feature id for the '<em><b>Owned Parametered Element</b></em>' containment reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -33193,15 +31941,6 @@
 	int CONNECTABLE_ELEMENT_TEMPLATE_PARAMETER__PARAMETERED_ELEMENT = TEMPLATE_PARAMETER__PARAMETERED_ELEMENT;
 
 	/**
-	 * The feature id for the '<em><b>Owned Default</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONNECTABLE_ELEMENT_TEMPLATE_PARAMETER__OWNED_DEFAULT = TEMPLATE_PARAMETER__OWNED_DEFAULT;
-
-	/**
 	 * The feature id for the '<em><b>Signature</b></em>' container reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -34021,15 +32760,6 @@
 	int DEPLOYMENT_TARGET___MUST_BE_OWNED = NAMED_ELEMENT___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DEPLOYMENT_TARGET___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = NAMED_ELEMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -34048,6 +32778,15 @@
 	int DEPLOYMENT_TARGET___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = NAMED_ELEMENT___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DEPLOYMENT_TARGET___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = NAMED_ELEMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -34678,15 +33417,6 @@
 	int DEPLOYMENT___MUST_BE_OWNED = DEPENDENCY___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DEPLOYMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = DEPENDENCY___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -34705,6 +33435,15 @@
 	int DEPLOYMENT___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = DEPENDENCY___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DEPLOYMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = DEPENDENCY___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -35551,15 +34290,6 @@
 	int ARTIFACT___MUST_BE_OWNED = CLASSIFIER___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ARTIFACT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = CLASSIFIER___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -35578,6 +34308,15 @@
 	int ARTIFACT___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = CLASSIFIER___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ARTIFACT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = CLASSIFIER___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -35875,24 +34614,6 @@
 	int ARTIFACT___PARAMETERABLE_ELEMENTS = CLASSIFIER___PARAMETERABLE_ELEMENTS;
 
 	/**
-	 * The operation id for the '<em>Validate Specialize Type</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ARTIFACT___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP = CLASSIFIER___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Validate Maps To Generalization Set</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ARTIFACT___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP = CLASSIFIER___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Non Final Parents</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -35911,6 +34632,24 @@
 	int ARTIFACT___VALIDATE_NO_CYCLES_IN_GENERALIZATION__DIAGNOSTICCHAIN_MAP = CLASSIFIER___VALIDATE_NO_CYCLES_IN_GENERALIZATION__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Specialize Type</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ARTIFACT___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP = CLASSIFIER___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Validate Maps To Generalization Set</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ARTIFACT___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP = CLASSIFIER___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Get All Attributes</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -36847,15 +35586,6 @@
 	int DEPLOYMENT_SPECIFICATION___MUST_BE_OWNED = ARTIFACT___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DEPLOYMENT_SPECIFICATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = ARTIFACT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -36874,6 +35604,15 @@
 	int DEPLOYMENT_SPECIFICATION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = ARTIFACT___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DEPLOYMENT_SPECIFICATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = ARTIFACT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -37171,24 +35910,6 @@
 	int DEPLOYMENT_SPECIFICATION___PARAMETERABLE_ELEMENTS = ARTIFACT___PARAMETERABLE_ELEMENTS;
 
 	/**
-	 * The operation id for the '<em>Validate Specialize Type</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DEPLOYMENT_SPECIFICATION___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP = ARTIFACT___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Validate Maps To Generalization Set</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DEPLOYMENT_SPECIFICATION___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP = ARTIFACT___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Non Final Parents</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -37207,6 +35928,24 @@
 	int DEPLOYMENT_SPECIFICATION___VALIDATE_NO_CYCLES_IN_GENERALIZATION__DIAGNOSTICCHAIN_MAP = ARTIFACT___VALIDATE_NO_CYCLES_IN_GENERALIZATION__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Specialize Type</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DEPLOYMENT_SPECIFICATION___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP = ARTIFACT___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Validate Maps To Generalization Set</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DEPLOYMENT_SPECIFICATION___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP = ARTIFACT___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Get All Attributes</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -37378,22 +36117,22 @@
 	int DEPLOYMENT_SPECIFICATION___CREATE_OWNED_OPERATION__STRING_ELIST_ELIST_TYPE = ARTIFACT___CREATE_OWNED_OPERATION__STRING_ELIST_ELIST_TYPE;
 
 	/**
-	 * The operation id for the '<em>Validate Deployment Target</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DEPLOYMENT_SPECIFICATION___VALIDATE_DEPLOYMENT_TARGET__DIAGNOSTICCHAIN_MAP = ARTIFACT_OPERATION_COUNT + 0;
-
-	/**
 	 * The operation id for the '<em>Validate Deployed Elements</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int DEPLOYMENT_SPECIFICATION___VALIDATE_DEPLOYED_ELEMENTS__DIAGNOSTICCHAIN_MAP = ARTIFACT_OPERATION_COUNT + 1;
+	int DEPLOYMENT_SPECIFICATION___VALIDATE_DEPLOYED_ELEMENTS__DIAGNOSTICCHAIN_MAP = ARTIFACT_OPERATION_COUNT + 0;
+
+	/**
+	 * The operation id for the '<em>Validate Deployment Target</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DEPLOYMENT_SPECIFICATION___VALIDATE_DEPLOYMENT_TARGET__DIAGNOSTICCHAIN_MAP = ARTIFACT_OPERATION_COUNT + 1;
 
 	/**
 	 * The number of operations of the '<em>Deployment Specification</em>' class.
@@ -37837,15 +36576,6 @@
 	int DEPLOYED_ARTIFACT___MUST_BE_OWNED = NAMED_ELEMENT___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DEPLOYED_ARTIFACT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = NAMED_ELEMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -37864,6 +36594,15 @@
 	int DEPLOYED_ARTIFACT___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = NAMED_ELEMENT___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DEPLOYED_ARTIFACT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = NAMED_ELEMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -38476,15 +37215,6 @@
 	int MANIFESTATION___MUST_BE_OWNED = ABSTRACTION___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MANIFESTATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = ABSTRACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -38503,6 +37233,15 @@
 	int MANIFESTATION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = ABSTRACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MANIFESTATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = ABSTRACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -39205,15 +37944,6 @@
 	int BEHAVIORAL_FEATURE___MUST_BE_OWNED = NAMESPACE___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIORAL_FEATURE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = NAMESPACE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -39232,6 +37962,15 @@
 	int BEHAVIORAL_FEATURE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = NAMESPACE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int BEHAVIORAL_FEATURE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = NAMESPACE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -39763,13 +38502,22 @@
 	int OPERATION__TEMPLATE_BINDING = BEHAVIORAL_FEATURE_FEATURE_COUNT + 3;
 
 	/**
+	 * The feature id for the '<em><b>Interface</b></em>' container reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int OPERATION__INTERFACE = BEHAVIORAL_FEATURE_FEATURE_COUNT + 4;
+
+	/**
 	 * The feature id for the '<em><b>Body Condition</b></em>' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int OPERATION__BODY_CONDITION = BEHAVIORAL_FEATURE_FEATURE_COUNT + 4;
+	int OPERATION__BODY_CONDITION = BEHAVIORAL_FEATURE_FEATURE_COUNT + 5;
 
 	/**
 	 * The feature id for the '<em><b>Class</b></em>' container reference.
@@ -39778,7 +38526,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int OPERATION__CLASS = BEHAVIORAL_FEATURE_FEATURE_COUNT + 5;
+	int OPERATION__CLASS = BEHAVIORAL_FEATURE_FEATURE_COUNT + 6;
 
 	/**
 	 * The feature id for the '<em><b>Datatype</b></em>' container reference.
@@ -39787,16 +38535,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int OPERATION__DATATYPE = BEHAVIORAL_FEATURE_FEATURE_COUNT + 6;
-
-	/**
-	 * The feature id for the '<em><b>Interface</b></em>' container reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int OPERATION__INTERFACE = BEHAVIORAL_FEATURE_FEATURE_COUNT + 7;
+	int OPERATION__DATATYPE = BEHAVIORAL_FEATURE_FEATURE_COUNT + 7;
 
 	/**
 	 * The feature id for the '<em><b>Is Ordered</b></em>' attribute.
@@ -40222,15 +38961,6 @@
 	int OPERATION___MUST_BE_OWNED = BEHAVIORAL_FEATURE___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int OPERATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = BEHAVIORAL_FEATURE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -40249,6 +38979,15 @@
 	int OPERATION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = BEHAVIORAL_FEATURE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int OPERATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = BEHAVIORAL_FEATURE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -41545,15 +40284,6 @@
 	int BEHAVIOR___MUST_BE_OWNED = CLASS___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIOR___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = CLASS___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -41572,6 +40302,15 @@
 	int BEHAVIOR___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = CLASS___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int BEHAVIOR___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = CLASS___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -41869,24 +40608,6 @@
 	int BEHAVIOR___PARAMETERABLE_ELEMENTS = CLASS___PARAMETERABLE_ELEMENTS;
 
 	/**
-	 * The operation id for the '<em>Validate Specialize Type</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIOR___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP = CLASS___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Validate Maps To Generalization Set</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIOR___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP = CLASS___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Non Final Parents</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -41905,6 +40626,24 @@
 	int BEHAVIOR___VALIDATE_NO_CYCLES_IN_GENERALIZATION__DIAGNOSTICCHAIN_MAP = CLASS___VALIDATE_NO_CYCLES_IN_GENERALIZATION__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Specialize Type</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int BEHAVIOR___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP = CLASS___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Validate Maps To Generalization Set</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int BEHAVIOR___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP = CLASS___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Get All Attributes</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -42166,31 +40905,13 @@
 	int BEHAVIOR___GET_SUPER_CLASSES = CLASS___GET_SUPER_CLASSES;
 
 	/**
-	 * The operation id for the '<em>Validate Most One Behaviour</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIOR___VALIDATE_MOST_ONE_BEHAVIOUR__DIAGNOSTICCHAIN_MAP = CLASS_OPERATION_COUNT + 0;
-
-	/**
-	 * The operation id for the '<em>Validate Must Realize</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIOR___VALIDATE_MUST_REALIZE__DIAGNOSTICCHAIN_MAP = CLASS_OPERATION_COUNT + 1;
-
-	/**
 	 * The operation id for the '<em>Validate Parameters Match</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int BEHAVIOR___VALIDATE_PARAMETERS_MATCH__DIAGNOSTICCHAIN_MAP = CLASS_OPERATION_COUNT + 2;
+	int BEHAVIOR___VALIDATE_PARAMETERS_MATCH__DIAGNOSTICCHAIN_MAP = CLASS_OPERATION_COUNT + 0;
 
 	/**
 	 * The operation id for the '<em>Validate Feature Of Context Classifier</em>' operation.
@@ -42199,7 +40920,25 @@
 	 * @generated
 	 * @ordered
 	 */
-	int BEHAVIOR___VALIDATE_FEATURE_OF_CONTEXT_CLASSIFIER__DIAGNOSTICCHAIN_MAP = CLASS_OPERATION_COUNT + 3;
+	int BEHAVIOR___VALIDATE_FEATURE_OF_CONTEXT_CLASSIFIER__DIAGNOSTICCHAIN_MAP = CLASS_OPERATION_COUNT + 1;
+
+	/**
+	 * The operation id for the '<em>Validate Must Realize</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int BEHAVIOR___VALIDATE_MUST_REALIZE__DIAGNOSTICCHAIN_MAP = CLASS_OPERATION_COUNT + 2;
+
+	/**
+	 * The operation id for the '<em>Validate Most One Behaviour</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int BEHAVIOR___VALIDATE_MOST_ONE_BEHAVIOUR__DIAGNOSTICCHAIN_MAP = CLASS_OPERATION_COUNT + 3;
 
 	/**
 	 * The operation id for the '<em>Get Context</em>' operation.
@@ -42226,7 +40965,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int PARAMETER__EANNOTATIONS = CONNECTABLE_ELEMENT__EANNOTATIONS;
+	int BEHAVIORED_CLASSIFIER__EANNOTATIONS = CLASSIFIER__EANNOTATIONS;
 
 	/**
 	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
@@ -42235,7 +40974,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int PARAMETER__OWNED_COMMENT = CONNECTABLE_ELEMENT__OWNED_COMMENT;
+	int BEHAVIORED_CLASSIFIER__OWNED_COMMENT = CLASSIFIER__OWNED_COMMENT;
 
 	/**
 	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
@@ -42244,7 +40983,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int PARAMETER__OWNED_ELEMENT = CONNECTABLE_ELEMENT__OWNED_ELEMENT;
+	int BEHAVIORED_CLASSIFIER__OWNED_ELEMENT = CLASSIFIER__OWNED_ELEMENT;
 
 	/**
 	 * The feature id for the '<em><b>Owner</b></em>' reference.
@@ -42253,7 +40992,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int PARAMETER__OWNER = CONNECTABLE_ELEMENT__OWNER;
+	int BEHAVIORED_CLASSIFIER__OWNER = CLASSIFIER__OWNER;
 
 	/**
 	 * The feature id for the '<em><b>Client Dependency</b></em>' reference list.
@@ -42262,7 +41001,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int PARAMETER__CLIENT_DEPENDENCY = CONNECTABLE_ELEMENT__CLIENT_DEPENDENCY;
+	int BEHAVIORED_CLASSIFIER__CLIENT_DEPENDENCY = CLASSIFIER__CLIENT_DEPENDENCY;
 
 	/**
 	 * The feature id for the '<em><b>Name</b></em>' attribute.
@@ -42271,7 +41010,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int PARAMETER__NAME = CONNECTABLE_ELEMENT__NAME;
+	int BEHAVIORED_CLASSIFIER__NAME = CLASSIFIER__NAME;
 
 	/**
 	 * The feature id for the '<em><b>Name Expression</b></em>' containment reference.
@@ -42280,7 +41019,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int PARAMETER__NAME_EXPRESSION = CONNECTABLE_ELEMENT__NAME_EXPRESSION;
+	int BEHAVIORED_CLASSIFIER__NAME_EXPRESSION = CLASSIFIER__NAME_EXPRESSION;
 
 	/**
 	 * The feature id for the '<em><b>Namespace</b></em>' reference.
@@ -42289,7 +41028,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int PARAMETER__NAMESPACE = CONNECTABLE_ELEMENT__NAMESPACE;
+	int BEHAVIORED_CLASSIFIER__NAMESPACE = CLASSIFIER__NAMESPACE;
 
 	/**
 	 * The feature id for the '<em><b>Qualified Name</b></em>' attribute.
@@ -42298,7 +41037,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int PARAMETER__QUALIFIED_NAME = CONNECTABLE_ELEMENT__QUALIFIED_NAME;
+	int BEHAVIORED_CLASSIFIER__QUALIFIED_NAME = CLASSIFIER__QUALIFIED_NAME;
 
 	/**
 	 * The feature id for the '<em><b>Visibility</b></em>' attribute.
@@ -42307,2284 +41046,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int PARAMETER__VISIBILITY = CONNECTABLE_ELEMENT__VISIBILITY;
-
-	/**
-	 * The feature id for the '<em><b>Type</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER__TYPE = CONNECTABLE_ELEMENT__TYPE;
-
-	/**
-	 * The feature id for the '<em><b>Owning Template Parameter</b></em>' container reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER__OWNING_TEMPLATE_PARAMETER = CONNECTABLE_ELEMENT__OWNING_TEMPLATE_PARAMETER;
-
-	/**
-	 * The feature id for the '<em><b>Template Parameter</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER__TEMPLATE_PARAMETER = CONNECTABLE_ELEMENT__TEMPLATE_PARAMETER;
-
-	/**
-	 * The feature id for the '<em><b>End</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER__END = CONNECTABLE_ELEMENT__END;
-
-	/**
-	 * The feature id for the '<em><b>Is Ordered</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER__IS_ORDERED = CONNECTABLE_ELEMENT_FEATURE_COUNT + 0;
-
-	/**
-	 * The feature id for the '<em><b>Is Unique</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER__IS_UNIQUE = CONNECTABLE_ELEMENT_FEATURE_COUNT + 1;
-
-	/**
-	 * The feature id for the '<em><b>Lower</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER__LOWER = CONNECTABLE_ELEMENT_FEATURE_COUNT + 2;
-
-	/**
-	 * The feature id for the '<em><b>Lower Value</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER__LOWER_VALUE = CONNECTABLE_ELEMENT_FEATURE_COUNT + 3;
-
-	/**
-	 * The feature id for the '<em><b>Upper</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER__UPPER = CONNECTABLE_ELEMENT_FEATURE_COUNT + 4;
-
-	/**
-	 * The feature id for the '<em><b>Upper Value</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER__UPPER_VALUE = CONNECTABLE_ELEMENT_FEATURE_COUNT + 5;
-
-	/**
-	 * The feature id for the '<em><b>Default</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER__DEFAULT = CONNECTABLE_ELEMENT_FEATURE_COUNT + 6;
-
-	/**
-	 * The feature id for the '<em><b>Default Value</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER__DEFAULT_VALUE = CONNECTABLE_ELEMENT_FEATURE_COUNT + 7;
-
-	/**
-	 * The feature id for the '<em><b>Direction</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER__DIRECTION = CONNECTABLE_ELEMENT_FEATURE_COUNT + 8;
-
-	/**
-	 * The feature id for the '<em><b>Effect</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER__EFFECT = CONNECTABLE_ELEMENT_FEATURE_COUNT + 9;
-
-	/**
-	 * The feature id for the '<em><b>Is Exception</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER__IS_EXCEPTION = CONNECTABLE_ELEMENT_FEATURE_COUNT + 10;
-
-	/**
-	 * The feature id for the '<em><b>Is Stream</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER__IS_STREAM = CONNECTABLE_ELEMENT_FEATURE_COUNT + 11;
-
-	/**
-	 * The feature id for the '<em><b>Operation</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER__OPERATION = CONNECTABLE_ELEMENT_FEATURE_COUNT + 12;
-
-	/**
-	 * The feature id for the '<em><b>Parameter Set</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER__PARAMETER_SET = CONNECTABLE_ELEMENT_FEATURE_COUNT + 13;
-
-	/**
-	 * The number of structural features of the '<em>Parameter</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER_FEATURE_COUNT = CONNECTABLE_ELEMENT_FEATURE_COUNT + 14;
-
-	/**
-	 * The operation id for the '<em>Get EAnnotation</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER___GET_EANNOTATION__STRING = CONNECTABLE_ELEMENT___GET_EANNOTATION__STRING;
-
-	/**
-	 * The operation id for the '<em>Validate Has Owner</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP = CONNECTABLE_ELEMENT___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Validate Not Own Self</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP = CONNECTABLE_ELEMENT___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Add Keyword</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER___ADD_KEYWORD__STRING = CONNECTABLE_ELEMENT___ADD_KEYWORD__STRING;
-
-	/**
-	 * The operation id for the '<em>Apply Stereotype</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER___APPLY_STEREOTYPE__STEREOTYPE = CONNECTABLE_ELEMENT___APPLY_STEREOTYPE__STEREOTYPE;
-
-	/**
-	 * The operation id for the '<em>Create EAnnotation</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER___CREATE_EANNOTATION__STRING = CONNECTABLE_ELEMENT___CREATE_EANNOTATION__STRING;
-
-	/**
-	 * The operation id for the '<em>Destroy</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER___DESTROY = CONNECTABLE_ELEMENT___DESTROY;
-
-	/**
-	 * The operation id for the '<em>Get Keywords</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER___GET_KEYWORDS = CONNECTABLE_ELEMENT___GET_KEYWORDS;
-
-	/**
-	 * The operation id for the '<em>Get Applicable Stereotype</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER___GET_APPLICABLE_STEREOTYPE__STRING = CONNECTABLE_ELEMENT___GET_APPLICABLE_STEREOTYPE__STRING;
-
-	/**
-	 * The operation id for the '<em>Get Applicable Stereotypes</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER___GET_APPLICABLE_STEREOTYPES = CONNECTABLE_ELEMENT___GET_APPLICABLE_STEREOTYPES;
-
-	/**
-	 * The operation id for the '<em>Get Applied Stereotype</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER___GET_APPLIED_STEREOTYPE__STRING = CONNECTABLE_ELEMENT___GET_APPLIED_STEREOTYPE__STRING;
-
-	/**
-	 * The operation id for the '<em>Get Applied Stereotypes</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER___GET_APPLIED_STEREOTYPES = CONNECTABLE_ELEMENT___GET_APPLIED_STEREOTYPES;
-
-	/**
-	 * The operation id for the '<em>Get Applied Substereotype</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING = CONNECTABLE_ELEMENT___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING;
-
-	/**
-	 * The operation id for the '<em>Get Applied Substereotypes</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE = CONNECTABLE_ELEMENT___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE;
-
-	/**
-	 * The operation id for the '<em>Get Model</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER___GET_MODEL = CONNECTABLE_ELEMENT___GET_MODEL;
-
-	/**
-	 * The operation id for the '<em>Get Nearest Package</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER___GET_NEAREST_PACKAGE = CONNECTABLE_ELEMENT___GET_NEAREST_PACKAGE;
-
-	/**
-	 * The operation id for the '<em>Get Relationships</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER___GET_RELATIONSHIPS = CONNECTABLE_ELEMENT___GET_RELATIONSHIPS;
-
-	/**
-	 * The operation id for the '<em>Get Relationships</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER___GET_RELATIONSHIPS__ECLASS = CONNECTABLE_ELEMENT___GET_RELATIONSHIPS__ECLASS;
-
-	/**
-	 * The operation id for the '<em>Get Required Stereotype</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER___GET_REQUIRED_STEREOTYPE__STRING = CONNECTABLE_ELEMENT___GET_REQUIRED_STEREOTYPE__STRING;
-
-	/**
-	 * The operation id for the '<em>Get Required Stereotypes</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER___GET_REQUIRED_STEREOTYPES = CONNECTABLE_ELEMENT___GET_REQUIRED_STEREOTYPES;
-
-	/**
-	 * The operation id for the '<em>Get Source Directed Relationships</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER___GET_SOURCE_DIRECTED_RELATIONSHIPS = CONNECTABLE_ELEMENT___GET_SOURCE_DIRECTED_RELATIONSHIPS;
-
-	/**
-	 * The operation id for the '<em>Get Source Directed Relationships</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS = CONNECTABLE_ELEMENT___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS;
-
-	/**
-	 * The operation id for the '<em>Get Stereotype Application</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER___GET_STEREOTYPE_APPLICATION__STEREOTYPE = CONNECTABLE_ELEMENT___GET_STEREOTYPE_APPLICATION__STEREOTYPE;
-
-	/**
-	 * The operation id for the '<em>Get Stereotype Applications</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER___GET_STEREOTYPE_APPLICATIONS = CONNECTABLE_ELEMENT___GET_STEREOTYPE_APPLICATIONS;
-
-	/**
-	 * The operation id for the '<em>Get Target Directed Relationships</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER___GET_TARGET_DIRECTED_RELATIONSHIPS = CONNECTABLE_ELEMENT___GET_TARGET_DIRECTED_RELATIONSHIPS;
-
-	/**
-	 * The operation id for the '<em>Get Target Directed Relationships</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS = CONNECTABLE_ELEMENT___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS;
-
-	/**
-	 * The operation id for the '<em>Get Value</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER___GET_VALUE__STEREOTYPE_STRING = CONNECTABLE_ELEMENT___GET_VALUE__STEREOTYPE_STRING;
-
-	/**
-	 * The operation id for the '<em>Has Keyword</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER___HAS_KEYWORD__STRING = CONNECTABLE_ELEMENT___HAS_KEYWORD__STRING;
-
-	/**
-	 * The operation id for the '<em>Has Value</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER___HAS_VALUE__STEREOTYPE_STRING = CONNECTABLE_ELEMENT___HAS_VALUE__STEREOTYPE_STRING;
-
-	/**
-	 * The operation id for the '<em>Is Stereotype Applicable</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER___IS_STEREOTYPE_APPLICABLE__STEREOTYPE = CONNECTABLE_ELEMENT___IS_STEREOTYPE_APPLICABLE__STEREOTYPE;
-
-	/**
-	 * The operation id for the '<em>Is Stereotype Applied</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER___IS_STEREOTYPE_APPLIED__STEREOTYPE = CONNECTABLE_ELEMENT___IS_STEREOTYPE_APPLIED__STEREOTYPE;
-
-	/**
-	 * The operation id for the '<em>Is Stereotype Required</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER___IS_STEREOTYPE_REQUIRED__STEREOTYPE = CONNECTABLE_ELEMENT___IS_STEREOTYPE_REQUIRED__STEREOTYPE;
-
-	/**
-	 * The operation id for the '<em>Remove Keyword</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER___REMOVE_KEYWORD__STRING = CONNECTABLE_ELEMENT___REMOVE_KEYWORD__STRING;
-
-	/**
-	 * The operation id for the '<em>Set Value</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER___SET_VALUE__STEREOTYPE_STRING_OBJECT = CONNECTABLE_ELEMENT___SET_VALUE__STEREOTYPE_STRING_OBJECT;
-
-	/**
-	 * The operation id for the '<em>Unapply Stereotype</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER___UNAPPLY_STEREOTYPE__STEREOTYPE = CONNECTABLE_ELEMENT___UNAPPLY_STEREOTYPE__STEREOTYPE;
-
-	/**
-	 * The operation id for the '<em>All Owned Elements</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER___ALL_OWNED_ELEMENTS = CONNECTABLE_ELEMENT___ALL_OWNED_ELEMENTS;
-
-	/**
-	 * The operation id for the '<em>Must Be Owned</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER___MUST_BE_OWNED = CONNECTABLE_ELEMENT___MUST_BE_OWNED;
-
-	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = CONNECTABLE_ELEMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = CONNECTABLE_ELEMENT___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Validate Has No Qualified Name</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = CONNECTABLE_ELEMENT___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Create Dependency</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER___CREATE_DEPENDENCY__NAMEDELEMENT = CONNECTABLE_ELEMENT___CREATE_DEPENDENCY__NAMEDELEMENT;
-
-	/**
-	 * The operation id for the '<em>Create Usage</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER___CREATE_USAGE__NAMEDELEMENT = CONNECTABLE_ELEMENT___CREATE_USAGE__NAMEDELEMENT;
-
-	/**
-	 * The operation id for the '<em>Get Label</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER___GET_LABEL = CONNECTABLE_ELEMENT___GET_LABEL;
-
-	/**
-	 * The operation id for the '<em>Get Label</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER___GET_LABEL__BOOLEAN = CONNECTABLE_ELEMENT___GET_LABEL__BOOLEAN;
-
-	/**
-	 * The operation id for the '<em>All Namespaces</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER___ALL_NAMESPACES = CONNECTABLE_ELEMENT___ALL_NAMESPACES;
-
-	/**
-	 * The operation id for the '<em>All Owning Packages</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER___ALL_OWNING_PACKAGES = CONNECTABLE_ELEMENT___ALL_OWNING_PACKAGES;
-
-	/**
-	 * The operation id for the '<em>Is Distinguishable From</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE = CONNECTABLE_ELEMENT___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE;
-
-	/**
-	 * The operation id for the '<em>Get Namespace</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER___GET_NAMESPACE = CONNECTABLE_ELEMENT___GET_NAMESPACE;
-
-	/**
-	 * The operation id for the '<em>Get Qualified Name</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER___GET_QUALIFIED_NAME = CONNECTABLE_ELEMENT___GET_QUALIFIED_NAME;
-
-	/**
-	 * The operation id for the '<em>Separator</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER___SEPARATOR = CONNECTABLE_ELEMENT___SEPARATOR;
-
-	/**
-	 * The operation id for the '<em>Is Compatible With</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER___IS_COMPATIBLE_WITH__PARAMETERABLEELEMENT = CONNECTABLE_ELEMENT___IS_COMPATIBLE_WITH__PARAMETERABLEELEMENT;
-
-	/**
-	 * The operation id for the '<em>Is Template Parameter</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER___IS_TEMPLATE_PARAMETER = CONNECTABLE_ELEMENT___IS_TEMPLATE_PARAMETER;
-
-	/**
-	 * The operation id for the '<em>Get Ends</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER___GET_ENDS = CONNECTABLE_ELEMENT___GET_ENDS;
-
-	/**
-	 * The operation id for the '<em>Validate Upper Ge Lower</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER___VALIDATE_UPPER_GE_LOWER__DIAGNOSTICCHAIN_MAP = CONNECTABLE_ELEMENT_OPERATION_COUNT + 0;
-
-	/**
-	 * The operation id for the '<em>Validate Lower Ge0</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER___VALIDATE_LOWER_GE0__DIAGNOSTICCHAIN_MAP = CONNECTABLE_ELEMENT_OPERATION_COUNT + 1;
-
-	/**
-	 * The operation id for the '<em>Validate Value Specification No Side Effects</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER___VALIDATE_VALUE_SPECIFICATION_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP = CONNECTABLE_ELEMENT_OPERATION_COUNT + 2;
-
-	/**
-	 * The operation id for the '<em>Validate Value Specification Constant</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER___VALIDATE_VALUE_SPECIFICATION_CONSTANT__DIAGNOSTICCHAIN_MAP = CONNECTABLE_ELEMENT_OPERATION_COUNT + 3;
-
-	/**
-	 * The operation id for the '<em>Set Lower</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER___SET_LOWER__INT = CONNECTABLE_ELEMENT_OPERATION_COUNT + 4;
-
-	/**
-	 * The operation id for the '<em>Set Upper</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER___SET_UPPER__INT = CONNECTABLE_ELEMENT_OPERATION_COUNT + 5;
-
-	/**
-	 * The operation id for the '<em>Compatible With</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER___COMPATIBLE_WITH__MULTIPLICITYELEMENT = CONNECTABLE_ELEMENT_OPERATION_COUNT + 6;
-
-	/**
-	 * The operation id for the '<em>Includes Cardinality</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER___INCLUDES_CARDINALITY__INT = CONNECTABLE_ELEMENT_OPERATION_COUNT + 7;
-
-	/**
-	 * The operation id for the '<em>Includes Multiplicity</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER___INCLUDES_MULTIPLICITY__MULTIPLICITYELEMENT = CONNECTABLE_ELEMENT_OPERATION_COUNT + 8;
-
-	/**
-	 * The operation id for the '<em>Is</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER___IS__INT_INT = CONNECTABLE_ELEMENT_OPERATION_COUNT + 9;
-
-	/**
-	 * The operation id for the '<em>Is Multivalued</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER___IS_MULTIVALUED = CONNECTABLE_ELEMENT_OPERATION_COUNT + 10;
-
-	/**
-	 * The operation id for the '<em>Get Lower</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER___GET_LOWER = CONNECTABLE_ELEMENT_OPERATION_COUNT + 11;
-
-	/**
-	 * The operation id for the '<em>Lower Bound</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER___LOWER_BOUND = CONNECTABLE_ELEMENT_OPERATION_COUNT + 12;
-
-	/**
-	 * The operation id for the '<em>Get Upper</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER___GET_UPPER = CONNECTABLE_ELEMENT_OPERATION_COUNT + 13;
-
-	/**
-	 * The operation id for the '<em>Upper Bound</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER___UPPER_BOUND = CONNECTABLE_ELEMENT_OPERATION_COUNT + 14;
-
-	/**
-	 * The operation id for the '<em>Validate In And Out</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER___VALIDATE_IN_AND_OUT__DIAGNOSTICCHAIN_MAP = CONNECTABLE_ELEMENT_OPERATION_COUNT + 15;
-
-	/**
-	 * The operation id for the '<em>Validate Not Exception</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER___VALIDATE_NOT_EXCEPTION__DIAGNOSTICCHAIN_MAP = CONNECTABLE_ELEMENT_OPERATION_COUNT + 16;
-
-	/**
-	 * The operation id for the '<em>Validate Connector End</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER___VALIDATE_CONNECTOR_END__DIAGNOSTICCHAIN_MAP = CONNECTABLE_ELEMENT_OPERATION_COUNT + 17;
-
-	/**
-	 * The operation id for the '<em>Validate Reentrant Behaviors</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER___VALIDATE_REENTRANT_BEHAVIORS__DIAGNOSTICCHAIN_MAP = CONNECTABLE_ELEMENT_OPERATION_COUNT + 18;
-
-	/**
-	 * The operation id for the '<em>Validate Stream And Exception</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER___VALIDATE_STREAM_AND_EXCEPTION__DIAGNOSTICCHAIN_MAP = CONNECTABLE_ELEMENT_OPERATION_COUNT + 19;
-
-	/**
-	 * The operation id for the '<em>Is Set Default</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER___IS_SET_DEFAULT = CONNECTABLE_ELEMENT_OPERATION_COUNT + 20;
-
-	/**
-	 * The operation id for the '<em>Set Boolean Default Value</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER___SET_BOOLEAN_DEFAULT_VALUE__BOOLEAN = CONNECTABLE_ELEMENT_OPERATION_COUNT + 21;
-
-	/**
-	 * The operation id for the '<em>Set Default</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER___SET_DEFAULT__STRING = CONNECTABLE_ELEMENT_OPERATION_COUNT + 22;
-
-	/**
-	 * The operation id for the '<em>Set Integer Default Value</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER___SET_INTEGER_DEFAULT_VALUE__INT = CONNECTABLE_ELEMENT_OPERATION_COUNT + 23;
-
-	/**
-	 * The operation id for the '<em>Set Null Default Value</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER___SET_NULL_DEFAULT_VALUE = CONNECTABLE_ELEMENT_OPERATION_COUNT + 24;
-
-	/**
-	 * The operation id for the '<em>Set Real Default Value</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER___SET_REAL_DEFAULT_VALUE__DOUBLE = CONNECTABLE_ELEMENT_OPERATION_COUNT + 25;
-
-	/**
-	 * The operation id for the '<em>Set String Default Value</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER___SET_STRING_DEFAULT_VALUE__STRING = CONNECTABLE_ELEMENT_OPERATION_COUNT + 26;
-
-	/**
-	 * The operation id for the '<em>Set Unlimited Natural Default Value</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER___SET_UNLIMITED_NATURAL_DEFAULT_VALUE__INT = CONNECTABLE_ELEMENT_OPERATION_COUNT + 27;
-
-	/**
-	 * The operation id for the '<em>Unset Default</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER___UNSET_DEFAULT = CONNECTABLE_ELEMENT_OPERATION_COUNT + 28;
-
-	/**
-	 * The operation id for the '<em>Get Default</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER___GET_DEFAULT = CONNECTABLE_ELEMENT_OPERATION_COUNT + 29;
-
-	/**
-	 * The number of operations of the '<em>Parameter</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER_OPERATION_COUNT = CONNECTABLE_ELEMENT_OPERATION_COUNT + 30;
-
-	/**
-	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER_SET__EANNOTATIONS = NAMED_ELEMENT__EANNOTATIONS;
-
-	/**
-	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER_SET__OWNED_COMMENT = NAMED_ELEMENT__OWNED_COMMENT;
-
-	/**
-	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER_SET__OWNED_ELEMENT = NAMED_ELEMENT__OWNED_ELEMENT;
-
-	/**
-	 * The feature id for the '<em><b>Owner</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER_SET__OWNER = NAMED_ELEMENT__OWNER;
-
-	/**
-	 * The feature id for the '<em><b>Client Dependency</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER_SET__CLIENT_DEPENDENCY = NAMED_ELEMENT__CLIENT_DEPENDENCY;
-
-	/**
-	 * The feature id for the '<em><b>Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER_SET__NAME = NAMED_ELEMENT__NAME;
-
-	/**
-	 * The feature id for the '<em><b>Name Expression</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER_SET__NAME_EXPRESSION = NAMED_ELEMENT__NAME_EXPRESSION;
-
-	/**
-	 * The feature id for the '<em><b>Namespace</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER_SET__NAMESPACE = NAMED_ELEMENT__NAMESPACE;
-
-	/**
-	 * The feature id for the '<em><b>Qualified Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER_SET__QUALIFIED_NAME = NAMED_ELEMENT__QUALIFIED_NAME;
-
-	/**
-	 * The feature id for the '<em><b>Visibility</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER_SET__VISIBILITY = NAMED_ELEMENT__VISIBILITY;
-
-	/**
-	 * The feature id for the '<em><b>Condition</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER_SET__CONDITION = NAMED_ELEMENT_FEATURE_COUNT + 0;
-
-	/**
-	 * The feature id for the '<em><b>Parameter</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER_SET__PARAMETER = NAMED_ELEMENT_FEATURE_COUNT + 1;
-
-	/**
-	 * The number of structural features of the '<em>Parameter Set</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER_SET_FEATURE_COUNT = NAMED_ELEMENT_FEATURE_COUNT + 2;
-
-	/**
-	 * The operation id for the '<em>Get EAnnotation</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER_SET___GET_EANNOTATION__STRING = NAMED_ELEMENT___GET_EANNOTATION__STRING;
-
-	/**
-	 * The operation id for the '<em>Validate Has Owner</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER_SET___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP = NAMED_ELEMENT___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Validate Not Own Self</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER_SET___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP = NAMED_ELEMENT___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Add Keyword</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER_SET___ADD_KEYWORD__STRING = NAMED_ELEMENT___ADD_KEYWORD__STRING;
-
-	/**
-	 * The operation id for the '<em>Apply Stereotype</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER_SET___APPLY_STEREOTYPE__STEREOTYPE = NAMED_ELEMENT___APPLY_STEREOTYPE__STEREOTYPE;
-
-	/**
-	 * The operation id for the '<em>Create EAnnotation</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER_SET___CREATE_EANNOTATION__STRING = NAMED_ELEMENT___CREATE_EANNOTATION__STRING;
-
-	/**
-	 * The operation id for the '<em>Destroy</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER_SET___DESTROY = NAMED_ELEMENT___DESTROY;
-
-	/**
-	 * The operation id for the '<em>Get Keywords</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER_SET___GET_KEYWORDS = NAMED_ELEMENT___GET_KEYWORDS;
-
-	/**
-	 * The operation id for the '<em>Get Applicable Stereotype</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER_SET___GET_APPLICABLE_STEREOTYPE__STRING = NAMED_ELEMENT___GET_APPLICABLE_STEREOTYPE__STRING;
-
-	/**
-	 * The operation id for the '<em>Get Applicable Stereotypes</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER_SET___GET_APPLICABLE_STEREOTYPES = NAMED_ELEMENT___GET_APPLICABLE_STEREOTYPES;
-
-	/**
-	 * The operation id for the '<em>Get Applied Stereotype</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER_SET___GET_APPLIED_STEREOTYPE__STRING = NAMED_ELEMENT___GET_APPLIED_STEREOTYPE__STRING;
-
-	/**
-	 * The operation id for the '<em>Get Applied Stereotypes</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER_SET___GET_APPLIED_STEREOTYPES = NAMED_ELEMENT___GET_APPLIED_STEREOTYPES;
-
-	/**
-	 * The operation id for the '<em>Get Applied Substereotype</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER_SET___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING = NAMED_ELEMENT___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING;
-
-	/**
-	 * The operation id for the '<em>Get Applied Substereotypes</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER_SET___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE = NAMED_ELEMENT___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE;
-
-	/**
-	 * The operation id for the '<em>Get Model</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER_SET___GET_MODEL = NAMED_ELEMENT___GET_MODEL;
-
-	/**
-	 * The operation id for the '<em>Get Nearest Package</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER_SET___GET_NEAREST_PACKAGE = NAMED_ELEMENT___GET_NEAREST_PACKAGE;
-
-	/**
-	 * The operation id for the '<em>Get Relationships</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER_SET___GET_RELATIONSHIPS = NAMED_ELEMENT___GET_RELATIONSHIPS;
-
-	/**
-	 * The operation id for the '<em>Get Relationships</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER_SET___GET_RELATIONSHIPS__ECLASS = NAMED_ELEMENT___GET_RELATIONSHIPS__ECLASS;
-
-	/**
-	 * The operation id for the '<em>Get Required Stereotype</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER_SET___GET_REQUIRED_STEREOTYPE__STRING = NAMED_ELEMENT___GET_REQUIRED_STEREOTYPE__STRING;
-
-	/**
-	 * The operation id for the '<em>Get Required Stereotypes</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER_SET___GET_REQUIRED_STEREOTYPES = NAMED_ELEMENT___GET_REQUIRED_STEREOTYPES;
-
-	/**
-	 * The operation id for the '<em>Get Source Directed Relationships</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER_SET___GET_SOURCE_DIRECTED_RELATIONSHIPS = NAMED_ELEMENT___GET_SOURCE_DIRECTED_RELATIONSHIPS;
-
-	/**
-	 * The operation id for the '<em>Get Source Directed Relationships</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER_SET___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS = NAMED_ELEMENT___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS;
-
-	/**
-	 * The operation id for the '<em>Get Stereotype Application</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER_SET___GET_STEREOTYPE_APPLICATION__STEREOTYPE = NAMED_ELEMENT___GET_STEREOTYPE_APPLICATION__STEREOTYPE;
-
-	/**
-	 * The operation id for the '<em>Get Stereotype Applications</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER_SET___GET_STEREOTYPE_APPLICATIONS = NAMED_ELEMENT___GET_STEREOTYPE_APPLICATIONS;
-
-	/**
-	 * The operation id for the '<em>Get Target Directed Relationships</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER_SET___GET_TARGET_DIRECTED_RELATIONSHIPS = NAMED_ELEMENT___GET_TARGET_DIRECTED_RELATIONSHIPS;
-
-	/**
-	 * The operation id for the '<em>Get Target Directed Relationships</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER_SET___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS = NAMED_ELEMENT___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS;
-
-	/**
-	 * The operation id for the '<em>Get Value</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER_SET___GET_VALUE__STEREOTYPE_STRING = NAMED_ELEMENT___GET_VALUE__STEREOTYPE_STRING;
-
-	/**
-	 * The operation id for the '<em>Has Keyword</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER_SET___HAS_KEYWORD__STRING = NAMED_ELEMENT___HAS_KEYWORD__STRING;
-
-	/**
-	 * The operation id for the '<em>Has Value</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER_SET___HAS_VALUE__STEREOTYPE_STRING = NAMED_ELEMENT___HAS_VALUE__STEREOTYPE_STRING;
-
-	/**
-	 * The operation id for the '<em>Is Stereotype Applicable</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER_SET___IS_STEREOTYPE_APPLICABLE__STEREOTYPE = NAMED_ELEMENT___IS_STEREOTYPE_APPLICABLE__STEREOTYPE;
-
-	/**
-	 * The operation id for the '<em>Is Stereotype Applied</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER_SET___IS_STEREOTYPE_APPLIED__STEREOTYPE = NAMED_ELEMENT___IS_STEREOTYPE_APPLIED__STEREOTYPE;
-
-	/**
-	 * The operation id for the '<em>Is Stereotype Required</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER_SET___IS_STEREOTYPE_REQUIRED__STEREOTYPE = NAMED_ELEMENT___IS_STEREOTYPE_REQUIRED__STEREOTYPE;
-
-	/**
-	 * The operation id for the '<em>Remove Keyword</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER_SET___REMOVE_KEYWORD__STRING = NAMED_ELEMENT___REMOVE_KEYWORD__STRING;
-
-	/**
-	 * The operation id for the '<em>Set Value</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER_SET___SET_VALUE__STEREOTYPE_STRING_OBJECT = NAMED_ELEMENT___SET_VALUE__STEREOTYPE_STRING_OBJECT;
-
-	/**
-	 * The operation id for the '<em>Unapply Stereotype</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER_SET___UNAPPLY_STEREOTYPE__STEREOTYPE = NAMED_ELEMENT___UNAPPLY_STEREOTYPE__STEREOTYPE;
-
-	/**
-	 * The operation id for the '<em>All Owned Elements</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER_SET___ALL_OWNED_ELEMENTS = NAMED_ELEMENT___ALL_OWNED_ELEMENTS;
-
-	/**
-	 * The operation id for the '<em>Must Be Owned</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER_SET___MUST_BE_OWNED = NAMED_ELEMENT___MUST_BE_OWNED;
-
-	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER_SET___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = NAMED_ELEMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER_SET___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = NAMED_ELEMENT___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Validate Has No Qualified Name</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER_SET___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = NAMED_ELEMENT___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Create Dependency</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER_SET___CREATE_DEPENDENCY__NAMEDELEMENT = NAMED_ELEMENT___CREATE_DEPENDENCY__NAMEDELEMENT;
-
-	/**
-	 * The operation id for the '<em>Create Usage</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER_SET___CREATE_USAGE__NAMEDELEMENT = NAMED_ELEMENT___CREATE_USAGE__NAMEDELEMENT;
-
-	/**
-	 * The operation id for the '<em>Get Label</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER_SET___GET_LABEL = NAMED_ELEMENT___GET_LABEL;
-
-	/**
-	 * The operation id for the '<em>Get Label</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER_SET___GET_LABEL__BOOLEAN = NAMED_ELEMENT___GET_LABEL__BOOLEAN;
-
-	/**
-	 * The operation id for the '<em>All Namespaces</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER_SET___ALL_NAMESPACES = NAMED_ELEMENT___ALL_NAMESPACES;
-
-	/**
-	 * The operation id for the '<em>All Owning Packages</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER_SET___ALL_OWNING_PACKAGES = NAMED_ELEMENT___ALL_OWNING_PACKAGES;
-
-	/**
-	 * The operation id for the '<em>Is Distinguishable From</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER_SET___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE = NAMED_ELEMENT___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE;
-
-	/**
-	 * The operation id for the '<em>Get Namespace</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER_SET___GET_NAMESPACE = NAMED_ELEMENT___GET_NAMESPACE;
-
-	/**
-	 * The operation id for the '<em>Get Qualified Name</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER_SET___GET_QUALIFIED_NAME = NAMED_ELEMENT___GET_QUALIFIED_NAME;
-
-	/**
-	 * The operation id for the '<em>Separator</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER_SET___SEPARATOR = NAMED_ELEMENT___SEPARATOR;
-
-	/**
-	 * The operation id for the '<em>Validate Same Parameterized Entity</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER_SET___VALIDATE_SAME_PARAMETERIZED_ENTITY__DIAGNOSTICCHAIN_MAP = NAMED_ELEMENT_OPERATION_COUNT + 0;
-
-	/**
-	 * The operation id for the '<em>Validate Input</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER_SET___VALIDATE_INPUT__DIAGNOSTICCHAIN_MAP = NAMED_ELEMENT_OPERATION_COUNT + 1;
-
-	/**
-	 * The operation id for the '<em>Validate Two Parameter Sets</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER_SET___VALIDATE_TWO_PARAMETER_SETS__DIAGNOSTICCHAIN_MAP = NAMED_ELEMENT_OPERATION_COUNT + 2;
-
-	/**
-	 * The number of operations of the '<em>Parameter Set</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PARAMETER_SET_OPERATION_COUNT = NAMED_ELEMENT_OPERATION_COUNT + 3;
-
-	/**
-	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONSTRAINT__EANNOTATIONS = PACKAGEABLE_ELEMENT__EANNOTATIONS;
-
-	/**
-	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONSTRAINT__OWNED_COMMENT = PACKAGEABLE_ELEMENT__OWNED_COMMENT;
-
-	/**
-	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONSTRAINT__OWNED_ELEMENT = PACKAGEABLE_ELEMENT__OWNED_ELEMENT;
-
-	/**
-	 * The feature id for the '<em><b>Owner</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONSTRAINT__OWNER = PACKAGEABLE_ELEMENT__OWNER;
-
-	/**
-	 * The feature id for the '<em><b>Client Dependency</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONSTRAINT__CLIENT_DEPENDENCY = PACKAGEABLE_ELEMENT__CLIENT_DEPENDENCY;
-
-	/**
-	 * The feature id for the '<em><b>Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONSTRAINT__NAME = PACKAGEABLE_ELEMENT__NAME;
-
-	/**
-	 * The feature id for the '<em><b>Name Expression</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONSTRAINT__NAME_EXPRESSION = PACKAGEABLE_ELEMENT__NAME_EXPRESSION;
-
-	/**
-	 * The feature id for the '<em><b>Namespace</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONSTRAINT__NAMESPACE = PACKAGEABLE_ELEMENT__NAMESPACE;
-
-	/**
-	 * The feature id for the '<em><b>Qualified Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONSTRAINT__QUALIFIED_NAME = PACKAGEABLE_ELEMENT__QUALIFIED_NAME;
-
-	/**
-	 * The feature id for the '<em><b>Visibility</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONSTRAINT__VISIBILITY = PACKAGEABLE_ELEMENT__VISIBILITY;
-
-	/**
-	 * The feature id for the '<em><b>Owning Template Parameter</b></em>' container reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONSTRAINT__OWNING_TEMPLATE_PARAMETER = PACKAGEABLE_ELEMENT__OWNING_TEMPLATE_PARAMETER;
-
-	/**
-	 * The feature id for the '<em><b>Template Parameter</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONSTRAINT__TEMPLATE_PARAMETER = PACKAGEABLE_ELEMENT__TEMPLATE_PARAMETER;
-
-	/**
-	 * The feature id for the '<em><b>Constrained Element</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONSTRAINT__CONSTRAINED_ELEMENT = PACKAGEABLE_ELEMENT_FEATURE_COUNT + 0;
-
-	/**
-	 * The feature id for the '<em><b>Context</b></em>' container reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONSTRAINT__CONTEXT = PACKAGEABLE_ELEMENT_FEATURE_COUNT + 1;
-
-	/**
-	 * The feature id for the '<em><b>Specification</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONSTRAINT__SPECIFICATION = PACKAGEABLE_ELEMENT_FEATURE_COUNT + 2;
-
-	/**
-	 * The number of structural features of the '<em>Constraint</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONSTRAINT_FEATURE_COUNT = PACKAGEABLE_ELEMENT_FEATURE_COUNT + 3;
-
-	/**
-	 * The operation id for the '<em>Get EAnnotation</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONSTRAINT___GET_EANNOTATION__STRING = PACKAGEABLE_ELEMENT___GET_EANNOTATION__STRING;
-
-	/**
-	 * The operation id for the '<em>Validate Has Owner</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONSTRAINT___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP = PACKAGEABLE_ELEMENT___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Validate Not Own Self</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONSTRAINT___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP = PACKAGEABLE_ELEMENT___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Add Keyword</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONSTRAINT___ADD_KEYWORD__STRING = PACKAGEABLE_ELEMENT___ADD_KEYWORD__STRING;
-
-	/**
-	 * The operation id for the '<em>Apply Stereotype</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONSTRAINT___APPLY_STEREOTYPE__STEREOTYPE = PACKAGEABLE_ELEMENT___APPLY_STEREOTYPE__STEREOTYPE;
-
-	/**
-	 * The operation id for the '<em>Create EAnnotation</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONSTRAINT___CREATE_EANNOTATION__STRING = PACKAGEABLE_ELEMENT___CREATE_EANNOTATION__STRING;
-
-	/**
-	 * The operation id for the '<em>Destroy</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONSTRAINT___DESTROY = PACKAGEABLE_ELEMENT___DESTROY;
-
-	/**
-	 * The operation id for the '<em>Get Keywords</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONSTRAINT___GET_KEYWORDS = PACKAGEABLE_ELEMENT___GET_KEYWORDS;
-
-	/**
-	 * The operation id for the '<em>Get Applicable Stereotype</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONSTRAINT___GET_APPLICABLE_STEREOTYPE__STRING = PACKAGEABLE_ELEMENT___GET_APPLICABLE_STEREOTYPE__STRING;
-
-	/**
-	 * The operation id for the '<em>Get Applicable Stereotypes</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONSTRAINT___GET_APPLICABLE_STEREOTYPES = PACKAGEABLE_ELEMENT___GET_APPLICABLE_STEREOTYPES;
-
-	/**
-	 * The operation id for the '<em>Get Applied Stereotype</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONSTRAINT___GET_APPLIED_STEREOTYPE__STRING = PACKAGEABLE_ELEMENT___GET_APPLIED_STEREOTYPE__STRING;
-
-	/**
-	 * The operation id for the '<em>Get Applied Stereotypes</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONSTRAINT___GET_APPLIED_STEREOTYPES = PACKAGEABLE_ELEMENT___GET_APPLIED_STEREOTYPES;
-
-	/**
-	 * The operation id for the '<em>Get Applied Substereotype</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONSTRAINT___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING = PACKAGEABLE_ELEMENT___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING;
-
-	/**
-	 * The operation id for the '<em>Get Applied Substereotypes</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONSTRAINT___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE = PACKAGEABLE_ELEMENT___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE;
-
-	/**
-	 * The operation id for the '<em>Get Model</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONSTRAINT___GET_MODEL = PACKAGEABLE_ELEMENT___GET_MODEL;
-
-	/**
-	 * The operation id for the '<em>Get Nearest Package</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONSTRAINT___GET_NEAREST_PACKAGE = PACKAGEABLE_ELEMENT___GET_NEAREST_PACKAGE;
-
-	/**
-	 * The operation id for the '<em>Get Relationships</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONSTRAINT___GET_RELATIONSHIPS = PACKAGEABLE_ELEMENT___GET_RELATIONSHIPS;
-
-	/**
-	 * The operation id for the '<em>Get Relationships</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONSTRAINT___GET_RELATIONSHIPS__ECLASS = PACKAGEABLE_ELEMENT___GET_RELATIONSHIPS__ECLASS;
-
-	/**
-	 * The operation id for the '<em>Get Required Stereotype</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONSTRAINT___GET_REQUIRED_STEREOTYPE__STRING = PACKAGEABLE_ELEMENT___GET_REQUIRED_STEREOTYPE__STRING;
-
-	/**
-	 * The operation id for the '<em>Get Required Stereotypes</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONSTRAINT___GET_REQUIRED_STEREOTYPES = PACKAGEABLE_ELEMENT___GET_REQUIRED_STEREOTYPES;
-
-	/**
-	 * The operation id for the '<em>Get Source Directed Relationships</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONSTRAINT___GET_SOURCE_DIRECTED_RELATIONSHIPS = PACKAGEABLE_ELEMENT___GET_SOURCE_DIRECTED_RELATIONSHIPS;
-
-	/**
-	 * The operation id for the '<em>Get Source Directed Relationships</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONSTRAINT___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS = PACKAGEABLE_ELEMENT___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS;
-
-	/**
-	 * The operation id for the '<em>Get Stereotype Application</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONSTRAINT___GET_STEREOTYPE_APPLICATION__STEREOTYPE = PACKAGEABLE_ELEMENT___GET_STEREOTYPE_APPLICATION__STEREOTYPE;
-
-	/**
-	 * The operation id for the '<em>Get Stereotype Applications</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONSTRAINT___GET_STEREOTYPE_APPLICATIONS = PACKAGEABLE_ELEMENT___GET_STEREOTYPE_APPLICATIONS;
-
-	/**
-	 * The operation id for the '<em>Get Target Directed Relationships</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONSTRAINT___GET_TARGET_DIRECTED_RELATIONSHIPS = PACKAGEABLE_ELEMENT___GET_TARGET_DIRECTED_RELATIONSHIPS;
-
-	/**
-	 * The operation id for the '<em>Get Target Directed Relationships</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONSTRAINT___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS = PACKAGEABLE_ELEMENT___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS;
-
-	/**
-	 * The operation id for the '<em>Get Value</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONSTRAINT___GET_VALUE__STEREOTYPE_STRING = PACKAGEABLE_ELEMENT___GET_VALUE__STEREOTYPE_STRING;
-
-	/**
-	 * The operation id for the '<em>Has Keyword</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONSTRAINT___HAS_KEYWORD__STRING = PACKAGEABLE_ELEMENT___HAS_KEYWORD__STRING;
-
-	/**
-	 * The operation id for the '<em>Has Value</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONSTRAINT___HAS_VALUE__STEREOTYPE_STRING = PACKAGEABLE_ELEMENT___HAS_VALUE__STEREOTYPE_STRING;
-
-	/**
-	 * The operation id for the '<em>Is Stereotype Applicable</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONSTRAINT___IS_STEREOTYPE_APPLICABLE__STEREOTYPE = PACKAGEABLE_ELEMENT___IS_STEREOTYPE_APPLICABLE__STEREOTYPE;
-
-	/**
-	 * The operation id for the '<em>Is Stereotype Applied</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONSTRAINT___IS_STEREOTYPE_APPLIED__STEREOTYPE = PACKAGEABLE_ELEMENT___IS_STEREOTYPE_APPLIED__STEREOTYPE;
-
-	/**
-	 * The operation id for the '<em>Is Stereotype Required</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONSTRAINT___IS_STEREOTYPE_REQUIRED__STEREOTYPE = PACKAGEABLE_ELEMENT___IS_STEREOTYPE_REQUIRED__STEREOTYPE;
-
-	/**
-	 * The operation id for the '<em>Remove Keyword</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONSTRAINT___REMOVE_KEYWORD__STRING = PACKAGEABLE_ELEMENT___REMOVE_KEYWORD__STRING;
-
-	/**
-	 * The operation id for the '<em>Set Value</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONSTRAINT___SET_VALUE__STEREOTYPE_STRING_OBJECT = PACKAGEABLE_ELEMENT___SET_VALUE__STEREOTYPE_STRING_OBJECT;
-
-	/**
-	 * The operation id for the '<em>Unapply Stereotype</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONSTRAINT___UNAPPLY_STEREOTYPE__STEREOTYPE = PACKAGEABLE_ELEMENT___UNAPPLY_STEREOTYPE__STEREOTYPE;
-
-	/**
-	 * The operation id for the '<em>All Owned Elements</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONSTRAINT___ALL_OWNED_ELEMENTS = PACKAGEABLE_ELEMENT___ALL_OWNED_ELEMENTS;
-
-	/**
-	 * The operation id for the '<em>Must Be Owned</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONSTRAINT___MUST_BE_OWNED = PACKAGEABLE_ELEMENT___MUST_BE_OWNED;
-
-	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONSTRAINT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = PACKAGEABLE_ELEMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONSTRAINT___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = PACKAGEABLE_ELEMENT___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Validate Has No Qualified Name</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONSTRAINT___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = PACKAGEABLE_ELEMENT___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Create Dependency</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONSTRAINT___CREATE_DEPENDENCY__NAMEDELEMENT = PACKAGEABLE_ELEMENT___CREATE_DEPENDENCY__NAMEDELEMENT;
-
-	/**
-	 * The operation id for the '<em>Create Usage</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONSTRAINT___CREATE_USAGE__NAMEDELEMENT = PACKAGEABLE_ELEMENT___CREATE_USAGE__NAMEDELEMENT;
-
-	/**
-	 * The operation id for the '<em>Get Label</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONSTRAINT___GET_LABEL = PACKAGEABLE_ELEMENT___GET_LABEL;
-
-	/**
-	 * The operation id for the '<em>Get Label</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONSTRAINT___GET_LABEL__BOOLEAN = PACKAGEABLE_ELEMENT___GET_LABEL__BOOLEAN;
-
-	/**
-	 * The operation id for the '<em>All Namespaces</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONSTRAINT___ALL_NAMESPACES = PACKAGEABLE_ELEMENT___ALL_NAMESPACES;
-
-	/**
-	 * The operation id for the '<em>All Owning Packages</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONSTRAINT___ALL_OWNING_PACKAGES = PACKAGEABLE_ELEMENT___ALL_OWNING_PACKAGES;
-
-	/**
-	 * The operation id for the '<em>Is Distinguishable From</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONSTRAINT___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE = PACKAGEABLE_ELEMENT___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE;
-
-	/**
-	 * The operation id for the '<em>Get Namespace</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONSTRAINT___GET_NAMESPACE = PACKAGEABLE_ELEMENT___GET_NAMESPACE;
-
-	/**
-	 * The operation id for the '<em>Get Qualified Name</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONSTRAINT___GET_QUALIFIED_NAME = PACKAGEABLE_ELEMENT___GET_QUALIFIED_NAME;
-
-	/**
-	 * The operation id for the '<em>Separator</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONSTRAINT___SEPARATOR = PACKAGEABLE_ELEMENT___SEPARATOR;
-
-	/**
-	 * The operation id for the '<em>Is Compatible With</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONSTRAINT___IS_COMPATIBLE_WITH__PARAMETERABLEELEMENT = PACKAGEABLE_ELEMENT___IS_COMPATIBLE_WITH__PARAMETERABLEELEMENT;
-
-	/**
-	 * The operation id for the '<em>Is Template Parameter</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONSTRAINT___IS_TEMPLATE_PARAMETER = PACKAGEABLE_ELEMENT___IS_TEMPLATE_PARAMETER;
-
-	/**
-	 * The operation id for the '<em>Validate Boolean Value</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONSTRAINT___VALIDATE_BOOLEAN_VALUE__DIAGNOSTICCHAIN_MAP = PACKAGEABLE_ELEMENT_OPERATION_COUNT + 0;
-
-	/**
-	 * The operation id for the '<em>Validate No Side Effects</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONSTRAINT___VALIDATE_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP = PACKAGEABLE_ELEMENT_OPERATION_COUNT + 1;
-
-	/**
-	 * The operation id for the '<em>Validate Not Apply To Self</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONSTRAINT___VALIDATE_NOT_APPLY_TO_SELF__DIAGNOSTICCHAIN_MAP = PACKAGEABLE_ELEMENT_OPERATION_COUNT + 2;
-
-	/**
-	 * The operation id for the '<em>Validate Value Specification Boolean</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONSTRAINT___VALIDATE_VALUE_SPECIFICATION_BOOLEAN__DIAGNOSTICCHAIN_MAP = PACKAGEABLE_ELEMENT_OPERATION_COUNT + 3;
-
-	/**
-	 * The number of operations of the '<em>Constraint</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONSTRAINT_OPERATION_COUNT = PACKAGEABLE_ELEMENT_OPERATION_COUNT + 4;
-
-	/**
-	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DATA_TYPE__EANNOTATIONS = CLASSIFIER__EANNOTATIONS;
-
-	/**
-	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DATA_TYPE__OWNED_COMMENT = CLASSIFIER__OWNED_COMMENT;
-
-	/**
-	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DATA_TYPE__OWNED_ELEMENT = CLASSIFIER__OWNED_ELEMENT;
-
-	/**
-	 * The feature id for the '<em><b>Owner</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DATA_TYPE__OWNER = CLASSIFIER__OWNER;
-
-	/**
-	 * The feature id for the '<em><b>Client Dependency</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DATA_TYPE__CLIENT_DEPENDENCY = CLASSIFIER__CLIENT_DEPENDENCY;
-
-	/**
-	 * The feature id for the '<em><b>Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DATA_TYPE__NAME = CLASSIFIER__NAME;
-
-	/**
-	 * The feature id for the '<em><b>Name Expression</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DATA_TYPE__NAME_EXPRESSION = CLASSIFIER__NAME_EXPRESSION;
-
-	/**
-	 * The feature id for the '<em><b>Namespace</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DATA_TYPE__NAMESPACE = CLASSIFIER__NAMESPACE;
-
-	/**
-	 * The feature id for the '<em><b>Qualified Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DATA_TYPE__QUALIFIED_NAME = CLASSIFIER__QUALIFIED_NAME;
-
-	/**
-	 * The feature id for the '<em><b>Visibility</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DATA_TYPE__VISIBILITY = CLASSIFIER__VISIBILITY;
+	int BEHAVIORED_CLASSIFIER__VISIBILITY = CLASSIFIER__VISIBILITY;
 
 	/**
 	 * The feature id for the '<em><b>Element Import</b></em>' containment reference list.
@@ -44593,7 +41055,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE__ELEMENT_IMPORT = CLASSIFIER__ELEMENT_IMPORT;
+	int BEHAVIORED_CLASSIFIER__ELEMENT_IMPORT = CLASSIFIER__ELEMENT_IMPORT;
 
 	/**
 	 * The feature id for the '<em><b>Package Import</b></em>' containment reference list.
@@ -44602,7 +41064,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE__PACKAGE_IMPORT = CLASSIFIER__PACKAGE_IMPORT;
+	int BEHAVIORED_CLASSIFIER__PACKAGE_IMPORT = CLASSIFIER__PACKAGE_IMPORT;
 
 	/**
 	 * The feature id for the '<em><b>Owned Rule</b></em>' containment reference list.
@@ -44611,7 +41073,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE__OWNED_RULE = CLASSIFIER__OWNED_RULE;
+	int BEHAVIORED_CLASSIFIER__OWNED_RULE = CLASSIFIER__OWNED_RULE;
 
 	/**
 	 * The feature id for the '<em><b>Owned Member</b></em>' reference list.
@@ -44620,7 +41082,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE__OWNED_MEMBER = CLASSIFIER__OWNED_MEMBER;
+	int BEHAVIORED_CLASSIFIER__OWNED_MEMBER = CLASSIFIER__OWNED_MEMBER;
 
 	/**
 	 * The feature id for the '<em><b>Imported Member</b></em>' reference list.
@@ -44629,7 +41091,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE__IMPORTED_MEMBER = CLASSIFIER__IMPORTED_MEMBER;
+	int BEHAVIORED_CLASSIFIER__IMPORTED_MEMBER = CLASSIFIER__IMPORTED_MEMBER;
 
 	/**
 	 * The feature id for the '<em><b>Member</b></em>' reference list.
@@ -44638,7 +41100,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE__MEMBER = CLASSIFIER__MEMBER;
+	int BEHAVIORED_CLASSIFIER__MEMBER = CLASSIFIER__MEMBER;
 
 	/**
 	 * The feature id for the '<em><b>Is Leaf</b></em>' attribute.
@@ -44647,7 +41109,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE__IS_LEAF = CLASSIFIER__IS_LEAF;
+	int BEHAVIORED_CLASSIFIER__IS_LEAF = CLASSIFIER__IS_LEAF;
 
 	/**
 	 * The feature id for the '<em><b>Redefined Element</b></em>' reference list.
@@ -44656,7 +41118,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE__REDEFINED_ELEMENT = CLASSIFIER__REDEFINED_ELEMENT;
+	int BEHAVIORED_CLASSIFIER__REDEFINED_ELEMENT = CLASSIFIER__REDEFINED_ELEMENT;
 
 	/**
 	 * The feature id for the '<em><b>Redefinition Context</b></em>' reference list.
@@ -44665,7 +41127,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE__REDEFINITION_CONTEXT = CLASSIFIER__REDEFINITION_CONTEXT;
+	int BEHAVIORED_CLASSIFIER__REDEFINITION_CONTEXT = CLASSIFIER__REDEFINITION_CONTEXT;
 
 	/**
 	 * The feature id for the '<em><b>Owning Template Parameter</b></em>' container reference.
@@ -44674,7 +41136,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE__OWNING_TEMPLATE_PARAMETER = CLASSIFIER__OWNING_TEMPLATE_PARAMETER;
+	int BEHAVIORED_CLASSIFIER__OWNING_TEMPLATE_PARAMETER = CLASSIFIER__OWNING_TEMPLATE_PARAMETER;
 
 	/**
 	 * The feature id for the '<em><b>Template Parameter</b></em>' reference.
@@ -44683,7 +41145,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE__TEMPLATE_PARAMETER = CLASSIFIER__TEMPLATE_PARAMETER;
+	int BEHAVIORED_CLASSIFIER__TEMPLATE_PARAMETER = CLASSIFIER__TEMPLATE_PARAMETER;
 
 	/**
 	 * The feature id for the '<em><b>Package</b></em>' reference.
@@ -44692,7 +41154,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE__PACKAGE = CLASSIFIER__PACKAGE;
+	int BEHAVIORED_CLASSIFIER__PACKAGE = CLASSIFIER__PACKAGE;
 
 	/**
 	 * The feature id for the '<em><b>Owned Template Signature</b></em>' containment reference.
@@ -44701,7 +41163,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE__OWNED_TEMPLATE_SIGNATURE = CLASSIFIER__OWNED_TEMPLATE_SIGNATURE;
+	int BEHAVIORED_CLASSIFIER__OWNED_TEMPLATE_SIGNATURE = CLASSIFIER__OWNED_TEMPLATE_SIGNATURE;
 
 	/**
 	 * The feature id for the '<em><b>Template Binding</b></em>' containment reference list.
@@ -44710,7 +41172,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE__TEMPLATE_BINDING = CLASSIFIER__TEMPLATE_BINDING;
+	int BEHAVIORED_CLASSIFIER__TEMPLATE_BINDING = CLASSIFIER__TEMPLATE_BINDING;
 
 	/**
 	 * The feature id for the '<em><b>Feature</b></em>' reference list.
@@ -44719,7 +41181,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE__FEATURE = CLASSIFIER__FEATURE;
+	int BEHAVIORED_CLASSIFIER__FEATURE = CLASSIFIER__FEATURE;
 
 	/**
 	 * The feature id for the '<em><b>Attribute</b></em>' reference list.
@@ -44728,7 +41190,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE__ATTRIBUTE = CLASSIFIER__ATTRIBUTE;
+	int BEHAVIORED_CLASSIFIER__ATTRIBUTE = CLASSIFIER__ATTRIBUTE;
 
 	/**
 	 * The feature id for the '<em><b>Collaboration Use</b></em>' containment reference list.
@@ -44737,7 +41199,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE__COLLABORATION_USE = CLASSIFIER__COLLABORATION_USE;
+	int BEHAVIORED_CLASSIFIER__COLLABORATION_USE = CLASSIFIER__COLLABORATION_USE;
 
 	/**
 	 * The feature id for the '<em><b>General</b></em>' reference list.
@@ -44746,7 +41208,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE__GENERAL = CLASSIFIER__GENERAL;
+	int BEHAVIORED_CLASSIFIER__GENERAL = CLASSIFIER__GENERAL;
 
 	/**
 	 * The feature id for the '<em><b>Generalization</b></em>' containment reference list.
@@ -44755,7 +41217,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE__GENERALIZATION = CLASSIFIER__GENERALIZATION;
+	int BEHAVIORED_CLASSIFIER__GENERALIZATION = CLASSIFIER__GENERALIZATION;
 
 	/**
 	 * The feature id for the '<em><b>Powertype Extent</b></em>' reference list.
@@ -44764,7 +41226,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE__POWERTYPE_EXTENT = CLASSIFIER__POWERTYPE_EXTENT;
+	int BEHAVIORED_CLASSIFIER__POWERTYPE_EXTENT = CLASSIFIER__POWERTYPE_EXTENT;
 
 	/**
 	 * The feature id for the '<em><b>Inherited Member</b></em>' reference list.
@@ -44773,7 +41235,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE__INHERITED_MEMBER = CLASSIFIER__INHERITED_MEMBER;
+	int BEHAVIORED_CLASSIFIER__INHERITED_MEMBER = CLASSIFIER__INHERITED_MEMBER;
 
 	/**
 	 * The feature id for the '<em><b>Is Abstract</b></em>' attribute.
@@ -44782,7 +41244,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE__IS_ABSTRACT = CLASSIFIER__IS_ABSTRACT;
+	int BEHAVIORED_CLASSIFIER__IS_ABSTRACT = CLASSIFIER__IS_ABSTRACT;
 
 	/**
 	 * The feature id for the '<em><b>Is Final Specialization</b></em>' attribute.
@@ -44791,7 +41253,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE__IS_FINAL_SPECIALIZATION = CLASSIFIER__IS_FINAL_SPECIALIZATION;
+	int BEHAVIORED_CLASSIFIER__IS_FINAL_SPECIALIZATION = CLASSIFIER__IS_FINAL_SPECIALIZATION;
 
 	/**
 	 * The feature id for the '<em><b>Owned Use Case</b></em>' containment reference list.
@@ -44800,7 +41262,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE__OWNED_USE_CASE = CLASSIFIER__OWNED_USE_CASE;
+	int BEHAVIORED_CLASSIFIER__OWNED_USE_CASE = CLASSIFIER__OWNED_USE_CASE;
 
 	/**
 	 * The feature id for the '<em><b>Use Case</b></em>' reference list.
@@ -44809,7 +41271,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE__USE_CASE = CLASSIFIER__USE_CASE;
+	int BEHAVIORED_CLASSIFIER__USE_CASE = CLASSIFIER__USE_CASE;
 
 	/**
 	 * The feature id for the '<em><b>Redefined Classifier</b></em>' reference list.
@@ -44818,7 +41280,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE__REDEFINED_CLASSIFIER = CLASSIFIER__REDEFINED_CLASSIFIER;
+	int BEHAVIORED_CLASSIFIER__REDEFINED_CLASSIFIER = CLASSIFIER__REDEFINED_CLASSIFIER;
 
 	/**
 	 * The feature id for the '<em><b>Representation</b></em>' reference.
@@ -44827,7 +41289,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE__REPRESENTATION = CLASSIFIER__REPRESENTATION;
+	int BEHAVIORED_CLASSIFIER__REPRESENTATION = CLASSIFIER__REPRESENTATION;
 
 	/**
 	 * The feature id for the '<em><b>Substitution</b></em>' containment reference list.
@@ -44836,34 +41298,43 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE__SUBSTITUTION = CLASSIFIER__SUBSTITUTION;
+	int BEHAVIORED_CLASSIFIER__SUBSTITUTION = CLASSIFIER__SUBSTITUTION;
 
 	/**
-	 * The feature id for the '<em><b>Owned Attribute</b></em>' containment reference list.
+	 * The feature id for the '<em><b>Classifier Behavior</b></em>' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE__OWNED_ATTRIBUTE = CLASSIFIER_FEATURE_COUNT + 0;
+	int BEHAVIORED_CLASSIFIER__CLASSIFIER_BEHAVIOR = CLASSIFIER_FEATURE_COUNT + 0;
 
 	/**
-	 * The feature id for the '<em><b>Owned Operation</b></em>' containment reference list.
+	 * The feature id for the '<em><b>Interface Realization</b></em>' containment reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE__OWNED_OPERATION = CLASSIFIER_FEATURE_COUNT + 1;
+	int BEHAVIORED_CLASSIFIER__INTERFACE_REALIZATION = CLASSIFIER_FEATURE_COUNT + 1;
 
 	/**
-	 * The number of structural features of the '<em>Data Type</em>' class.
+	 * The feature id for the '<em><b>Owned Behavior</b></em>' containment reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE_FEATURE_COUNT = CLASSIFIER_FEATURE_COUNT + 2;
+	int BEHAVIORED_CLASSIFIER__OWNED_BEHAVIOR = CLASSIFIER_FEATURE_COUNT + 2;
+
+	/**
+	 * The number of structural features of the '<em>Behaviored Classifier</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int BEHAVIORED_CLASSIFIER_FEATURE_COUNT = CLASSIFIER_FEATURE_COUNT + 3;
 
 	/**
 	 * The operation id for the '<em>Get EAnnotation</em>' operation.
@@ -44872,7 +41343,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE___GET_EANNOTATION__STRING = CLASSIFIER___GET_EANNOTATION__STRING;
+	int BEHAVIORED_CLASSIFIER___GET_EANNOTATION__STRING = CLASSIFIER___GET_EANNOTATION__STRING;
 
 	/**
 	 * The operation id for the '<em>Validate Has Owner</em>' operation.
@@ -44881,7 +41352,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP = CLASSIFIER___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP;
+	int BEHAVIORED_CLASSIFIER___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP = CLASSIFIER___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP;
 
 	/**
 	 * The operation id for the '<em>Validate Not Own Self</em>' operation.
@@ -44890,7 +41361,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP = CLASSIFIER___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP;
+	int BEHAVIORED_CLASSIFIER___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP = CLASSIFIER___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP;
 
 	/**
 	 * The operation id for the '<em>Add Keyword</em>' operation.
@@ -44899,7 +41370,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE___ADD_KEYWORD__STRING = CLASSIFIER___ADD_KEYWORD__STRING;
+	int BEHAVIORED_CLASSIFIER___ADD_KEYWORD__STRING = CLASSIFIER___ADD_KEYWORD__STRING;
 
 	/**
 	 * The operation id for the '<em>Apply Stereotype</em>' operation.
@@ -44908,7 +41379,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE___APPLY_STEREOTYPE__STEREOTYPE = CLASSIFIER___APPLY_STEREOTYPE__STEREOTYPE;
+	int BEHAVIORED_CLASSIFIER___APPLY_STEREOTYPE__STEREOTYPE = CLASSIFIER___APPLY_STEREOTYPE__STEREOTYPE;
 
 	/**
 	 * The operation id for the '<em>Create EAnnotation</em>' operation.
@@ -44917,7 +41388,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE___CREATE_EANNOTATION__STRING = CLASSIFIER___CREATE_EANNOTATION__STRING;
+	int BEHAVIORED_CLASSIFIER___CREATE_EANNOTATION__STRING = CLASSIFIER___CREATE_EANNOTATION__STRING;
 
 	/**
 	 * The operation id for the '<em>Destroy</em>' operation.
@@ -44926,7 +41397,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE___DESTROY = CLASSIFIER___DESTROY;
+	int BEHAVIORED_CLASSIFIER___DESTROY = CLASSIFIER___DESTROY;
 
 	/**
 	 * The operation id for the '<em>Get Keywords</em>' operation.
@@ -44935,7 +41406,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE___GET_KEYWORDS = CLASSIFIER___GET_KEYWORDS;
+	int BEHAVIORED_CLASSIFIER___GET_KEYWORDS = CLASSIFIER___GET_KEYWORDS;
 
 	/**
 	 * The operation id for the '<em>Get Applicable Stereotype</em>' operation.
@@ -44944,7 +41415,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE___GET_APPLICABLE_STEREOTYPE__STRING = CLASSIFIER___GET_APPLICABLE_STEREOTYPE__STRING;
+	int BEHAVIORED_CLASSIFIER___GET_APPLICABLE_STEREOTYPE__STRING = CLASSIFIER___GET_APPLICABLE_STEREOTYPE__STRING;
 
 	/**
 	 * The operation id for the '<em>Get Applicable Stereotypes</em>' operation.
@@ -44953,7 +41424,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE___GET_APPLICABLE_STEREOTYPES = CLASSIFIER___GET_APPLICABLE_STEREOTYPES;
+	int BEHAVIORED_CLASSIFIER___GET_APPLICABLE_STEREOTYPES = CLASSIFIER___GET_APPLICABLE_STEREOTYPES;
 
 	/**
 	 * The operation id for the '<em>Get Applied Stereotype</em>' operation.
@@ -44962,7 +41433,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE___GET_APPLIED_STEREOTYPE__STRING = CLASSIFIER___GET_APPLIED_STEREOTYPE__STRING;
+	int BEHAVIORED_CLASSIFIER___GET_APPLIED_STEREOTYPE__STRING = CLASSIFIER___GET_APPLIED_STEREOTYPE__STRING;
 
 	/**
 	 * The operation id for the '<em>Get Applied Stereotypes</em>' operation.
@@ -44971,7 +41442,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE___GET_APPLIED_STEREOTYPES = CLASSIFIER___GET_APPLIED_STEREOTYPES;
+	int BEHAVIORED_CLASSIFIER___GET_APPLIED_STEREOTYPES = CLASSIFIER___GET_APPLIED_STEREOTYPES;
 
 	/**
 	 * The operation id for the '<em>Get Applied Substereotype</em>' operation.
@@ -44980,7 +41451,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING = CLASSIFIER___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING;
+	int BEHAVIORED_CLASSIFIER___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING = CLASSIFIER___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING;
 
 	/**
 	 * The operation id for the '<em>Get Applied Substereotypes</em>' operation.
@@ -44989,7 +41460,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE = CLASSIFIER___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE;
+	int BEHAVIORED_CLASSIFIER___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE = CLASSIFIER___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE;
 
 	/**
 	 * The operation id for the '<em>Get Model</em>' operation.
@@ -44998,7 +41469,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE___GET_MODEL = CLASSIFIER___GET_MODEL;
+	int BEHAVIORED_CLASSIFIER___GET_MODEL = CLASSIFIER___GET_MODEL;
 
 	/**
 	 * The operation id for the '<em>Get Nearest Package</em>' operation.
@@ -45007,7 +41478,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE___GET_NEAREST_PACKAGE = CLASSIFIER___GET_NEAREST_PACKAGE;
+	int BEHAVIORED_CLASSIFIER___GET_NEAREST_PACKAGE = CLASSIFIER___GET_NEAREST_PACKAGE;
 
 	/**
 	 * The operation id for the '<em>Get Relationships</em>' operation.
@@ -45016,7 +41487,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE___GET_RELATIONSHIPS = CLASSIFIER___GET_RELATIONSHIPS;
+	int BEHAVIORED_CLASSIFIER___GET_RELATIONSHIPS = CLASSIFIER___GET_RELATIONSHIPS;
 
 	/**
 	 * The operation id for the '<em>Get Relationships</em>' operation.
@@ -45025,7 +41496,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE___GET_RELATIONSHIPS__ECLASS = CLASSIFIER___GET_RELATIONSHIPS__ECLASS;
+	int BEHAVIORED_CLASSIFIER___GET_RELATIONSHIPS__ECLASS = CLASSIFIER___GET_RELATIONSHIPS__ECLASS;
 
 	/**
 	 * The operation id for the '<em>Get Required Stereotype</em>' operation.
@@ -45034,7 +41505,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE___GET_REQUIRED_STEREOTYPE__STRING = CLASSIFIER___GET_REQUIRED_STEREOTYPE__STRING;
+	int BEHAVIORED_CLASSIFIER___GET_REQUIRED_STEREOTYPE__STRING = CLASSIFIER___GET_REQUIRED_STEREOTYPE__STRING;
 
 	/**
 	 * The operation id for the '<em>Get Required Stereotypes</em>' operation.
@@ -45043,7 +41514,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE___GET_REQUIRED_STEREOTYPES = CLASSIFIER___GET_REQUIRED_STEREOTYPES;
+	int BEHAVIORED_CLASSIFIER___GET_REQUIRED_STEREOTYPES = CLASSIFIER___GET_REQUIRED_STEREOTYPES;
 
 	/**
 	 * The operation id for the '<em>Get Source Directed Relationships</em>' operation.
@@ -45052,7 +41523,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE___GET_SOURCE_DIRECTED_RELATIONSHIPS = CLASSIFIER___GET_SOURCE_DIRECTED_RELATIONSHIPS;
+	int BEHAVIORED_CLASSIFIER___GET_SOURCE_DIRECTED_RELATIONSHIPS = CLASSIFIER___GET_SOURCE_DIRECTED_RELATIONSHIPS;
 
 	/**
 	 * The operation id for the '<em>Get Source Directed Relationships</em>' operation.
@@ -45061,7 +41532,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS = CLASSIFIER___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS;
+	int BEHAVIORED_CLASSIFIER___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS = CLASSIFIER___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS;
 
 	/**
 	 * The operation id for the '<em>Get Stereotype Application</em>' operation.
@@ -45070,7 +41541,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE___GET_STEREOTYPE_APPLICATION__STEREOTYPE = CLASSIFIER___GET_STEREOTYPE_APPLICATION__STEREOTYPE;
+	int BEHAVIORED_CLASSIFIER___GET_STEREOTYPE_APPLICATION__STEREOTYPE = CLASSIFIER___GET_STEREOTYPE_APPLICATION__STEREOTYPE;
 
 	/**
 	 * The operation id for the '<em>Get Stereotype Applications</em>' operation.
@@ -45079,7 +41550,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE___GET_STEREOTYPE_APPLICATIONS = CLASSIFIER___GET_STEREOTYPE_APPLICATIONS;
+	int BEHAVIORED_CLASSIFIER___GET_STEREOTYPE_APPLICATIONS = CLASSIFIER___GET_STEREOTYPE_APPLICATIONS;
 
 	/**
 	 * The operation id for the '<em>Get Target Directed Relationships</em>' operation.
@@ -45088,7 +41559,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE___GET_TARGET_DIRECTED_RELATIONSHIPS = CLASSIFIER___GET_TARGET_DIRECTED_RELATIONSHIPS;
+	int BEHAVIORED_CLASSIFIER___GET_TARGET_DIRECTED_RELATIONSHIPS = CLASSIFIER___GET_TARGET_DIRECTED_RELATIONSHIPS;
 
 	/**
 	 * The operation id for the '<em>Get Target Directed Relationships</em>' operation.
@@ -45097,7 +41568,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS = CLASSIFIER___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS;
+	int BEHAVIORED_CLASSIFIER___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS = CLASSIFIER___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS;
 
 	/**
 	 * The operation id for the '<em>Get Value</em>' operation.
@@ -45106,7 +41577,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE___GET_VALUE__STEREOTYPE_STRING = CLASSIFIER___GET_VALUE__STEREOTYPE_STRING;
+	int BEHAVIORED_CLASSIFIER___GET_VALUE__STEREOTYPE_STRING = CLASSIFIER___GET_VALUE__STEREOTYPE_STRING;
 
 	/**
 	 * The operation id for the '<em>Has Keyword</em>' operation.
@@ -45115,7 +41586,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE___HAS_KEYWORD__STRING = CLASSIFIER___HAS_KEYWORD__STRING;
+	int BEHAVIORED_CLASSIFIER___HAS_KEYWORD__STRING = CLASSIFIER___HAS_KEYWORD__STRING;
 
 	/**
 	 * The operation id for the '<em>Has Value</em>' operation.
@@ -45124,7 +41595,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE___HAS_VALUE__STEREOTYPE_STRING = CLASSIFIER___HAS_VALUE__STEREOTYPE_STRING;
+	int BEHAVIORED_CLASSIFIER___HAS_VALUE__STEREOTYPE_STRING = CLASSIFIER___HAS_VALUE__STEREOTYPE_STRING;
 
 	/**
 	 * The operation id for the '<em>Is Stereotype Applicable</em>' operation.
@@ -45133,7 +41604,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE___IS_STEREOTYPE_APPLICABLE__STEREOTYPE = CLASSIFIER___IS_STEREOTYPE_APPLICABLE__STEREOTYPE;
+	int BEHAVIORED_CLASSIFIER___IS_STEREOTYPE_APPLICABLE__STEREOTYPE = CLASSIFIER___IS_STEREOTYPE_APPLICABLE__STEREOTYPE;
 
 	/**
 	 * The operation id for the '<em>Is Stereotype Applied</em>' operation.
@@ -45142,7 +41613,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE___IS_STEREOTYPE_APPLIED__STEREOTYPE = CLASSIFIER___IS_STEREOTYPE_APPLIED__STEREOTYPE;
+	int BEHAVIORED_CLASSIFIER___IS_STEREOTYPE_APPLIED__STEREOTYPE = CLASSIFIER___IS_STEREOTYPE_APPLIED__STEREOTYPE;
 
 	/**
 	 * The operation id for the '<em>Is Stereotype Required</em>' operation.
@@ -45151,7 +41622,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE___IS_STEREOTYPE_REQUIRED__STEREOTYPE = CLASSIFIER___IS_STEREOTYPE_REQUIRED__STEREOTYPE;
+	int BEHAVIORED_CLASSIFIER___IS_STEREOTYPE_REQUIRED__STEREOTYPE = CLASSIFIER___IS_STEREOTYPE_REQUIRED__STEREOTYPE;
 
 	/**
 	 * The operation id for the '<em>Remove Keyword</em>' operation.
@@ -45160,7 +41631,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE___REMOVE_KEYWORD__STRING = CLASSIFIER___REMOVE_KEYWORD__STRING;
+	int BEHAVIORED_CLASSIFIER___REMOVE_KEYWORD__STRING = CLASSIFIER___REMOVE_KEYWORD__STRING;
 
 	/**
 	 * The operation id for the '<em>Set Value</em>' operation.
@@ -45169,7 +41640,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE___SET_VALUE__STEREOTYPE_STRING_OBJECT = CLASSIFIER___SET_VALUE__STEREOTYPE_STRING_OBJECT;
+	int BEHAVIORED_CLASSIFIER___SET_VALUE__STEREOTYPE_STRING_OBJECT = CLASSIFIER___SET_VALUE__STEREOTYPE_STRING_OBJECT;
 
 	/**
 	 * The operation id for the '<em>Unapply Stereotype</em>' operation.
@@ -45178,7 +41649,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE___UNAPPLY_STEREOTYPE__STEREOTYPE = CLASSIFIER___UNAPPLY_STEREOTYPE__STEREOTYPE;
+	int BEHAVIORED_CLASSIFIER___UNAPPLY_STEREOTYPE__STEREOTYPE = CLASSIFIER___UNAPPLY_STEREOTYPE__STEREOTYPE;
 
 	/**
 	 * The operation id for the '<em>All Owned Elements</em>' operation.
@@ -45187,7 +41658,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE___ALL_OWNED_ELEMENTS = CLASSIFIER___ALL_OWNED_ELEMENTS;
+	int BEHAVIORED_CLASSIFIER___ALL_OWNED_ELEMENTS = CLASSIFIER___ALL_OWNED_ELEMENTS;
 
 	/**
 	 * The operation id for the '<em>Must Be Owned</em>' operation.
@@ -45196,16 +41667,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE___MUST_BE_OWNED = CLASSIFIER___MUST_BE_OWNED;
-
-	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DATA_TYPE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = CLASSIFIER___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+	int BEHAVIORED_CLASSIFIER___MUST_BE_OWNED = CLASSIFIER___MUST_BE_OWNED;
 
 	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
@@ -45214,7 +41676,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = CLASSIFIER___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
+	int BEHAVIORED_CLASSIFIER___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = CLASSIFIER___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
 	 * The operation id for the '<em>Validate Has No Qualified Name</em>' operation.
@@ -45223,7 +41685,16 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = CLASSIFIER___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
+	int BEHAVIORED_CLASSIFIER___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = CLASSIFIER___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int BEHAVIORED_CLASSIFIER___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = CLASSIFIER___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
 
 	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
@@ -45232,7 +41703,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE___CREATE_DEPENDENCY__NAMEDELEMENT = CLASSIFIER___CREATE_DEPENDENCY__NAMEDELEMENT;
+	int BEHAVIORED_CLASSIFIER___CREATE_DEPENDENCY__NAMEDELEMENT = CLASSIFIER___CREATE_DEPENDENCY__NAMEDELEMENT;
 
 	/**
 	 * The operation id for the '<em>Create Usage</em>' operation.
@@ -45241,7 +41712,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE___CREATE_USAGE__NAMEDELEMENT = CLASSIFIER___CREATE_USAGE__NAMEDELEMENT;
+	int BEHAVIORED_CLASSIFIER___CREATE_USAGE__NAMEDELEMENT = CLASSIFIER___CREATE_USAGE__NAMEDELEMENT;
 
 	/**
 	 * The operation id for the '<em>Get Label</em>' operation.
@@ -45250,7 +41721,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE___GET_LABEL = CLASSIFIER___GET_LABEL;
+	int BEHAVIORED_CLASSIFIER___GET_LABEL = CLASSIFIER___GET_LABEL;
 
 	/**
 	 * The operation id for the '<em>Get Label</em>' operation.
@@ -45259,7 +41730,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE___GET_LABEL__BOOLEAN = CLASSIFIER___GET_LABEL__BOOLEAN;
+	int BEHAVIORED_CLASSIFIER___GET_LABEL__BOOLEAN = CLASSIFIER___GET_LABEL__BOOLEAN;
 
 	/**
 	 * The operation id for the '<em>All Namespaces</em>' operation.
@@ -45268,7 +41739,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE___ALL_NAMESPACES = CLASSIFIER___ALL_NAMESPACES;
+	int BEHAVIORED_CLASSIFIER___ALL_NAMESPACES = CLASSIFIER___ALL_NAMESPACES;
 
 	/**
 	 * The operation id for the '<em>All Owning Packages</em>' operation.
@@ -45277,7 +41748,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE___ALL_OWNING_PACKAGES = CLASSIFIER___ALL_OWNING_PACKAGES;
+	int BEHAVIORED_CLASSIFIER___ALL_OWNING_PACKAGES = CLASSIFIER___ALL_OWNING_PACKAGES;
 
 	/**
 	 * The operation id for the '<em>Is Distinguishable From</em>' operation.
@@ -45286,7 +41757,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE = CLASSIFIER___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE;
+	int BEHAVIORED_CLASSIFIER___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE = CLASSIFIER___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE;
 
 	/**
 	 * The operation id for the '<em>Get Namespace</em>' operation.
@@ -45295,7 +41766,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE___GET_NAMESPACE = CLASSIFIER___GET_NAMESPACE;
+	int BEHAVIORED_CLASSIFIER___GET_NAMESPACE = CLASSIFIER___GET_NAMESPACE;
 
 	/**
 	 * The operation id for the '<em>Get Qualified Name</em>' operation.
@@ -45304,7 +41775,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE___GET_QUALIFIED_NAME = CLASSIFIER___GET_QUALIFIED_NAME;
+	int BEHAVIORED_CLASSIFIER___GET_QUALIFIED_NAME = CLASSIFIER___GET_QUALIFIED_NAME;
 
 	/**
 	 * The operation id for the '<em>Separator</em>' operation.
@@ -45313,7 +41784,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE___SEPARATOR = CLASSIFIER___SEPARATOR;
+	int BEHAVIORED_CLASSIFIER___SEPARATOR = CLASSIFIER___SEPARATOR;
 
 	/**
 	 * The operation id for the '<em>Validate Members Distinguishable</em>' operation.
@@ -45322,7 +41793,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE___VALIDATE_MEMBERS_DISTINGUISHABLE__DIAGNOSTICCHAIN_MAP = CLASSIFIER___VALIDATE_MEMBERS_DISTINGUISHABLE__DIAGNOSTICCHAIN_MAP;
+	int BEHAVIORED_CLASSIFIER___VALIDATE_MEMBERS_DISTINGUISHABLE__DIAGNOSTICCHAIN_MAP = CLASSIFIER___VALIDATE_MEMBERS_DISTINGUISHABLE__DIAGNOSTICCHAIN_MAP;
 
 	/**
 	 * The operation id for the '<em>Create Element Import</em>' operation.
@@ -45331,7 +41802,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE___CREATE_ELEMENT_IMPORT__PACKAGEABLEELEMENT_VISIBILITYKIND = CLASSIFIER___CREATE_ELEMENT_IMPORT__PACKAGEABLEELEMENT_VISIBILITYKIND;
+	int BEHAVIORED_CLASSIFIER___CREATE_ELEMENT_IMPORT__PACKAGEABLEELEMENT_VISIBILITYKIND = CLASSIFIER___CREATE_ELEMENT_IMPORT__PACKAGEABLEELEMENT_VISIBILITYKIND;
 
 	/**
 	 * The operation id for the '<em>Create Package Import</em>' operation.
@@ -45340,7 +41811,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE___CREATE_PACKAGE_IMPORT__PACKAGE_VISIBILITYKIND = CLASSIFIER___CREATE_PACKAGE_IMPORT__PACKAGE_VISIBILITYKIND;
+	int BEHAVIORED_CLASSIFIER___CREATE_PACKAGE_IMPORT__PACKAGE_VISIBILITYKIND = CLASSIFIER___CREATE_PACKAGE_IMPORT__PACKAGE_VISIBILITYKIND;
 
 	/**
 	 * The operation id for the '<em>Get Imported Elements</em>' operation.
@@ -45349,7 +41820,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE___GET_IMPORTED_ELEMENTS = CLASSIFIER___GET_IMPORTED_ELEMENTS;
+	int BEHAVIORED_CLASSIFIER___GET_IMPORTED_ELEMENTS = CLASSIFIER___GET_IMPORTED_ELEMENTS;
 
 	/**
 	 * The operation id for the '<em>Get Imported Packages</em>' operation.
@@ -45358,7 +41829,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE___GET_IMPORTED_PACKAGES = CLASSIFIER___GET_IMPORTED_PACKAGES;
+	int BEHAVIORED_CLASSIFIER___GET_IMPORTED_PACKAGES = CLASSIFIER___GET_IMPORTED_PACKAGES;
 
 	/**
 	 * The operation id for the '<em>Exclude Collisions</em>' operation.
@@ -45367,7 +41838,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE___EXCLUDE_COLLISIONS__ELIST = CLASSIFIER___EXCLUDE_COLLISIONS__ELIST;
+	int BEHAVIORED_CLASSIFIER___EXCLUDE_COLLISIONS__ELIST = CLASSIFIER___EXCLUDE_COLLISIONS__ELIST;
 
 	/**
 	 * The operation id for the '<em>Get Names Of Member</em>' operation.
@@ -45376,7 +41847,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE___GET_NAMES_OF_MEMBER__NAMEDELEMENT = CLASSIFIER___GET_NAMES_OF_MEMBER__NAMEDELEMENT;
+	int BEHAVIORED_CLASSIFIER___GET_NAMES_OF_MEMBER__NAMEDELEMENT = CLASSIFIER___GET_NAMES_OF_MEMBER__NAMEDELEMENT;
 
 	/**
 	 * The operation id for the '<em>Import Members</em>' operation.
@@ -45385,7 +41856,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE___IMPORT_MEMBERS__ELIST = CLASSIFIER___IMPORT_MEMBERS__ELIST;
+	int BEHAVIORED_CLASSIFIER___IMPORT_MEMBERS__ELIST = CLASSIFIER___IMPORT_MEMBERS__ELIST;
 
 	/**
 	 * The operation id for the '<em>Get Imported Members</em>' operation.
@@ -45394,7 +41865,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE___GET_IMPORTED_MEMBERS = CLASSIFIER___GET_IMPORTED_MEMBERS;
+	int BEHAVIORED_CLASSIFIER___GET_IMPORTED_MEMBERS = CLASSIFIER___GET_IMPORTED_MEMBERS;
 
 	/**
 	 * The operation id for the '<em>Members Are Distinguishable</em>' operation.
@@ -45403,7 +41874,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE___MEMBERS_ARE_DISTINGUISHABLE = CLASSIFIER___MEMBERS_ARE_DISTINGUISHABLE;
+	int BEHAVIORED_CLASSIFIER___MEMBERS_ARE_DISTINGUISHABLE = CLASSIFIER___MEMBERS_ARE_DISTINGUISHABLE;
 
 	/**
 	 * The operation id for the '<em>Get Owned Members</em>' operation.
@@ -45412,7 +41883,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE___GET_OWNED_MEMBERS = CLASSIFIER___GET_OWNED_MEMBERS;
+	int BEHAVIORED_CLASSIFIER___GET_OWNED_MEMBERS = CLASSIFIER___GET_OWNED_MEMBERS;
 
 	/**
 	 * The operation id for the '<em>Validate Redefinition Consistent</em>' operation.
@@ -45421,7 +41892,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP = CLASSIFIER___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP;
+	int BEHAVIORED_CLASSIFIER___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP = CLASSIFIER___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP;
 
 	/**
 	 * The operation id for the '<em>Validate Non Leaf Redefinition</em>' operation.
@@ -45430,7 +41901,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP = CLASSIFIER___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP;
+	int BEHAVIORED_CLASSIFIER___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP = CLASSIFIER___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP;
 
 	/**
 	 * The operation id for the '<em>Validate Redefinition Context Valid</em>' operation.
@@ -45439,7 +41910,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP = CLASSIFIER___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP;
+	int BEHAVIORED_CLASSIFIER___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP = CLASSIFIER___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP;
 
 	/**
 	 * The operation id for the '<em>Is Consistent With</em>' operation.
@@ -45448,7 +41919,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE___IS_CONSISTENT_WITH__REDEFINABLEELEMENT = CLASSIFIER___IS_CONSISTENT_WITH__REDEFINABLEELEMENT;
+	int BEHAVIORED_CLASSIFIER___IS_CONSISTENT_WITH__REDEFINABLEELEMENT = CLASSIFIER___IS_CONSISTENT_WITH__REDEFINABLEELEMENT;
 
 	/**
 	 * The operation id for the '<em>Is Redefinition Context Valid</em>' operation.
@@ -45457,7 +41928,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT = CLASSIFIER___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT;
+	int BEHAVIORED_CLASSIFIER___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT = CLASSIFIER___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT;
 
 	/**
 	 * The operation id for the '<em>Is Compatible With</em>' operation.
@@ -45466,7 +41937,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE___IS_COMPATIBLE_WITH__PARAMETERABLEELEMENT = CLASSIFIER___IS_COMPATIBLE_WITH__PARAMETERABLEELEMENT;
+	int BEHAVIORED_CLASSIFIER___IS_COMPATIBLE_WITH__PARAMETERABLEELEMENT = CLASSIFIER___IS_COMPATIBLE_WITH__PARAMETERABLEELEMENT;
 
 	/**
 	 * The operation id for the '<em>Is Template Parameter</em>' operation.
@@ -45475,7 +41946,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE___IS_TEMPLATE_PARAMETER = CLASSIFIER___IS_TEMPLATE_PARAMETER;
+	int BEHAVIORED_CLASSIFIER___IS_TEMPLATE_PARAMETER = CLASSIFIER___IS_TEMPLATE_PARAMETER;
 
 	/**
 	 * The operation id for the '<em>Create Association</em>' operation.
@@ -45484,7 +41955,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE___CREATE_ASSOCIATION__BOOLEAN_AGGREGATIONKIND_STRING_INT_INT_TYPE_BOOLEAN_AGGREGATIONKIND_STRING_INT_INT = CLASSIFIER___CREATE_ASSOCIATION__BOOLEAN_AGGREGATIONKIND_STRING_INT_INT_TYPE_BOOLEAN_AGGREGATIONKIND_STRING_INT_INT;
+	int BEHAVIORED_CLASSIFIER___CREATE_ASSOCIATION__BOOLEAN_AGGREGATIONKIND_STRING_INT_INT_TYPE_BOOLEAN_AGGREGATIONKIND_STRING_INT_INT = CLASSIFIER___CREATE_ASSOCIATION__BOOLEAN_AGGREGATIONKIND_STRING_INT_INT_TYPE_BOOLEAN_AGGREGATIONKIND_STRING_INT_INT;
 
 	/**
 	 * The operation id for the '<em>Get Associations</em>' operation.
@@ -45493,7 +41964,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE___GET_ASSOCIATIONS = CLASSIFIER___GET_ASSOCIATIONS;
+	int BEHAVIORED_CLASSIFIER___GET_ASSOCIATIONS = CLASSIFIER___GET_ASSOCIATIONS;
 
 	/**
 	 * The operation id for the '<em>Conforms To</em>' operation.
@@ -45502,7 +41973,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE___CONFORMS_TO__TYPE = CLASSIFIER___CONFORMS_TO__TYPE;
+	int BEHAVIORED_CLASSIFIER___CONFORMS_TO__TYPE = CLASSIFIER___CONFORMS_TO__TYPE;
 
 	/**
 	 * The operation id for the '<em>Is Template</em>' operation.
@@ -45511,7 +41982,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE___IS_TEMPLATE = CLASSIFIER___IS_TEMPLATE;
+	int BEHAVIORED_CLASSIFIER___IS_TEMPLATE = CLASSIFIER___IS_TEMPLATE;
 
 	/**
 	 * The operation id for the '<em>Parameterable Elements</em>' operation.
@@ -45520,25 +41991,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE___PARAMETERABLE_ELEMENTS = CLASSIFIER___PARAMETERABLE_ELEMENTS;
-
-	/**
-	 * The operation id for the '<em>Validate Specialize Type</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DATA_TYPE___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP = CLASSIFIER___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Validate Maps To Generalization Set</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DATA_TYPE___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP = CLASSIFIER___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP;
+	int BEHAVIORED_CLASSIFIER___PARAMETERABLE_ELEMENTS = CLASSIFIER___PARAMETERABLE_ELEMENTS;
 
 	/**
 	 * The operation id for the '<em>Validate Non Final Parents</em>' operation.
@@ -45547,7 +42000,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE___VALIDATE_NON_FINAL_PARENTS__DIAGNOSTICCHAIN_MAP = CLASSIFIER___VALIDATE_NON_FINAL_PARENTS__DIAGNOSTICCHAIN_MAP;
+	int BEHAVIORED_CLASSIFIER___VALIDATE_NON_FINAL_PARENTS__DIAGNOSTICCHAIN_MAP = CLASSIFIER___VALIDATE_NON_FINAL_PARENTS__DIAGNOSTICCHAIN_MAP;
 
 	/**
 	 * The operation id for the '<em>Validate No Cycles In Generalization</em>' operation.
@@ -45556,7 +42009,25 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE___VALIDATE_NO_CYCLES_IN_GENERALIZATION__DIAGNOSTICCHAIN_MAP = CLASSIFIER___VALIDATE_NO_CYCLES_IN_GENERALIZATION__DIAGNOSTICCHAIN_MAP;
+	int BEHAVIORED_CLASSIFIER___VALIDATE_NO_CYCLES_IN_GENERALIZATION__DIAGNOSTICCHAIN_MAP = CLASSIFIER___VALIDATE_NO_CYCLES_IN_GENERALIZATION__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Validate Specialize Type</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int BEHAVIORED_CLASSIFIER___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP = CLASSIFIER___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Validate Maps To Generalization Set</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int BEHAVIORED_CLASSIFIER___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP = CLASSIFIER___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP;
 
 	/**
 	 * The operation id for the '<em>Get All Attributes</em>' operation.
@@ -45565,7 +42036,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE___GET_ALL_ATTRIBUTES = CLASSIFIER___GET_ALL_ATTRIBUTES;
+	int BEHAVIORED_CLASSIFIER___GET_ALL_ATTRIBUTES = CLASSIFIER___GET_ALL_ATTRIBUTES;
 
 	/**
 	 * The operation id for the '<em>Get All Operations</em>' operation.
@@ -45574,7 +42045,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE___GET_ALL_OPERATIONS = CLASSIFIER___GET_ALL_OPERATIONS;
+	int BEHAVIORED_CLASSIFIER___GET_ALL_OPERATIONS = CLASSIFIER___GET_ALL_OPERATIONS;
 
 	/**
 	 * The operation id for the '<em>Get All Used Interfaces</em>' operation.
@@ -45583,7 +42054,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE___GET_ALL_USED_INTERFACES = CLASSIFIER___GET_ALL_USED_INTERFACES;
+	int BEHAVIORED_CLASSIFIER___GET_ALL_USED_INTERFACES = CLASSIFIER___GET_ALL_USED_INTERFACES;
 
 	/**
 	 * The operation id for the '<em>Get Operation</em>' operation.
@@ -45592,7 +42063,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE___GET_OPERATION__STRING_ELIST_ELIST = CLASSIFIER___GET_OPERATION__STRING_ELIST_ELIST;
+	int BEHAVIORED_CLASSIFIER___GET_OPERATION__STRING_ELIST_ELIST = CLASSIFIER___GET_OPERATION__STRING_ELIST_ELIST;
 
 	/**
 	 * The operation id for the '<em>Get Operation</em>' operation.
@@ -45601,7 +42072,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE___GET_OPERATION__STRING_ELIST_ELIST_BOOLEAN = CLASSIFIER___GET_OPERATION__STRING_ELIST_ELIST_BOOLEAN;
+	int BEHAVIORED_CLASSIFIER___GET_OPERATION__STRING_ELIST_ELIST_BOOLEAN = CLASSIFIER___GET_OPERATION__STRING_ELIST_ELIST_BOOLEAN;
 
 	/**
 	 * The operation id for the '<em>Get Operations</em>' operation.
@@ -45610,7 +42081,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE___GET_OPERATIONS = CLASSIFIER___GET_OPERATIONS;
+	int BEHAVIORED_CLASSIFIER___GET_OPERATIONS = CLASSIFIER___GET_OPERATIONS;
 
 	/**
 	 * The operation id for the '<em>Get Used Interfaces</em>' operation.
@@ -45619,7 +42090,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE___GET_USED_INTERFACES = CLASSIFIER___GET_USED_INTERFACES;
+	int BEHAVIORED_CLASSIFIER___GET_USED_INTERFACES = CLASSIFIER___GET_USED_INTERFACES;
 
 	/**
 	 * The operation id for the '<em>All Features</em>' operation.
@@ -45628,7 +42099,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE___ALL_FEATURES = CLASSIFIER___ALL_FEATURES;
+	int BEHAVIORED_CLASSIFIER___ALL_FEATURES = CLASSIFIER___ALL_FEATURES;
 
 	/**
 	 * The operation id for the '<em>All Parents</em>' operation.
@@ -45637,7 +42108,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE___ALL_PARENTS = CLASSIFIER___ALL_PARENTS;
+	int BEHAVIORED_CLASSIFIER___ALL_PARENTS = CLASSIFIER___ALL_PARENTS;
 
 	/**
 	 * The operation id for the '<em>Conforms To</em>' operation.
@@ -45646,7 +42117,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE___CONFORMS_TO__CLASSIFIER = CLASSIFIER___CONFORMS_TO__CLASSIFIER;
+	int BEHAVIORED_CLASSIFIER___CONFORMS_TO__CLASSIFIER = CLASSIFIER___CONFORMS_TO__CLASSIFIER;
 
 	/**
 	 * The operation id for the '<em>Get Generals</em>' operation.
@@ -45655,7 +42126,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE___GET_GENERALS = CLASSIFIER___GET_GENERALS;
+	int BEHAVIORED_CLASSIFIER___GET_GENERALS = CLASSIFIER___GET_GENERALS;
 
 	/**
 	 * The operation id for the '<em>Has Visibility Of</em>' operation.
@@ -45664,7 +42135,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE___HAS_VISIBILITY_OF__NAMEDELEMENT = CLASSIFIER___HAS_VISIBILITY_OF__NAMEDELEMENT;
+	int BEHAVIORED_CLASSIFIER___HAS_VISIBILITY_OF__NAMEDELEMENT = CLASSIFIER___HAS_VISIBILITY_OF__NAMEDELEMENT;
 
 	/**
 	 * The operation id for the '<em>Inherit</em>' operation.
@@ -45673,7 +42144,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE___INHERIT__ELIST = CLASSIFIER___INHERIT__ELIST;
+	int BEHAVIORED_CLASSIFIER___INHERIT__ELIST = CLASSIFIER___INHERIT__ELIST;
 
 	/**
 	 * The operation id for the '<em>Inheritable Members</em>' operation.
@@ -45682,7 +42153,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE___INHERITABLE_MEMBERS__CLASSIFIER = CLASSIFIER___INHERITABLE_MEMBERS__CLASSIFIER;
+	int BEHAVIORED_CLASSIFIER___INHERITABLE_MEMBERS__CLASSIFIER = CLASSIFIER___INHERITABLE_MEMBERS__CLASSIFIER;
 
 	/**
 	 * The operation id for the '<em>Get Inherited Members</em>' operation.
@@ -45691,7 +42162,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE___GET_INHERITED_MEMBERS = CLASSIFIER___GET_INHERITED_MEMBERS;
+	int BEHAVIORED_CLASSIFIER___GET_INHERITED_MEMBERS = CLASSIFIER___GET_INHERITED_MEMBERS;
 
 	/**
 	 * The operation id for the '<em>May Specialize Type</em>' operation.
@@ -45700,7 +42171,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE___MAY_SPECIALIZE_TYPE__CLASSIFIER = CLASSIFIER___MAY_SPECIALIZE_TYPE__CLASSIFIER;
+	int BEHAVIORED_CLASSIFIER___MAY_SPECIALIZE_TYPE__CLASSIFIER = CLASSIFIER___MAY_SPECIALIZE_TYPE__CLASSIFIER;
 
 	/**
 	 * The operation id for the '<em>Parents</em>' operation.
@@ -45709,34 +42180,1357 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE___PARENTS = CLASSIFIER___PARENTS;
+	int BEHAVIORED_CLASSIFIER___PARENTS = CLASSIFIER___PARENTS;
 
 	/**
-	 * The operation id for the '<em>Create Owned Attribute</em>' operation.
+	 * The operation id for the '<em>Validate Class Behavior</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE___CREATE_OWNED_ATTRIBUTE__STRING_TYPE_INT_INT = CLASSIFIER_OPERATION_COUNT + 0;
+	int BEHAVIORED_CLASSIFIER___VALIDATE_CLASS_BEHAVIOR__DIAGNOSTICCHAIN_MAP = CLASSIFIER_OPERATION_COUNT + 0;
 
 	/**
-	 * The operation id for the '<em>Create Owned Operation</em>' operation.
+	 * The operation id for the '<em>Get All Implemented Interfaces</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE___CREATE_OWNED_OPERATION__STRING_ELIST_ELIST_TYPE = CLASSIFIER_OPERATION_COUNT + 1;
+	int BEHAVIORED_CLASSIFIER___GET_ALL_IMPLEMENTED_INTERFACES = CLASSIFIER_OPERATION_COUNT + 1;
 
 	/**
-	 * The number of operations of the '<em>Data Type</em>' class.
+	 * The operation id for the '<em>Get Implemented Interfaces</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_TYPE_OPERATION_COUNT = CLASSIFIER_OPERATION_COUNT + 2;
+	int BEHAVIORED_CLASSIFIER___GET_IMPLEMENTED_INTERFACES = CLASSIFIER_OPERATION_COUNT + 2;
+
+	/**
+	 * The number of operations of the '<em>Behaviored Classifier</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int BEHAVIORED_CLASSIFIER_OPERATION_COUNT = CLASSIFIER_OPERATION_COUNT + 3;
+
+	/**
+	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REALIZATION__EANNOTATIONS = ABSTRACTION__EANNOTATIONS;
+
+	/**
+	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REALIZATION__OWNED_COMMENT = ABSTRACTION__OWNED_COMMENT;
+
+	/**
+	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REALIZATION__OWNED_ELEMENT = ABSTRACTION__OWNED_ELEMENT;
+
+	/**
+	 * The feature id for the '<em><b>Owner</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REALIZATION__OWNER = ABSTRACTION__OWNER;
+
+	/**
+	 * The feature id for the '<em><b>Client Dependency</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REALIZATION__CLIENT_DEPENDENCY = ABSTRACTION__CLIENT_DEPENDENCY;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REALIZATION__NAME = ABSTRACTION__NAME;
+
+	/**
+	 * The feature id for the '<em><b>Name Expression</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REALIZATION__NAME_EXPRESSION = ABSTRACTION__NAME_EXPRESSION;
+
+	/**
+	 * The feature id for the '<em><b>Namespace</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REALIZATION__NAMESPACE = ABSTRACTION__NAMESPACE;
+
+	/**
+	 * The feature id for the '<em><b>Qualified Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REALIZATION__QUALIFIED_NAME = ABSTRACTION__QUALIFIED_NAME;
+
+	/**
+	 * The feature id for the '<em><b>Visibility</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REALIZATION__VISIBILITY = ABSTRACTION__VISIBILITY;
+
+	/**
+	 * The feature id for the '<em><b>Owning Template Parameter</b></em>' container reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REALIZATION__OWNING_TEMPLATE_PARAMETER = ABSTRACTION__OWNING_TEMPLATE_PARAMETER;
+
+	/**
+	 * The feature id for the '<em><b>Template Parameter</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REALIZATION__TEMPLATE_PARAMETER = ABSTRACTION__TEMPLATE_PARAMETER;
+
+	/**
+	 * The feature id for the '<em><b>Related Element</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REALIZATION__RELATED_ELEMENT = ABSTRACTION__RELATED_ELEMENT;
+
+	/**
+	 * The feature id for the '<em><b>Source</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REALIZATION__SOURCE = ABSTRACTION__SOURCE;
+
+	/**
+	 * The feature id for the '<em><b>Target</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REALIZATION__TARGET = ABSTRACTION__TARGET;
+
+	/**
+	 * The feature id for the '<em><b>Client</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REALIZATION__CLIENT = ABSTRACTION__CLIENT;
+
+	/**
+	 * The feature id for the '<em><b>Supplier</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REALIZATION__SUPPLIER = ABSTRACTION__SUPPLIER;
+
+	/**
+	 * The feature id for the '<em><b>Mapping</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REALIZATION__MAPPING = ABSTRACTION__MAPPING;
+
+	/**
+	 * The number of structural features of the '<em>Realization</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REALIZATION_FEATURE_COUNT = ABSTRACTION_FEATURE_COUNT + 0;
+
+	/**
+	 * The operation id for the '<em>Get EAnnotation</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REALIZATION___GET_EANNOTATION__STRING = ABSTRACTION___GET_EANNOTATION__STRING;
+
+	/**
+	 * The operation id for the '<em>Validate Has Owner</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REALIZATION___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP = ABSTRACTION___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Validate Not Own Self</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REALIZATION___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP = ABSTRACTION___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Add Keyword</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REALIZATION___ADD_KEYWORD__STRING = ABSTRACTION___ADD_KEYWORD__STRING;
+
+	/**
+	 * The operation id for the '<em>Apply Stereotype</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REALIZATION___APPLY_STEREOTYPE__STEREOTYPE = ABSTRACTION___APPLY_STEREOTYPE__STEREOTYPE;
+
+	/**
+	 * The operation id for the '<em>Create EAnnotation</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REALIZATION___CREATE_EANNOTATION__STRING = ABSTRACTION___CREATE_EANNOTATION__STRING;
+
+	/**
+	 * The operation id for the '<em>Destroy</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REALIZATION___DESTROY = ABSTRACTION___DESTROY;
+
+	/**
+	 * The operation id for the '<em>Get Keywords</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REALIZATION___GET_KEYWORDS = ABSTRACTION___GET_KEYWORDS;
+
+	/**
+	 * The operation id for the '<em>Get Applicable Stereotype</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REALIZATION___GET_APPLICABLE_STEREOTYPE__STRING = ABSTRACTION___GET_APPLICABLE_STEREOTYPE__STRING;
+
+	/**
+	 * The operation id for the '<em>Get Applicable Stereotypes</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REALIZATION___GET_APPLICABLE_STEREOTYPES = ABSTRACTION___GET_APPLICABLE_STEREOTYPES;
+
+	/**
+	 * The operation id for the '<em>Get Applied Stereotype</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REALIZATION___GET_APPLIED_STEREOTYPE__STRING = ABSTRACTION___GET_APPLIED_STEREOTYPE__STRING;
+
+	/**
+	 * The operation id for the '<em>Get Applied Stereotypes</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REALIZATION___GET_APPLIED_STEREOTYPES = ABSTRACTION___GET_APPLIED_STEREOTYPES;
+
+	/**
+	 * The operation id for the '<em>Get Applied Substereotype</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REALIZATION___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING = ABSTRACTION___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING;
+
+	/**
+	 * The operation id for the '<em>Get Applied Substereotypes</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REALIZATION___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE = ABSTRACTION___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE;
+
+	/**
+	 * The operation id for the '<em>Get Model</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REALIZATION___GET_MODEL = ABSTRACTION___GET_MODEL;
+
+	/**
+	 * The operation id for the '<em>Get Nearest Package</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REALIZATION___GET_NEAREST_PACKAGE = ABSTRACTION___GET_NEAREST_PACKAGE;
+
+	/**
+	 * The operation id for the '<em>Get Relationships</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REALIZATION___GET_RELATIONSHIPS = ABSTRACTION___GET_RELATIONSHIPS;
+
+	/**
+	 * The operation id for the '<em>Get Relationships</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REALIZATION___GET_RELATIONSHIPS__ECLASS = ABSTRACTION___GET_RELATIONSHIPS__ECLASS;
+
+	/**
+	 * The operation id for the '<em>Get Required Stereotype</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REALIZATION___GET_REQUIRED_STEREOTYPE__STRING = ABSTRACTION___GET_REQUIRED_STEREOTYPE__STRING;
+
+	/**
+	 * The operation id for the '<em>Get Required Stereotypes</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REALIZATION___GET_REQUIRED_STEREOTYPES = ABSTRACTION___GET_REQUIRED_STEREOTYPES;
+
+	/**
+	 * The operation id for the '<em>Get Source Directed Relationships</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REALIZATION___GET_SOURCE_DIRECTED_RELATIONSHIPS = ABSTRACTION___GET_SOURCE_DIRECTED_RELATIONSHIPS;
+
+	/**
+	 * The operation id for the '<em>Get Source Directed Relationships</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REALIZATION___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS = ABSTRACTION___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS;
+
+	/**
+	 * The operation id for the '<em>Get Stereotype Application</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REALIZATION___GET_STEREOTYPE_APPLICATION__STEREOTYPE = ABSTRACTION___GET_STEREOTYPE_APPLICATION__STEREOTYPE;
+
+	/**
+	 * The operation id for the '<em>Get Stereotype Applications</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REALIZATION___GET_STEREOTYPE_APPLICATIONS = ABSTRACTION___GET_STEREOTYPE_APPLICATIONS;
+
+	/**
+	 * The operation id for the '<em>Get Target Directed Relationships</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REALIZATION___GET_TARGET_DIRECTED_RELATIONSHIPS = ABSTRACTION___GET_TARGET_DIRECTED_RELATIONSHIPS;
+
+	/**
+	 * The operation id for the '<em>Get Target Directed Relationships</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REALIZATION___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS = ABSTRACTION___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS;
+
+	/**
+	 * The operation id for the '<em>Get Value</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REALIZATION___GET_VALUE__STEREOTYPE_STRING = ABSTRACTION___GET_VALUE__STEREOTYPE_STRING;
+
+	/**
+	 * The operation id for the '<em>Has Keyword</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REALIZATION___HAS_KEYWORD__STRING = ABSTRACTION___HAS_KEYWORD__STRING;
+
+	/**
+	 * The operation id for the '<em>Has Value</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REALIZATION___HAS_VALUE__STEREOTYPE_STRING = ABSTRACTION___HAS_VALUE__STEREOTYPE_STRING;
+
+	/**
+	 * The operation id for the '<em>Is Stereotype Applicable</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REALIZATION___IS_STEREOTYPE_APPLICABLE__STEREOTYPE = ABSTRACTION___IS_STEREOTYPE_APPLICABLE__STEREOTYPE;
+
+	/**
+	 * The operation id for the '<em>Is Stereotype Applied</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REALIZATION___IS_STEREOTYPE_APPLIED__STEREOTYPE = ABSTRACTION___IS_STEREOTYPE_APPLIED__STEREOTYPE;
+
+	/**
+	 * The operation id for the '<em>Is Stereotype Required</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REALIZATION___IS_STEREOTYPE_REQUIRED__STEREOTYPE = ABSTRACTION___IS_STEREOTYPE_REQUIRED__STEREOTYPE;
+
+	/**
+	 * The operation id for the '<em>Remove Keyword</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REALIZATION___REMOVE_KEYWORD__STRING = ABSTRACTION___REMOVE_KEYWORD__STRING;
+
+	/**
+	 * The operation id for the '<em>Set Value</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REALIZATION___SET_VALUE__STEREOTYPE_STRING_OBJECT = ABSTRACTION___SET_VALUE__STEREOTYPE_STRING_OBJECT;
+
+	/**
+	 * The operation id for the '<em>Unapply Stereotype</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REALIZATION___UNAPPLY_STEREOTYPE__STEREOTYPE = ABSTRACTION___UNAPPLY_STEREOTYPE__STEREOTYPE;
+
+	/**
+	 * The operation id for the '<em>All Owned Elements</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REALIZATION___ALL_OWNED_ELEMENTS = ABSTRACTION___ALL_OWNED_ELEMENTS;
+
+	/**
+	 * The operation id for the '<em>Must Be Owned</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REALIZATION___MUST_BE_OWNED = ABSTRACTION___MUST_BE_OWNED;
+
+	/**
+	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REALIZATION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = ABSTRACTION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Validate Has No Qualified Name</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REALIZATION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = ABSTRACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REALIZATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = ABSTRACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Create Dependency</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REALIZATION___CREATE_DEPENDENCY__NAMEDELEMENT = ABSTRACTION___CREATE_DEPENDENCY__NAMEDELEMENT;
+
+	/**
+	 * The operation id for the '<em>Create Usage</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REALIZATION___CREATE_USAGE__NAMEDELEMENT = ABSTRACTION___CREATE_USAGE__NAMEDELEMENT;
+
+	/**
+	 * The operation id for the '<em>Get Label</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REALIZATION___GET_LABEL = ABSTRACTION___GET_LABEL;
+
+	/**
+	 * The operation id for the '<em>Get Label</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REALIZATION___GET_LABEL__BOOLEAN = ABSTRACTION___GET_LABEL__BOOLEAN;
+
+	/**
+	 * The operation id for the '<em>All Namespaces</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REALIZATION___ALL_NAMESPACES = ABSTRACTION___ALL_NAMESPACES;
+
+	/**
+	 * The operation id for the '<em>All Owning Packages</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REALIZATION___ALL_OWNING_PACKAGES = ABSTRACTION___ALL_OWNING_PACKAGES;
+
+	/**
+	 * The operation id for the '<em>Is Distinguishable From</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REALIZATION___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE = ABSTRACTION___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE;
+
+	/**
+	 * The operation id for the '<em>Get Namespace</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REALIZATION___GET_NAMESPACE = ABSTRACTION___GET_NAMESPACE;
+
+	/**
+	 * The operation id for the '<em>Get Qualified Name</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REALIZATION___GET_QUALIFIED_NAME = ABSTRACTION___GET_QUALIFIED_NAME;
+
+	/**
+	 * The operation id for the '<em>Separator</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REALIZATION___SEPARATOR = ABSTRACTION___SEPARATOR;
+
+	/**
+	 * The operation id for the '<em>Is Compatible With</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REALIZATION___IS_COMPATIBLE_WITH__PARAMETERABLEELEMENT = ABSTRACTION___IS_COMPATIBLE_WITH__PARAMETERABLEELEMENT;
+
+	/**
+	 * The operation id for the '<em>Is Template Parameter</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REALIZATION___IS_TEMPLATE_PARAMETER = ABSTRACTION___IS_TEMPLATE_PARAMETER;
+
+	/**
+	 * The number of operations of the '<em>Realization</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REALIZATION_OPERATION_COUNT = ABSTRACTION_OPERATION_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE_REALIZATION__EANNOTATIONS = REALIZATION__EANNOTATIONS;
+
+	/**
+	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE_REALIZATION__OWNED_COMMENT = REALIZATION__OWNED_COMMENT;
+
+	/**
+	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE_REALIZATION__OWNED_ELEMENT = REALIZATION__OWNED_ELEMENT;
+
+	/**
+	 * The feature id for the '<em><b>Owner</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE_REALIZATION__OWNER = REALIZATION__OWNER;
+
+	/**
+	 * The feature id for the '<em><b>Client Dependency</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE_REALIZATION__CLIENT_DEPENDENCY = REALIZATION__CLIENT_DEPENDENCY;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE_REALIZATION__NAME = REALIZATION__NAME;
+
+	/**
+	 * The feature id for the '<em><b>Name Expression</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE_REALIZATION__NAME_EXPRESSION = REALIZATION__NAME_EXPRESSION;
+
+	/**
+	 * The feature id for the '<em><b>Namespace</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE_REALIZATION__NAMESPACE = REALIZATION__NAMESPACE;
+
+	/**
+	 * The feature id for the '<em><b>Qualified Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE_REALIZATION__QUALIFIED_NAME = REALIZATION__QUALIFIED_NAME;
+
+	/**
+	 * The feature id for the '<em><b>Visibility</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE_REALIZATION__VISIBILITY = REALIZATION__VISIBILITY;
+
+	/**
+	 * The feature id for the '<em><b>Owning Template Parameter</b></em>' container reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE_REALIZATION__OWNING_TEMPLATE_PARAMETER = REALIZATION__OWNING_TEMPLATE_PARAMETER;
+
+	/**
+	 * The feature id for the '<em><b>Template Parameter</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE_REALIZATION__TEMPLATE_PARAMETER = REALIZATION__TEMPLATE_PARAMETER;
+
+	/**
+	 * The feature id for the '<em><b>Related Element</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE_REALIZATION__RELATED_ELEMENT = REALIZATION__RELATED_ELEMENT;
+
+	/**
+	 * The feature id for the '<em><b>Source</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE_REALIZATION__SOURCE = REALIZATION__SOURCE;
+
+	/**
+	 * The feature id for the '<em><b>Target</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE_REALIZATION__TARGET = REALIZATION__TARGET;
+
+	/**
+	 * The feature id for the '<em><b>Client</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE_REALIZATION__CLIENT = REALIZATION__CLIENT;
+
+	/**
+	 * The feature id for the '<em><b>Supplier</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE_REALIZATION__SUPPLIER = REALIZATION__SUPPLIER;
+
+	/**
+	 * The feature id for the '<em><b>Mapping</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE_REALIZATION__MAPPING = REALIZATION__MAPPING;
+
+	/**
+	 * The feature id for the '<em><b>Contract</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE_REALIZATION__CONTRACT = REALIZATION_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Implementing Classifier</b></em>' container reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE_REALIZATION__IMPLEMENTING_CLASSIFIER = REALIZATION_FEATURE_COUNT + 1;
+
+	/**
+	 * The number of structural features of the '<em>Interface Realization</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE_REALIZATION_FEATURE_COUNT = REALIZATION_FEATURE_COUNT + 2;
+
+	/**
+	 * The operation id for the '<em>Get EAnnotation</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE_REALIZATION___GET_EANNOTATION__STRING = REALIZATION___GET_EANNOTATION__STRING;
+
+	/**
+	 * The operation id for the '<em>Validate Has Owner</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE_REALIZATION___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP = REALIZATION___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Validate Not Own Self</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE_REALIZATION___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP = REALIZATION___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Add Keyword</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE_REALIZATION___ADD_KEYWORD__STRING = REALIZATION___ADD_KEYWORD__STRING;
+
+	/**
+	 * The operation id for the '<em>Apply Stereotype</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE_REALIZATION___APPLY_STEREOTYPE__STEREOTYPE = REALIZATION___APPLY_STEREOTYPE__STEREOTYPE;
+
+	/**
+	 * The operation id for the '<em>Create EAnnotation</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE_REALIZATION___CREATE_EANNOTATION__STRING = REALIZATION___CREATE_EANNOTATION__STRING;
+
+	/**
+	 * The operation id for the '<em>Destroy</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE_REALIZATION___DESTROY = REALIZATION___DESTROY;
+
+	/**
+	 * The operation id for the '<em>Get Keywords</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE_REALIZATION___GET_KEYWORDS = REALIZATION___GET_KEYWORDS;
+
+	/**
+	 * The operation id for the '<em>Get Applicable Stereotype</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE_REALIZATION___GET_APPLICABLE_STEREOTYPE__STRING = REALIZATION___GET_APPLICABLE_STEREOTYPE__STRING;
+
+	/**
+	 * The operation id for the '<em>Get Applicable Stereotypes</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE_REALIZATION___GET_APPLICABLE_STEREOTYPES = REALIZATION___GET_APPLICABLE_STEREOTYPES;
+
+	/**
+	 * The operation id for the '<em>Get Applied Stereotype</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE_REALIZATION___GET_APPLIED_STEREOTYPE__STRING = REALIZATION___GET_APPLIED_STEREOTYPE__STRING;
+
+	/**
+	 * The operation id for the '<em>Get Applied Stereotypes</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE_REALIZATION___GET_APPLIED_STEREOTYPES = REALIZATION___GET_APPLIED_STEREOTYPES;
+
+	/**
+	 * The operation id for the '<em>Get Applied Substereotype</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE_REALIZATION___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING = REALIZATION___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING;
+
+	/**
+	 * The operation id for the '<em>Get Applied Substereotypes</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE_REALIZATION___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE = REALIZATION___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE;
+
+	/**
+	 * The operation id for the '<em>Get Model</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE_REALIZATION___GET_MODEL = REALIZATION___GET_MODEL;
+
+	/**
+	 * The operation id for the '<em>Get Nearest Package</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE_REALIZATION___GET_NEAREST_PACKAGE = REALIZATION___GET_NEAREST_PACKAGE;
+
+	/**
+	 * The operation id for the '<em>Get Relationships</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE_REALIZATION___GET_RELATIONSHIPS = REALIZATION___GET_RELATIONSHIPS;
+
+	/**
+	 * The operation id for the '<em>Get Relationships</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE_REALIZATION___GET_RELATIONSHIPS__ECLASS = REALIZATION___GET_RELATIONSHIPS__ECLASS;
+
+	/**
+	 * The operation id for the '<em>Get Required Stereotype</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE_REALIZATION___GET_REQUIRED_STEREOTYPE__STRING = REALIZATION___GET_REQUIRED_STEREOTYPE__STRING;
+
+	/**
+	 * The operation id for the '<em>Get Required Stereotypes</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE_REALIZATION___GET_REQUIRED_STEREOTYPES = REALIZATION___GET_REQUIRED_STEREOTYPES;
+
+	/**
+	 * The operation id for the '<em>Get Source Directed Relationships</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE_REALIZATION___GET_SOURCE_DIRECTED_RELATIONSHIPS = REALIZATION___GET_SOURCE_DIRECTED_RELATIONSHIPS;
+
+	/**
+	 * The operation id for the '<em>Get Source Directed Relationships</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE_REALIZATION___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS = REALIZATION___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS;
+
+	/**
+	 * The operation id for the '<em>Get Stereotype Application</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE_REALIZATION___GET_STEREOTYPE_APPLICATION__STEREOTYPE = REALIZATION___GET_STEREOTYPE_APPLICATION__STEREOTYPE;
+
+	/**
+	 * The operation id for the '<em>Get Stereotype Applications</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE_REALIZATION___GET_STEREOTYPE_APPLICATIONS = REALIZATION___GET_STEREOTYPE_APPLICATIONS;
+
+	/**
+	 * The operation id for the '<em>Get Target Directed Relationships</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE_REALIZATION___GET_TARGET_DIRECTED_RELATIONSHIPS = REALIZATION___GET_TARGET_DIRECTED_RELATIONSHIPS;
+
+	/**
+	 * The operation id for the '<em>Get Target Directed Relationships</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE_REALIZATION___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS = REALIZATION___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS;
+
+	/**
+	 * The operation id for the '<em>Get Value</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE_REALIZATION___GET_VALUE__STEREOTYPE_STRING = REALIZATION___GET_VALUE__STEREOTYPE_STRING;
+
+	/**
+	 * The operation id for the '<em>Has Keyword</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE_REALIZATION___HAS_KEYWORD__STRING = REALIZATION___HAS_KEYWORD__STRING;
+
+	/**
+	 * The operation id for the '<em>Has Value</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE_REALIZATION___HAS_VALUE__STEREOTYPE_STRING = REALIZATION___HAS_VALUE__STEREOTYPE_STRING;
+
+	/**
+	 * The operation id for the '<em>Is Stereotype Applicable</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE_REALIZATION___IS_STEREOTYPE_APPLICABLE__STEREOTYPE = REALIZATION___IS_STEREOTYPE_APPLICABLE__STEREOTYPE;
+
+	/**
+	 * The operation id for the '<em>Is Stereotype Applied</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE_REALIZATION___IS_STEREOTYPE_APPLIED__STEREOTYPE = REALIZATION___IS_STEREOTYPE_APPLIED__STEREOTYPE;
+
+	/**
+	 * The operation id for the '<em>Is Stereotype Required</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE_REALIZATION___IS_STEREOTYPE_REQUIRED__STEREOTYPE = REALIZATION___IS_STEREOTYPE_REQUIRED__STEREOTYPE;
+
+	/**
+	 * The operation id for the '<em>Remove Keyword</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE_REALIZATION___REMOVE_KEYWORD__STRING = REALIZATION___REMOVE_KEYWORD__STRING;
+
+	/**
+	 * The operation id for the '<em>Set Value</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE_REALIZATION___SET_VALUE__STEREOTYPE_STRING_OBJECT = REALIZATION___SET_VALUE__STEREOTYPE_STRING_OBJECT;
+
+	/**
+	 * The operation id for the '<em>Unapply Stereotype</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE_REALIZATION___UNAPPLY_STEREOTYPE__STEREOTYPE = REALIZATION___UNAPPLY_STEREOTYPE__STEREOTYPE;
+
+	/**
+	 * The operation id for the '<em>All Owned Elements</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE_REALIZATION___ALL_OWNED_ELEMENTS = REALIZATION___ALL_OWNED_ELEMENTS;
+
+	/**
+	 * The operation id for the '<em>Must Be Owned</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE_REALIZATION___MUST_BE_OWNED = REALIZATION___MUST_BE_OWNED;
+
+	/**
+	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE_REALIZATION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = REALIZATION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Validate Has No Qualified Name</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE_REALIZATION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = REALIZATION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE_REALIZATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = REALIZATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Create Dependency</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE_REALIZATION___CREATE_DEPENDENCY__NAMEDELEMENT = REALIZATION___CREATE_DEPENDENCY__NAMEDELEMENT;
+
+	/**
+	 * The operation id for the '<em>Create Usage</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE_REALIZATION___CREATE_USAGE__NAMEDELEMENT = REALIZATION___CREATE_USAGE__NAMEDELEMENT;
+
+	/**
+	 * The operation id for the '<em>Get Label</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE_REALIZATION___GET_LABEL = REALIZATION___GET_LABEL;
+
+	/**
+	 * The operation id for the '<em>Get Label</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE_REALIZATION___GET_LABEL__BOOLEAN = REALIZATION___GET_LABEL__BOOLEAN;
+
+	/**
+	 * The operation id for the '<em>All Namespaces</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE_REALIZATION___ALL_NAMESPACES = REALIZATION___ALL_NAMESPACES;
+
+	/**
+	 * The operation id for the '<em>All Owning Packages</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE_REALIZATION___ALL_OWNING_PACKAGES = REALIZATION___ALL_OWNING_PACKAGES;
+
+	/**
+	 * The operation id for the '<em>Is Distinguishable From</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE_REALIZATION___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE = REALIZATION___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE;
+
+	/**
+	 * The operation id for the '<em>Get Namespace</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE_REALIZATION___GET_NAMESPACE = REALIZATION___GET_NAMESPACE;
+
+	/**
+	 * The operation id for the '<em>Get Qualified Name</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE_REALIZATION___GET_QUALIFIED_NAME = REALIZATION___GET_QUALIFIED_NAME;
+
+	/**
+	 * The operation id for the '<em>Separator</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE_REALIZATION___SEPARATOR = REALIZATION___SEPARATOR;
+
+	/**
+	 * The operation id for the '<em>Is Compatible With</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE_REALIZATION___IS_COMPATIBLE_WITH__PARAMETERABLEELEMENT = REALIZATION___IS_COMPATIBLE_WITH__PARAMETERABLEELEMENT;
+
+	/**
+	 * The operation id for the '<em>Is Template Parameter</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE_REALIZATION___IS_TEMPLATE_PARAMETER = REALIZATION___IS_TEMPLATE_PARAMETER;
+
+	/**
+	 * The number of operations of the '<em>Interface Realization</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE_REALIZATION_OPERATION_COUNT = REALIZATION_OPERATION_COUNT + 0;
 
 	/**
 	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
@@ -46099,13 +43893,22 @@
 	int INTERFACE__OWNED_ATTRIBUTE = CLASSIFIER_FEATURE_COUNT + 1;
 
 	/**
+	 * The feature id for the '<em><b>Owned Operation</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE__OWNED_OPERATION = CLASSIFIER_FEATURE_COUNT + 2;
+
+	/**
 	 * The feature id for the '<em><b>Owned Reception</b></em>' containment reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int INTERFACE__OWNED_RECEPTION = CLASSIFIER_FEATURE_COUNT + 2;
+	int INTERFACE__OWNED_RECEPTION = CLASSIFIER_FEATURE_COUNT + 3;
 
 	/**
 	 * The feature id for the '<em><b>Protocol</b></em>' containment reference.
@@ -46114,7 +43917,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int INTERFACE__PROTOCOL = CLASSIFIER_FEATURE_COUNT + 3;
+	int INTERFACE__PROTOCOL = CLASSIFIER_FEATURE_COUNT + 4;
 
 	/**
 	 * The feature id for the '<em><b>Redefined Interface</b></em>' reference list.
@@ -46123,16 +43926,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int INTERFACE__REDEFINED_INTERFACE = CLASSIFIER_FEATURE_COUNT + 4;
-
-	/**
-	 * The feature id for the '<em><b>Owned Operation</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERFACE__OWNED_OPERATION = CLASSIFIER_FEATURE_COUNT + 5;
+	int INTERFACE__REDEFINED_INTERFACE = CLASSIFIER_FEATURE_COUNT + 5;
 
 	/**
 	 * The number of structural features of the '<em>Interface</em>' class.
@@ -46477,15 +44271,6 @@
 	int INTERFACE___MUST_BE_OWNED = CLASSIFIER___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERFACE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = CLASSIFIER___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -46504,6 +44289,15 @@
 	int INTERFACE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = CLASSIFIER___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = CLASSIFIER___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -46801,24 +44595,6 @@
 	int INTERFACE___PARAMETERABLE_ELEMENTS = CLASSIFIER___PARAMETERABLE_ELEMENTS;
 
 	/**
-	 * The operation id for the '<em>Validate Specialize Type</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERFACE___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP = CLASSIFIER___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Validate Maps To Generalization Set</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERFACE___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP = CLASSIFIER___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Non Final Parents</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -46837,6 +44613,24 @@
 	int INTERFACE___VALIDATE_NO_CYCLES_IN_GENERALIZATION__DIAGNOSTICCHAIN_MAP = CLASSIFIER___VALIDATE_NO_CYCLES_IN_GENERALIZATION__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Specialize Type</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP = CLASSIFIER___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Validate Maps To Generalization Set</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERFACE___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP = CLASSIFIER___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Get All Attributes</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -47620,15 +45414,6 @@
 	int RECEPTION___MUST_BE_OWNED = BEHAVIORAL_FEATURE___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int RECEPTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = BEHAVIORAL_FEATURE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -47647,6 +45432,15 @@
 	int RECEPTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = BEHAVIORAL_FEATURE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int RECEPTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = BEHAVIORAL_FEATURE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -48601,15 +46395,6 @@
 	int SIGNAL___MUST_BE_OWNED = CLASSIFIER___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int SIGNAL___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = CLASSIFIER___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -48628,6 +46413,15 @@
 	int SIGNAL___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = CLASSIFIER___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SIGNAL___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = CLASSIFIER___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -48925,24 +46719,6 @@
 	int SIGNAL___PARAMETERABLE_ELEMENTS = CLASSIFIER___PARAMETERABLE_ELEMENTS;
 
 	/**
-	 * The operation id for the '<em>Validate Specialize Type</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int SIGNAL___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP = CLASSIFIER___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Validate Maps To Generalization Set</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int SIGNAL___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP = CLASSIFIER___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Non Final Parents</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -48961,6 +46737,24 @@
 	int SIGNAL___VALIDATE_NO_CYCLES_IN_GENERALIZATION__DIAGNOSTICCHAIN_MAP = CLASSIFIER___VALIDATE_NO_CYCLES_IN_GENERALIZATION__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Specialize Type</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SIGNAL___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP = CLASSIFIER___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Validate Maps To Generalization Set</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SIGNAL___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP = CLASSIFIER___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Get All Attributes</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -50050,15 +47844,6 @@
 	int STATE_MACHINE___MUST_BE_OWNED = BEHAVIOR___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int STATE_MACHINE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = BEHAVIOR___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -50077,6 +47862,15 @@
 	int STATE_MACHINE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = BEHAVIOR___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STATE_MACHINE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = BEHAVIOR___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -50374,24 +48168,6 @@
 	int STATE_MACHINE___PARAMETERABLE_ELEMENTS = BEHAVIOR___PARAMETERABLE_ELEMENTS;
 
 	/**
-	 * The operation id for the '<em>Validate Specialize Type</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int STATE_MACHINE___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP = BEHAVIOR___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Validate Maps To Generalization Set</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int STATE_MACHINE___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP = BEHAVIOR___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Non Final Parents</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -50410,6 +48186,24 @@
 	int STATE_MACHINE___VALIDATE_NO_CYCLES_IN_GENERALIZATION__DIAGNOSTICCHAIN_MAP = BEHAVIOR___VALIDATE_NO_CYCLES_IN_GENERALIZATION__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Specialize Type</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STATE_MACHINE___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP = BEHAVIOR___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Validate Maps To Generalization Set</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STATE_MACHINE___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP = BEHAVIOR___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Get All Attributes</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -50671,24 +48465,6 @@
 	int STATE_MACHINE___GET_SUPER_CLASSES = BEHAVIOR___GET_SUPER_CLASSES;
 
 	/**
-	 * The operation id for the '<em>Validate Most One Behaviour</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int STATE_MACHINE___VALIDATE_MOST_ONE_BEHAVIOUR__DIAGNOSTICCHAIN_MAP = BEHAVIOR___VALIDATE_MOST_ONE_BEHAVIOUR__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Validate Must Realize</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int STATE_MACHINE___VALIDATE_MUST_REALIZE__DIAGNOSTICCHAIN_MAP = BEHAVIOR___VALIDATE_MUST_REALIZE__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Parameters Match</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -50707,6 +48483,24 @@
 	int STATE_MACHINE___VALIDATE_FEATURE_OF_CONTEXT_CLASSIFIER__DIAGNOSTICCHAIN_MAP = BEHAVIOR___VALIDATE_FEATURE_OF_CONTEXT_CLASSIFIER__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Must Realize</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STATE_MACHINE___VALIDATE_MUST_REALIZE__DIAGNOSTICCHAIN_MAP = BEHAVIOR___VALIDATE_MUST_REALIZE__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Validate Most One Behaviour</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STATE_MACHINE___VALIDATE_MOST_ONE_BEHAVIOUR__DIAGNOSTICCHAIN_MAP = BEHAVIOR___VALIDATE_MOST_ONE_BEHAVIOUR__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Get Context</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -50716,13 +48510,13 @@
 	int STATE_MACHINE___GET_CONTEXT = BEHAVIOR___GET_CONTEXT;
 
 	/**
-	 * The operation id for the '<em>Validate Connection Points</em>' operation.
+	 * The operation id for the '<em>Validate Method</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int STATE_MACHINE___VALIDATE_CONNECTION_POINTS__DIAGNOSTICCHAIN_MAP = BEHAVIOR_OPERATION_COUNT + 0;
+	int STATE_MACHINE___VALIDATE_METHOD__DIAGNOSTICCHAIN_MAP = BEHAVIOR_OPERATION_COUNT + 0;
 
 	/**
 	 * The operation id for the '<em>Validate Classifier Context</em>' operation.
@@ -50734,22 +48528,22 @@
 	int STATE_MACHINE___VALIDATE_CLASSIFIER_CONTEXT__DIAGNOSTICCHAIN_MAP = BEHAVIOR_OPERATION_COUNT + 1;
 
 	/**
-	 * The operation id for the '<em>Validate Method</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int STATE_MACHINE___VALIDATE_METHOD__DIAGNOSTICCHAIN_MAP = BEHAVIOR_OPERATION_COUNT + 2;
-
-	/**
 	 * The operation id for the '<em>Validate Context Classifier</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int STATE_MACHINE___VALIDATE_CONTEXT_CLASSIFIER__DIAGNOSTICCHAIN_MAP = BEHAVIOR_OPERATION_COUNT + 3;
+	int STATE_MACHINE___VALIDATE_CONTEXT_CLASSIFIER__DIAGNOSTICCHAIN_MAP = BEHAVIOR_OPERATION_COUNT + 2;
+
+	/**
+	 * The operation id for the '<em>Validate Connection Points</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STATE_MACHINE___VALIDATE_CONNECTION_POINTS__DIAGNOSTICCHAIN_MAP = BEHAVIOR_OPERATION_COUNT + 3;
 
 	/**
 	 * The operation id for the '<em>LCA</em>' operation.
@@ -51715,15 +49509,6 @@
 	int PROTOCOL_STATE_MACHINE___MUST_BE_OWNED = STATE_MACHINE___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PROTOCOL_STATE_MACHINE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = STATE_MACHINE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -51742,6 +49527,15 @@
 	int PROTOCOL_STATE_MACHINE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = STATE_MACHINE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROTOCOL_STATE_MACHINE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = STATE_MACHINE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -52039,24 +49833,6 @@
 	int PROTOCOL_STATE_MACHINE___PARAMETERABLE_ELEMENTS = STATE_MACHINE___PARAMETERABLE_ELEMENTS;
 
 	/**
-	 * The operation id for the '<em>Validate Specialize Type</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PROTOCOL_STATE_MACHINE___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP = STATE_MACHINE___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Validate Maps To Generalization Set</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PROTOCOL_STATE_MACHINE___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP = STATE_MACHINE___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Non Final Parents</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -52075,6 +49851,24 @@
 	int PROTOCOL_STATE_MACHINE___VALIDATE_NO_CYCLES_IN_GENERALIZATION__DIAGNOSTICCHAIN_MAP = STATE_MACHINE___VALIDATE_NO_CYCLES_IN_GENERALIZATION__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Specialize Type</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROTOCOL_STATE_MACHINE___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP = STATE_MACHINE___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Validate Maps To Generalization Set</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROTOCOL_STATE_MACHINE___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP = STATE_MACHINE___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Get All Attributes</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -52336,24 +50130,6 @@
 	int PROTOCOL_STATE_MACHINE___GET_SUPER_CLASSES = STATE_MACHINE___GET_SUPER_CLASSES;
 
 	/**
-	 * The operation id for the '<em>Validate Most One Behaviour</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PROTOCOL_STATE_MACHINE___VALIDATE_MOST_ONE_BEHAVIOUR__DIAGNOSTICCHAIN_MAP = STATE_MACHINE___VALIDATE_MOST_ONE_BEHAVIOUR__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Validate Must Realize</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PROTOCOL_STATE_MACHINE___VALIDATE_MUST_REALIZE__DIAGNOSTICCHAIN_MAP = STATE_MACHINE___VALIDATE_MUST_REALIZE__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Parameters Match</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -52372,6 +50148,24 @@
 	int PROTOCOL_STATE_MACHINE___VALIDATE_FEATURE_OF_CONTEXT_CLASSIFIER__DIAGNOSTICCHAIN_MAP = STATE_MACHINE___VALIDATE_FEATURE_OF_CONTEXT_CLASSIFIER__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Must Realize</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROTOCOL_STATE_MACHINE___VALIDATE_MUST_REALIZE__DIAGNOSTICCHAIN_MAP = STATE_MACHINE___VALIDATE_MUST_REALIZE__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Validate Most One Behaviour</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROTOCOL_STATE_MACHINE___VALIDATE_MOST_ONE_BEHAVIOUR__DIAGNOSTICCHAIN_MAP = STATE_MACHINE___VALIDATE_MOST_ONE_BEHAVIOUR__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Get Context</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -52381,24 +50175,6 @@
 	int PROTOCOL_STATE_MACHINE___GET_CONTEXT = STATE_MACHINE___GET_CONTEXT;
 
 	/**
-	 * The operation id for the '<em>Validate Connection Points</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PROTOCOL_STATE_MACHINE___VALIDATE_CONNECTION_POINTS__DIAGNOSTICCHAIN_MAP = STATE_MACHINE___VALIDATE_CONNECTION_POINTS__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Validate Classifier Context</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PROTOCOL_STATE_MACHINE___VALIDATE_CLASSIFIER_CONTEXT__DIAGNOSTICCHAIN_MAP = STATE_MACHINE___VALIDATE_CLASSIFIER_CONTEXT__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Method</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -52408,6 +50184,15 @@
 	int PROTOCOL_STATE_MACHINE___VALIDATE_METHOD__DIAGNOSTICCHAIN_MAP = STATE_MACHINE___VALIDATE_METHOD__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Classifier Context</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROTOCOL_STATE_MACHINE___VALIDATE_CLASSIFIER_CONTEXT__DIAGNOSTICCHAIN_MAP = STATE_MACHINE___VALIDATE_CLASSIFIER_CONTEXT__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Validate Context Classifier</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -52417,6 +50202,15 @@
 	int PROTOCOL_STATE_MACHINE___VALIDATE_CONTEXT_CLASSIFIER__DIAGNOSTICCHAIN_MAP = STATE_MACHINE___VALIDATE_CONTEXT_CLASSIFIER__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Connection Points</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROTOCOL_STATE_MACHINE___VALIDATE_CONNECTION_POINTS__DIAGNOSTICCHAIN_MAP = STATE_MACHINE___VALIDATE_CONNECTION_POINTS__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>LCA</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -52444,31 +50238,13 @@
 	int PROTOCOL_STATE_MACHINE___IS_REDEFINITION_CONTEXT_VALID__STATEMACHINE = STATE_MACHINE___IS_REDEFINITION_CONTEXT_VALID__STATEMACHINE;
 
 	/**
-	 * The operation id for the '<em>Validate Deep Or Shallow History</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PROTOCOL_STATE_MACHINE___VALIDATE_DEEP_OR_SHALLOW_HISTORY__DIAGNOSTICCHAIN_MAP = STATE_MACHINE_OPERATION_COUNT + 0;
-
-	/**
 	 * The operation id for the '<em>Validate Entry Exit Do</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int PROTOCOL_STATE_MACHINE___VALIDATE_ENTRY_EXIT_DO__DIAGNOSTICCHAIN_MAP = STATE_MACHINE_OPERATION_COUNT + 1;
-
-	/**
-	 * The operation id for the '<em>Validate Ports Connected</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PROTOCOL_STATE_MACHINE___VALIDATE_PORTS_CONNECTED__DIAGNOSTICCHAIN_MAP = STATE_MACHINE_OPERATION_COUNT + 2;
+	int PROTOCOL_STATE_MACHINE___VALIDATE_ENTRY_EXIT_DO__DIAGNOSTICCHAIN_MAP = STATE_MACHINE_OPERATION_COUNT + 0;
 
 	/**
 	 * The operation id for the '<em>Validate Protocol Transitions</em>' operation.
@@ -52477,7 +50253,25 @@
 	 * @generated
 	 * @ordered
 	 */
-	int PROTOCOL_STATE_MACHINE___VALIDATE_PROTOCOL_TRANSITIONS__DIAGNOSTICCHAIN_MAP = STATE_MACHINE_OPERATION_COUNT + 3;
+	int PROTOCOL_STATE_MACHINE___VALIDATE_PROTOCOL_TRANSITIONS__DIAGNOSTICCHAIN_MAP = STATE_MACHINE_OPERATION_COUNT + 1;
+
+	/**
+	 * The operation id for the '<em>Validate Deep Or Shallow History</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROTOCOL_STATE_MACHINE___VALIDATE_DEEP_OR_SHALLOW_HISTORY__DIAGNOSTICCHAIN_MAP = STATE_MACHINE_OPERATION_COUNT + 2;
+
+	/**
+	 * The operation id for the '<em>Validate Ports Connected</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROTOCOL_STATE_MACHINE___VALIDATE_PORTS_CONNECTED__DIAGNOSTICCHAIN_MAP = STATE_MACHINE_OPERATION_COUNT + 3;
 
 	/**
 	 * The number of operations of the '<em>Protocol State Machine</em>' class.
@@ -52948,15 +50742,6 @@
 	int VERTEX___MUST_BE_OWNED = NAMED_ELEMENT___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int VERTEX___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = NAMED_ELEMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -52975,6 +50760,15 @@
 	int VERTEX___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = NAMED_ELEMENT___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int VERTEX___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = NAMED_ELEMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -53587,15 +51381,6 @@
 	int PSEUDOSTATE___MUST_BE_OWNED = VERTEX___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PSEUDOSTATE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = VERTEX___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -53614,6 +51399,15 @@
 	int PSEUDOSTATE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = VERTEX___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PSEUDOSTATE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = VERTEX___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -53731,49 +51525,13 @@
 	int PSEUDOSTATE___GET_OUTGOINGS = VERTEX___GET_OUTGOINGS;
 
 	/**
-	 * The operation id for the '<em>Validate Transitions Outgoing</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PSEUDOSTATE___VALIDATE_TRANSITIONS_OUTGOING__DIAGNOSTICCHAIN_MAP = VERTEX_OPERATION_COUNT + 0;
-
-	/**
-	 * The operation id for the '<em>Validate Choice Vertex</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PSEUDOSTATE___VALIDATE_CHOICE_VERTEX__DIAGNOSTICCHAIN_MAP = VERTEX_OPERATION_COUNT + 1;
-
-	/**
-	 * The operation id for the '<em>Validate Outgoing From Initial</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PSEUDOSTATE___VALIDATE_OUTGOING_FROM_INITIAL__DIAGNOSTICCHAIN_MAP = VERTEX_OPERATION_COUNT + 2;
-
-	/**
-	 * The operation id for the '<em>Validate Join Vertex</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PSEUDOSTATE___VALIDATE_JOIN_VERTEX__DIAGNOSTICCHAIN_MAP = VERTEX_OPERATION_COUNT + 3;
-
-	/**
 	 * The operation id for the '<em>Validate Junction Vertex</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int PSEUDOSTATE___VALIDATE_JUNCTION_VERTEX__DIAGNOSTICCHAIN_MAP = VERTEX_OPERATION_COUNT + 4;
+	int PSEUDOSTATE___VALIDATE_JUNCTION_VERTEX__DIAGNOSTICCHAIN_MAP = VERTEX_OPERATION_COUNT + 0;
 
 	/**
 	 * The operation id for the '<em>Validate History Vertices</em>' operation.
@@ -53782,16 +51540,25 @@
 	 * @generated
 	 * @ordered
 	 */
-	int PSEUDOSTATE___VALIDATE_HISTORY_VERTICES__DIAGNOSTICCHAIN_MAP = VERTEX_OPERATION_COUNT + 5;
+	int PSEUDOSTATE___VALIDATE_HISTORY_VERTICES__DIAGNOSTICCHAIN_MAP = VERTEX_OPERATION_COUNT + 1;
 
 	/**
-	 * The operation id for the '<em>Validate Initial Vertex</em>' operation.
+	 * The operation id for the '<em>Validate Transitions Outgoing</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int PSEUDOSTATE___VALIDATE_INITIAL_VERTEX__DIAGNOSTICCHAIN_MAP = VERTEX_OPERATION_COUNT + 6;
+	int PSEUDOSTATE___VALIDATE_TRANSITIONS_OUTGOING__DIAGNOSTICCHAIN_MAP = VERTEX_OPERATION_COUNT + 2;
+
+	/**
+	 * The operation id for the '<em>Validate Outgoing From Initial</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PSEUDOSTATE___VALIDATE_OUTGOING_FROM_INITIAL__DIAGNOSTICCHAIN_MAP = VERTEX_OPERATION_COUNT + 3;
 
 	/**
 	 * The operation id for the '<em>Validate Fork Vertex</em>' operation.
@@ -53800,7 +51567,34 @@
 	 * @generated
 	 * @ordered
 	 */
-	int PSEUDOSTATE___VALIDATE_FORK_VERTEX__DIAGNOSTICCHAIN_MAP = VERTEX_OPERATION_COUNT + 7;
+	int PSEUDOSTATE___VALIDATE_FORK_VERTEX__DIAGNOSTICCHAIN_MAP = VERTEX_OPERATION_COUNT + 4;
+
+	/**
+	 * The operation id for the '<em>Validate Join Vertex</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PSEUDOSTATE___VALIDATE_JOIN_VERTEX__DIAGNOSTICCHAIN_MAP = VERTEX_OPERATION_COUNT + 5;
+
+	/**
+	 * The operation id for the '<em>Validate Choice Vertex</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PSEUDOSTATE___VALIDATE_CHOICE_VERTEX__DIAGNOSTICCHAIN_MAP = VERTEX_OPERATION_COUNT + 6;
+
+	/**
+	 * The operation id for the '<em>Validate Initial Vertex</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PSEUDOSTATE___VALIDATE_INITIAL_VERTEX__DIAGNOSTICCHAIN_MAP = VERTEX_OPERATION_COUNT + 7;
 
 	/**
 	 * The operation id for the '<em>Validate Transitions Incoming</em>' operation.
@@ -54379,15 +52173,6 @@
 	int REGION___MUST_BE_OWNED = NAMESPACE___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REGION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = NAMESPACE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -54406,6 +52191,15 @@
 	int REGION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = NAMESPACE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REGION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = NAMESPACE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -54640,31 +52434,22 @@
 	int REGION___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT = NAMESPACE_OPERATION_COUNT + 4;
 
 	/**
-	 * The operation id for the '<em>Validate Deep History Vertex</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REGION___VALIDATE_DEEP_HISTORY_VERTEX__DIAGNOSTICCHAIN_MAP = NAMESPACE_OPERATION_COUNT + 5;
-
-	/**
 	 * The operation id for the '<em>Validate Shallow History Vertex</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int REGION___VALIDATE_SHALLOW_HISTORY_VERTEX__DIAGNOSTICCHAIN_MAP = NAMESPACE_OPERATION_COUNT + 6;
+	int REGION___VALIDATE_SHALLOW_HISTORY_VERTEX__DIAGNOSTICCHAIN_MAP = NAMESPACE_OPERATION_COUNT + 5;
 
 	/**
-	 * The operation id for the '<em>Validate Owned</em>' operation.
+	 * The operation id for the '<em>Validate Deep History Vertex</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int REGION___VALIDATE_OWNED__DIAGNOSTICCHAIN_MAP = NAMESPACE_OPERATION_COUNT + 7;
+	int REGION___VALIDATE_DEEP_HISTORY_VERTEX__DIAGNOSTICCHAIN_MAP = NAMESPACE_OPERATION_COUNT + 6;
 
 	/**
 	 * The operation id for the '<em>Validate Initial Vertex</em>' operation.
@@ -54673,7 +52458,16 @@
 	 * @generated
 	 * @ordered
 	 */
-	int REGION___VALIDATE_INITIAL_VERTEX__DIAGNOSTICCHAIN_MAP = NAMESPACE_OPERATION_COUNT + 8;
+	int REGION___VALIDATE_INITIAL_VERTEX__DIAGNOSTICCHAIN_MAP = NAMESPACE_OPERATION_COUNT + 7;
+
+	/**
+	 * The operation id for the '<em>Validate Owned</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REGION___VALIDATE_OWNED__DIAGNOSTICCHAIN_MAP = NAMESPACE_OPERATION_COUNT + 8;
 
 	/**
 	 * The operation id for the '<em>Belongs To PSM</em>' operation.
@@ -55387,15 +53181,6 @@
 	int STATE___MUST_BE_OWNED = NAMESPACE___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int STATE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = NAMESPACE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -55414,6 +53199,15 @@
 	int STATE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = NAMESPACE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STATE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = NAMESPACE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -55684,22 +53478,13 @@
 	int STATE___VALIDATE_ENTRY_OR_EXIT__DIAGNOSTICCHAIN_MAP = NAMESPACE_OPERATION_COUNT + 8;
 
 	/**
-	 * The operation id for the '<em>Validate Submachine States</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int STATE___VALIDATE_SUBMACHINE_STATES__DIAGNOSTICCHAIN_MAP = NAMESPACE_OPERATION_COUNT + 9;
-
-	/**
 	 * The operation id for the '<em>Validate Composite States</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int STATE___VALIDATE_COMPOSITE_STATES__DIAGNOSTICCHAIN_MAP = NAMESPACE_OPERATION_COUNT + 10;
+	int STATE___VALIDATE_COMPOSITE_STATES__DIAGNOSTICCHAIN_MAP = NAMESPACE_OPERATION_COUNT + 9;
 
 	/**
 	 * The operation id for the '<em>Validate Destinations Or Sources Of Transitions</em>' operation.
@@ -55708,7 +53493,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int STATE___VALIDATE_DESTINATIONS_OR_SOURCES_OF_TRANSITIONS__DIAGNOSTICCHAIN_MAP = NAMESPACE_OPERATION_COUNT + 11;
+	int STATE___VALIDATE_DESTINATIONS_OR_SOURCES_OF_TRANSITIONS__DIAGNOSTICCHAIN_MAP = NAMESPACE_OPERATION_COUNT + 10;
 
 	/**
 	 * The operation id for the '<em>Validate Submachine Or Regions</em>' operation.
@@ -55717,7 +53502,16 @@
 	 * @generated
 	 * @ordered
 	 */
-	int STATE___VALIDATE_SUBMACHINE_OR_REGIONS__DIAGNOSTICCHAIN_MAP = NAMESPACE_OPERATION_COUNT + 12;
+	int STATE___VALIDATE_SUBMACHINE_OR_REGIONS__DIAGNOSTICCHAIN_MAP = NAMESPACE_OPERATION_COUNT + 11;
+
+	/**
+	 * The operation id for the '<em>Validate Submachine States</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STATE___VALIDATE_SUBMACHINE_STATES__DIAGNOSTICCHAIN_MAP = NAMESPACE_OPERATION_COUNT + 12;
 
 	/**
 	 * The operation id for the '<em>Is Composite</em>' operation.
@@ -56269,15 +54063,6 @@
 	int CONNECTION_POINT_REFERENCE___MUST_BE_OWNED = VERTEX___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONNECTION_POINT_REFERENCE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = VERTEX___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -56296,6 +54081,15 @@
 	int CONNECTION_POINT_REFERENCE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = VERTEX___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONNECTION_POINT_REFERENCE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = VERTEX___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -56413,22 +54207,22 @@
 	int CONNECTION_POINT_REFERENCE___GET_OUTGOINGS = VERTEX___GET_OUTGOINGS;
 
 	/**
-	 * The operation id for the '<em>Validate Exit Pseudostates</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONNECTION_POINT_REFERENCE___VALIDATE_EXIT_PSEUDOSTATES__DIAGNOSTICCHAIN_MAP = VERTEX_OPERATION_COUNT + 0;
-
-	/**
 	 * The operation id for the '<em>Validate Entry Pseudostates</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int CONNECTION_POINT_REFERENCE___VALIDATE_ENTRY_PSEUDOSTATES__DIAGNOSTICCHAIN_MAP = VERTEX_OPERATION_COUNT + 1;
+	int CONNECTION_POINT_REFERENCE___VALIDATE_ENTRY_PSEUDOSTATES__DIAGNOSTICCHAIN_MAP = VERTEX_OPERATION_COUNT + 0;
+
+	/**
+	 * The operation id for the '<em>Validate Exit Pseudostates</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONNECTION_POINT_REFERENCE___VALIDATE_EXIT_PSEUDOSTATES__DIAGNOSTICCHAIN_MAP = VERTEX_OPERATION_COUNT + 1;
 
 	/**
 	 * The number of operations of the '<em>Connection Point Reference</em>' class.
@@ -56890,15 +54684,6 @@
 	int TRIGGER___MUST_BE_OWNED = NAMED_ELEMENT___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TRIGGER___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = NAMED_ELEMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -56917,6 +54702,15 @@
 	int TRIGGER___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = NAMED_ELEMENT___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TRIGGER___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = NAMED_ELEMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -57466,15 +55260,6 @@
 	int EVENT___MUST_BE_OWNED = PACKAGEABLE_ELEMENT___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int EVENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = PACKAGEABLE_ELEMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -57493,6 +55278,15 @@
 	int EVENT___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = PACKAGEABLE_ELEMENT___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EVENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = PACKAGEABLE_ELEMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -57862,15 +55656,6 @@
 	int PORT__DEPLOYMENT = PROPERTY__DEPLOYMENT;
 
 	/**
-	 * The feature id for the '<em><b>Datatype</b></em>' container reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PORT__DATATYPE = PROPERTY__DATATYPE;
-
-	/**
 	 * The feature id for the '<em><b>Interface</b></em>' container reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -57880,6 +55665,15 @@
 	int PORT__INTERFACE = PROPERTY__INTERFACE;
 
 	/**
+	 * The feature id for the '<em><b>Datatype</b></em>' container reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PORT__DATATYPE = PROPERTY__DATATYPE;
+
+	/**
 	 * The feature id for the '<em><b>Aggregation</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -58420,15 +56214,6 @@
 	int PORT___MUST_BE_OWNED = PROPERTY___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PORT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = PROPERTY___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -58447,6 +56232,15 @@
 	int PORT___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = PROPERTY___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PORT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = PROPERTY___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -58582,15 +56376,6 @@
 	int PORT___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT = PROPERTY___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT;
 
 	/**
-	 * The operation id for the '<em>Validate Upper Ge Lower</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PORT___VALIDATE_UPPER_GE_LOWER__DIAGNOSTICCHAIN_MAP = PROPERTY___VALIDATE_UPPER_GE_LOWER__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Lower Ge0</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -58600,13 +56385,13 @@
 	int PORT___VALIDATE_LOWER_GE0__DIAGNOSTICCHAIN_MAP = PROPERTY___VALIDATE_LOWER_GE0__DIAGNOSTICCHAIN_MAP;
 
 	/**
-	 * The operation id for the '<em>Validate Value Specification No Side Effects</em>' operation.
+	 * The operation id for the '<em>Validate Upper Ge Lower</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int PORT___VALIDATE_VALUE_SPECIFICATION_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP = PROPERTY___VALIDATE_VALUE_SPECIFICATION_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP;
+	int PORT___VALIDATE_UPPER_GE_LOWER__DIAGNOSTICCHAIN_MAP = PROPERTY___VALIDATE_UPPER_GE_LOWER__DIAGNOSTICCHAIN_MAP;
 
 	/**
 	 * The operation id for the '<em>Validate Value Specification Constant</em>' operation.
@@ -58618,6 +56403,15 @@
 	int PORT___VALIDATE_VALUE_SPECIFICATION_CONSTANT__DIAGNOSTICCHAIN_MAP = PROPERTY___VALIDATE_VALUE_SPECIFICATION_CONSTANT__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Value Specification No Side Effects</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PORT___VALIDATE_VALUE_SPECIFICATION_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP = PROPERTY___VALIDATE_VALUE_SPECIFICATION_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Set Lower</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -58753,40 +56547,13 @@
 	int PORT___GET_DEPLOYED_ELEMENTS = PROPERTY___GET_DEPLOYED_ELEMENTS;
 
 	/**
-	 * The operation id for the '<em>Validate Subsetting Context Conforms</em>' operation.
+	 * The operation id for the '<em>Validate Subsetted Property Names</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int PORT___VALIDATE_SUBSETTING_CONTEXT_CONFORMS__DIAGNOSTICCHAIN_MAP = PROPERTY___VALIDATE_SUBSETTING_CONTEXT_CONFORMS__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Validate Derived Union Is Read Only</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PORT___VALIDATE_DERIVED_UNION_IS_READ_ONLY__DIAGNOSTICCHAIN_MAP = PROPERTY___VALIDATE_DERIVED_UNION_IS_READ_ONLY__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Validate Multiplicity Of Composite</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PORT___VALIDATE_MULTIPLICITY_OF_COMPOSITE__DIAGNOSTICCHAIN_MAP = PROPERTY___VALIDATE_MULTIPLICITY_OF_COMPOSITE__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Validate Redefined Property Inherited</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PORT___VALIDATE_REDEFINED_PROPERTY_INHERITED__DIAGNOSTICCHAIN_MAP = PROPERTY___VALIDATE_REDEFINED_PROPERTY_INHERITED__DIAGNOSTICCHAIN_MAP;
+	int PORT___VALIDATE_SUBSETTED_PROPERTY_NAMES__DIAGNOSTICCHAIN_MAP = PROPERTY___VALIDATE_SUBSETTED_PROPERTY_NAMES__DIAGNOSTICCHAIN_MAP;
 
 	/**
 	 * The operation id for the '<em>Validate Subsetting Rules</em>' operation.
@@ -58798,6 +56565,15 @@
 	int PORT___VALIDATE_SUBSETTING_RULES__DIAGNOSTICCHAIN_MAP = PROPERTY___VALIDATE_SUBSETTING_RULES__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Multiplicity Of Composite</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PORT___VALIDATE_MULTIPLICITY_OF_COMPOSITE__DIAGNOSTICCHAIN_MAP = PROPERTY___VALIDATE_MULTIPLICITY_OF_COMPOSITE__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Validate Binding To Attribute</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -58807,13 +56583,22 @@
 	int PORT___VALIDATE_BINDING_TO_ATTRIBUTE__DIAGNOSTICCHAIN_MAP = PROPERTY___VALIDATE_BINDING_TO_ATTRIBUTE__DIAGNOSTICCHAIN_MAP;
 
 	/**
-	 * The operation id for the '<em>Validate Derived Union Is Derived</em>' operation.
+	 * The operation id for the '<em>Validate Redefined Property Inherited</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int PORT___VALIDATE_DERIVED_UNION_IS_DERIVED__DIAGNOSTICCHAIN_MAP = PROPERTY___VALIDATE_DERIVED_UNION_IS_DERIVED__DIAGNOSTICCHAIN_MAP;
+	int PORT___VALIDATE_REDEFINED_PROPERTY_INHERITED__DIAGNOSTICCHAIN_MAP = PROPERTY___VALIDATE_REDEFINED_PROPERTY_INHERITED__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Validate Subsetting Context Conforms</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PORT___VALIDATE_SUBSETTING_CONTEXT_CONFORMS__DIAGNOSTICCHAIN_MAP = PROPERTY___VALIDATE_SUBSETTING_CONTEXT_CONFORMS__DIAGNOSTICCHAIN_MAP;
 
 	/**
 	 * The operation id for the '<em>Validate Deployment Target</em>' operation.
@@ -58825,13 +56610,22 @@
 	int PORT___VALIDATE_DEPLOYMENT_TARGET__DIAGNOSTICCHAIN_MAP = PROPERTY___VALIDATE_DEPLOYMENT_TARGET__DIAGNOSTICCHAIN_MAP;
 
 	/**
-	 * The operation id for the '<em>Validate Subsetted Property Names</em>' operation.
+	 * The operation id for the '<em>Validate Derived Union Is Derived</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int PORT___VALIDATE_SUBSETTED_PROPERTY_NAMES__DIAGNOSTICCHAIN_MAP = PROPERTY___VALIDATE_SUBSETTED_PROPERTY_NAMES__DIAGNOSTICCHAIN_MAP;
+	int PORT___VALIDATE_DERIVED_UNION_IS_DERIVED__DIAGNOSTICCHAIN_MAP = PROPERTY___VALIDATE_DERIVED_UNION_IS_DERIVED__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Validate Derived Union Is Read Only</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PORT___VALIDATE_DERIVED_UNION_IS_READ_ONLY__DIAGNOSTICCHAIN_MAP = PROPERTY___VALIDATE_DERIVED_UNION_IS_READ_ONLY__DIAGNOSTICCHAIN_MAP;
 
 	/**
 	 * The operation id for the '<em>Get Other End</em>' operation.
@@ -59005,13 +56799,13 @@
 	int PORT___SUBSETTING_CONTEXT = PROPERTY___SUBSETTING_CONTEXT;
 
 	/**
-	 * The operation id for the '<em>Validate Port Destroyed</em>' operation.
+	 * The operation id for the '<em>Validate Default Value</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int PORT___VALIDATE_PORT_DESTROYED__DIAGNOSTICCHAIN_MAP = PROPERTY_OPERATION_COUNT + 0;
+	int PORT___VALIDATE_DEFAULT_VALUE__DIAGNOSTICCHAIN_MAP = PROPERTY_OPERATION_COUNT + 0;
 
 	/**
 	 * The operation id for the '<em>Validate Port Aggregation</em>' operation.
@@ -59023,13 +56817,13 @@
 	int PORT___VALIDATE_PORT_AGGREGATION__DIAGNOSTICCHAIN_MAP = PROPERTY_OPERATION_COUNT + 1;
 
 	/**
-	 * The operation id for the '<em>Validate Default Value</em>' operation.
+	 * The operation id for the '<em>Validate Port Destroyed</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int PORT___VALIDATE_DEFAULT_VALUE__DIAGNOSTICCHAIN_MAP = PROPERTY_OPERATION_COUNT + 2;
+	int PORT___VALIDATE_PORT_DESTROYED__DIAGNOSTICCHAIN_MAP = PROPERTY_OPERATION_COUNT + 2;
 
 	/**
 	 * The operation id for the '<em>Get Provideds</em>' operation.
@@ -59065,6 +56859,663 @@
 	 * @generated
 	 * @ordered
 	 */
+	int CONSTRAINT__EANNOTATIONS = PACKAGEABLE_ELEMENT__EANNOTATIONS;
+
+	/**
+	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONSTRAINT__OWNED_COMMENT = PACKAGEABLE_ELEMENT__OWNED_COMMENT;
+
+	/**
+	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONSTRAINT__OWNED_ELEMENT = PACKAGEABLE_ELEMENT__OWNED_ELEMENT;
+
+	/**
+	 * The feature id for the '<em><b>Owner</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONSTRAINT__OWNER = PACKAGEABLE_ELEMENT__OWNER;
+
+	/**
+	 * The feature id for the '<em><b>Client Dependency</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONSTRAINT__CLIENT_DEPENDENCY = PACKAGEABLE_ELEMENT__CLIENT_DEPENDENCY;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONSTRAINT__NAME = PACKAGEABLE_ELEMENT__NAME;
+
+	/**
+	 * The feature id for the '<em><b>Name Expression</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONSTRAINT__NAME_EXPRESSION = PACKAGEABLE_ELEMENT__NAME_EXPRESSION;
+
+	/**
+	 * The feature id for the '<em><b>Namespace</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONSTRAINT__NAMESPACE = PACKAGEABLE_ELEMENT__NAMESPACE;
+
+	/**
+	 * The feature id for the '<em><b>Qualified Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONSTRAINT__QUALIFIED_NAME = PACKAGEABLE_ELEMENT__QUALIFIED_NAME;
+
+	/**
+	 * The feature id for the '<em><b>Visibility</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONSTRAINT__VISIBILITY = PACKAGEABLE_ELEMENT__VISIBILITY;
+
+	/**
+	 * The feature id for the '<em><b>Owning Template Parameter</b></em>' container reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONSTRAINT__OWNING_TEMPLATE_PARAMETER = PACKAGEABLE_ELEMENT__OWNING_TEMPLATE_PARAMETER;
+
+	/**
+	 * The feature id for the '<em><b>Template Parameter</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONSTRAINT__TEMPLATE_PARAMETER = PACKAGEABLE_ELEMENT__TEMPLATE_PARAMETER;
+
+	/**
+	 * The feature id for the '<em><b>Constrained Element</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONSTRAINT__CONSTRAINED_ELEMENT = PACKAGEABLE_ELEMENT_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Context</b></em>' container reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONSTRAINT__CONTEXT = PACKAGEABLE_ELEMENT_FEATURE_COUNT + 1;
+
+	/**
+	 * The feature id for the '<em><b>Specification</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONSTRAINT__SPECIFICATION = PACKAGEABLE_ELEMENT_FEATURE_COUNT + 2;
+
+	/**
+	 * The number of structural features of the '<em>Constraint</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONSTRAINT_FEATURE_COUNT = PACKAGEABLE_ELEMENT_FEATURE_COUNT + 3;
+
+	/**
+	 * The operation id for the '<em>Get EAnnotation</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONSTRAINT___GET_EANNOTATION__STRING = PACKAGEABLE_ELEMENT___GET_EANNOTATION__STRING;
+
+	/**
+	 * The operation id for the '<em>Validate Has Owner</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONSTRAINT___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP = PACKAGEABLE_ELEMENT___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Validate Not Own Self</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONSTRAINT___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP = PACKAGEABLE_ELEMENT___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Add Keyword</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONSTRAINT___ADD_KEYWORD__STRING = PACKAGEABLE_ELEMENT___ADD_KEYWORD__STRING;
+
+	/**
+	 * The operation id for the '<em>Apply Stereotype</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONSTRAINT___APPLY_STEREOTYPE__STEREOTYPE = PACKAGEABLE_ELEMENT___APPLY_STEREOTYPE__STEREOTYPE;
+
+	/**
+	 * The operation id for the '<em>Create EAnnotation</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONSTRAINT___CREATE_EANNOTATION__STRING = PACKAGEABLE_ELEMENT___CREATE_EANNOTATION__STRING;
+
+	/**
+	 * The operation id for the '<em>Destroy</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONSTRAINT___DESTROY = PACKAGEABLE_ELEMENT___DESTROY;
+
+	/**
+	 * The operation id for the '<em>Get Keywords</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONSTRAINT___GET_KEYWORDS = PACKAGEABLE_ELEMENT___GET_KEYWORDS;
+
+	/**
+	 * The operation id for the '<em>Get Applicable Stereotype</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONSTRAINT___GET_APPLICABLE_STEREOTYPE__STRING = PACKAGEABLE_ELEMENT___GET_APPLICABLE_STEREOTYPE__STRING;
+
+	/**
+	 * The operation id for the '<em>Get Applicable Stereotypes</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONSTRAINT___GET_APPLICABLE_STEREOTYPES = PACKAGEABLE_ELEMENT___GET_APPLICABLE_STEREOTYPES;
+
+	/**
+	 * The operation id for the '<em>Get Applied Stereotype</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONSTRAINT___GET_APPLIED_STEREOTYPE__STRING = PACKAGEABLE_ELEMENT___GET_APPLIED_STEREOTYPE__STRING;
+
+	/**
+	 * The operation id for the '<em>Get Applied Stereotypes</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONSTRAINT___GET_APPLIED_STEREOTYPES = PACKAGEABLE_ELEMENT___GET_APPLIED_STEREOTYPES;
+
+	/**
+	 * The operation id for the '<em>Get Applied Substereotype</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONSTRAINT___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING = PACKAGEABLE_ELEMENT___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING;
+
+	/**
+	 * The operation id for the '<em>Get Applied Substereotypes</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONSTRAINT___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE = PACKAGEABLE_ELEMENT___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE;
+
+	/**
+	 * The operation id for the '<em>Get Model</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONSTRAINT___GET_MODEL = PACKAGEABLE_ELEMENT___GET_MODEL;
+
+	/**
+	 * The operation id for the '<em>Get Nearest Package</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONSTRAINT___GET_NEAREST_PACKAGE = PACKAGEABLE_ELEMENT___GET_NEAREST_PACKAGE;
+
+	/**
+	 * The operation id for the '<em>Get Relationships</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONSTRAINT___GET_RELATIONSHIPS = PACKAGEABLE_ELEMENT___GET_RELATIONSHIPS;
+
+	/**
+	 * The operation id for the '<em>Get Relationships</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONSTRAINT___GET_RELATIONSHIPS__ECLASS = PACKAGEABLE_ELEMENT___GET_RELATIONSHIPS__ECLASS;
+
+	/**
+	 * The operation id for the '<em>Get Required Stereotype</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONSTRAINT___GET_REQUIRED_STEREOTYPE__STRING = PACKAGEABLE_ELEMENT___GET_REQUIRED_STEREOTYPE__STRING;
+
+	/**
+	 * The operation id for the '<em>Get Required Stereotypes</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONSTRAINT___GET_REQUIRED_STEREOTYPES = PACKAGEABLE_ELEMENT___GET_REQUIRED_STEREOTYPES;
+
+	/**
+	 * The operation id for the '<em>Get Source Directed Relationships</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONSTRAINT___GET_SOURCE_DIRECTED_RELATIONSHIPS = PACKAGEABLE_ELEMENT___GET_SOURCE_DIRECTED_RELATIONSHIPS;
+
+	/**
+	 * The operation id for the '<em>Get Source Directed Relationships</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONSTRAINT___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS = PACKAGEABLE_ELEMENT___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS;
+
+	/**
+	 * The operation id for the '<em>Get Stereotype Application</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONSTRAINT___GET_STEREOTYPE_APPLICATION__STEREOTYPE = PACKAGEABLE_ELEMENT___GET_STEREOTYPE_APPLICATION__STEREOTYPE;
+
+	/**
+	 * The operation id for the '<em>Get Stereotype Applications</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONSTRAINT___GET_STEREOTYPE_APPLICATIONS = PACKAGEABLE_ELEMENT___GET_STEREOTYPE_APPLICATIONS;
+
+	/**
+	 * The operation id for the '<em>Get Target Directed Relationships</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONSTRAINT___GET_TARGET_DIRECTED_RELATIONSHIPS = PACKAGEABLE_ELEMENT___GET_TARGET_DIRECTED_RELATIONSHIPS;
+
+	/**
+	 * The operation id for the '<em>Get Target Directed Relationships</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONSTRAINT___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS = PACKAGEABLE_ELEMENT___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS;
+
+	/**
+	 * The operation id for the '<em>Get Value</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONSTRAINT___GET_VALUE__STEREOTYPE_STRING = PACKAGEABLE_ELEMENT___GET_VALUE__STEREOTYPE_STRING;
+
+	/**
+	 * The operation id for the '<em>Has Keyword</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONSTRAINT___HAS_KEYWORD__STRING = PACKAGEABLE_ELEMENT___HAS_KEYWORD__STRING;
+
+	/**
+	 * The operation id for the '<em>Has Value</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONSTRAINT___HAS_VALUE__STEREOTYPE_STRING = PACKAGEABLE_ELEMENT___HAS_VALUE__STEREOTYPE_STRING;
+
+	/**
+	 * The operation id for the '<em>Is Stereotype Applicable</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONSTRAINT___IS_STEREOTYPE_APPLICABLE__STEREOTYPE = PACKAGEABLE_ELEMENT___IS_STEREOTYPE_APPLICABLE__STEREOTYPE;
+
+	/**
+	 * The operation id for the '<em>Is Stereotype Applied</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONSTRAINT___IS_STEREOTYPE_APPLIED__STEREOTYPE = PACKAGEABLE_ELEMENT___IS_STEREOTYPE_APPLIED__STEREOTYPE;
+
+	/**
+	 * The operation id for the '<em>Is Stereotype Required</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONSTRAINT___IS_STEREOTYPE_REQUIRED__STEREOTYPE = PACKAGEABLE_ELEMENT___IS_STEREOTYPE_REQUIRED__STEREOTYPE;
+
+	/**
+	 * The operation id for the '<em>Remove Keyword</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONSTRAINT___REMOVE_KEYWORD__STRING = PACKAGEABLE_ELEMENT___REMOVE_KEYWORD__STRING;
+
+	/**
+	 * The operation id for the '<em>Set Value</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONSTRAINT___SET_VALUE__STEREOTYPE_STRING_OBJECT = PACKAGEABLE_ELEMENT___SET_VALUE__STEREOTYPE_STRING_OBJECT;
+
+	/**
+	 * The operation id for the '<em>Unapply Stereotype</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONSTRAINT___UNAPPLY_STEREOTYPE__STEREOTYPE = PACKAGEABLE_ELEMENT___UNAPPLY_STEREOTYPE__STEREOTYPE;
+
+	/**
+	 * The operation id for the '<em>All Owned Elements</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONSTRAINT___ALL_OWNED_ELEMENTS = PACKAGEABLE_ELEMENT___ALL_OWNED_ELEMENTS;
+
+	/**
+	 * The operation id for the '<em>Must Be Owned</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONSTRAINT___MUST_BE_OWNED = PACKAGEABLE_ELEMENT___MUST_BE_OWNED;
+
+	/**
+	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONSTRAINT___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = PACKAGEABLE_ELEMENT___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Validate Has No Qualified Name</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONSTRAINT___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = PACKAGEABLE_ELEMENT___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONSTRAINT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = PACKAGEABLE_ELEMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Create Dependency</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONSTRAINT___CREATE_DEPENDENCY__NAMEDELEMENT = PACKAGEABLE_ELEMENT___CREATE_DEPENDENCY__NAMEDELEMENT;
+
+	/**
+	 * The operation id for the '<em>Create Usage</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONSTRAINT___CREATE_USAGE__NAMEDELEMENT = PACKAGEABLE_ELEMENT___CREATE_USAGE__NAMEDELEMENT;
+
+	/**
+	 * The operation id for the '<em>Get Label</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONSTRAINT___GET_LABEL = PACKAGEABLE_ELEMENT___GET_LABEL;
+
+	/**
+	 * The operation id for the '<em>Get Label</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONSTRAINT___GET_LABEL__BOOLEAN = PACKAGEABLE_ELEMENT___GET_LABEL__BOOLEAN;
+
+	/**
+	 * The operation id for the '<em>All Namespaces</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONSTRAINT___ALL_NAMESPACES = PACKAGEABLE_ELEMENT___ALL_NAMESPACES;
+
+	/**
+	 * The operation id for the '<em>All Owning Packages</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONSTRAINT___ALL_OWNING_PACKAGES = PACKAGEABLE_ELEMENT___ALL_OWNING_PACKAGES;
+
+	/**
+	 * The operation id for the '<em>Is Distinguishable From</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONSTRAINT___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE = PACKAGEABLE_ELEMENT___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE;
+
+	/**
+	 * The operation id for the '<em>Get Namespace</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONSTRAINT___GET_NAMESPACE = PACKAGEABLE_ELEMENT___GET_NAMESPACE;
+
+	/**
+	 * The operation id for the '<em>Get Qualified Name</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONSTRAINT___GET_QUALIFIED_NAME = PACKAGEABLE_ELEMENT___GET_QUALIFIED_NAME;
+
+	/**
+	 * The operation id for the '<em>Separator</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONSTRAINT___SEPARATOR = PACKAGEABLE_ELEMENT___SEPARATOR;
+
+	/**
+	 * The operation id for the '<em>Is Compatible With</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONSTRAINT___IS_COMPATIBLE_WITH__PARAMETERABLEELEMENT = PACKAGEABLE_ELEMENT___IS_COMPATIBLE_WITH__PARAMETERABLEELEMENT;
+
+	/**
+	 * The operation id for the '<em>Is Template Parameter</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONSTRAINT___IS_TEMPLATE_PARAMETER = PACKAGEABLE_ELEMENT___IS_TEMPLATE_PARAMETER;
+
+	/**
+	 * The operation id for the '<em>Validate Not Apply To Self</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONSTRAINT___VALIDATE_NOT_APPLY_TO_SELF__DIAGNOSTICCHAIN_MAP = PACKAGEABLE_ELEMENT_OPERATION_COUNT + 0;
+
+	/**
+	 * The operation id for the '<em>Validate No Side Effects</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONSTRAINT___VALIDATE_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP = PACKAGEABLE_ELEMENT_OPERATION_COUNT + 1;
+
+	/**
+	 * The operation id for the '<em>Validate Boolean Value</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONSTRAINT___VALIDATE_BOOLEAN_VALUE__DIAGNOSTICCHAIN_MAP = PACKAGEABLE_ELEMENT_OPERATION_COUNT + 2;
+
+	/**
+	 * The operation id for the '<em>Validate Value Specification Boolean</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONSTRAINT___VALIDATE_VALUE_SPECIFICATION_BOOLEAN__DIAGNOSTICCHAIN_MAP = PACKAGEABLE_ELEMENT_OPERATION_COUNT + 3;
+
+	/**
+	 * The number of operations of the '<em>Constraint</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONSTRAINT_OPERATION_COUNT = PACKAGEABLE_ELEMENT_OPERATION_COUNT + 4;
+
+	/**
+	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
 	int TRANSITION__EANNOTATIONS = NAMESPACE__EANNOTATIONS;
 
 	/**
@@ -59644,15 +58095,6 @@
 	int TRANSITION___MUST_BE_OWNED = NAMESPACE___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TRANSITION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = NAMESPACE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -59671,6 +58113,15 @@
 	int TRANSITION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = NAMESPACE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TRANSITION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = NAMESPACE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -59905,85 +58356,13 @@
 	int TRANSITION___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT = NAMESPACE_OPERATION_COUNT + 4;
 
 	/**
-	 * The operation id for the '<em>Validate State Is External</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TRANSITION___VALIDATE_STATE_IS_EXTERNAL__DIAGNOSTICCHAIN_MAP = NAMESPACE_OPERATION_COUNT + 5;
-
-	/**
-	 * The operation id for the '<em>Validate Join Segment Guards</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TRANSITION___VALIDATE_JOIN_SEGMENT_GUARDS__DIAGNOSTICCHAIN_MAP = NAMESPACE_OPERATION_COUNT + 6;
-
-	/**
-	 * The operation id for the '<em>Validate State Is Internal</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TRANSITION___VALIDATE_STATE_IS_INTERNAL__DIAGNOSTICCHAIN_MAP = NAMESPACE_OPERATION_COUNT + 7;
-
-	/**
-	 * The operation id for the '<em>Validate Outgoing Pseudostates</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TRANSITION___VALIDATE_OUTGOING_PSEUDOSTATES__DIAGNOSTICCHAIN_MAP = NAMESPACE_OPERATION_COUNT + 8;
-
-	/**
-	 * The operation id for the '<em>Validate Join Segment State</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TRANSITION___VALIDATE_JOIN_SEGMENT_STATE__DIAGNOSTICCHAIN_MAP = NAMESPACE_OPERATION_COUNT + 9;
-
-	/**
-	 * The operation id for the '<em>Validate Fork Segment State</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TRANSITION___VALIDATE_FORK_SEGMENT_STATE__DIAGNOSTICCHAIN_MAP = NAMESPACE_OPERATION_COUNT + 10;
-
-	/**
-	 * The operation id for the '<em>Validate Signatures Compatible</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TRANSITION___VALIDATE_SIGNATURES_COMPATIBLE__DIAGNOSTICCHAIN_MAP = NAMESPACE_OPERATION_COUNT + 11;
-
-	/**
 	 * The operation id for the '<em>Validate State Is Local</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int TRANSITION___VALIDATE_STATE_IS_LOCAL__DIAGNOSTICCHAIN_MAP = NAMESPACE_OPERATION_COUNT + 12;
-
-	/**
-	 * The operation id for the '<em>Validate Initial Transition</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TRANSITION___VALIDATE_INITIAL_TRANSITION__DIAGNOSTICCHAIN_MAP = NAMESPACE_OPERATION_COUNT + 13;
+	int TRANSITION___VALIDATE_STATE_IS_LOCAL__DIAGNOSTICCHAIN_MAP = NAMESPACE_OPERATION_COUNT + 5;
 
 	/**
 	 * The operation id for the '<em>Validate Fork Segment Guards</em>' operation.
@@ -59992,7 +58371,79 @@
 	 * @generated
 	 * @ordered
 	 */
-	int TRANSITION___VALIDATE_FORK_SEGMENT_GUARDS__DIAGNOSTICCHAIN_MAP = NAMESPACE_OPERATION_COUNT + 14;
+	int TRANSITION___VALIDATE_FORK_SEGMENT_GUARDS__DIAGNOSTICCHAIN_MAP = NAMESPACE_OPERATION_COUNT + 6;
+
+	/**
+	 * The operation id for the '<em>Validate Join Segment State</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TRANSITION___VALIDATE_JOIN_SEGMENT_STATE__DIAGNOSTICCHAIN_MAP = NAMESPACE_OPERATION_COUNT + 7;
+
+	/**
+	 * The operation id for the '<em>Validate Initial Transition</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TRANSITION___VALIDATE_INITIAL_TRANSITION__DIAGNOSTICCHAIN_MAP = NAMESPACE_OPERATION_COUNT + 8;
+
+	/**
+	 * The operation id for the '<em>Validate Outgoing Pseudostates</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TRANSITION___VALIDATE_OUTGOING_PSEUDOSTATES__DIAGNOSTICCHAIN_MAP = NAMESPACE_OPERATION_COUNT + 9;
+
+	/**
+	 * The operation id for the '<em>Validate Signatures Compatible</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TRANSITION___VALIDATE_SIGNATURES_COMPATIBLE__DIAGNOSTICCHAIN_MAP = NAMESPACE_OPERATION_COUNT + 10;
+
+	/**
+	 * The operation id for the '<em>Validate State Is Internal</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TRANSITION___VALIDATE_STATE_IS_INTERNAL__DIAGNOSTICCHAIN_MAP = NAMESPACE_OPERATION_COUNT + 11;
+
+	/**
+	 * The operation id for the '<em>Validate Join Segment Guards</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TRANSITION___VALIDATE_JOIN_SEGMENT_GUARDS__DIAGNOSTICCHAIN_MAP = NAMESPACE_OPERATION_COUNT + 12;
+
+	/**
+	 * The operation id for the '<em>Validate Fork Segment State</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TRANSITION___VALIDATE_FORK_SEGMENT_STATE__DIAGNOSTICCHAIN_MAP = NAMESPACE_OPERATION_COUNT + 13;
+
+	/**
+	 * The operation id for the '<em>Validate State Is External</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TRANSITION___VALIDATE_STATE_IS_EXTERNAL__DIAGNOSTICCHAIN_MAP = NAMESPACE_OPERATION_COUNT + 14;
 
 	/**
 	 * The operation id for the '<em>Containing State Machine</em>' operation.
@@ -60460,6 +58911,2868 @@
 	 * @generated
 	 * @ordered
 	 */
+	int PARAMETER__EANNOTATIONS = CONNECTABLE_ELEMENT__EANNOTATIONS;
+
+	/**
+	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER__OWNED_COMMENT = CONNECTABLE_ELEMENT__OWNED_COMMENT;
+
+	/**
+	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER__OWNED_ELEMENT = CONNECTABLE_ELEMENT__OWNED_ELEMENT;
+
+	/**
+	 * The feature id for the '<em><b>Owner</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER__OWNER = CONNECTABLE_ELEMENT__OWNER;
+
+	/**
+	 * The feature id for the '<em><b>Client Dependency</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER__CLIENT_DEPENDENCY = CONNECTABLE_ELEMENT__CLIENT_DEPENDENCY;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER__NAME = CONNECTABLE_ELEMENT__NAME;
+
+	/**
+	 * The feature id for the '<em><b>Name Expression</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER__NAME_EXPRESSION = CONNECTABLE_ELEMENT__NAME_EXPRESSION;
+
+	/**
+	 * The feature id for the '<em><b>Namespace</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER__NAMESPACE = CONNECTABLE_ELEMENT__NAMESPACE;
+
+	/**
+	 * The feature id for the '<em><b>Qualified Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER__QUALIFIED_NAME = CONNECTABLE_ELEMENT__QUALIFIED_NAME;
+
+	/**
+	 * The feature id for the '<em><b>Visibility</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER__VISIBILITY = CONNECTABLE_ELEMENT__VISIBILITY;
+
+	/**
+	 * The feature id for the '<em><b>Type</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER__TYPE = CONNECTABLE_ELEMENT__TYPE;
+
+	/**
+	 * The feature id for the '<em><b>Owning Template Parameter</b></em>' container reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER__OWNING_TEMPLATE_PARAMETER = CONNECTABLE_ELEMENT__OWNING_TEMPLATE_PARAMETER;
+
+	/**
+	 * The feature id for the '<em><b>Template Parameter</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER__TEMPLATE_PARAMETER = CONNECTABLE_ELEMENT__TEMPLATE_PARAMETER;
+
+	/**
+	 * The feature id for the '<em><b>End</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER__END = CONNECTABLE_ELEMENT__END;
+
+	/**
+	 * The feature id for the '<em><b>Is Ordered</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER__IS_ORDERED = CONNECTABLE_ELEMENT_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Is Unique</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER__IS_UNIQUE = CONNECTABLE_ELEMENT_FEATURE_COUNT + 1;
+
+	/**
+	 * The feature id for the '<em><b>Lower</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER__LOWER = CONNECTABLE_ELEMENT_FEATURE_COUNT + 2;
+
+	/**
+	 * The feature id for the '<em><b>Lower Value</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER__LOWER_VALUE = CONNECTABLE_ELEMENT_FEATURE_COUNT + 3;
+
+	/**
+	 * The feature id for the '<em><b>Upper</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER__UPPER = CONNECTABLE_ELEMENT_FEATURE_COUNT + 4;
+
+	/**
+	 * The feature id for the '<em><b>Upper Value</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER__UPPER_VALUE = CONNECTABLE_ELEMENT_FEATURE_COUNT + 5;
+
+	/**
+	 * The feature id for the '<em><b>Default</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER__DEFAULT = CONNECTABLE_ELEMENT_FEATURE_COUNT + 6;
+
+	/**
+	 * The feature id for the '<em><b>Default Value</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER__DEFAULT_VALUE = CONNECTABLE_ELEMENT_FEATURE_COUNT + 7;
+
+	/**
+	 * The feature id for the '<em><b>Direction</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER__DIRECTION = CONNECTABLE_ELEMENT_FEATURE_COUNT + 8;
+
+	/**
+	 * The feature id for the '<em><b>Effect</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER__EFFECT = CONNECTABLE_ELEMENT_FEATURE_COUNT + 9;
+
+	/**
+	 * The feature id for the '<em><b>Is Exception</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER__IS_EXCEPTION = CONNECTABLE_ELEMENT_FEATURE_COUNT + 10;
+
+	/**
+	 * The feature id for the '<em><b>Is Stream</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER__IS_STREAM = CONNECTABLE_ELEMENT_FEATURE_COUNT + 11;
+
+	/**
+	 * The feature id for the '<em><b>Operation</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER__OPERATION = CONNECTABLE_ELEMENT_FEATURE_COUNT + 12;
+
+	/**
+	 * The feature id for the '<em><b>Parameter Set</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER__PARAMETER_SET = CONNECTABLE_ELEMENT_FEATURE_COUNT + 13;
+
+	/**
+	 * The number of structural features of the '<em>Parameter</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER_FEATURE_COUNT = CONNECTABLE_ELEMENT_FEATURE_COUNT + 14;
+
+	/**
+	 * The operation id for the '<em>Get EAnnotation</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER___GET_EANNOTATION__STRING = CONNECTABLE_ELEMENT___GET_EANNOTATION__STRING;
+
+	/**
+	 * The operation id for the '<em>Validate Has Owner</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP = CONNECTABLE_ELEMENT___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Validate Not Own Self</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP = CONNECTABLE_ELEMENT___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Add Keyword</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER___ADD_KEYWORD__STRING = CONNECTABLE_ELEMENT___ADD_KEYWORD__STRING;
+
+	/**
+	 * The operation id for the '<em>Apply Stereotype</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER___APPLY_STEREOTYPE__STEREOTYPE = CONNECTABLE_ELEMENT___APPLY_STEREOTYPE__STEREOTYPE;
+
+	/**
+	 * The operation id for the '<em>Create EAnnotation</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER___CREATE_EANNOTATION__STRING = CONNECTABLE_ELEMENT___CREATE_EANNOTATION__STRING;
+
+	/**
+	 * The operation id for the '<em>Destroy</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER___DESTROY = CONNECTABLE_ELEMENT___DESTROY;
+
+	/**
+	 * The operation id for the '<em>Get Keywords</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER___GET_KEYWORDS = CONNECTABLE_ELEMENT___GET_KEYWORDS;
+
+	/**
+	 * The operation id for the '<em>Get Applicable Stereotype</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER___GET_APPLICABLE_STEREOTYPE__STRING = CONNECTABLE_ELEMENT___GET_APPLICABLE_STEREOTYPE__STRING;
+
+	/**
+	 * The operation id for the '<em>Get Applicable Stereotypes</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER___GET_APPLICABLE_STEREOTYPES = CONNECTABLE_ELEMENT___GET_APPLICABLE_STEREOTYPES;
+
+	/**
+	 * The operation id for the '<em>Get Applied Stereotype</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER___GET_APPLIED_STEREOTYPE__STRING = CONNECTABLE_ELEMENT___GET_APPLIED_STEREOTYPE__STRING;
+
+	/**
+	 * The operation id for the '<em>Get Applied Stereotypes</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER___GET_APPLIED_STEREOTYPES = CONNECTABLE_ELEMENT___GET_APPLIED_STEREOTYPES;
+
+	/**
+	 * The operation id for the '<em>Get Applied Substereotype</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING = CONNECTABLE_ELEMENT___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING;
+
+	/**
+	 * The operation id for the '<em>Get Applied Substereotypes</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE = CONNECTABLE_ELEMENT___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE;
+
+	/**
+	 * The operation id for the '<em>Get Model</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER___GET_MODEL = CONNECTABLE_ELEMENT___GET_MODEL;
+
+	/**
+	 * The operation id for the '<em>Get Nearest Package</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER___GET_NEAREST_PACKAGE = CONNECTABLE_ELEMENT___GET_NEAREST_PACKAGE;
+
+	/**
+	 * The operation id for the '<em>Get Relationships</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER___GET_RELATIONSHIPS = CONNECTABLE_ELEMENT___GET_RELATIONSHIPS;
+
+	/**
+	 * The operation id for the '<em>Get Relationships</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER___GET_RELATIONSHIPS__ECLASS = CONNECTABLE_ELEMENT___GET_RELATIONSHIPS__ECLASS;
+
+	/**
+	 * The operation id for the '<em>Get Required Stereotype</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER___GET_REQUIRED_STEREOTYPE__STRING = CONNECTABLE_ELEMENT___GET_REQUIRED_STEREOTYPE__STRING;
+
+	/**
+	 * The operation id for the '<em>Get Required Stereotypes</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER___GET_REQUIRED_STEREOTYPES = CONNECTABLE_ELEMENT___GET_REQUIRED_STEREOTYPES;
+
+	/**
+	 * The operation id for the '<em>Get Source Directed Relationships</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER___GET_SOURCE_DIRECTED_RELATIONSHIPS = CONNECTABLE_ELEMENT___GET_SOURCE_DIRECTED_RELATIONSHIPS;
+
+	/**
+	 * The operation id for the '<em>Get Source Directed Relationships</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS = CONNECTABLE_ELEMENT___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS;
+
+	/**
+	 * The operation id for the '<em>Get Stereotype Application</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER___GET_STEREOTYPE_APPLICATION__STEREOTYPE = CONNECTABLE_ELEMENT___GET_STEREOTYPE_APPLICATION__STEREOTYPE;
+
+	/**
+	 * The operation id for the '<em>Get Stereotype Applications</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER___GET_STEREOTYPE_APPLICATIONS = CONNECTABLE_ELEMENT___GET_STEREOTYPE_APPLICATIONS;
+
+	/**
+	 * The operation id for the '<em>Get Target Directed Relationships</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER___GET_TARGET_DIRECTED_RELATIONSHIPS = CONNECTABLE_ELEMENT___GET_TARGET_DIRECTED_RELATIONSHIPS;
+
+	/**
+	 * The operation id for the '<em>Get Target Directed Relationships</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS = CONNECTABLE_ELEMENT___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS;
+
+	/**
+	 * The operation id for the '<em>Get Value</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER___GET_VALUE__STEREOTYPE_STRING = CONNECTABLE_ELEMENT___GET_VALUE__STEREOTYPE_STRING;
+
+	/**
+	 * The operation id for the '<em>Has Keyword</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER___HAS_KEYWORD__STRING = CONNECTABLE_ELEMENT___HAS_KEYWORD__STRING;
+
+	/**
+	 * The operation id for the '<em>Has Value</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER___HAS_VALUE__STEREOTYPE_STRING = CONNECTABLE_ELEMENT___HAS_VALUE__STEREOTYPE_STRING;
+
+	/**
+	 * The operation id for the '<em>Is Stereotype Applicable</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER___IS_STEREOTYPE_APPLICABLE__STEREOTYPE = CONNECTABLE_ELEMENT___IS_STEREOTYPE_APPLICABLE__STEREOTYPE;
+
+	/**
+	 * The operation id for the '<em>Is Stereotype Applied</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER___IS_STEREOTYPE_APPLIED__STEREOTYPE = CONNECTABLE_ELEMENT___IS_STEREOTYPE_APPLIED__STEREOTYPE;
+
+	/**
+	 * The operation id for the '<em>Is Stereotype Required</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER___IS_STEREOTYPE_REQUIRED__STEREOTYPE = CONNECTABLE_ELEMENT___IS_STEREOTYPE_REQUIRED__STEREOTYPE;
+
+	/**
+	 * The operation id for the '<em>Remove Keyword</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER___REMOVE_KEYWORD__STRING = CONNECTABLE_ELEMENT___REMOVE_KEYWORD__STRING;
+
+	/**
+	 * The operation id for the '<em>Set Value</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER___SET_VALUE__STEREOTYPE_STRING_OBJECT = CONNECTABLE_ELEMENT___SET_VALUE__STEREOTYPE_STRING_OBJECT;
+
+	/**
+	 * The operation id for the '<em>Unapply Stereotype</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER___UNAPPLY_STEREOTYPE__STEREOTYPE = CONNECTABLE_ELEMENT___UNAPPLY_STEREOTYPE__STEREOTYPE;
+
+	/**
+	 * The operation id for the '<em>All Owned Elements</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER___ALL_OWNED_ELEMENTS = CONNECTABLE_ELEMENT___ALL_OWNED_ELEMENTS;
+
+	/**
+	 * The operation id for the '<em>Must Be Owned</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER___MUST_BE_OWNED = CONNECTABLE_ELEMENT___MUST_BE_OWNED;
+
+	/**
+	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = CONNECTABLE_ELEMENT___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Validate Has No Qualified Name</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = CONNECTABLE_ELEMENT___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = CONNECTABLE_ELEMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Create Dependency</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER___CREATE_DEPENDENCY__NAMEDELEMENT = CONNECTABLE_ELEMENT___CREATE_DEPENDENCY__NAMEDELEMENT;
+
+	/**
+	 * The operation id for the '<em>Create Usage</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER___CREATE_USAGE__NAMEDELEMENT = CONNECTABLE_ELEMENT___CREATE_USAGE__NAMEDELEMENT;
+
+	/**
+	 * The operation id for the '<em>Get Label</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER___GET_LABEL = CONNECTABLE_ELEMENT___GET_LABEL;
+
+	/**
+	 * The operation id for the '<em>Get Label</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER___GET_LABEL__BOOLEAN = CONNECTABLE_ELEMENT___GET_LABEL__BOOLEAN;
+
+	/**
+	 * The operation id for the '<em>All Namespaces</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER___ALL_NAMESPACES = CONNECTABLE_ELEMENT___ALL_NAMESPACES;
+
+	/**
+	 * The operation id for the '<em>All Owning Packages</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER___ALL_OWNING_PACKAGES = CONNECTABLE_ELEMENT___ALL_OWNING_PACKAGES;
+
+	/**
+	 * The operation id for the '<em>Is Distinguishable From</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE = CONNECTABLE_ELEMENT___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE;
+
+	/**
+	 * The operation id for the '<em>Get Namespace</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER___GET_NAMESPACE = CONNECTABLE_ELEMENT___GET_NAMESPACE;
+
+	/**
+	 * The operation id for the '<em>Get Qualified Name</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER___GET_QUALIFIED_NAME = CONNECTABLE_ELEMENT___GET_QUALIFIED_NAME;
+
+	/**
+	 * The operation id for the '<em>Separator</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER___SEPARATOR = CONNECTABLE_ELEMENT___SEPARATOR;
+
+	/**
+	 * The operation id for the '<em>Is Compatible With</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER___IS_COMPATIBLE_WITH__PARAMETERABLEELEMENT = CONNECTABLE_ELEMENT___IS_COMPATIBLE_WITH__PARAMETERABLEELEMENT;
+
+	/**
+	 * The operation id for the '<em>Is Template Parameter</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER___IS_TEMPLATE_PARAMETER = CONNECTABLE_ELEMENT___IS_TEMPLATE_PARAMETER;
+
+	/**
+	 * The operation id for the '<em>Get Ends</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER___GET_ENDS = CONNECTABLE_ELEMENT___GET_ENDS;
+
+	/**
+	 * The operation id for the '<em>Validate Lower Ge0</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER___VALIDATE_LOWER_GE0__DIAGNOSTICCHAIN_MAP = CONNECTABLE_ELEMENT_OPERATION_COUNT + 0;
+
+	/**
+	 * The operation id for the '<em>Validate Upper Ge Lower</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER___VALIDATE_UPPER_GE_LOWER__DIAGNOSTICCHAIN_MAP = CONNECTABLE_ELEMENT_OPERATION_COUNT + 1;
+
+	/**
+	 * The operation id for the '<em>Validate Value Specification Constant</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER___VALIDATE_VALUE_SPECIFICATION_CONSTANT__DIAGNOSTICCHAIN_MAP = CONNECTABLE_ELEMENT_OPERATION_COUNT + 2;
+
+	/**
+	 * The operation id for the '<em>Validate Value Specification No Side Effects</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER___VALIDATE_VALUE_SPECIFICATION_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP = CONNECTABLE_ELEMENT_OPERATION_COUNT + 3;
+
+	/**
+	 * The operation id for the '<em>Set Lower</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER___SET_LOWER__INT = CONNECTABLE_ELEMENT_OPERATION_COUNT + 4;
+
+	/**
+	 * The operation id for the '<em>Set Upper</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER___SET_UPPER__INT = CONNECTABLE_ELEMENT_OPERATION_COUNT + 5;
+
+	/**
+	 * The operation id for the '<em>Compatible With</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER___COMPATIBLE_WITH__MULTIPLICITYELEMENT = CONNECTABLE_ELEMENT_OPERATION_COUNT + 6;
+
+	/**
+	 * The operation id for the '<em>Includes Cardinality</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER___INCLUDES_CARDINALITY__INT = CONNECTABLE_ELEMENT_OPERATION_COUNT + 7;
+
+	/**
+	 * The operation id for the '<em>Includes Multiplicity</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER___INCLUDES_MULTIPLICITY__MULTIPLICITYELEMENT = CONNECTABLE_ELEMENT_OPERATION_COUNT + 8;
+
+	/**
+	 * The operation id for the '<em>Is</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER___IS__INT_INT = CONNECTABLE_ELEMENT_OPERATION_COUNT + 9;
+
+	/**
+	 * The operation id for the '<em>Is Multivalued</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER___IS_MULTIVALUED = CONNECTABLE_ELEMENT_OPERATION_COUNT + 10;
+
+	/**
+	 * The operation id for the '<em>Get Lower</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER___GET_LOWER = CONNECTABLE_ELEMENT_OPERATION_COUNT + 11;
+
+	/**
+	 * The operation id for the '<em>Lower Bound</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER___LOWER_BOUND = CONNECTABLE_ELEMENT_OPERATION_COUNT + 12;
+
+	/**
+	 * The operation id for the '<em>Get Upper</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER___GET_UPPER = CONNECTABLE_ELEMENT_OPERATION_COUNT + 13;
+
+	/**
+	 * The operation id for the '<em>Upper Bound</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER___UPPER_BOUND = CONNECTABLE_ELEMENT_OPERATION_COUNT + 14;
+
+	/**
+	 * The operation id for the '<em>Validate Reentrant Behaviors</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER___VALIDATE_REENTRANT_BEHAVIORS__DIAGNOSTICCHAIN_MAP = CONNECTABLE_ELEMENT_OPERATION_COUNT + 15;
+
+	/**
+	 * The operation id for the '<em>Validate Connector End</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER___VALIDATE_CONNECTOR_END__DIAGNOSTICCHAIN_MAP = CONNECTABLE_ELEMENT_OPERATION_COUNT + 16;
+
+	/**
+	 * The operation id for the '<em>Validate Not Exception</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER___VALIDATE_NOT_EXCEPTION__DIAGNOSTICCHAIN_MAP = CONNECTABLE_ELEMENT_OPERATION_COUNT + 17;
+
+	/**
+	 * The operation id for the '<em>Validate In And Out</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER___VALIDATE_IN_AND_OUT__DIAGNOSTICCHAIN_MAP = CONNECTABLE_ELEMENT_OPERATION_COUNT + 18;
+
+	/**
+	 * The operation id for the '<em>Validate Stream And Exception</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER___VALIDATE_STREAM_AND_EXCEPTION__DIAGNOSTICCHAIN_MAP = CONNECTABLE_ELEMENT_OPERATION_COUNT + 19;
+
+	/**
+	 * The operation id for the '<em>Is Set Default</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER___IS_SET_DEFAULT = CONNECTABLE_ELEMENT_OPERATION_COUNT + 20;
+
+	/**
+	 * The operation id for the '<em>Set Boolean Default Value</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER___SET_BOOLEAN_DEFAULT_VALUE__BOOLEAN = CONNECTABLE_ELEMENT_OPERATION_COUNT + 21;
+
+	/**
+	 * The operation id for the '<em>Set Default</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER___SET_DEFAULT__STRING = CONNECTABLE_ELEMENT_OPERATION_COUNT + 22;
+
+	/**
+	 * The operation id for the '<em>Set Integer Default Value</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER___SET_INTEGER_DEFAULT_VALUE__INT = CONNECTABLE_ELEMENT_OPERATION_COUNT + 23;
+
+	/**
+	 * The operation id for the '<em>Set Null Default Value</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER___SET_NULL_DEFAULT_VALUE = CONNECTABLE_ELEMENT_OPERATION_COUNT + 24;
+
+	/**
+	 * The operation id for the '<em>Set Real Default Value</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER___SET_REAL_DEFAULT_VALUE__DOUBLE = CONNECTABLE_ELEMENT_OPERATION_COUNT + 25;
+
+	/**
+	 * The operation id for the '<em>Set String Default Value</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER___SET_STRING_DEFAULT_VALUE__STRING = CONNECTABLE_ELEMENT_OPERATION_COUNT + 26;
+
+	/**
+	 * The operation id for the '<em>Set Unlimited Natural Default Value</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER___SET_UNLIMITED_NATURAL_DEFAULT_VALUE__INT = CONNECTABLE_ELEMENT_OPERATION_COUNT + 27;
+
+	/**
+	 * The operation id for the '<em>Unset Default</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER___UNSET_DEFAULT = CONNECTABLE_ELEMENT_OPERATION_COUNT + 28;
+
+	/**
+	 * The operation id for the '<em>Get Default</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER___GET_DEFAULT = CONNECTABLE_ELEMENT_OPERATION_COUNT + 29;
+
+	/**
+	 * The number of operations of the '<em>Parameter</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER_OPERATION_COUNT = CONNECTABLE_ELEMENT_OPERATION_COUNT + 30;
+
+	/**
+	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER_SET__EANNOTATIONS = NAMED_ELEMENT__EANNOTATIONS;
+
+	/**
+	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER_SET__OWNED_COMMENT = NAMED_ELEMENT__OWNED_COMMENT;
+
+	/**
+	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER_SET__OWNED_ELEMENT = NAMED_ELEMENT__OWNED_ELEMENT;
+
+	/**
+	 * The feature id for the '<em><b>Owner</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER_SET__OWNER = NAMED_ELEMENT__OWNER;
+
+	/**
+	 * The feature id for the '<em><b>Client Dependency</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER_SET__CLIENT_DEPENDENCY = NAMED_ELEMENT__CLIENT_DEPENDENCY;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER_SET__NAME = NAMED_ELEMENT__NAME;
+
+	/**
+	 * The feature id for the '<em><b>Name Expression</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER_SET__NAME_EXPRESSION = NAMED_ELEMENT__NAME_EXPRESSION;
+
+	/**
+	 * The feature id for the '<em><b>Namespace</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER_SET__NAMESPACE = NAMED_ELEMENT__NAMESPACE;
+
+	/**
+	 * The feature id for the '<em><b>Qualified Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER_SET__QUALIFIED_NAME = NAMED_ELEMENT__QUALIFIED_NAME;
+
+	/**
+	 * The feature id for the '<em><b>Visibility</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER_SET__VISIBILITY = NAMED_ELEMENT__VISIBILITY;
+
+	/**
+	 * The feature id for the '<em><b>Condition</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER_SET__CONDITION = NAMED_ELEMENT_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Parameter</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER_SET__PARAMETER = NAMED_ELEMENT_FEATURE_COUNT + 1;
+
+	/**
+	 * The number of structural features of the '<em>Parameter Set</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER_SET_FEATURE_COUNT = NAMED_ELEMENT_FEATURE_COUNT + 2;
+
+	/**
+	 * The operation id for the '<em>Get EAnnotation</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER_SET___GET_EANNOTATION__STRING = NAMED_ELEMENT___GET_EANNOTATION__STRING;
+
+	/**
+	 * The operation id for the '<em>Validate Has Owner</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER_SET___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP = NAMED_ELEMENT___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Validate Not Own Self</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER_SET___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP = NAMED_ELEMENT___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Add Keyword</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER_SET___ADD_KEYWORD__STRING = NAMED_ELEMENT___ADD_KEYWORD__STRING;
+
+	/**
+	 * The operation id for the '<em>Apply Stereotype</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER_SET___APPLY_STEREOTYPE__STEREOTYPE = NAMED_ELEMENT___APPLY_STEREOTYPE__STEREOTYPE;
+
+	/**
+	 * The operation id for the '<em>Create EAnnotation</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER_SET___CREATE_EANNOTATION__STRING = NAMED_ELEMENT___CREATE_EANNOTATION__STRING;
+
+	/**
+	 * The operation id for the '<em>Destroy</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER_SET___DESTROY = NAMED_ELEMENT___DESTROY;
+
+	/**
+	 * The operation id for the '<em>Get Keywords</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER_SET___GET_KEYWORDS = NAMED_ELEMENT___GET_KEYWORDS;
+
+	/**
+	 * The operation id for the '<em>Get Applicable Stereotype</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER_SET___GET_APPLICABLE_STEREOTYPE__STRING = NAMED_ELEMENT___GET_APPLICABLE_STEREOTYPE__STRING;
+
+	/**
+	 * The operation id for the '<em>Get Applicable Stereotypes</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER_SET___GET_APPLICABLE_STEREOTYPES = NAMED_ELEMENT___GET_APPLICABLE_STEREOTYPES;
+
+	/**
+	 * The operation id for the '<em>Get Applied Stereotype</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER_SET___GET_APPLIED_STEREOTYPE__STRING = NAMED_ELEMENT___GET_APPLIED_STEREOTYPE__STRING;
+
+	/**
+	 * The operation id for the '<em>Get Applied Stereotypes</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER_SET___GET_APPLIED_STEREOTYPES = NAMED_ELEMENT___GET_APPLIED_STEREOTYPES;
+
+	/**
+	 * The operation id for the '<em>Get Applied Substereotype</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER_SET___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING = NAMED_ELEMENT___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING;
+
+	/**
+	 * The operation id for the '<em>Get Applied Substereotypes</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER_SET___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE = NAMED_ELEMENT___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE;
+
+	/**
+	 * The operation id for the '<em>Get Model</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER_SET___GET_MODEL = NAMED_ELEMENT___GET_MODEL;
+
+	/**
+	 * The operation id for the '<em>Get Nearest Package</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER_SET___GET_NEAREST_PACKAGE = NAMED_ELEMENT___GET_NEAREST_PACKAGE;
+
+	/**
+	 * The operation id for the '<em>Get Relationships</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER_SET___GET_RELATIONSHIPS = NAMED_ELEMENT___GET_RELATIONSHIPS;
+
+	/**
+	 * The operation id for the '<em>Get Relationships</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER_SET___GET_RELATIONSHIPS__ECLASS = NAMED_ELEMENT___GET_RELATIONSHIPS__ECLASS;
+
+	/**
+	 * The operation id for the '<em>Get Required Stereotype</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER_SET___GET_REQUIRED_STEREOTYPE__STRING = NAMED_ELEMENT___GET_REQUIRED_STEREOTYPE__STRING;
+
+	/**
+	 * The operation id for the '<em>Get Required Stereotypes</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER_SET___GET_REQUIRED_STEREOTYPES = NAMED_ELEMENT___GET_REQUIRED_STEREOTYPES;
+
+	/**
+	 * The operation id for the '<em>Get Source Directed Relationships</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER_SET___GET_SOURCE_DIRECTED_RELATIONSHIPS = NAMED_ELEMENT___GET_SOURCE_DIRECTED_RELATIONSHIPS;
+
+	/**
+	 * The operation id for the '<em>Get Source Directed Relationships</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER_SET___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS = NAMED_ELEMENT___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS;
+
+	/**
+	 * The operation id for the '<em>Get Stereotype Application</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER_SET___GET_STEREOTYPE_APPLICATION__STEREOTYPE = NAMED_ELEMENT___GET_STEREOTYPE_APPLICATION__STEREOTYPE;
+
+	/**
+	 * The operation id for the '<em>Get Stereotype Applications</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER_SET___GET_STEREOTYPE_APPLICATIONS = NAMED_ELEMENT___GET_STEREOTYPE_APPLICATIONS;
+
+	/**
+	 * The operation id for the '<em>Get Target Directed Relationships</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER_SET___GET_TARGET_DIRECTED_RELATIONSHIPS = NAMED_ELEMENT___GET_TARGET_DIRECTED_RELATIONSHIPS;
+
+	/**
+	 * The operation id for the '<em>Get Target Directed Relationships</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER_SET___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS = NAMED_ELEMENT___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS;
+
+	/**
+	 * The operation id for the '<em>Get Value</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER_SET___GET_VALUE__STEREOTYPE_STRING = NAMED_ELEMENT___GET_VALUE__STEREOTYPE_STRING;
+
+	/**
+	 * The operation id for the '<em>Has Keyword</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER_SET___HAS_KEYWORD__STRING = NAMED_ELEMENT___HAS_KEYWORD__STRING;
+
+	/**
+	 * The operation id for the '<em>Has Value</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER_SET___HAS_VALUE__STEREOTYPE_STRING = NAMED_ELEMENT___HAS_VALUE__STEREOTYPE_STRING;
+
+	/**
+	 * The operation id for the '<em>Is Stereotype Applicable</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER_SET___IS_STEREOTYPE_APPLICABLE__STEREOTYPE = NAMED_ELEMENT___IS_STEREOTYPE_APPLICABLE__STEREOTYPE;
+
+	/**
+	 * The operation id for the '<em>Is Stereotype Applied</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER_SET___IS_STEREOTYPE_APPLIED__STEREOTYPE = NAMED_ELEMENT___IS_STEREOTYPE_APPLIED__STEREOTYPE;
+
+	/**
+	 * The operation id for the '<em>Is Stereotype Required</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER_SET___IS_STEREOTYPE_REQUIRED__STEREOTYPE = NAMED_ELEMENT___IS_STEREOTYPE_REQUIRED__STEREOTYPE;
+
+	/**
+	 * The operation id for the '<em>Remove Keyword</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER_SET___REMOVE_KEYWORD__STRING = NAMED_ELEMENT___REMOVE_KEYWORD__STRING;
+
+	/**
+	 * The operation id for the '<em>Set Value</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER_SET___SET_VALUE__STEREOTYPE_STRING_OBJECT = NAMED_ELEMENT___SET_VALUE__STEREOTYPE_STRING_OBJECT;
+
+	/**
+	 * The operation id for the '<em>Unapply Stereotype</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER_SET___UNAPPLY_STEREOTYPE__STEREOTYPE = NAMED_ELEMENT___UNAPPLY_STEREOTYPE__STEREOTYPE;
+
+	/**
+	 * The operation id for the '<em>All Owned Elements</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER_SET___ALL_OWNED_ELEMENTS = NAMED_ELEMENT___ALL_OWNED_ELEMENTS;
+
+	/**
+	 * The operation id for the '<em>Must Be Owned</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER_SET___MUST_BE_OWNED = NAMED_ELEMENT___MUST_BE_OWNED;
+
+	/**
+	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER_SET___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = NAMED_ELEMENT___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Validate Has No Qualified Name</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER_SET___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = NAMED_ELEMENT___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER_SET___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = NAMED_ELEMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Create Dependency</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER_SET___CREATE_DEPENDENCY__NAMEDELEMENT = NAMED_ELEMENT___CREATE_DEPENDENCY__NAMEDELEMENT;
+
+	/**
+	 * The operation id for the '<em>Create Usage</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER_SET___CREATE_USAGE__NAMEDELEMENT = NAMED_ELEMENT___CREATE_USAGE__NAMEDELEMENT;
+
+	/**
+	 * The operation id for the '<em>Get Label</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER_SET___GET_LABEL = NAMED_ELEMENT___GET_LABEL;
+
+	/**
+	 * The operation id for the '<em>Get Label</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER_SET___GET_LABEL__BOOLEAN = NAMED_ELEMENT___GET_LABEL__BOOLEAN;
+
+	/**
+	 * The operation id for the '<em>All Namespaces</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER_SET___ALL_NAMESPACES = NAMED_ELEMENT___ALL_NAMESPACES;
+
+	/**
+	 * The operation id for the '<em>All Owning Packages</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER_SET___ALL_OWNING_PACKAGES = NAMED_ELEMENT___ALL_OWNING_PACKAGES;
+
+	/**
+	 * The operation id for the '<em>Is Distinguishable From</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER_SET___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE = NAMED_ELEMENT___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE;
+
+	/**
+	 * The operation id for the '<em>Get Namespace</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER_SET___GET_NAMESPACE = NAMED_ELEMENT___GET_NAMESPACE;
+
+	/**
+	 * The operation id for the '<em>Get Qualified Name</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER_SET___GET_QUALIFIED_NAME = NAMED_ELEMENT___GET_QUALIFIED_NAME;
+
+	/**
+	 * The operation id for the '<em>Separator</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER_SET___SEPARATOR = NAMED_ELEMENT___SEPARATOR;
+
+	/**
+	 * The operation id for the '<em>Validate Two Parameter Sets</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER_SET___VALIDATE_TWO_PARAMETER_SETS__DIAGNOSTICCHAIN_MAP = NAMED_ELEMENT_OPERATION_COUNT + 0;
+
+	/**
+	 * The operation id for the '<em>Validate Input</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER_SET___VALIDATE_INPUT__DIAGNOSTICCHAIN_MAP = NAMED_ELEMENT_OPERATION_COUNT + 1;
+
+	/**
+	 * The operation id for the '<em>Validate Same Parameterized Entity</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER_SET___VALIDATE_SAME_PARAMETERIZED_ENTITY__DIAGNOSTICCHAIN_MAP = NAMED_ELEMENT_OPERATION_COUNT + 2;
+
+	/**
+	 * The number of operations of the '<em>Parameter Set</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PARAMETER_SET_OPERATION_COUNT = NAMED_ELEMENT_OPERATION_COUNT + 3;
+
+	/**
+	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE__EANNOTATIONS = CLASSIFIER__EANNOTATIONS;
+
+	/**
+	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE__OWNED_COMMENT = CLASSIFIER__OWNED_COMMENT;
+
+	/**
+	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE__OWNED_ELEMENT = CLASSIFIER__OWNED_ELEMENT;
+
+	/**
+	 * The feature id for the '<em><b>Owner</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE__OWNER = CLASSIFIER__OWNER;
+
+	/**
+	 * The feature id for the '<em><b>Client Dependency</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE__CLIENT_DEPENDENCY = CLASSIFIER__CLIENT_DEPENDENCY;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE__NAME = CLASSIFIER__NAME;
+
+	/**
+	 * The feature id for the '<em><b>Name Expression</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE__NAME_EXPRESSION = CLASSIFIER__NAME_EXPRESSION;
+
+	/**
+	 * The feature id for the '<em><b>Namespace</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE__NAMESPACE = CLASSIFIER__NAMESPACE;
+
+	/**
+	 * The feature id for the '<em><b>Qualified Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE__QUALIFIED_NAME = CLASSIFIER__QUALIFIED_NAME;
+
+	/**
+	 * The feature id for the '<em><b>Visibility</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE__VISIBILITY = CLASSIFIER__VISIBILITY;
+
+	/**
+	 * The feature id for the '<em><b>Element Import</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE__ELEMENT_IMPORT = CLASSIFIER__ELEMENT_IMPORT;
+
+	/**
+	 * The feature id for the '<em><b>Package Import</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE__PACKAGE_IMPORT = CLASSIFIER__PACKAGE_IMPORT;
+
+	/**
+	 * The feature id for the '<em><b>Owned Rule</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE__OWNED_RULE = CLASSIFIER__OWNED_RULE;
+
+	/**
+	 * The feature id for the '<em><b>Owned Member</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE__OWNED_MEMBER = CLASSIFIER__OWNED_MEMBER;
+
+	/**
+	 * The feature id for the '<em><b>Imported Member</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE__IMPORTED_MEMBER = CLASSIFIER__IMPORTED_MEMBER;
+
+	/**
+	 * The feature id for the '<em><b>Member</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE__MEMBER = CLASSIFIER__MEMBER;
+
+	/**
+	 * The feature id for the '<em><b>Is Leaf</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE__IS_LEAF = CLASSIFIER__IS_LEAF;
+
+	/**
+	 * The feature id for the '<em><b>Redefined Element</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE__REDEFINED_ELEMENT = CLASSIFIER__REDEFINED_ELEMENT;
+
+	/**
+	 * The feature id for the '<em><b>Redefinition Context</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE__REDEFINITION_CONTEXT = CLASSIFIER__REDEFINITION_CONTEXT;
+
+	/**
+	 * The feature id for the '<em><b>Owning Template Parameter</b></em>' container reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE__OWNING_TEMPLATE_PARAMETER = CLASSIFIER__OWNING_TEMPLATE_PARAMETER;
+
+	/**
+	 * The feature id for the '<em><b>Template Parameter</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE__TEMPLATE_PARAMETER = CLASSIFIER__TEMPLATE_PARAMETER;
+
+	/**
+	 * The feature id for the '<em><b>Package</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE__PACKAGE = CLASSIFIER__PACKAGE;
+
+	/**
+	 * The feature id for the '<em><b>Owned Template Signature</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE__OWNED_TEMPLATE_SIGNATURE = CLASSIFIER__OWNED_TEMPLATE_SIGNATURE;
+
+	/**
+	 * The feature id for the '<em><b>Template Binding</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE__TEMPLATE_BINDING = CLASSIFIER__TEMPLATE_BINDING;
+
+	/**
+	 * The feature id for the '<em><b>Feature</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE__FEATURE = CLASSIFIER__FEATURE;
+
+	/**
+	 * The feature id for the '<em><b>Attribute</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE__ATTRIBUTE = CLASSIFIER__ATTRIBUTE;
+
+	/**
+	 * The feature id for the '<em><b>Collaboration Use</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE__COLLABORATION_USE = CLASSIFIER__COLLABORATION_USE;
+
+	/**
+	 * The feature id for the '<em><b>General</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE__GENERAL = CLASSIFIER__GENERAL;
+
+	/**
+	 * The feature id for the '<em><b>Generalization</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE__GENERALIZATION = CLASSIFIER__GENERALIZATION;
+
+	/**
+	 * The feature id for the '<em><b>Powertype Extent</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE__POWERTYPE_EXTENT = CLASSIFIER__POWERTYPE_EXTENT;
+
+	/**
+	 * The feature id for the '<em><b>Inherited Member</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE__INHERITED_MEMBER = CLASSIFIER__INHERITED_MEMBER;
+
+	/**
+	 * The feature id for the '<em><b>Is Abstract</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE__IS_ABSTRACT = CLASSIFIER__IS_ABSTRACT;
+
+	/**
+	 * The feature id for the '<em><b>Is Final Specialization</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE__IS_FINAL_SPECIALIZATION = CLASSIFIER__IS_FINAL_SPECIALIZATION;
+
+	/**
+	 * The feature id for the '<em><b>Owned Use Case</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE__OWNED_USE_CASE = CLASSIFIER__OWNED_USE_CASE;
+
+	/**
+	 * The feature id for the '<em><b>Use Case</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE__USE_CASE = CLASSIFIER__USE_CASE;
+
+	/**
+	 * The feature id for the '<em><b>Redefined Classifier</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE__REDEFINED_CLASSIFIER = CLASSIFIER__REDEFINED_CLASSIFIER;
+
+	/**
+	 * The feature id for the '<em><b>Representation</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE__REPRESENTATION = CLASSIFIER__REPRESENTATION;
+
+	/**
+	 * The feature id for the '<em><b>Substitution</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE__SUBSTITUTION = CLASSIFIER__SUBSTITUTION;
+
+	/**
+	 * The feature id for the '<em><b>Owned Attribute</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE__OWNED_ATTRIBUTE = CLASSIFIER_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Owned Operation</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE__OWNED_OPERATION = CLASSIFIER_FEATURE_COUNT + 1;
+
+	/**
+	 * The number of structural features of the '<em>Data Type</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE_FEATURE_COUNT = CLASSIFIER_FEATURE_COUNT + 2;
+
+	/**
+	 * The operation id for the '<em>Get EAnnotation</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE___GET_EANNOTATION__STRING = CLASSIFIER___GET_EANNOTATION__STRING;
+
+	/**
+	 * The operation id for the '<em>Validate Has Owner</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP = CLASSIFIER___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Validate Not Own Self</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP = CLASSIFIER___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Add Keyword</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE___ADD_KEYWORD__STRING = CLASSIFIER___ADD_KEYWORD__STRING;
+
+	/**
+	 * The operation id for the '<em>Apply Stereotype</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE___APPLY_STEREOTYPE__STEREOTYPE = CLASSIFIER___APPLY_STEREOTYPE__STEREOTYPE;
+
+	/**
+	 * The operation id for the '<em>Create EAnnotation</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE___CREATE_EANNOTATION__STRING = CLASSIFIER___CREATE_EANNOTATION__STRING;
+
+	/**
+	 * The operation id for the '<em>Destroy</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE___DESTROY = CLASSIFIER___DESTROY;
+
+	/**
+	 * The operation id for the '<em>Get Keywords</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE___GET_KEYWORDS = CLASSIFIER___GET_KEYWORDS;
+
+	/**
+	 * The operation id for the '<em>Get Applicable Stereotype</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE___GET_APPLICABLE_STEREOTYPE__STRING = CLASSIFIER___GET_APPLICABLE_STEREOTYPE__STRING;
+
+	/**
+	 * The operation id for the '<em>Get Applicable Stereotypes</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE___GET_APPLICABLE_STEREOTYPES = CLASSIFIER___GET_APPLICABLE_STEREOTYPES;
+
+	/**
+	 * The operation id for the '<em>Get Applied Stereotype</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE___GET_APPLIED_STEREOTYPE__STRING = CLASSIFIER___GET_APPLIED_STEREOTYPE__STRING;
+
+	/**
+	 * The operation id for the '<em>Get Applied Stereotypes</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE___GET_APPLIED_STEREOTYPES = CLASSIFIER___GET_APPLIED_STEREOTYPES;
+
+	/**
+	 * The operation id for the '<em>Get Applied Substereotype</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING = CLASSIFIER___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING;
+
+	/**
+	 * The operation id for the '<em>Get Applied Substereotypes</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE = CLASSIFIER___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE;
+
+	/**
+	 * The operation id for the '<em>Get Model</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE___GET_MODEL = CLASSIFIER___GET_MODEL;
+
+	/**
+	 * The operation id for the '<em>Get Nearest Package</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE___GET_NEAREST_PACKAGE = CLASSIFIER___GET_NEAREST_PACKAGE;
+
+	/**
+	 * The operation id for the '<em>Get Relationships</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE___GET_RELATIONSHIPS = CLASSIFIER___GET_RELATIONSHIPS;
+
+	/**
+	 * The operation id for the '<em>Get Relationships</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE___GET_RELATIONSHIPS__ECLASS = CLASSIFIER___GET_RELATIONSHIPS__ECLASS;
+
+	/**
+	 * The operation id for the '<em>Get Required Stereotype</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE___GET_REQUIRED_STEREOTYPE__STRING = CLASSIFIER___GET_REQUIRED_STEREOTYPE__STRING;
+
+	/**
+	 * The operation id for the '<em>Get Required Stereotypes</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE___GET_REQUIRED_STEREOTYPES = CLASSIFIER___GET_REQUIRED_STEREOTYPES;
+
+	/**
+	 * The operation id for the '<em>Get Source Directed Relationships</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE___GET_SOURCE_DIRECTED_RELATIONSHIPS = CLASSIFIER___GET_SOURCE_DIRECTED_RELATIONSHIPS;
+
+	/**
+	 * The operation id for the '<em>Get Source Directed Relationships</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS = CLASSIFIER___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS;
+
+	/**
+	 * The operation id for the '<em>Get Stereotype Application</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE___GET_STEREOTYPE_APPLICATION__STEREOTYPE = CLASSIFIER___GET_STEREOTYPE_APPLICATION__STEREOTYPE;
+
+	/**
+	 * The operation id for the '<em>Get Stereotype Applications</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE___GET_STEREOTYPE_APPLICATIONS = CLASSIFIER___GET_STEREOTYPE_APPLICATIONS;
+
+	/**
+	 * The operation id for the '<em>Get Target Directed Relationships</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE___GET_TARGET_DIRECTED_RELATIONSHIPS = CLASSIFIER___GET_TARGET_DIRECTED_RELATIONSHIPS;
+
+	/**
+	 * The operation id for the '<em>Get Target Directed Relationships</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS = CLASSIFIER___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS;
+
+	/**
+	 * The operation id for the '<em>Get Value</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE___GET_VALUE__STEREOTYPE_STRING = CLASSIFIER___GET_VALUE__STEREOTYPE_STRING;
+
+	/**
+	 * The operation id for the '<em>Has Keyword</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE___HAS_KEYWORD__STRING = CLASSIFIER___HAS_KEYWORD__STRING;
+
+	/**
+	 * The operation id for the '<em>Has Value</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE___HAS_VALUE__STEREOTYPE_STRING = CLASSIFIER___HAS_VALUE__STEREOTYPE_STRING;
+
+	/**
+	 * The operation id for the '<em>Is Stereotype Applicable</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE___IS_STEREOTYPE_APPLICABLE__STEREOTYPE = CLASSIFIER___IS_STEREOTYPE_APPLICABLE__STEREOTYPE;
+
+	/**
+	 * The operation id for the '<em>Is Stereotype Applied</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE___IS_STEREOTYPE_APPLIED__STEREOTYPE = CLASSIFIER___IS_STEREOTYPE_APPLIED__STEREOTYPE;
+
+	/**
+	 * The operation id for the '<em>Is Stereotype Required</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE___IS_STEREOTYPE_REQUIRED__STEREOTYPE = CLASSIFIER___IS_STEREOTYPE_REQUIRED__STEREOTYPE;
+
+	/**
+	 * The operation id for the '<em>Remove Keyword</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE___REMOVE_KEYWORD__STRING = CLASSIFIER___REMOVE_KEYWORD__STRING;
+
+	/**
+	 * The operation id for the '<em>Set Value</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE___SET_VALUE__STEREOTYPE_STRING_OBJECT = CLASSIFIER___SET_VALUE__STEREOTYPE_STRING_OBJECT;
+
+	/**
+	 * The operation id for the '<em>Unapply Stereotype</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE___UNAPPLY_STEREOTYPE__STEREOTYPE = CLASSIFIER___UNAPPLY_STEREOTYPE__STEREOTYPE;
+
+	/**
+	 * The operation id for the '<em>All Owned Elements</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE___ALL_OWNED_ELEMENTS = CLASSIFIER___ALL_OWNED_ELEMENTS;
+
+	/**
+	 * The operation id for the '<em>Must Be Owned</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE___MUST_BE_OWNED = CLASSIFIER___MUST_BE_OWNED;
+
+	/**
+	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = CLASSIFIER___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Validate Has No Qualified Name</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = CLASSIFIER___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = CLASSIFIER___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Create Dependency</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE___CREATE_DEPENDENCY__NAMEDELEMENT = CLASSIFIER___CREATE_DEPENDENCY__NAMEDELEMENT;
+
+	/**
+	 * The operation id for the '<em>Create Usage</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE___CREATE_USAGE__NAMEDELEMENT = CLASSIFIER___CREATE_USAGE__NAMEDELEMENT;
+
+	/**
+	 * The operation id for the '<em>Get Label</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE___GET_LABEL = CLASSIFIER___GET_LABEL;
+
+	/**
+	 * The operation id for the '<em>Get Label</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE___GET_LABEL__BOOLEAN = CLASSIFIER___GET_LABEL__BOOLEAN;
+
+	/**
+	 * The operation id for the '<em>All Namespaces</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE___ALL_NAMESPACES = CLASSIFIER___ALL_NAMESPACES;
+
+	/**
+	 * The operation id for the '<em>All Owning Packages</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE___ALL_OWNING_PACKAGES = CLASSIFIER___ALL_OWNING_PACKAGES;
+
+	/**
+	 * The operation id for the '<em>Is Distinguishable From</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE = CLASSIFIER___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE;
+
+	/**
+	 * The operation id for the '<em>Get Namespace</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE___GET_NAMESPACE = CLASSIFIER___GET_NAMESPACE;
+
+	/**
+	 * The operation id for the '<em>Get Qualified Name</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE___GET_QUALIFIED_NAME = CLASSIFIER___GET_QUALIFIED_NAME;
+
+	/**
+	 * The operation id for the '<em>Separator</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE___SEPARATOR = CLASSIFIER___SEPARATOR;
+
+	/**
+	 * The operation id for the '<em>Validate Members Distinguishable</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE___VALIDATE_MEMBERS_DISTINGUISHABLE__DIAGNOSTICCHAIN_MAP = CLASSIFIER___VALIDATE_MEMBERS_DISTINGUISHABLE__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Create Element Import</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE___CREATE_ELEMENT_IMPORT__PACKAGEABLEELEMENT_VISIBILITYKIND = CLASSIFIER___CREATE_ELEMENT_IMPORT__PACKAGEABLEELEMENT_VISIBILITYKIND;
+
+	/**
+	 * The operation id for the '<em>Create Package Import</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE___CREATE_PACKAGE_IMPORT__PACKAGE_VISIBILITYKIND = CLASSIFIER___CREATE_PACKAGE_IMPORT__PACKAGE_VISIBILITYKIND;
+
+	/**
+	 * The operation id for the '<em>Get Imported Elements</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE___GET_IMPORTED_ELEMENTS = CLASSIFIER___GET_IMPORTED_ELEMENTS;
+
+	/**
+	 * The operation id for the '<em>Get Imported Packages</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE___GET_IMPORTED_PACKAGES = CLASSIFIER___GET_IMPORTED_PACKAGES;
+
+	/**
+	 * The operation id for the '<em>Exclude Collisions</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE___EXCLUDE_COLLISIONS__ELIST = CLASSIFIER___EXCLUDE_COLLISIONS__ELIST;
+
+	/**
+	 * The operation id for the '<em>Get Names Of Member</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE___GET_NAMES_OF_MEMBER__NAMEDELEMENT = CLASSIFIER___GET_NAMES_OF_MEMBER__NAMEDELEMENT;
+
+	/**
+	 * The operation id for the '<em>Import Members</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE___IMPORT_MEMBERS__ELIST = CLASSIFIER___IMPORT_MEMBERS__ELIST;
+
+	/**
+	 * The operation id for the '<em>Get Imported Members</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE___GET_IMPORTED_MEMBERS = CLASSIFIER___GET_IMPORTED_MEMBERS;
+
+	/**
+	 * The operation id for the '<em>Members Are Distinguishable</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE___MEMBERS_ARE_DISTINGUISHABLE = CLASSIFIER___MEMBERS_ARE_DISTINGUISHABLE;
+
+	/**
+	 * The operation id for the '<em>Get Owned Members</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE___GET_OWNED_MEMBERS = CLASSIFIER___GET_OWNED_MEMBERS;
+
+	/**
+	 * The operation id for the '<em>Validate Redefinition Consistent</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP = CLASSIFIER___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Validate Non Leaf Redefinition</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP = CLASSIFIER___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Validate Redefinition Context Valid</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP = CLASSIFIER___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Is Consistent With</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE___IS_CONSISTENT_WITH__REDEFINABLEELEMENT = CLASSIFIER___IS_CONSISTENT_WITH__REDEFINABLEELEMENT;
+
+	/**
+	 * The operation id for the '<em>Is Redefinition Context Valid</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT = CLASSIFIER___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT;
+
+	/**
+	 * The operation id for the '<em>Is Compatible With</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE___IS_COMPATIBLE_WITH__PARAMETERABLEELEMENT = CLASSIFIER___IS_COMPATIBLE_WITH__PARAMETERABLEELEMENT;
+
+	/**
+	 * The operation id for the '<em>Is Template Parameter</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE___IS_TEMPLATE_PARAMETER = CLASSIFIER___IS_TEMPLATE_PARAMETER;
+
+	/**
+	 * The operation id for the '<em>Create Association</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE___CREATE_ASSOCIATION__BOOLEAN_AGGREGATIONKIND_STRING_INT_INT_TYPE_BOOLEAN_AGGREGATIONKIND_STRING_INT_INT = CLASSIFIER___CREATE_ASSOCIATION__BOOLEAN_AGGREGATIONKIND_STRING_INT_INT_TYPE_BOOLEAN_AGGREGATIONKIND_STRING_INT_INT;
+
+	/**
+	 * The operation id for the '<em>Get Associations</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE___GET_ASSOCIATIONS = CLASSIFIER___GET_ASSOCIATIONS;
+
+	/**
+	 * The operation id for the '<em>Conforms To</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE___CONFORMS_TO__TYPE = CLASSIFIER___CONFORMS_TO__TYPE;
+
+	/**
+	 * The operation id for the '<em>Is Template</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE___IS_TEMPLATE = CLASSIFIER___IS_TEMPLATE;
+
+	/**
+	 * The operation id for the '<em>Parameterable Elements</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE___PARAMETERABLE_ELEMENTS = CLASSIFIER___PARAMETERABLE_ELEMENTS;
+
+	/**
+	 * The operation id for the '<em>Validate Non Final Parents</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE___VALIDATE_NON_FINAL_PARENTS__DIAGNOSTICCHAIN_MAP = CLASSIFIER___VALIDATE_NON_FINAL_PARENTS__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Validate No Cycles In Generalization</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE___VALIDATE_NO_CYCLES_IN_GENERALIZATION__DIAGNOSTICCHAIN_MAP = CLASSIFIER___VALIDATE_NO_CYCLES_IN_GENERALIZATION__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Validate Specialize Type</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP = CLASSIFIER___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Validate Maps To Generalization Set</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP = CLASSIFIER___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Get All Attributes</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE___GET_ALL_ATTRIBUTES = CLASSIFIER___GET_ALL_ATTRIBUTES;
+
+	/**
+	 * The operation id for the '<em>Get All Operations</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE___GET_ALL_OPERATIONS = CLASSIFIER___GET_ALL_OPERATIONS;
+
+	/**
+	 * The operation id for the '<em>Get All Used Interfaces</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE___GET_ALL_USED_INTERFACES = CLASSIFIER___GET_ALL_USED_INTERFACES;
+
+	/**
+	 * The operation id for the '<em>Get Operation</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE___GET_OPERATION__STRING_ELIST_ELIST = CLASSIFIER___GET_OPERATION__STRING_ELIST_ELIST;
+
+	/**
+	 * The operation id for the '<em>Get Operation</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE___GET_OPERATION__STRING_ELIST_ELIST_BOOLEAN = CLASSIFIER___GET_OPERATION__STRING_ELIST_ELIST_BOOLEAN;
+
+	/**
+	 * The operation id for the '<em>Get Operations</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE___GET_OPERATIONS = CLASSIFIER___GET_OPERATIONS;
+
+	/**
+	 * The operation id for the '<em>Get Used Interfaces</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE___GET_USED_INTERFACES = CLASSIFIER___GET_USED_INTERFACES;
+
+	/**
+	 * The operation id for the '<em>All Features</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE___ALL_FEATURES = CLASSIFIER___ALL_FEATURES;
+
+	/**
+	 * The operation id for the '<em>All Parents</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE___ALL_PARENTS = CLASSIFIER___ALL_PARENTS;
+
+	/**
+	 * The operation id for the '<em>Conforms To</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE___CONFORMS_TO__CLASSIFIER = CLASSIFIER___CONFORMS_TO__CLASSIFIER;
+
+	/**
+	 * The operation id for the '<em>Get Generals</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE___GET_GENERALS = CLASSIFIER___GET_GENERALS;
+
+	/**
+	 * The operation id for the '<em>Has Visibility Of</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE___HAS_VISIBILITY_OF__NAMEDELEMENT = CLASSIFIER___HAS_VISIBILITY_OF__NAMEDELEMENT;
+
+	/**
+	 * The operation id for the '<em>Inherit</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE___INHERIT__ELIST = CLASSIFIER___INHERIT__ELIST;
+
+	/**
+	 * The operation id for the '<em>Inheritable Members</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE___INHERITABLE_MEMBERS__CLASSIFIER = CLASSIFIER___INHERITABLE_MEMBERS__CLASSIFIER;
+
+	/**
+	 * The operation id for the '<em>Get Inherited Members</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE___GET_INHERITED_MEMBERS = CLASSIFIER___GET_INHERITED_MEMBERS;
+
+	/**
+	 * The operation id for the '<em>May Specialize Type</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE___MAY_SPECIALIZE_TYPE__CLASSIFIER = CLASSIFIER___MAY_SPECIALIZE_TYPE__CLASSIFIER;
+
+	/**
+	 * The operation id for the '<em>Parents</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE___PARENTS = CLASSIFIER___PARENTS;
+
+	/**
+	 * The operation id for the '<em>Create Owned Attribute</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE___CREATE_OWNED_ATTRIBUTE__STRING_TYPE_INT_INT = CLASSIFIER_OPERATION_COUNT + 0;
+
+	/**
+	 * The operation id for the '<em>Create Owned Operation</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE___CREATE_OWNED_OPERATION__STRING_ELIST_ELIST_TYPE = CLASSIFIER_OPERATION_COUNT + 1;
+
+	/**
+	 * The number of operations of the '<em>Data Type</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_TYPE_OPERATION_COUNT = CLASSIFIER_OPERATION_COUNT + 2;
+
+	/**
+	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
 	int OPERATION_TEMPLATE_PARAMETER__EANNOTATIONS = TEMPLATE_PARAMETER__EANNOTATIONS;
 
 	/**
@@ -60499,6 +61812,15 @@
 	int OPERATION_TEMPLATE_PARAMETER__DEFAULT = TEMPLATE_PARAMETER__DEFAULT;
 
 	/**
+	 * The feature id for the '<em><b>Owned Default</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int OPERATION_TEMPLATE_PARAMETER__OWNED_DEFAULT = TEMPLATE_PARAMETER__OWNED_DEFAULT;
+
+	/**
 	 * The feature id for the '<em><b>Owned Parametered Element</b></em>' containment reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -60517,15 +61839,6 @@
 	int OPERATION_TEMPLATE_PARAMETER__PARAMETERED_ELEMENT = TEMPLATE_PARAMETER__PARAMETERED_ELEMENT;
 
 	/**
-	 * The feature id for the '<em><b>Owned Default</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int OPERATION_TEMPLATE_PARAMETER__OWNED_DEFAULT = TEMPLATE_PARAMETER__OWNED_DEFAULT;
-
-	/**
 	 * The feature id for the '<em><b>Signature</b></em>' container reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -61147,15 +62460,6 @@
 	int EXTENSION_END__DEPLOYMENT = PROPERTY__DEPLOYMENT;
 
 	/**
-	 * The feature id for the '<em><b>Datatype</b></em>' container reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int EXTENSION_END__DATATYPE = PROPERTY__DATATYPE;
-
-	/**
 	 * The feature id for the '<em><b>Interface</b></em>' container reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -61165,6 +62469,15 @@
 	int EXTENSION_END__INTERFACE = PROPERTY__INTERFACE;
 
 	/**
+	 * The feature id for the '<em><b>Datatype</b></em>' container reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EXTENSION_END__DATATYPE = PROPERTY__DATATYPE;
+
+	/**
 	 * The feature id for the '<em><b>Aggregation</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -61642,15 +62955,6 @@
 	int EXTENSION_END___MUST_BE_OWNED = PROPERTY___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int EXTENSION_END___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = PROPERTY___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -61669,6 +62973,15 @@
 	int EXTENSION_END___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = PROPERTY___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EXTENSION_END___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = PROPERTY___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -61804,15 +63117,6 @@
 	int EXTENSION_END___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT = PROPERTY___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT;
 
 	/**
-	 * The operation id for the '<em>Validate Upper Ge Lower</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int EXTENSION_END___VALIDATE_UPPER_GE_LOWER__DIAGNOSTICCHAIN_MAP = PROPERTY___VALIDATE_UPPER_GE_LOWER__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Lower Ge0</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -61822,13 +63126,13 @@
 	int EXTENSION_END___VALIDATE_LOWER_GE0__DIAGNOSTICCHAIN_MAP = PROPERTY___VALIDATE_LOWER_GE0__DIAGNOSTICCHAIN_MAP;
 
 	/**
-	 * The operation id for the '<em>Validate Value Specification No Side Effects</em>' operation.
+	 * The operation id for the '<em>Validate Upper Ge Lower</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int EXTENSION_END___VALIDATE_VALUE_SPECIFICATION_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP = PROPERTY___VALIDATE_VALUE_SPECIFICATION_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP;
+	int EXTENSION_END___VALIDATE_UPPER_GE_LOWER__DIAGNOSTICCHAIN_MAP = PROPERTY___VALIDATE_UPPER_GE_LOWER__DIAGNOSTICCHAIN_MAP;
 
 	/**
 	 * The operation id for the '<em>Validate Value Specification Constant</em>' operation.
@@ -61840,6 +63144,15 @@
 	int EXTENSION_END___VALIDATE_VALUE_SPECIFICATION_CONSTANT__DIAGNOSTICCHAIN_MAP = PROPERTY___VALIDATE_VALUE_SPECIFICATION_CONSTANT__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Value Specification No Side Effects</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EXTENSION_END___VALIDATE_VALUE_SPECIFICATION_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP = PROPERTY___VALIDATE_VALUE_SPECIFICATION_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Set Lower</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -61975,40 +63288,13 @@
 	int EXTENSION_END___GET_DEPLOYED_ELEMENTS = PROPERTY___GET_DEPLOYED_ELEMENTS;
 
 	/**
-	 * The operation id for the '<em>Validate Subsetting Context Conforms</em>' operation.
+	 * The operation id for the '<em>Validate Subsetted Property Names</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int EXTENSION_END___VALIDATE_SUBSETTING_CONTEXT_CONFORMS__DIAGNOSTICCHAIN_MAP = PROPERTY___VALIDATE_SUBSETTING_CONTEXT_CONFORMS__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Validate Derived Union Is Read Only</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int EXTENSION_END___VALIDATE_DERIVED_UNION_IS_READ_ONLY__DIAGNOSTICCHAIN_MAP = PROPERTY___VALIDATE_DERIVED_UNION_IS_READ_ONLY__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Validate Multiplicity Of Composite</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int EXTENSION_END___VALIDATE_MULTIPLICITY_OF_COMPOSITE__DIAGNOSTICCHAIN_MAP = PROPERTY___VALIDATE_MULTIPLICITY_OF_COMPOSITE__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Validate Redefined Property Inherited</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int EXTENSION_END___VALIDATE_REDEFINED_PROPERTY_INHERITED__DIAGNOSTICCHAIN_MAP = PROPERTY___VALIDATE_REDEFINED_PROPERTY_INHERITED__DIAGNOSTICCHAIN_MAP;
+	int EXTENSION_END___VALIDATE_SUBSETTED_PROPERTY_NAMES__DIAGNOSTICCHAIN_MAP = PROPERTY___VALIDATE_SUBSETTED_PROPERTY_NAMES__DIAGNOSTICCHAIN_MAP;
 
 	/**
 	 * The operation id for the '<em>Validate Subsetting Rules</em>' operation.
@@ -62020,6 +63306,15 @@
 	int EXTENSION_END___VALIDATE_SUBSETTING_RULES__DIAGNOSTICCHAIN_MAP = PROPERTY___VALIDATE_SUBSETTING_RULES__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Multiplicity Of Composite</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EXTENSION_END___VALIDATE_MULTIPLICITY_OF_COMPOSITE__DIAGNOSTICCHAIN_MAP = PROPERTY___VALIDATE_MULTIPLICITY_OF_COMPOSITE__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Validate Binding To Attribute</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -62029,13 +63324,22 @@
 	int EXTENSION_END___VALIDATE_BINDING_TO_ATTRIBUTE__DIAGNOSTICCHAIN_MAP = PROPERTY___VALIDATE_BINDING_TO_ATTRIBUTE__DIAGNOSTICCHAIN_MAP;
 
 	/**
-	 * The operation id for the '<em>Validate Derived Union Is Derived</em>' operation.
+	 * The operation id for the '<em>Validate Redefined Property Inherited</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int EXTENSION_END___VALIDATE_DERIVED_UNION_IS_DERIVED__DIAGNOSTICCHAIN_MAP = PROPERTY___VALIDATE_DERIVED_UNION_IS_DERIVED__DIAGNOSTICCHAIN_MAP;
+	int EXTENSION_END___VALIDATE_REDEFINED_PROPERTY_INHERITED__DIAGNOSTICCHAIN_MAP = PROPERTY___VALIDATE_REDEFINED_PROPERTY_INHERITED__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Validate Subsetting Context Conforms</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EXTENSION_END___VALIDATE_SUBSETTING_CONTEXT_CONFORMS__DIAGNOSTICCHAIN_MAP = PROPERTY___VALIDATE_SUBSETTING_CONTEXT_CONFORMS__DIAGNOSTICCHAIN_MAP;
 
 	/**
 	 * The operation id for the '<em>Validate Deployment Target</em>' operation.
@@ -62047,13 +63351,22 @@
 	int EXTENSION_END___VALIDATE_DEPLOYMENT_TARGET__DIAGNOSTICCHAIN_MAP = PROPERTY___VALIDATE_DEPLOYMENT_TARGET__DIAGNOSTICCHAIN_MAP;
 
 	/**
-	 * The operation id for the '<em>Validate Subsetted Property Names</em>' operation.
+	 * The operation id for the '<em>Validate Derived Union Is Derived</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int EXTENSION_END___VALIDATE_SUBSETTED_PROPERTY_NAMES__DIAGNOSTICCHAIN_MAP = PROPERTY___VALIDATE_SUBSETTED_PROPERTY_NAMES__DIAGNOSTICCHAIN_MAP;
+	int EXTENSION_END___VALIDATE_DERIVED_UNION_IS_DERIVED__DIAGNOSTICCHAIN_MAP = PROPERTY___VALIDATE_DERIVED_UNION_IS_DERIVED__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Validate Derived Union Is Read Only</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EXTENSION_END___VALIDATE_DERIVED_UNION_IS_READ_ONLY__DIAGNOSTICCHAIN_MAP = PROPERTY___VALIDATE_DERIVED_UNION_IS_READ_ONLY__DIAGNOSTICCHAIN_MAP;
 
 	/**
 	 * The operation id for the '<em>Get Other End</em>' operation.
@@ -62857,15 +64170,6 @@
 	int MODEL___MUST_BE_OWNED = PACKAGE___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MODEL___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = PACKAGE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -62884,6 +64188,15 @@
 	int MODEL___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = PACKAGE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MODEL___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = PACKAGE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -64054,15 +65367,6 @@
 	int ENUMERATION___MUST_BE_OWNED = DATA_TYPE___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ENUMERATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = DATA_TYPE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -64081,6 +65385,15 @@
 	int ENUMERATION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = DATA_TYPE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENUMERATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = DATA_TYPE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -64378,24 +65691,6 @@
 	int ENUMERATION___PARAMETERABLE_ELEMENTS = DATA_TYPE___PARAMETERABLE_ELEMENTS;
 
 	/**
-	 * The operation id for the '<em>Validate Specialize Type</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ENUMERATION___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP = DATA_TYPE___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Validate Maps To Generalization Set</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ENUMERATION___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP = DATA_TYPE___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Non Final Parents</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -64414,6 +65709,24 @@
 	int ENUMERATION___VALIDATE_NO_CYCLES_IN_GENERALIZATION__DIAGNOSTICCHAIN_MAP = DATA_TYPE___VALIDATE_NO_CYCLES_IN_GENERALIZATION__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Specialize Type</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENUMERATION___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP = DATA_TYPE___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Validate Maps To Generalization Set</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENUMERATION___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP = DATA_TYPE___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Get All Attributes</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -65089,15 +66402,6 @@
 	int INSTANCE_SPECIFICATION___MUST_BE_OWNED = DEPLOYMENT_TARGET___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INSTANCE_SPECIFICATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = DEPLOYMENT_TARGET___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -65116,6 +66420,15 @@
 	int INSTANCE_SPECIFICATION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = DEPLOYMENT_TARGET___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INSTANCE_SPECIFICATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = DEPLOYMENT_TARGET___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -65233,22 +66546,13 @@
 	int INSTANCE_SPECIFICATION___IS_TEMPLATE_PARAMETER = DEPLOYMENT_TARGET_OPERATION_COUNT + 1;
 
 	/**
-	 * The operation id for the '<em>Validate Deployment Artifact</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INSTANCE_SPECIFICATION___VALIDATE_DEPLOYMENT_ARTIFACT__DIAGNOSTICCHAIN_MAP = DEPLOYMENT_TARGET_OPERATION_COUNT + 2;
-
-	/**
 	 * The operation id for the '<em>Validate Structural Feature</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int INSTANCE_SPECIFICATION___VALIDATE_STRUCTURAL_FEATURE__DIAGNOSTICCHAIN_MAP = DEPLOYMENT_TARGET_OPERATION_COUNT + 3;
+	int INSTANCE_SPECIFICATION___VALIDATE_STRUCTURAL_FEATURE__DIAGNOSTICCHAIN_MAP = DEPLOYMENT_TARGET_OPERATION_COUNT + 2;
 
 	/**
 	 * The operation id for the '<em>Validate Defining Feature</em>' operation.
@@ -65257,7 +66561,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int INSTANCE_SPECIFICATION___VALIDATE_DEFINING_FEATURE__DIAGNOSTICCHAIN_MAP = DEPLOYMENT_TARGET_OPERATION_COUNT + 4;
+	int INSTANCE_SPECIFICATION___VALIDATE_DEFINING_FEATURE__DIAGNOSTICCHAIN_MAP = DEPLOYMENT_TARGET_OPERATION_COUNT + 3;
 
 	/**
 	 * The operation id for the '<em>Validate Deployment Target</em>' operation.
@@ -65266,7 +66570,16 @@
 	 * @generated
 	 * @ordered
 	 */
-	int INSTANCE_SPECIFICATION___VALIDATE_DEPLOYMENT_TARGET__DIAGNOSTICCHAIN_MAP = DEPLOYMENT_TARGET_OPERATION_COUNT + 5;
+	int INSTANCE_SPECIFICATION___VALIDATE_DEPLOYMENT_TARGET__DIAGNOSTICCHAIN_MAP = DEPLOYMENT_TARGET_OPERATION_COUNT + 4;
+
+	/**
+	 * The operation id for the '<em>Validate Deployment Artifact</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INSTANCE_SPECIFICATION___VALIDATE_DEPLOYMENT_ARTIFACT__DIAGNOSTICCHAIN_MAP = DEPLOYMENT_TARGET_OPERATION_COUNT + 5;
 
 	/**
 	 * The number of operations of the '<em>Instance Specification</em>' class.
@@ -65782,15 +67095,6 @@
 	int ENUMERATION_LITERAL___MUST_BE_OWNED = INSTANCE_SPECIFICATION___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ENUMERATION_LITERAL___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = INSTANCE_SPECIFICATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -65809,6 +67113,15 @@
 	int ENUMERATION_LITERAL___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = INSTANCE_SPECIFICATION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENUMERATION_LITERAL___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = INSTANCE_SPECIFICATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -65926,15 +67239,6 @@
 	int ENUMERATION_LITERAL___IS_TEMPLATE_PARAMETER = INSTANCE_SPECIFICATION___IS_TEMPLATE_PARAMETER;
 
 	/**
-	 * The operation id for the '<em>Validate Deployment Artifact</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ENUMERATION_LITERAL___VALIDATE_DEPLOYMENT_ARTIFACT__DIAGNOSTICCHAIN_MAP = INSTANCE_SPECIFICATION___VALIDATE_DEPLOYMENT_ARTIFACT__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Structural Feature</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -65962,6 +67266,15 @@
 	int ENUMERATION_LITERAL___VALIDATE_DEPLOYMENT_TARGET__DIAGNOSTICCHAIN_MAP = INSTANCE_SPECIFICATION___VALIDATE_DEPLOYMENT_TARGET__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Deployment Artifact</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ENUMERATION_LITERAL___VALIDATE_DEPLOYMENT_ARTIFACT__DIAGNOSTICCHAIN_MAP = INSTANCE_SPECIFICATION___VALIDATE_DEPLOYMENT_ARTIFACT__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Validate Classifier Equals Owning Enumeration</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -67114,15 +68427,6 @@
 	int PRIMITIVE_TYPE___MUST_BE_OWNED = DATA_TYPE___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PRIMITIVE_TYPE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = DATA_TYPE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -67141,6 +68445,15 @@
 	int PRIMITIVE_TYPE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = DATA_TYPE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PRIMITIVE_TYPE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = DATA_TYPE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -67438,24 +68751,6 @@
 	int PRIMITIVE_TYPE___PARAMETERABLE_ELEMENTS = DATA_TYPE___PARAMETERABLE_ELEMENTS;
 
 	/**
-	 * The operation id for the '<em>Validate Specialize Type</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PRIMITIVE_TYPE___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP = DATA_TYPE___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Validate Maps To Generalization Set</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PRIMITIVE_TYPE___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP = DATA_TYPE___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Non Final Parents</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -67474,6 +68769,24 @@
 	int PRIMITIVE_TYPE___VALIDATE_NO_CYCLES_IN_GENERALIZATION__DIAGNOSTICCHAIN_MAP = DATA_TYPE___VALIDATE_NO_CYCLES_IN_GENERALIZATION__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Specialize Type</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PRIMITIVE_TYPE___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP = DATA_TYPE___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Validate Maps To Generalization Set</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PRIMITIVE_TYPE___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP = DATA_TYPE___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Get All Attributes</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -68149,15 +69462,6 @@
 	int USAGE___MUST_BE_OWNED = DEPENDENCY___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int USAGE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = DEPENDENCY___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -68176,6 +69480,15 @@
 	int USAGE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = DEPENDENCY___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int USAGE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = DEPENDENCY___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -68743,15 +70056,6 @@
 	int COLLABORATION_USE___MUST_BE_OWNED = NAMED_ELEMENT___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COLLABORATION_USE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = NAMED_ELEMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -68770,6 +70074,15 @@
 	int COLLABORATION_USE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = NAMED_ELEMENT___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COLLABORATION_USE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = NAMED_ELEMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -68860,13 +70173,13 @@
 	int COLLABORATION_USE___SEPARATOR = NAMED_ELEMENT___SEPARATOR;
 
 	/**
-	 * The operation id for the '<em>Validate Client Elements</em>' operation.
+	 * The operation id for the '<em>Validate Connectors</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int COLLABORATION_USE___VALIDATE_CLIENT_ELEMENTS__DIAGNOSTICCHAIN_MAP = NAMED_ELEMENT_OPERATION_COUNT + 0;
+	int COLLABORATION_USE___VALIDATE_CONNECTORS__DIAGNOSTICCHAIN_MAP = NAMED_ELEMENT_OPERATION_COUNT + 0;
 
 	/**
 	 * The operation id for the '<em>Validate Every Role</em>' operation.
@@ -68878,13 +70191,13 @@
 	int COLLABORATION_USE___VALIDATE_EVERY_ROLE__DIAGNOSTICCHAIN_MAP = NAMED_ELEMENT_OPERATION_COUNT + 1;
 
 	/**
-	 * The operation id for the '<em>Validate Connectors</em>' operation.
+	 * The operation id for the '<em>Validate Client Elements</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int COLLABORATION_USE___VALIDATE_CONNECTORS__DIAGNOSTICCHAIN_MAP = NAMED_ELEMENT_OPERATION_COUNT + 2;
+	int COLLABORATION_USE___VALIDATE_CLIENT_ELEMENTS__DIAGNOSTICCHAIN_MAP = NAMED_ELEMENT_OPERATION_COUNT + 2;
 
 	/**
 	 * The number of operations of the '<em>Collaboration Use</em>' class.
@@ -69652,15 +70965,6 @@
 	int COLLABORATION___MUST_BE_OWNED = STRUCTURED_CLASSIFIER___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COLLABORATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = STRUCTURED_CLASSIFIER___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -69679,6 +70983,15 @@
 	int COLLABORATION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = STRUCTURED_CLASSIFIER___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COLLABORATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = STRUCTURED_CLASSIFIER___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -69976,24 +71289,6 @@
 	int COLLABORATION___PARAMETERABLE_ELEMENTS = STRUCTURED_CLASSIFIER___PARAMETERABLE_ELEMENTS;
 
 	/**
-	 * The operation id for the '<em>Validate Specialize Type</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COLLABORATION___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP = STRUCTURED_CLASSIFIER___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Validate Maps To Generalization Set</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COLLABORATION___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP = STRUCTURED_CLASSIFIER___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Non Final Parents</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -70012,6 +71307,24 @@
 	int COLLABORATION___VALIDATE_NO_CYCLES_IN_GENERALIZATION__DIAGNOSTICCHAIN_MAP = STRUCTURED_CLASSIFIER___VALIDATE_NO_CYCLES_IN_GENERALIZATION__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Specialize Type</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COLLABORATION___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP = STRUCTURED_CLASSIFIER___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Validate Maps To Generalization Set</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COLLABORATION___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP = STRUCTURED_CLASSIFIER___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Get All Attributes</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -70234,744 +71547,6 @@
 	 * @generated
 	 * @ordered
 	 */
-	int CONNECTOR__EANNOTATIONS = FEATURE__EANNOTATIONS;
-
-	/**
-	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONNECTOR__OWNED_COMMENT = FEATURE__OWNED_COMMENT;
-
-	/**
-	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONNECTOR__OWNED_ELEMENT = FEATURE__OWNED_ELEMENT;
-
-	/**
-	 * The feature id for the '<em><b>Owner</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONNECTOR__OWNER = FEATURE__OWNER;
-
-	/**
-	 * The feature id for the '<em><b>Client Dependency</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONNECTOR__CLIENT_DEPENDENCY = FEATURE__CLIENT_DEPENDENCY;
-
-	/**
-	 * The feature id for the '<em><b>Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONNECTOR__NAME = FEATURE__NAME;
-
-	/**
-	 * The feature id for the '<em><b>Name Expression</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONNECTOR__NAME_EXPRESSION = FEATURE__NAME_EXPRESSION;
-
-	/**
-	 * The feature id for the '<em><b>Namespace</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONNECTOR__NAMESPACE = FEATURE__NAMESPACE;
-
-	/**
-	 * The feature id for the '<em><b>Qualified Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONNECTOR__QUALIFIED_NAME = FEATURE__QUALIFIED_NAME;
-
-	/**
-	 * The feature id for the '<em><b>Visibility</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONNECTOR__VISIBILITY = FEATURE__VISIBILITY;
-
-	/**
-	 * The feature id for the '<em><b>Is Leaf</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONNECTOR__IS_LEAF = FEATURE__IS_LEAF;
-
-	/**
-	 * The feature id for the '<em><b>Redefined Element</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONNECTOR__REDEFINED_ELEMENT = FEATURE__REDEFINED_ELEMENT;
-
-	/**
-	 * The feature id for the '<em><b>Redefinition Context</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONNECTOR__REDEFINITION_CONTEXT = FEATURE__REDEFINITION_CONTEXT;
-
-	/**
-	 * The feature id for the '<em><b>Featuring Classifier</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONNECTOR__FEATURING_CLASSIFIER = FEATURE__FEATURING_CLASSIFIER;
-
-	/**
-	 * The feature id for the '<em><b>Is Static</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONNECTOR__IS_STATIC = FEATURE__IS_STATIC;
-
-	/**
-	 * The feature id for the '<em><b>Contract</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONNECTOR__CONTRACT = FEATURE_FEATURE_COUNT + 0;
-
-	/**
-	 * The feature id for the '<em><b>End</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONNECTOR__END = FEATURE_FEATURE_COUNT + 1;
-
-	/**
-	 * The feature id for the '<em><b>Kind</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONNECTOR__KIND = FEATURE_FEATURE_COUNT + 2;
-
-	/**
-	 * The feature id for the '<em><b>Redefined Connector</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONNECTOR__REDEFINED_CONNECTOR = FEATURE_FEATURE_COUNT + 3;
-
-	/**
-	 * The feature id for the '<em><b>Type</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONNECTOR__TYPE = FEATURE_FEATURE_COUNT + 4;
-
-	/**
-	 * The number of structural features of the '<em>Connector</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONNECTOR_FEATURE_COUNT = FEATURE_FEATURE_COUNT + 5;
-
-	/**
-	 * The operation id for the '<em>Get EAnnotation</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONNECTOR___GET_EANNOTATION__STRING = FEATURE___GET_EANNOTATION__STRING;
-
-	/**
-	 * The operation id for the '<em>Validate Has Owner</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONNECTOR___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP = FEATURE___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Validate Not Own Self</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONNECTOR___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP = FEATURE___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Add Keyword</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONNECTOR___ADD_KEYWORD__STRING = FEATURE___ADD_KEYWORD__STRING;
-
-	/**
-	 * The operation id for the '<em>Apply Stereotype</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONNECTOR___APPLY_STEREOTYPE__STEREOTYPE = FEATURE___APPLY_STEREOTYPE__STEREOTYPE;
-
-	/**
-	 * The operation id for the '<em>Create EAnnotation</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONNECTOR___CREATE_EANNOTATION__STRING = FEATURE___CREATE_EANNOTATION__STRING;
-
-	/**
-	 * The operation id for the '<em>Destroy</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONNECTOR___DESTROY = FEATURE___DESTROY;
-
-	/**
-	 * The operation id for the '<em>Get Keywords</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONNECTOR___GET_KEYWORDS = FEATURE___GET_KEYWORDS;
-
-	/**
-	 * The operation id for the '<em>Get Applicable Stereotype</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONNECTOR___GET_APPLICABLE_STEREOTYPE__STRING = FEATURE___GET_APPLICABLE_STEREOTYPE__STRING;
-
-	/**
-	 * The operation id for the '<em>Get Applicable Stereotypes</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONNECTOR___GET_APPLICABLE_STEREOTYPES = FEATURE___GET_APPLICABLE_STEREOTYPES;
-
-	/**
-	 * The operation id for the '<em>Get Applied Stereotype</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONNECTOR___GET_APPLIED_STEREOTYPE__STRING = FEATURE___GET_APPLIED_STEREOTYPE__STRING;
-
-	/**
-	 * The operation id for the '<em>Get Applied Stereotypes</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONNECTOR___GET_APPLIED_STEREOTYPES = FEATURE___GET_APPLIED_STEREOTYPES;
-
-	/**
-	 * The operation id for the '<em>Get Applied Substereotype</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONNECTOR___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING = FEATURE___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING;
-
-	/**
-	 * The operation id for the '<em>Get Applied Substereotypes</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONNECTOR___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE = FEATURE___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE;
-
-	/**
-	 * The operation id for the '<em>Get Model</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONNECTOR___GET_MODEL = FEATURE___GET_MODEL;
-
-	/**
-	 * The operation id for the '<em>Get Nearest Package</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONNECTOR___GET_NEAREST_PACKAGE = FEATURE___GET_NEAREST_PACKAGE;
-
-	/**
-	 * The operation id for the '<em>Get Relationships</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONNECTOR___GET_RELATIONSHIPS = FEATURE___GET_RELATIONSHIPS;
-
-	/**
-	 * The operation id for the '<em>Get Relationships</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONNECTOR___GET_RELATIONSHIPS__ECLASS = FEATURE___GET_RELATIONSHIPS__ECLASS;
-
-	/**
-	 * The operation id for the '<em>Get Required Stereotype</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONNECTOR___GET_REQUIRED_STEREOTYPE__STRING = FEATURE___GET_REQUIRED_STEREOTYPE__STRING;
-
-	/**
-	 * The operation id for the '<em>Get Required Stereotypes</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONNECTOR___GET_REQUIRED_STEREOTYPES = FEATURE___GET_REQUIRED_STEREOTYPES;
-
-	/**
-	 * The operation id for the '<em>Get Source Directed Relationships</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONNECTOR___GET_SOURCE_DIRECTED_RELATIONSHIPS = FEATURE___GET_SOURCE_DIRECTED_RELATIONSHIPS;
-
-	/**
-	 * The operation id for the '<em>Get Source Directed Relationships</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONNECTOR___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS = FEATURE___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS;
-
-	/**
-	 * The operation id for the '<em>Get Stereotype Application</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONNECTOR___GET_STEREOTYPE_APPLICATION__STEREOTYPE = FEATURE___GET_STEREOTYPE_APPLICATION__STEREOTYPE;
-
-	/**
-	 * The operation id for the '<em>Get Stereotype Applications</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONNECTOR___GET_STEREOTYPE_APPLICATIONS = FEATURE___GET_STEREOTYPE_APPLICATIONS;
-
-	/**
-	 * The operation id for the '<em>Get Target Directed Relationships</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONNECTOR___GET_TARGET_DIRECTED_RELATIONSHIPS = FEATURE___GET_TARGET_DIRECTED_RELATIONSHIPS;
-
-	/**
-	 * The operation id for the '<em>Get Target Directed Relationships</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONNECTOR___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS = FEATURE___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS;
-
-	/**
-	 * The operation id for the '<em>Get Value</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONNECTOR___GET_VALUE__STEREOTYPE_STRING = FEATURE___GET_VALUE__STEREOTYPE_STRING;
-
-	/**
-	 * The operation id for the '<em>Has Keyword</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONNECTOR___HAS_KEYWORD__STRING = FEATURE___HAS_KEYWORD__STRING;
-
-	/**
-	 * The operation id for the '<em>Has Value</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONNECTOR___HAS_VALUE__STEREOTYPE_STRING = FEATURE___HAS_VALUE__STEREOTYPE_STRING;
-
-	/**
-	 * The operation id for the '<em>Is Stereotype Applicable</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONNECTOR___IS_STEREOTYPE_APPLICABLE__STEREOTYPE = FEATURE___IS_STEREOTYPE_APPLICABLE__STEREOTYPE;
-
-	/**
-	 * The operation id for the '<em>Is Stereotype Applied</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONNECTOR___IS_STEREOTYPE_APPLIED__STEREOTYPE = FEATURE___IS_STEREOTYPE_APPLIED__STEREOTYPE;
-
-	/**
-	 * The operation id for the '<em>Is Stereotype Required</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONNECTOR___IS_STEREOTYPE_REQUIRED__STEREOTYPE = FEATURE___IS_STEREOTYPE_REQUIRED__STEREOTYPE;
-
-	/**
-	 * The operation id for the '<em>Remove Keyword</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONNECTOR___REMOVE_KEYWORD__STRING = FEATURE___REMOVE_KEYWORD__STRING;
-
-	/**
-	 * The operation id for the '<em>Set Value</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONNECTOR___SET_VALUE__STEREOTYPE_STRING_OBJECT = FEATURE___SET_VALUE__STEREOTYPE_STRING_OBJECT;
-
-	/**
-	 * The operation id for the '<em>Unapply Stereotype</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONNECTOR___UNAPPLY_STEREOTYPE__STEREOTYPE = FEATURE___UNAPPLY_STEREOTYPE__STEREOTYPE;
-
-	/**
-	 * The operation id for the '<em>All Owned Elements</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONNECTOR___ALL_OWNED_ELEMENTS = FEATURE___ALL_OWNED_ELEMENTS;
-
-	/**
-	 * The operation id for the '<em>Must Be Owned</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONNECTOR___MUST_BE_OWNED = FEATURE___MUST_BE_OWNED;
-
-	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONNECTOR___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = FEATURE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONNECTOR___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = FEATURE___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Validate Has No Qualified Name</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONNECTOR___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = FEATURE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Create Dependency</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONNECTOR___CREATE_DEPENDENCY__NAMEDELEMENT = FEATURE___CREATE_DEPENDENCY__NAMEDELEMENT;
-
-	/**
-	 * The operation id for the '<em>Create Usage</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONNECTOR___CREATE_USAGE__NAMEDELEMENT = FEATURE___CREATE_USAGE__NAMEDELEMENT;
-
-	/**
-	 * The operation id for the '<em>Get Label</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONNECTOR___GET_LABEL = FEATURE___GET_LABEL;
-
-	/**
-	 * The operation id for the '<em>Get Label</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONNECTOR___GET_LABEL__BOOLEAN = FEATURE___GET_LABEL__BOOLEAN;
-
-	/**
-	 * The operation id for the '<em>All Namespaces</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONNECTOR___ALL_NAMESPACES = FEATURE___ALL_NAMESPACES;
-
-	/**
-	 * The operation id for the '<em>All Owning Packages</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONNECTOR___ALL_OWNING_PACKAGES = FEATURE___ALL_OWNING_PACKAGES;
-
-	/**
-	 * The operation id for the '<em>Is Distinguishable From</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONNECTOR___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE = FEATURE___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE;
-
-	/**
-	 * The operation id for the '<em>Get Namespace</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONNECTOR___GET_NAMESPACE = FEATURE___GET_NAMESPACE;
-
-	/**
-	 * The operation id for the '<em>Get Qualified Name</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONNECTOR___GET_QUALIFIED_NAME = FEATURE___GET_QUALIFIED_NAME;
-
-	/**
-	 * The operation id for the '<em>Separator</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONNECTOR___SEPARATOR = FEATURE___SEPARATOR;
-
-	/**
-	 * The operation id for the '<em>Validate Redefinition Consistent</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONNECTOR___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP = FEATURE___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Validate Non Leaf Redefinition</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONNECTOR___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP = FEATURE___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Validate Redefinition Context Valid</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONNECTOR___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP = FEATURE___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Is Consistent With</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONNECTOR___IS_CONSISTENT_WITH__REDEFINABLEELEMENT = FEATURE___IS_CONSISTENT_WITH__REDEFINABLEELEMENT;
-
-	/**
-	 * The operation id for the '<em>Is Redefinition Context Valid</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONNECTOR___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT = FEATURE___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT;
-
-	/**
-	 * The operation id for the '<em>Validate Types</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONNECTOR___VALIDATE_TYPES__DIAGNOSTICCHAIN_MAP = FEATURE_OPERATION_COUNT + 0;
-
-	/**
-	 * The operation id for the '<em>Validate Roles</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONNECTOR___VALIDATE_ROLES__DIAGNOSTICCHAIN_MAP = FEATURE_OPERATION_COUNT + 1;
-
-	/**
-	 * The operation id for the '<em>Validate Between Interfaces Ports</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONNECTOR___VALIDATE_BETWEEN_INTERFACES_PORTS__DIAGNOSTICCHAIN_MAP = FEATURE_OPERATION_COUNT + 2;
-
-	/**
-	 * The operation id for the '<em>Validate Compatible</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONNECTOR___VALIDATE_COMPATIBLE__DIAGNOSTICCHAIN_MAP = FEATURE_OPERATION_COUNT + 3;
-
-	/**
-	 * The operation id for the '<em>Get Kind</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONNECTOR___GET_KIND = FEATURE_OPERATION_COUNT + 4;
-
-	/**
-	 * The number of operations of the '<em>Connector</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONNECTOR_OPERATION_COUNT = FEATURE_OPERATION_COUNT + 5;
-
-	/**
-	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
 	int GENERALIZATION__EANNOTATIONS = DIRECTED_RELATIONSHIP__EANNOTATIONS;
 
 	/**
@@ -71911,15 +72486,6 @@
 	int GENERALIZATION_SET___MUST_BE_OWNED = PACKAGEABLE_ELEMENT___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int GENERALIZATION_SET___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = PACKAGEABLE_ELEMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -71938,6 +72504,15 @@
 	int GENERALIZATION_SET___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = PACKAGEABLE_ELEMENT___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int GENERALIZATION_SET___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = PACKAGEABLE_ELEMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -72046,22 +72621,22 @@
 	int GENERALIZATION_SET___IS_TEMPLATE_PARAMETER = PACKAGEABLE_ELEMENT___IS_TEMPLATE_PARAMETER;
 
 	/**
-	 * The operation id for the '<em>Validate Generalization Same Classifier</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int GENERALIZATION_SET___VALIDATE_GENERALIZATION_SAME_CLASSIFIER__DIAGNOSTICCHAIN_MAP = PACKAGEABLE_ELEMENT_OPERATION_COUNT + 0;
-
-	/**
 	 * The operation id for the '<em>Validate Maps To Generalization Set</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int GENERALIZATION_SET___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP = PACKAGEABLE_ELEMENT_OPERATION_COUNT + 1;
+	int GENERALIZATION_SET___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP = PACKAGEABLE_ELEMENT_OPERATION_COUNT + 0;
+
+	/**
+	 * The operation id for the '<em>Validate Generalization Same Classifier</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int GENERALIZATION_SET___VALIDATE_GENERALIZATION_SAME_CLASSIFIER__DIAGNOSTICCHAIN_MAP = PACKAGEABLE_ELEMENT_OPERATION_COUNT + 1;
 
 	/**
 	 * The number of operations of the '<em>Generalization Set</em>' class.
@@ -72586,15 +73161,6 @@
 	int REDEFINABLE_TEMPLATE_SIGNATURE___MUST_BE_OWNED = REDEFINABLE_ELEMENT___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REDEFINABLE_TEMPLATE_SIGNATURE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = REDEFINABLE_ELEMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -72613,6 +73179,15 @@
 	int REDEFINABLE_TEMPLATE_SIGNATURE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = REDEFINABLE_ELEMENT___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REDEFINABLE_TEMPLATE_SIGNATURE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = REDEFINABLE_ELEMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -73531,15 +74106,6 @@
 	int USE_CASE___MUST_BE_OWNED = BEHAVIORED_CLASSIFIER___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int USE_CASE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = BEHAVIORED_CLASSIFIER___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -73558,6 +74124,15 @@
 	int USE_CASE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = BEHAVIORED_CLASSIFIER___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int USE_CASE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = BEHAVIORED_CLASSIFIER___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -73855,24 +74430,6 @@
 	int USE_CASE___PARAMETERABLE_ELEMENTS = BEHAVIORED_CLASSIFIER___PARAMETERABLE_ELEMENTS;
 
 	/**
-	 * The operation id for the '<em>Validate Specialize Type</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int USE_CASE___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP = BEHAVIORED_CLASSIFIER___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Validate Maps To Generalization Set</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int USE_CASE___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP = BEHAVIORED_CLASSIFIER___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Non Final Parents</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -73891,6 +74448,24 @@
 	int USE_CASE___VALIDATE_NO_CYCLES_IN_GENERALIZATION__DIAGNOSTICCHAIN_MAP = BEHAVIORED_CLASSIFIER___VALIDATE_NO_CYCLES_IN_GENERALIZATION__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Specialize Type</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int USE_CASE___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP = BEHAVIORED_CLASSIFIER___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Validate Maps To Generalization Set</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int USE_CASE___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP = BEHAVIORED_CLASSIFIER___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Get All Attributes</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -74071,22 +74646,13 @@
 	int USE_CASE___GET_IMPLEMENTED_INTERFACES = BEHAVIORED_CLASSIFIER___GET_IMPLEMENTED_INTERFACES;
 
 	/**
-	 * The operation id for the '<em>Validate Binary Associations</em>' operation.
+	 * The operation id for the '<em>Validate Must Have Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int USE_CASE___VALIDATE_BINARY_ASSOCIATIONS__DIAGNOSTICCHAIN_MAP = BEHAVIORED_CLASSIFIER_OPERATION_COUNT + 0;
-
-	/**
-	 * The operation id for the '<em>Validate No Association To Use Case</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int USE_CASE___VALIDATE_NO_ASSOCIATION_TO_USE_CASE__DIAGNOSTICCHAIN_MAP = BEHAVIORED_CLASSIFIER_OPERATION_COUNT + 1;
+	int USE_CASE___VALIDATE_MUST_HAVE_NAME__DIAGNOSTICCHAIN_MAP = BEHAVIORED_CLASSIFIER_OPERATION_COUNT + 0;
 
 	/**
 	 * The operation id for the '<em>Validate Cannot Include Self</em>' operation.
@@ -74095,16 +74661,25 @@
 	 * @generated
 	 * @ordered
 	 */
-	int USE_CASE___VALIDATE_CANNOT_INCLUDE_SELF__DIAGNOSTICCHAIN_MAP = BEHAVIORED_CLASSIFIER_OPERATION_COUNT + 2;
+	int USE_CASE___VALIDATE_CANNOT_INCLUDE_SELF__DIAGNOSTICCHAIN_MAP = BEHAVIORED_CLASSIFIER_OPERATION_COUNT + 1;
 
 	/**
-	 * The operation id for the '<em>Validate Must Have Name</em>' operation.
+	 * The operation id for the '<em>Validate Binary Associations</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int USE_CASE___VALIDATE_MUST_HAVE_NAME__DIAGNOSTICCHAIN_MAP = BEHAVIORED_CLASSIFIER_OPERATION_COUNT + 3;
+	int USE_CASE___VALIDATE_BINARY_ASSOCIATIONS__DIAGNOSTICCHAIN_MAP = BEHAVIORED_CLASSIFIER_OPERATION_COUNT + 2;
+
+	/**
+	 * The operation id for the '<em>Validate No Association To Use Case</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int USE_CASE___VALIDATE_NO_ASSOCIATION_TO_USE_CASE__DIAGNOSTICCHAIN_MAP = BEHAVIORED_CLASSIFIER_OPERATION_COUNT + 3;
 
 	/**
 	 * The operation id for the '<em>All Included Use Cases</em>' operation.
@@ -74620,15 +75195,6 @@
 	int EXTEND___MUST_BE_OWNED = NAMED_ELEMENT___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int EXTEND___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = NAMED_ELEMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -74647,6 +75213,15 @@
 	int EXTEND___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = NAMED_ELEMENT___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EXTEND___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = NAMED_ELEMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -75223,15 +75798,6 @@
 	int EXTENSION_POINT___MUST_BE_OWNED = REDEFINABLE_ELEMENT___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int EXTENSION_POINT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = REDEFINABLE_ELEMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -75250,6 +75816,15 @@
 	int EXTENSION_POINT___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = REDEFINABLE_ELEMENT___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EXTENSION_POINT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = REDEFINABLE_ELEMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -75880,15 +76455,6 @@
 	int INCLUDE___MUST_BE_OWNED = NAMED_ELEMENT___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INCLUDE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = NAMED_ELEMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -75907,6 +76473,15 @@
 	int INCLUDE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = NAMED_ELEMENT___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INCLUDE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = NAMED_ELEMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -76012,654 +76587,6 @@
 	 * @generated
 	 * @ordered
 	 */
-	int REALIZATION__EANNOTATIONS = ABSTRACTION__EANNOTATIONS;
-
-	/**
-	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REALIZATION__OWNED_COMMENT = ABSTRACTION__OWNED_COMMENT;
-
-	/**
-	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REALIZATION__OWNED_ELEMENT = ABSTRACTION__OWNED_ELEMENT;
-
-	/**
-	 * The feature id for the '<em><b>Owner</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REALIZATION__OWNER = ABSTRACTION__OWNER;
-
-	/**
-	 * The feature id for the '<em><b>Client Dependency</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REALIZATION__CLIENT_DEPENDENCY = ABSTRACTION__CLIENT_DEPENDENCY;
-
-	/**
-	 * The feature id for the '<em><b>Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REALIZATION__NAME = ABSTRACTION__NAME;
-
-	/**
-	 * The feature id for the '<em><b>Name Expression</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REALIZATION__NAME_EXPRESSION = ABSTRACTION__NAME_EXPRESSION;
-
-	/**
-	 * The feature id for the '<em><b>Namespace</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REALIZATION__NAMESPACE = ABSTRACTION__NAMESPACE;
-
-	/**
-	 * The feature id for the '<em><b>Qualified Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REALIZATION__QUALIFIED_NAME = ABSTRACTION__QUALIFIED_NAME;
-
-	/**
-	 * The feature id for the '<em><b>Visibility</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REALIZATION__VISIBILITY = ABSTRACTION__VISIBILITY;
-
-	/**
-	 * The feature id for the '<em><b>Owning Template Parameter</b></em>' container reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REALIZATION__OWNING_TEMPLATE_PARAMETER = ABSTRACTION__OWNING_TEMPLATE_PARAMETER;
-
-	/**
-	 * The feature id for the '<em><b>Template Parameter</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REALIZATION__TEMPLATE_PARAMETER = ABSTRACTION__TEMPLATE_PARAMETER;
-
-	/**
-	 * The feature id for the '<em><b>Related Element</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REALIZATION__RELATED_ELEMENT = ABSTRACTION__RELATED_ELEMENT;
-
-	/**
-	 * The feature id for the '<em><b>Source</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REALIZATION__SOURCE = ABSTRACTION__SOURCE;
-
-	/**
-	 * The feature id for the '<em><b>Target</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REALIZATION__TARGET = ABSTRACTION__TARGET;
-
-	/**
-	 * The feature id for the '<em><b>Client</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REALIZATION__CLIENT = ABSTRACTION__CLIENT;
-
-	/**
-	 * The feature id for the '<em><b>Supplier</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REALIZATION__SUPPLIER = ABSTRACTION__SUPPLIER;
-
-	/**
-	 * The feature id for the '<em><b>Mapping</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REALIZATION__MAPPING = ABSTRACTION__MAPPING;
-
-	/**
-	 * The number of structural features of the '<em>Realization</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REALIZATION_FEATURE_COUNT = ABSTRACTION_FEATURE_COUNT + 0;
-
-	/**
-	 * The operation id for the '<em>Get EAnnotation</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REALIZATION___GET_EANNOTATION__STRING = ABSTRACTION___GET_EANNOTATION__STRING;
-
-	/**
-	 * The operation id for the '<em>Validate Has Owner</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REALIZATION___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP = ABSTRACTION___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Validate Not Own Self</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REALIZATION___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP = ABSTRACTION___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Add Keyword</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REALIZATION___ADD_KEYWORD__STRING = ABSTRACTION___ADD_KEYWORD__STRING;
-
-	/**
-	 * The operation id for the '<em>Apply Stereotype</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REALIZATION___APPLY_STEREOTYPE__STEREOTYPE = ABSTRACTION___APPLY_STEREOTYPE__STEREOTYPE;
-
-	/**
-	 * The operation id for the '<em>Create EAnnotation</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REALIZATION___CREATE_EANNOTATION__STRING = ABSTRACTION___CREATE_EANNOTATION__STRING;
-
-	/**
-	 * The operation id for the '<em>Destroy</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REALIZATION___DESTROY = ABSTRACTION___DESTROY;
-
-	/**
-	 * The operation id for the '<em>Get Keywords</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REALIZATION___GET_KEYWORDS = ABSTRACTION___GET_KEYWORDS;
-
-	/**
-	 * The operation id for the '<em>Get Applicable Stereotype</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REALIZATION___GET_APPLICABLE_STEREOTYPE__STRING = ABSTRACTION___GET_APPLICABLE_STEREOTYPE__STRING;
-
-	/**
-	 * The operation id for the '<em>Get Applicable Stereotypes</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REALIZATION___GET_APPLICABLE_STEREOTYPES = ABSTRACTION___GET_APPLICABLE_STEREOTYPES;
-
-	/**
-	 * The operation id for the '<em>Get Applied Stereotype</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REALIZATION___GET_APPLIED_STEREOTYPE__STRING = ABSTRACTION___GET_APPLIED_STEREOTYPE__STRING;
-
-	/**
-	 * The operation id for the '<em>Get Applied Stereotypes</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REALIZATION___GET_APPLIED_STEREOTYPES = ABSTRACTION___GET_APPLIED_STEREOTYPES;
-
-	/**
-	 * The operation id for the '<em>Get Applied Substereotype</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REALIZATION___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING = ABSTRACTION___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING;
-
-	/**
-	 * The operation id for the '<em>Get Applied Substereotypes</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REALIZATION___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE = ABSTRACTION___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE;
-
-	/**
-	 * The operation id for the '<em>Get Model</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REALIZATION___GET_MODEL = ABSTRACTION___GET_MODEL;
-
-	/**
-	 * The operation id for the '<em>Get Nearest Package</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REALIZATION___GET_NEAREST_PACKAGE = ABSTRACTION___GET_NEAREST_PACKAGE;
-
-	/**
-	 * The operation id for the '<em>Get Relationships</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REALIZATION___GET_RELATIONSHIPS = ABSTRACTION___GET_RELATIONSHIPS;
-
-	/**
-	 * The operation id for the '<em>Get Relationships</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REALIZATION___GET_RELATIONSHIPS__ECLASS = ABSTRACTION___GET_RELATIONSHIPS__ECLASS;
-
-	/**
-	 * The operation id for the '<em>Get Required Stereotype</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REALIZATION___GET_REQUIRED_STEREOTYPE__STRING = ABSTRACTION___GET_REQUIRED_STEREOTYPE__STRING;
-
-	/**
-	 * The operation id for the '<em>Get Required Stereotypes</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REALIZATION___GET_REQUIRED_STEREOTYPES = ABSTRACTION___GET_REQUIRED_STEREOTYPES;
-
-	/**
-	 * The operation id for the '<em>Get Source Directed Relationships</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REALIZATION___GET_SOURCE_DIRECTED_RELATIONSHIPS = ABSTRACTION___GET_SOURCE_DIRECTED_RELATIONSHIPS;
-
-	/**
-	 * The operation id for the '<em>Get Source Directed Relationships</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REALIZATION___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS = ABSTRACTION___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS;
-
-	/**
-	 * The operation id for the '<em>Get Stereotype Application</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REALIZATION___GET_STEREOTYPE_APPLICATION__STEREOTYPE = ABSTRACTION___GET_STEREOTYPE_APPLICATION__STEREOTYPE;
-
-	/**
-	 * The operation id for the '<em>Get Stereotype Applications</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REALIZATION___GET_STEREOTYPE_APPLICATIONS = ABSTRACTION___GET_STEREOTYPE_APPLICATIONS;
-
-	/**
-	 * The operation id for the '<em>Get Target Directed Relationships</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REALIZATION___GET_TARGET_DIRECTED_RELATIONSHIPS = ABSTRACTION___GET_TARGET_DIRECTED_RELATIONSHIPS;
-
-	/**
-	 * The operation id for the '<em>Get Target Directed Relationships</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REALIZATION___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS = ABSTRACTION___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS;
-
-	/**
-	 * The operation id for the '<em>Get Value</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REALIZATION___GET_VALUE__STEREOTYPE_STRING = ABSTRACTION___GET_VALUE__STEREOTYPE_STRING;
-
-	/**
-	 * The operation id for the '<em>Has Keyword</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REALIZATION___HAS_KEYWORD__STRING = ABSTRACTION___HAS_KEYWORD__STRING;
-
-	/**
-	 * The operation id for the '<em>Has Value</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REALIZATION___HAS_VALUE__STEREOTYPE_STRING = ABSTRACTION___HAS_VALUE__STEREOTYPE_STRING;
-
-	/**
-	 * The operation id for the '<em>Is Stereotype Applicable</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REALIZATION___IS_STEREOTYPE_APPLICABLE__STEREOTYPE = ABSTRACTION___IS_STEREOTYPE_APPLICABLE__STEREOTYPE;
-
-	/**
-	 * The operation id for the '<em>Is Stereotype Applied</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REALIZATION___IS_STEREOTYPE_APPLIED__STEREOTYPE = ABSTRACTION___IS_STEREOTYPE_APPLIED__STEREOTYPE;
-
-	/**
-	 * The operation id for the '<em>Is Stereotype Required</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REALIZATION___IS_STEREOTYPE_REQUIRED__STEREOTYPE = ABSTRACTION___IS_STEREOTYPE_REQUIRED__STEREOTYPE;
-
-	/**
-	 * The operation id for the '<em>Remove Keyword</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REALIZATION___REMOVE_KEYWORD__STRING = ABSTRACTION___REMOVE_KEYWORD__STRING;
-
-	/**
-	 * The operation id for the '<em>Set Value</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REALIZATION___SET_VALUE__STEREOTYPE_STRING_OBJECT = ABSTRACTION___SET_VALUE__STEREOTYPE_STRING_OBJECT;
-
-	/**
-	 * The operation id for the '<em>Unapply Stereotype</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REALIZATION___UNAPPLY_STEREOTYPE__STEREOTYPE = ABSTRACTION___UNAPPLY_STEREOTYPE__STEREOTYPE;
-
-	/**
-	 * The operation id for the '<em>All Owned Elements</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REALIZATION___ALL_OWNED_ELEMENTS = ABSTRACTION___ALL_OWNED_ELEMENTS;
-
-	/**
-	 * The operation id for the '<em>Must Be Owned</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REALIZATION___MUST_BE_OWNED = ABSTRACTION___MUST_BE_OWNED;
-
-	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REALIZATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = ABSTRACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REALIZATION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = ABSTRACTION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Validate Has No Qualified Name</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REALIZATION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = ABSTRACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Create Dependency</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REALIZATION___CREATE_DEPENDENCY__NAMEDELEMENT = ABSTRACTION___CREATE_DEPENDENCY__NAMEDELEMENT;
-
-	/**
-	 * The operation id for the '<em>Create Usage</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REALIZATION___CREATE_USAGE__NAMEDELEMENT = ABSTRACTION___CREATE_USAGE__NAMEDELEMENT;
-
-	/**
-	 * The operation id for the '<em>Get Label</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REALIZATION___GET_LABEL = ABSTRACTION___GET_LABEL;
-
-	/**
-	 * The operation id for the '<em>Get Label</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REALIZATION___GET_LABEL__BOOLEAN = ABSTRACTION___GET_LABEL__BOOLEAN;
-
-	/**
-	 * The operation id for the '<em>All Namespaces</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REALIZATION___ALL_NAMESPACES = ABSTRACTION___ALL_NAMESPACES;
-
-	/**
-	 * The operation id for the '<em>All Owning Packages</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REALIZATION___ALL_OWNING_PACKAGES = ABSTRACTION___ALL_OWNING_PACKAGES;
-
-	/**
-	 * The operation id for the '<em>Is Distinguishable From</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REALIZATION___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE = ABSTRACTION___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE;
-
-	/**
-	 * The operation id for the '<em>Get Namespace</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REALIZATION___GET_NAMESPACE = ABSTRACTION___GET_NAMESPACE;
-
-	/**
-	 * The operation id for the '<em>Get Qualified Name</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REALIZATION___GET_QUALIFIED_NAME = ABSTRACTION___GET_QUALIFIED_NAME;
-
-	/**
-	 * The operation id for the '<em>Separator</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REALIZATION___SEPARATOR = ABSTRACTION___SEPARATOR;
-
-	/**
-	 * The operation id for the '<em>Is Compatible With</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REALIZATION___IS_COMPATIBLE_WITH__PARAMETERABLEELEMENT = ABSTRACTION___IS_COMPATIBLE_WITH__PARAMETERABLEELEMENT;
-
-	/**
-	 * The operation id for the '<em>Is Template Parameter</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REALIZATION___IS_TEMPLATE_PARAMETER = ABSTRACTION___IS_TEMPLATE_PARAMETER;
-
-	/**
-	 * The number of operations of the '<em>Realization</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REALIZATION_OPERATION_COUNT = ABSTRACTION_OPERATION_COUNT + 0;
-
-	/**
-	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
 	int SUBSTITUTION__EANNOTATIONS = REALIZATION__EANNOTATIONS;
 
 	/**
@@ -77176,15 +77103,6 @@
 	int SUBSTITUTION___MUST_BE_OWNED = REALIZATION___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int SUBSTITUTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = REALIZATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -77203,6 +77121,15 @@
 	int SUBSTITUTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = REALIZATION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SUBSTITUTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = REALIZATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -77365,6 +77292,15 @@
 	int CLASSIFIER_TEMPLATE_PARAMETER__DEFAULT = TEMPLATE_PARAMETER__DEFAULT;
 
 	/**
+	 * The feature id for the '<em><b>Owned Default</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CLASSIFIER_TEMPLATE_PARAMETER__OWNED_DEFAULT = TEMPLATE_PARAMETER__OWNED_DEFAULT;
+
+	/**
 	 * The feature id for the '<em><b>Owned Parametered Element</b></em>' containment reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -77383,15 +77319,6 @@
 	int CLASSIFIER_TEMPLATE_PARAMETER__PARAMETERED_ELEMENT = TEMPLATE_PARAMETER__PARAMETERED_ELEMENT;
 
 	/**
-	 * The feature id for the '<em><b>Owned Default</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CLASSIFIER_TEMPLATE_PARAMETER__OWNED_DEFAULT = TEMPLATE_PARAMETER__OWNED_DEFAULT;
-
-	/**
 	 * The feature id for the '<em><b>Signature</b></em>' container reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -77794,7 +77721,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int INTERFACE_REALIZATION__EANNOTATIONS = REALIZATION__EANNOTATIONS;
+	int CONNECTOR__EANNOTATIONS = FEATURE__EANNOTATIONS;
 
 	/**
 	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
@@ -77803,7 +77730,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int INTERFACE_REALIZATION__OWNED_COMMENT = REALIZATION__OWNED_COMMENT;
+	int CONNECTOR__OWNED_COMMENT = FEATURE__OWNED_COMMENT;
 
 	/**
 	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
@@ -77812,7 +77739,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int INTERFACE_REALIZATION__OWNED_ELEMENT = REALIZATION__OWNED_ELEMENT;
+	int CONNECTOR__OWNED_ELEMENT = FEATURE__OWNED_ELEMENT;
 
 	/**
 	 * The feature id for the '<em><b>Owner</b></em>' reference.
@@ -77821,7 +77748,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int INTERFACE_REALIZATION__OWNER = REALIZATION__OWNER;
+	int CONNECTOR__OWNER = FEATURE__OWNER;
 
 	/**
 	 * The feature id for the '<em><b>Client Dependency</b></em>' reference list.
@@ -77830,7 +77757,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int INTERFACE_REALIZATION__CLIENT_DEPENDENCY = REALIZATION__CLIENT_DEPENDENCY;
+	int CONNECTOR__CLIENT_DEPENDENCY = FEATURE__CLIENT_DEPENDENCY;
 
 	/**
 	 * The feature id for the '<em><b>Name</b></em>' attribute.
@@ -77839,7 +77766,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int INTERFACE_REALIZATION__NAME = REALIZATION__NAME;
+	int CONNECTOR__NAME = FEATURE__NAME;
 
 	/**
 	 * The feature id for the '<em><b>Name Expression</b></em>' containment reference.
@@ -77848,7 +77775,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int INTERFACE_REALIZATION__NAME_EXPRESSION = REALIZATION__NAME_EXPRESSION;
+	int CONNECTOR__NAME_EXPRESSION = FEATURE__NAME_EXPRESSION;
 
 	/**
 	 * The feature id for the '<em><b>Namespace</b></em>' reference.
@@ -77857,7 +77784,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int INTERFACE_REALIZATION__NAMESPACE = REALIZATION__NAMESPACE;
+	int CONNECTOR__NAMESPACE = FEATURE__NAMESPACE;
 
 	/**
 	 * The feature id for the '<em><b>Qualified Name</b></em>' attribute.
@@ -77866,7 +77793,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int INTERFACE_REALIZATION__QUALIFIED_NAME = REALIZATION__QUALIFIED_NAME;
+	int CONNECTOR__QUALIFIED_NAME = FEATURE__QUALIFIED_NAME;
 
 	/**
 	 * The feature id for the '<em><b>Visibility</b></em>' attribute.
@@ -77875,106 +77802,106 @@
 	 * @generated
 	 * @ordered
 	 */
-	int INTERFACE_REALIZATION__VISIBILITY = REALIZATION__VISIBILITY;
+	int CONNECTOR__VISIBILITY = FEATURE__VISIBILITY;
 
 	/**
-	 * The feature id for the '<em><b>Owning Template Parameter</b></em>' container reference.
+	 * The feature id for the '<em><b>Is Leaf</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int INTERFACE_REALIZATION__OWNING_TEMPLATE_PARAMETER = REALIZATION__OWNING_TEMPLATE_PARAMETER;
+	int CONNECTOR__IS_LEAF = FEATURE__IS_LEAF;
 
 	/**
-	 * The feature id for the '<em><b>Template Parameter</b></em>' reference.
+	 * The feature id for the '<em><b>Redefined Element</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int INTERFACE_REALIZATION__TEMPLATE_PARAMETER = REALIZATION__TEMPLATE_PARAMETER;
+	int CONNECTOR__REDEFINED_ELEMENT = FEATURE__REDEFINED_ELEMENT;
 
 	/**
-	 * The feature id for the '<em><b>Related Element</b></em>' reference list.
+	 * The feature id for the '<em><b>Redefinition Context</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int INTERFACE_REALIZATION__RELATED_ELEMENT = REALIZATION__RELATED_ELEMENT;
+	int CONNECTOR__REDEFINITION_CONTEXT = FEATURE__REDEFINITION_CONTEXT;
 
 	/**
-	 * The feature id for the '<em><b>Source</b></em>' reference list.
+	 * The feature id for the '<em><b>Featuring Classifier</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int INTERFACE_REALIZATION__SOURCE = REALIZATION__SOURCE;
+	int CONNECTOR__FEATURING_CLASSIFIER = FEATURE__FEATURING_CLASSIFIER;
 
 	/**
-	 * The feature id for the '<em><b>Target</b></em>' reference list.
+	 * The feature id for the '<em><b>Is Static</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int INTERFACE_REALIZATION__TARGET = REALIZATION__TARGET;
+	int CONNECTOR__IS_STATIC = FEATURE__IS_STATIC;
 
 	/**
-	 * The feature id for the '<em><b>Client</b></em>' reference list.
+	 * The feature id for the '<em><b>Contract</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int INTERFACE_REALIZATION__CLIENT = REALIZATION__CLIENT;
+	int CONNECTOR__CONTRACT = FEATURE_FEATURE_COUNT + 0;
 
 	/**
-	 * The feature id for the '<em><b>Supplier</b></em>' reference list.
+	 * The feature id for the '<em><b>End</b></em>' containment reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int INTERFACE_REALIZATION__SUPPLIER = REALIZATION__SUPPLIER;
+	int CONNECTOR__END = FEATURE_FEATURE_COUNT + 1;
 
 	/**
-	 * The feature id for the '<em><b>Mapping</b></em>' containment reference.
+	 * The feature id for the '<em><b>Kind</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int INTERFACE_REALIZATION__MAPPING = REALIZATION__MAPPING;
+	int CONNECTOR__KIND = FEATURE_FEATURE_COUNT + 2;
 
 	/**
-	 * The feature id for the '<em><b>Contract</b></em>' reference.
+	 * The feature id for the '<em><b>Redefined Connector</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int INTERFACE_REALIZATION__CONTRACT = REALIZATION_FEATURE_COUNT + 0;
+	int CONNECTOR__REDEFINED_CONNECTOR = FEATURE_FEATURE_COUNT + 3;
 
 	/**
-	 * The feature id for the '<em><b>Implementing Classifier</b></em>' container reference.
+	 * The feature id for the '<em><b>Type</b></em>' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int INTERFACE_REALIZATION__IMPLEMENTING_CLASSIFIER = REALIZATION_FEATURE_COUNT + 1;
+	int CONNECTOR__TYPE = FEATURE_FEATURE_COUNT + 4;
 
 	/**
-	 * The number of structural features of the '<em>Interface Realization</em>' class.
+	 * The number of structural features of the '<em>Connector</em>' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int INTERFACE_REALIZATION_FEATURE_COUNT = REALIZATION_FEATURE_COUNT + 2;
+	int CONNECTOR_FEATURE_COUNT = FEATURE_FEATURE_COUNT + 5;
 
 	/**
 	 * The operation id for the '<em>Get EAnnotation</em>' operation.
@@ -77983,7 +77910,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int INTERFACE_REALIZATION___GET_EANNOTATION__STRING = REALIZATION___GET_EANNOTATION__STRING;
+	int CONNECTOR___GET_EANNOTATION__STRING = FEATURE___GET_EANNOTATION__STRING;
 
 	/**
 	 * The operation id for the '<em>Validate Has Owner</em>' operation.
@@ -77992,7 +77919,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int INTERFACE_REALIZATION___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP = REALIZATION___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP;
+	int CONNECTOR___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP = FEATURE___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP;
 
 	/**
 	 * The operation id for the '<em>Validate Not Own Self</em>' operation.
@@ -78001,7 +77928,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int INTERFACE_REALIZATION___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP = REALIZATION___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP;
+	int CONNECTOR___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP = FEATURE___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP;
 
 	/**
 	 * The operation id for the '<em>Add Keyword</em>' operation.
@@ -78010,7 +77937,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int INTERFACE_REALIZATION___ADD_KEYWORD__STRING = REALIZATION___ADD_KEYWORD__STRING;
+	int CONNECTOR___ADD_KEYWORD__STRING = FEATURE___ADD_KEYWORD__STRING;
 
 	/**
 	 * The operation id for the '<em>Apply Stereotype</em>' operation.
@@ -78019,7 +77946,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int INTERFACE_REALIZATION___APPLY_STEREOTYPE__STEREOTYPE = REALIZATION___APPLY_STEREOTYPE__STEREOTYPE;
+	int CONNECTOR___APPLY_STEREOTYPE__STEREOTYPE = FEATURE___APPLY_STEREOTYPE__STEREOTYPE;
 
 	/**
 	 * The operation id for the '<em>Create EAnnotation</em>' operation.
@@ -78028,7 +77955,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int INTERFACE_REALIZATION___CREATE_EANNOTATION__STRING = REALIZATION___CREATE_EANNOTATION__STRING;
+	int CONNECTOR___CREATE_EANNOTATION__STRING = FEATURE___CREATE_EANNOTATION__STRING;
 
 	/**
 	 * The operation id for the '<em>Destroy</em>' operation.
@@ -78037,7 +77964,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int INTERFACE_REALIZATION___DESTROY = REALIZATION___DESTROY;
+	int CONNECTOR___DESTROY = FEATURE___DESTROY;
 
 	/**
 	 * The operation id for the '<em>Get Keywords</em>' operation.
@@ -78046,7 +77973,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int INTERFACE_REALIZATION___GET_KEYWORDS = REALIZATION___GET_KEYWORDS;
+	int CONNECTOR___GET_KEYWORDS = FEATURE___GET_KEYWORDS;
 
 	/**
 	 * The operation id for the '<em>Get Applicable Stereotype</em>' operation.
@@ -78055,7 +77982,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int INTERFACE_REALIZATION___GET_APPLICABLE_STEREOTYPE__STRING = REALIZATION___GET_APPLICABLE_STEREOTYPE__STRING;
+	int CONNECTOR___GET_APPLICABLE_STEREOTYPE__STRING = FEATURE___GET_APPLICABLE_STEREOTYPE__STRING;
 
 	/**
 	 * The operation id for the '<em>Get Applicable Stereotypes</em>' operation.
@@ -78064,7 +77991,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int INTERFACE_REALIZATION___GET_APPLICABLE_STEREOTYPES = REALIZATION___GET_APPLICABLE_STEREOTYPES;
+	int CONNECTOR___GET_APPLICABLE_STEREOTYPES = FEATURE___GET_APPLICABLE_STEREOTYPES;
 
 	/**
 	 * The operation id for the '<em>Get Applied Stereotype</em>' operation.
@@ -78073,7 +78000,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int INTERFACE_REALIZATION___GET_APPLIED_STEREOTYPE__STRING = REALIZATION___GET_APPLIED_STEREOTYPE__STRING;
+	int CONNECTOR___GET_APPLIED_STEREOTYPE__STRING = FEATURE___GET_APPLIED_STEREOTYPE__STRING;
 
 	/**
 	 * The operation id for the '<em>Get Applied Stereotypes</em>' operation.
@@ -78082,7 +78009,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int INTERFACE_REALIZATION___GET_APPLIED_STEREOTYPES = REALIZATION___GET_APPLIED_STEREOTYPES;
+	int CONNECTOR___GET_APPLIED_STEREOTYPES = FEATURE___GET_APPLIED_STEREOTYPES;
 
 	/**
 	 * The operation id for the '<em>Get Applied Substereotype</em>' operation.
@@ -78091,7 +78018,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int INTERFACE_REALIZATION___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING = REALIZATION___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING;
+	int CONNECTOR___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING = FEATURE___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING;
 
 	/**
 	 * The operation id for the '<em>Get Applied Substereotypes</em>' operation.
@@ -78100,7 +78027,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int INTERFACE_REALIZATION___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE = REALIZATION___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE;
+	int CONNECTOR___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE = FEATURE___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE;
 
 	/**
 	 * The operation id for the '<em>Get Model</em>' operation.
@@ -78109,7 +78036,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int INTERFACE_REALIZATION___GET_MODEL = REALIZATION___GET_MODEL;
+	int CONNECTOR___GET_MODEL = FEATURE___GET_MODEL;
 
 	/**
 	 * The operation id for the '<em>Get Nearest Package</em>' operation.
@@ -78118,7 +78045,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int INTERFACE_REALIZATION___GET_NEAREST_PACKAGE = REALIZATION___GET_NEAREST_PACKAGE;
+	int CONNECTOR___GET_NEAREST_PACKAGE = FEATURE___GET_NEAREST_PACKAGE;
 
 	/**
 	 * The operation id for the '<em>Get Relationships</em>' operation.
@@ -78127,7 +78054,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int INTERFACE_REALIZATION___GET_RELATIONSHIPS = REALIZATION___GET_RELATIONSHIPS;
+	int CONNECTOR___GET_RELATIONSHIPS = FEATURE___GET_RELATIONSHIPS;
 
 	/**
 	 * The operation id for the '<em>Get Relationships</em>' operation.
@@ -78136,7 +78063,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int INTERFACE_REALIZATION___GET_RELATIONSHIPS__ECLASS = REALIZATION___GET_RELATIONSHIPS__ECLASS;
+	int CONNECTOR___GET_RELATIONSHIPS__ECLASS = FEATURE___GET_RELATIONSHIPS__ECLASS;
 
 	/**
 	 * The operation id for the '<em>Get Required Stereotype</em>' operation.
@@ -78145,7 +78072,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int INTERFACE_REALIZATION___GET_REQUIRED_STEREOTYPE__STRING = REALIZATION___GET_REQUIRED_STEREOTYPE__STRING;
+	int CONNECTOR___GET_REQUIRED_STEREOTYPE__STRING = FEATURE___GET_REQUIRED_STEREOTYPE__STRING;
 
 	/**
 	 * The operation id for the '<em>Get Required Stereotypes</em>' operation.
@@ -78154,7 +78081,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int INTERFACE_REALIZATION___GET_REQUIRED_STEREOTYPES = REALIZATION___GET_REQUIRED_STEREOTYPES;
+	int CONNECTOR___GET_REQUIRED_STEREOTYPES = FEATURE___GET_REQUIRED_STEREOTYPES;
 
 	/**
 	 * The operation id for the '<em>Get Source Directed Relationships</em>' operation.
@@ -78163,7 +78090,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int INTERFACE_REALIZATION___GET_SOURCE_DIRECTED_RELATIONSHIPS = REALIZATION___GET_SOURCE_DIRECTED_RELATIONSHIPS;
+	int CONNECTOR___GET_SOURCE_DIRECTED_RELATIONSHIPS = FEATURE___GET_SOURCE_DIRECTED_RELATIONSHIPS;
 
 	/**
 	 * The operation id for the '<em>Get Source Directed Relationships</em>' operation.
@@ -78172,7 +78099,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int INTERFACE_REALIZATION___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS = REALIZATION___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS;
+	int CONNECTOR___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS = FEATURE___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS;
 
 	/**
 	 * The operation id for the '<em>Get Stereotype Application</em>' operation.
@@ -78181,7 +78108,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int INTERFACE_REALIZATION___GET_STEREOTYPE_APPLICATION__STEREOTYPE = REALIZATION___GET_STEREOTYPE_APPLICATION__STEREOTYPE;
+	int CONNECTOR___GET_STEREOTYPE_APPLICATION__STEREOTYPE = FEATURE___GET_STEREOTYPE_APPLICATION__STEREOTYPE;
 
 	/**
 	 * The operation id for the '<em>Get Stereotype Applications</em>' operation.
@@ -78190,7 +78117,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int INTERFACE_REALIZATION___GET_STEREOTYPE_APPLICATIONS = REALIZATION___GET_STEREOTYPE_APPLICATIONS;
+	int CONNECTOR___GET_STEREOTYPE_APPLICATIONS = FEATURE___GET_STEREOTYPE_APPLICATIONS;
 
 	/**
 	 * The operation id for the '<em>Get Target Directed Relationships</em>' operation.
@@ -78199,7 +78126,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int INTERFACE_REALIZATION___GET_TARGET_DIRECTED_RELATIONSHIPS = REALIZATION___GET_TARGET_DIRECTED_RELATIONSHIPS;
+	int CONNECTOR___GET_TARGET_DIRECTED_RELATIONSHIPS = FEATURE___GET_TARGET_DIRECTED_RELATIONSHIPS;
 
 	/**
 	 * The operation id for the '<em>Get Target Directed Relationships</em>' operation.
@@ -78208,7 +78135,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int INTERFACE_REALIZATION___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS = REALIZATION___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS;
+	int CONNECTOR___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS = FEATURE___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS;
 
 	/**
 	 * The operation id for the '<em>Get Value</em>' operation.
@@ -78217,7 +78144,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int INTERFACE_REALIZATION___GET_VALUE__STEREOTYPE_STRING = REALIZATION___GET_VALUE__STEREOTYPE_STRING;
+	int CONNECTOR___GET_VALUE__STEREOTYPE_STRING = FEATURE___GET_VALUE__STEREOTYPE_STRING;
 
 	/**
 	 * The operation id for the '<em>Has Keyword</em>' operation.
@@ -78226,7 +78153,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int INTERFACE_REALIZATION___HAS_KEYWORD__STRING = REALIZATION___HAS_KEYWORD__STRING;
+	int CONNECTOR___HAS_KEYWORD__STRING = FEATURE___HAS_KEYWORD__STRING;
 
 	/**
 	 * The operation id for the '<em>Has Value</em>' operation.
@@ -78235,7 +78162,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int INTERFACE_REALIZATION___HAS_VALUE__STEREOTYPE_STRING = REALIZATION___HAS_VALUE__STEREOTYPE_STRING;
+	int CONNECTOR___HAS_VALUE__STEREOTYPE_STRING = FEATURE___HAS_VALUE__STEREOTYPE_STRING;
 
 	/**
 	 * The operation id for the '<em>Is Stereotype Applicable</em>' operation.
@@ -78244,7 +78171,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int INTERFACE_REALIZATION___IS_STEREOTYPE_APPLICABLE__STEREOTYPE = REALIZATION___IS_STEREOTYPE_APPLICABLE__STEREOTYPE;
+	int CONNECTOR___IS_STEREOTYPE_APPLICABLE__STEREOTYPE = FEATURE___IS_STEREOTYPE_APPLICABLE__STEREOTYPE;
 
 	/**
 	 * The operation id for the '<em>Is Stereotype Applied</em>' operation.
@@ -78253,7 +78180,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int INTERFACE_REALIZATION___IS_STEREOTYPE_APPLIED__STEREOTYPE = REALIZATION___IS_STEREOTYPE_APPLIED__STEREOTYPE;
+	int CONNECTOR___IS_STEREOTYPE_APPLIED__STEREOTYPE = FEATURE___IS_STEREOTYPE_APPLIED__STEREOTYPE;
 
 	/**
 	 * The operation id for the '<em>Is Stereotype Required</em>' operation.
@@ -78262,7 +78189,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int INTERFACE_REALIZATION___IS_STEREOTYPE_REQUIRED__STEREOTYPE = REALIZATION___IS_STEREOTYPE_REQUIRED__STEREOTYPE;
+	int CONNECTOR___IS_STEREOTYPE_REQUIRED__STEREOTYPE = FEATURE___IS_STEREOTYPE_REQUIRED__STEREOTYPE;
 
 	/**
 	 * The operation id for the '<em>Remove Keyword</em>' operation.
@@ -78271,7 +78198,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int INTERFACE_REALIZATION___REMOVE_KEYWORD__STRING = REALIZATION___REMOVE_KEYWORD__STRING;
+	int CONNECTOR___REMOVE_KEYWORD__STRING = FEATURE___REMOVE_KEYWORD__STRING;
 
 	/**
 	 * The operation id for the '<em>Set Value</em>' operation.
@@ -78280,7 +78207,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int INTERFACE_REALIZATION___SET_VALUE__STEREOTYPE_STRING_OBJECT = REALIZATION___SET_VALUE__STEREOTYPE_STRING_OBJECT;
+	int CONNECTOR___SET_VALUE__STEREOTYPE_STRING_OBJECT = FEATURE___SET_VALUE__STEREOTYPE_STRING_OBJECT;
 
 	/**
 	 * The operation id for the '<em>Unapply Stereotype</em>' operation.
@@ -78289,7 +78216,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int INTERFACE_REALIZATION___UNAPPLY_STEREOTYPE__STEREOTYPE = REALIZATION___UNAPPLY_STEREOTYPE__STEREOTYPE;
+	int CONNECTOR___UNAPPLY_STEREOTYPE__STEREOTYPE = FEATURE___UNAPPLY_STEREOTYPE__STEREOTYPE;
 
 	/**
 	 * The operation id for the '<em>All Owned Elements</em>' operation.
@@ -78298,7 +78225,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int INTERFACE_REALIZATION___ALL_OWNED_ELEMENTS = REALIZATION___ALL_OWNED_ELEMENTS;
+	int CONNECTOR___ALL_OWNED_ELEMENTS = FEATURE___ALL_OWNED_ELEMENTS;
 
 	/**
 	 * The operation id for the '<em>Must Be Owned</em>' operation.
@@ -78307,16 +78234,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int INTERFACE_REALIZATION___MUST_BE_OWNED = REALIZATION___MUST_BE_OWNED;
-
-	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERFACE_REALIZATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = REALIZATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+	int CONNECTOR___MUST_BE_OWNED = FEATURE___MUST_BE_OWNED;
 
 	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
@@ -78325,7 +78243,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int INTERFACE_REALIZATION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = REALIZATION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
+	int CONNECTOR___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = FEATURE___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
 	 * The operation id for the '<em>Validate Has No Qualified Name</em>' operation.
@@ -78334,7 +78252,16 @@
 	 * @generated
 	 * @ordered
 	 */
-	int INTERFACE_REALIZATION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = REALIZATION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
+	int CONNECTOR___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = FEATURE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONNECTOR___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = FEATURE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
 
 	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
@@ -78343,7 +78270,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int INTERFACE_REALIZATION___CREATE_DEPENDENCY__NAMEDELEMENT = REALIZATION___CREATE_DEPENDENCY__NAMEDELEMENT;
+	int CONNECTOR___CREATE_DEPENDENCY__NAMEDELEMENT = FEATURE___CREATE_DEPENDENCY__NAMEDELEMENT;
 
 	/**
 	 * The operation id for the '<em>Create Usage</em>' operation.
@@ -78352,7 +78279,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int INTERFACE_REALIZATION___CREATE_USAGE__NAMEDELEMENT = REALIZATION___CREATE_USAGE__NAMEDELEMENT;
+	int CONNECTOR___CREATE_USAGE__NAMEDELEMENT = FEATURE___CREATE_USAGE__NAMEDELEMENT;
 
 	/**
 	 * The operation id for the '<em>Get Label</em>' operation.
@@ -78361,7 +78288,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int INTERFACE_REALIZATION___GET_LABEL = REALIZATION___GET_LABEL;
+	int CONNECTOR___GET_LABEL = FEATURE___GET_LABEL;
 
 	/**
 	 * The operation id for the '<em>Get Label</em>' operation.
@@ -78370,7 +78297,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int INTERFACE_REALIZATION___GET_LABEL__BOOLEAN = REALIZATION___GET_LABEL__BOOLEAN;
+	int CONNECTOR___GET_LABEL__BOOLEAN = FEATURE___GET_LABEL__BOOLEAN;
 
 	/**
 	 * The operation id for the '<em>All Namespaces</em>' operation.
@@ -78379,7 +78306,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int INTERFACE_REALIZATION___ALL_NAMESPACES = REALIZATION___ALL_NAMESPACES;
+	int CONNECTOR___ALL_NAMESPACES = FEATURE___ALL_NAMESPACES;
 
 	/**
 	 * The operation id for the '<em>All Owning Packages</em>' operation.
@@ -78388,7 +78315,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int INTERFACE_REALIZATION___ALL_OWNING_PACKAGES = REALIZATION___ALL_OWNING_PACKAGES;
+	int CONNECTOR___ALL_OWNING_PACKAGES = FEATURE___ALL_OWNING_PACKAGES;
 
 	/**
 	 * The operation id for the '<em>Is Distinguishable From</em>' operation.
@@ -78397,7 +78324,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int INTERFACE_REALIZATION___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE = REALIZATION___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE;
+	int CONNECTOR___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE = FEATURE___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE;
 
 	/**
 	 * The operation id for the '<em>Get Namespace</em>' operation.
@@ -78406,7 +78333,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int INTERFACE_REALIZATION___GET_NAMESPACE = REALIZATION___GET_NAMESPACE;
+	int CONNECTOR___GET_NAMESPACE = FEATURE___GET_NAMESPACE;
 
 	/**
 	 * The operation id for the '<em>Get Qualified Name</em>' operation.
@@ -78415,7 +78342,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int INTERFACE_REALIZATION___GET_QUALIFIED_NAME = REALIZATION___GET_QUALIFIED_NAME;
+	int CONNECTOR___GET_QUALIFIED_NAME = FEATURE___GET_QUALIFIED_NAME;
 
 	/**
 	 * The operation id for the '<em>Separator</em>' operation.
@@ -78424,34 +78351,106 @@
 	 * @generated
 	 * @ordered
 	 */
-	int INTERFACE_REALIZATION___SEPARATOR = REALIZATION___SEPARATOR;
+	int CONNECTOR___SEPARATOR = FEATURE___SEPARATOR;
 
 	/**
-	 * The operation id for the '<em>Is Compatible With</em>' operation.
+	 * The operation id for the '<em>Validate Redefinition Consistent</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int INTERFACE_REALIZATION___IS_COMPATIBLE_WITH__PARAMETERABLEELEMENT = REALIZATION___IS_COMPATIBLE_WITH__PARAMETERABLEELEMENT;
+	int CONNECTOR___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP = FEATURE___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP;
 
 	/**
-	 * The operation id for the '<em>Is Template Parameter</em>' operation.
+	 * The operation id for the '<em>Validate Non Leaf Redefinition</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int INTERFACE_REALIZATION___IS_TEMPLATE_PARAMETER = REALIZATION___IS_TEMPLATE_PARAMETER;
+	int CONNECTOR___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP = FEATURE___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP;
 
 	/**
-	 * The number of operations of the '<em>Interface Realization</em>' class.
+	 * The operation id for the '<em>Validate Redefinition Context Valid</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int INTERFACE_REALIZATION_OPERATION_COUNT = REALIZATION_OPERATION_COUNT + 0;
+	int CONNECTOR___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP = FEATURE___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Is Consistent With</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONNECTOR___IS_CONSISTENT_WITH__REDEFINABLEELEMENT = FEATURE___IS_CONSISTENT_WITH__REDEFINABLEELEMENT;
+
+	/**
+	 * The operation id for the '<em>Is Redefinition Context Valid</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONNECTOR___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT = FEATURE___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT;
+
+	/**
+	 * The operation id for the '<em>Validate Compatible</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONNECTOR___VALIDATE_COMPATIBLE__DIAGNOSTICCHAIN_MAP = FEATURE_OPERATION_COUNT + 0;
+
+	/**
+	 * The operation id for the '<em>Validate Roles</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONNECTOR___VALIDATE_ROLES__DIAGNOSTICCHAIN_MAP = FEATURE_OPERATION_COUNT + 1;
+
+	/**
+	 * The operation id for the '<em>Validate Between Interfaces Ports</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONNECTOR___VALIDATE_BETWEEN_INTERFACES_PORTS__DIAGNOSTICCHAIN_MAP = FEATURE_OPERATION_COUNT + 2;
+
+	/**
+	 * The operation id for the '<em>Validate Types</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONNECTOR___VALIDATE_TYPES__DIAGNOSTICCHAIN_MAP = FEATURE_OPERATION_COUNT + 3;
+
+	/**
+	 * The operation id for the '<em>Get Kind</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONNECTOR___GET_KIND = FEATURE_OPERATION_COUNT + 4;
+
+	/**
+	 * The number of operations of the '<em>Connector</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONNECTOR_OPERATION_COUNT = FEATURE_OPERATION_COUNT + 5;
 
 	/**
 	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
@@ -79363,15 +79362,6 @@
 	int OPAQUE_EXPRESSION___MUST_BE_OWNED = VALUE_SPECIFICATION___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int OPAQUE_EXPRESSION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = VALUE_SPECIFICATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -79390,6 +79380,15 @@
 	int OPAQUE_EXPRESSION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = VALUE_SPECIFICATION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int OPAQUE_EXPRESSION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = VALUE_SPECIFICATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -79561,13 +79560,13 @@
 	int OPAQUE_EXPRESSION___UNLIMITED_VALUE = VALUE_SPECIFICATION___UNLIMITED_VALUE;
 
 	/**
-	 * The operation id for the '<em>Validate Language Body Size</em>' operation.
+	 * The operation id for the '<em>Validate Only Return Result Parameters</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int OPAQUE_EXPRESSION___VALIDATE_LANGUAGE_BODY_SIZE__DIAGNOSTICCHAIN_MAP = VALUE_SPECIFICATION_OPERATION_COUNT + 0;
+	int OPAQUE_EXPRESSION___VALIDATE_ONLY_RETURN_RESULT_PARAMETERS__DIAGNOSTICCHAIN_MAP = VALUE_SPECIFICATION_OPERATION_COUNT + 0;
 
 	/**
 	 * The operation id for the '<em>Validate One Return Result Parameter</em>' operation.
@@ -79579,13 +79578,13 @@
 	int OPAQUE_EXPRESSION___VALIDATE_ONE_RETURN_RESULT_PARAMETER__DIAGNOSTICCHAIN_MAP = VALUE_SPECIFICATION_OPERATION_COUNT + 1;
 
 	/**
-	 * The operation id for the '<em>Validate Only Return Result Parameters</em>' operation.
+	 * The operation id for the '<em>Validate Language Body Size</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int OPAQUE_EXPRESSION___VALIDATE_ONLY_RETURN_RESULT_PARAMETERS__DIAGNOSTICCHAIN_MAP = VALUE_SPECIFICATION_OPERATION_COUNT + 2;
+	int OPAQUE_EXPRESSION___VALIDATE_LANGUAGE_BODY_SIZE__DIAGNOSTICCHAIN_MAP = VALUE_SPECIFICATION_OPERATION_COUNT + 2;
 
 	/**
 	 * The operation id for the '<em>Is Integral</em>' operation.
@@ -79769,7 +79768,7 @@
 	int ACTIVITY_NODE__REDEFINITION_CONTEXT = REDEFINABLE_ELEMENT__REDEFINITION_CONTEXT;
 
 	/**
-	 * The feature id for the '<em><b>Activity</b></em>' container reference.
+	 * The feature id for the '<em><b>Activity</b></em>' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -79778,22 +79777,13 @@
 	int ACTIVITY_NODE__ACTIVITY = REDEFINABLE_ELEMENT_FEATURE_COUNT + 0;
 
 	/**
-	 * The feature id for the '<em><b>In Group</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTIVITY_NODE__IN_GROUP = REDEFINABLE_ELEMENT_FEATURE_COUNT + 1;
-
-	/**
 	 * The feature id for the '<em><b>In Partition</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int ACTIVITY_NODE__IN_PARTITION = REDEFINABLE_ELEMENT_FEATURE_COUNT + 2;
+	int ACTIVITY_NODE__IN_PARTITION = REDEFINABLE_ELEMENT_FEATURE_COUNT + 1;
 
 	/**
 	 * The feature id for the '<em><b>In Structured Node</b></em>' container reference.
@@ -79802,7 +79792,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int ACTIVITY_NODE__IN_STRUCTURED_NODE = REDEFINABLE_ELEMENT_FEATURE_COUNT + 3;
+	int ACTIVITY_NODE__IN_STRUCTURED_NODE = REDEFINABLE_ELEMENT_FEATURE_COUNT + 2;
 
 	/**
 	 * The feature id for the '<em><b>In Interruptible Region</b></em>' reference list.
@@ -79811,7 +79801,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int ACTIVITY_NODE__IN_INTERRUPTIBLE_REGION = REDEFINABLE_ELEMENT_FEATURE_COUNT + 4;
+	int ACTIVITY_NODE__IN_INTERRUPTIBLE_REGION = REDEFINABLE_ELEMENT_FEATURE_COUNT + 3;
 
 	/**
 	 * The feature id for the '<em><b>Outgoing</b></em>' reference list.
@@ -79820,7 +79810,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int ACTIVITY_NODE__OUTGOING = REDEFINABLE_ELEMENT_FEATURE_COUNT + 5;
+	int ACTIVITY_NODE__OUTGOING = REDEFINABLE_ELEMENT_FEATURE_COUNT + 4;
 
 	/**
 	 * The feature id for the '<em><b>Incoming</b></em>' reference list.
@@ -79829,7 +79819,16 @@
 	 * @generated
 	 * @ordered
 	 */
-	int ACTIVITY_NODE__INCOMING = REDEFINABLE_ELEMENT_FEATURE_COUNT + 6;
+	int ACTIVITY_NODE__INCOMING = REDEFINABLE_ELEMENT_FEATURE_COUNT + 5;
+
+	/**
+	 * The feature id for the '<em><b>In Group</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_NODE__IN_GROUP = REDEFINABLE_ELEMENT_FEATURE_COUNT + 6;
 
 	/**
 	 * The feature id for the '<em><b>Redefined Node</b></em>' reference list.
@@ -80183,15 +80182,6 @@
 	int ACTIVITY_NODE___MUST_BE_OWNED = REDEFINABLE_ELEMENT___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTIVITY_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = REDEFINABLE_ELEMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -80210,6 +80200,15 @@
 	int ACTIVITY_NODE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = REDEFINABLE_ELEMENT___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = REDEFINABLE_ELEMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -80489,7 +80488,7 @@
 	int EXECUTABLE_NODE__REDEFINITION_CONTEXT = ACTIVITY_NODE__REDEFINITION_CONTEXT;
 
 	/**
-	 * The feature id for the '<em><b>Activity</b></em>' container reference.
+	 * The feature id for the '<em><b>Activity</b></em>' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -80498,15 +80497,6 @@
 	int EXECUTABLE_NODE__ACTIVITY = ACTIVITY_NODE__ACTIVITY;
 
 	/**
-	 * The feature id for the '<em><b>In Group</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int EXECUTABLE_NODE__IN_GROUP = ACTIVITY_NODE__IN_GROUP;
-
-	/**
 	 * The feature id for the '<em><b>In Partition</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -80552,6 +80542,15 @@
 	int EXECUTABLE_NODE__INCOMING = ACTIVITY_NODE__INCOMING;
 
 	/**
+	 * The feature id for the '<em><b>In Group</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EXECUTABLE_NODE__IN_GROUP = ACTIVITY_NODE__IN_GROUP;
+
+	/**
 	 * The feature id for the '<em><b>Redefined Node</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -80912,15 +80911,6 @@
 	int EXECUTABLE_NODE___MUST_BE_OWNED = ACTIVITY_NODE___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int EXECUTABLE_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = ACTIVITY_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -80939,6 +80929,15 @@
 	int EXECUTABLE_NODE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = ACTIVITY_NODE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EXECUTABLE_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = ACTIVITY_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -81218,7 +81217,7 @@
 	int ACTION__REDEFINITION_CONTEXT = EXECUTABLE_NODE__REDEFINITION_CONTEXT;
 
 	/**
-	 * The feature id for the '<em><b>Activity</b></em>' container reference.
+	 * The feature id for the '<em><b>Activity</b></em>' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -81227,15 +81226,6 @@
 	int ACTION__ACTIVITY = EXECUTABLE_NODE__ACTIVITY;
 
 	/**
-	 * The feature id for the '<em><b>In Group</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTION__IN_GROUP = EXECUTABLE_NODE__IN_GROUP;
-
-	/**
 	 * The feature id for the '<em><b>In Partition</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -81281,6 +81271,15 @@
 	int ACTION__INCOMING = EXECUTABLE_NODE__INCOMING;
 
 	/**
+	 * The feature id for the '<em><b>In Group</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTION__IN_GROUP = EXECUTABLE_NODE__IN_GROUP;
+
+	/**
 	 * The feature id for the '<em><b>Redefined Node</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -81695,15 +81694,6 @@
 	int ACTION___MUST_BE_OWNED = EXECUTABLE_NODE___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = EXECUTABLE_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -81722,6 +81712,15 @@
 	int ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = EXECUTABLE_NODE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = EXECUTABLE_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -82160,7 +82159,7 @@
 	int ACCEPT_EVENT_ACTION__REDEFINITION_CONTEXT = ACTION__REDEFINITION_CONTEXT;
 
 	/**
-	 * The feature id for the '<em><b>Activity</b></em>' container reference.
+	 * The feature id for the '<em><b>Activity</b></em>' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -82169,15 +82168,6 @@
 	int ACCEPT_EVENT_ACTION__ACTIVITY = ACTION__ACTIVITY;
 
 	/**
-	 * The feature id for the '<em><b>In Group</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACCEPT_EVENT_ACTION__IN_GROUP = ACTION__IN_GROUP;
-
-	/**
 	 * The feature id for the '<em><b>In Partition</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -82223,6 +82213,15 @@
 	int ACCEPT_EVENT_ACTION__INCOMING = ACTION__INCOMING;
 
 	/**
+	 * The feature id for the '<em><b>In Group</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACCEPT_EVENT_ACTION__IN_GROUP = ACTION__IN_GROUP;
+
+	/**
 	 * The feature id for the '<em><b>Redefined Node</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -82664,15 +82663,6 @@
 	int ACCEPT_EVENT_ACTION___MUST_BE_OWNED = ACTION___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACCEPT_EVENT_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -82691,6 +82681,15 @@
 	int ACCEPT_EVENT_ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACCEPT_EVENT_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -82853,31 +82852,22 @@
 	int ACCEPT_EVENT_ACTION___GET_CONTEXT = ACTION___GET_CONTEXT;
 
 	/**
-	 * The operation id for the '<em>Validate Trigger Events</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACCEPT_EVENT_ACTION___VALIDATE_TRIGGER_EVENTS__DIAGNOSTICCHAIN_MAP = ACTION_OPERATION_COUNT + 0;
-
-	/**
 	 * The operation id for the '<em>Validate No Input Pins</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int ACCEPT_EVENT_ACTION___VALIDATE_NO_INPUT_PINS__DIAGNOSTICCHAIN_MAP = ACTION_OPERATION_COUNT + 1;
+	int ACCEPT_EVENT_ACTION___VALIDATE_NO_INPUT_PINS__DIAGNOSTICCHAIN_MAP = ACTION_OPERATION_COUNT + 0;
 
 	/**
-	 * The operation id for the '<em>Validate No Output Pins</em>' operation.
+	 * The operation id for the '<em>Validate Trigger Events</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int ACCEPT_EVENT_ACTION___VALIDATE_NO_OUTPUT_PINS__DIAGNOSTICCHAIN_MAP = ACTION_OPERATION_COUNT + 2;
+	int ACCEPT_EVENT_ACTION___VALIDATE_TRIGGER_EVENTS__DIAGNOSTICCHAIN_MAP = ACTION_OPERATION_COUNT + 1;
 
 	/**
 	 * The operation id for the '<em>Validate Unmarshall Signal Events</em>' operation.
@@ -82886,7 +82876,16 @@
 	 * @generated
 	 * @ordered
 	 */
-	int ACCEPT_EVENT_ACTION___VALIDATE_UNMARSHALL_SIGNAL_EVENTS__DIAGNOSTICCHAIN_MAP = ACTION_OPERATION_COUNT + 3;
+	int ACCEPT_EVENT_ACTION___VALIDATE_UNMARSHALL_SIGNAL_EVENTS__DIAGNOSTICCHAIN_MAP = ACTION_OPERATION_COUNT + 2;
+
+	/**
+	 * The operation id for the '<em>Validate No Output Pins</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACCEPT_EVENT_ACTION___VALIDATE_NO_OUTPUT_PINS__DIAGNOSTICCHAIN_MAP = ACTION_OPERATION_COUNT + 3;
 
 	/**
 	 * The number of operations of the '<em>Accept Event Action</em>' class.
@@ -83015,7 +83014,7 @@
 	int ACCEPT_CALL_ACTION__REDEFINITION_CONTEXT = ACCEPT_EVENT_ACTION__REDEFINITION_CONTEXT;
 
 	/**
-	 * The feature id for the '<em><b>Activity</b></em>' container reference.
+	 * The feature id for the '<em><b>Activity</b></em>' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -83024,15 +83023,6 @@
 	int ACCEPT_CALL_ACTION__ACTIVITY = ACCEPT_EVENT_ACTION__ACTIVITY;
 
 	/**
-	 * The feature id for the '<em><b>In Group</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACCEPT_CALL_ACTION__IN_GROUP = ACCEPT_EVENT_ACTION__IN_GROUP;
-
-	/**
 	 * The feature id for the '<em><b>In Partition</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -83078,6 +83068,15 @@
 	int ACCEPT_CALL_ACTION__INCOMING = ACCEPT_EVENT_ACTION__INCOMING;
 
 	/**
+	 * The feature id for the '<em><b>In Group</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACCEPT_CALL_ACTION__IN_GROUP = ACCEPT_EVENT_ACTION__IN_GROUP;
+
+	/**
 	 * The feature id for the '<em><b>Redefined Node</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -83528,15 +83527,6 @@
 	int ACCEPT_CALL_ACTION___MUST_BE_OWNED = ACCEPT_EVENT_ACTION___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACCEPT_CALL_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = ACCEPT_EVENT_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -83555,6 +83545,15 @@
 	int ACCEPT_CALL_ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = ACCEPT_EVENT_ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACCEPT_CALL_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = ACCEPT_EVENT_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -83717,15 +83716,6 @@
 	int ACCEPT_CALL_ACTION___GET_CONTEXT = ACCEPT_EVENT_ACTION___GET_CONTEXT;
 
 	/**
-	 * The operation id for the '<em>Validate Trigger Events</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACCEPT_CALL_ACTION___VALIDATE_TRIGGER_EVENTS__DIAGNOSTICCHAIN_MAP = ACCEPT_EVENT_ACTION___VALIDATE_TRIGGER_EVENTS__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate No Input Pins</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -83735,13 +83725,13 @@
 	int ACCEPT_CALL_ACTION___VALIDATE_NO_INPUT_PINS__DIAGNOSTICCHAIN_MAP = ACCEPT_EVENT_ACTION___VALIDATE_NO_INPUT_PINS__DIAGNOSTICCHAIN_MAP;
 
 	/**
-	 * The operation id for the '<em>Validate No Output Pins</em>' operation.
+	 * The operation id for the '<em>Validate Trigger Events</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int ACCEPT_CALL_ACTION___VALIDATE_NO_OUTPUT_PINS__DIAGNOSTICCHAIN_MAP = ACCEPT_EVENT_ACTION___VALIDATE_NO_OUTPUT_PINS__DIAGNOSTICCHAIN_MAP;
+	int ACCEPT_CALL_ACTION___VALIDATE_TRIGGER_EVENTS__DIAGNOSTICCHAIN_MAP = ACCEPT_EVENT_ACTION___VALIDATE_TRIGGER_EVENTS__DIAGNOSTICCHAIN_MAP;
 
 	/**
 	 * The operation id for the '<em>Validate Unmarshall Signal Events</em>' operation.
@@ -83753,13 +83743,13 @@
 	int ACCEPT_CALL_ACTION___VALIDATE_UNMARSHALL_SIGNAL_EVENTS__DIAGNOSTICCHAIN_MAP = ACCEPT_EVENT_ACTION___VALIDATE_UNMARSHALL_SIGNAL_EVENTS__DIAGNOSTICCHAIN_MAP;
 
 	/**
-	 * The operation id for the '<em>Validate Result Pins</em>' operation.
+	 * The operation id for the '<em>Validate No Output Pins</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int ACCEPT_CALL_ACTION___VALIDATE_RESULT_PINS__DIAGNOSTICCHAIN_MAP = ACCEPT_EVENT_ACTION_OPERATION_COUNT + 0;
+	int ACCEPT_CALL_ACTION___VALIDATE_NO_OUTPUT_PINS__DIAGNOSTICCHAIN_MAP = ACCEPT_EVENT_ACTION___VALIDATE_NO_OUTPUT_PINS__DIAGNOSTICCHAIN_MAP;
 
 	/**
 	 * The operation id for the '<em>Validate Trigger Call Event</em>' operation.
@@ -83768,7 +83758,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int ACCEPT_CALL_ACTION___VALIDATE_TRIGGER_CALL_EVENT__DIAGNOSTICCHAIN_MAP = ACCEPT_EVENT_ACTION_OPERATION_COUNT + 1;
+	int ACCEPT_CALL_ACTION___VALIDATE_TRIGGER_CALL_EVENT__DIAGNOSTICCHAIN_MAP = ACCEPT_EVENT_ACTION_OPERATION_COUNT + 0;
 
 	/**
 	 * The operation id for the '<em>Validate Unmarshall</em>' operation.
@@ -83777,7 +83767,16 @@
 	 * @generated
 	 * @ordered
 	 */
-	int ACCEPT_CALL_ACTION___VALIDATE_UNMARSHALL__DIAGNOSTICCHAIN_MAP = ACCEPT_EVENT_ACTION_OPERATION_COUNT + 2;
+	int ACCEPT_CALL_ACTION___VALIDATE_UNMARSHALL__DIAGNOSTICCHAIN_MAP = ACCEPT_EVENT_ACTION_OPERATION_COUNT + 1;
+
+	/**
+	 * The operation id for the '<em>Validate Result Pins</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACCEPT_CALL_ACTION___VALIDATE_RESULT_PINS__DIAGNOSTICCHAIN_MAP = ACCEPT_EVENT_ACTION_OPERATION_COUNT + 2;
 
 	/**
 	 * The number of operations of the '<em>Accept Call Action</em>' class.
@@ -84329,31 +84328,22 @@
 	int ACTIVITY__SPECIFICATION = BEHAVIOR__SPECIFICATION;
 
 	/**
+	 * The feature id for the '<em><b>Owned Group</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY__OWNED_GROUP = BEHAVIOR_FEATURE_COUNT + 0;
+
+	/**
 	 * The feature id for the '<em><b>Edge</b></em>' containment reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int ACTIVITY__EDGE = BEHAVIOR_FEATURE_COUNT + 0;
-
-	/**
-	 * The feature id for the '<em><b>Group</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTIVITY__GROUP = BEHAVIOR_FEATURE_COUNT + 1;
-
-	/**
-	 * The feature id for the '<em><b>Structured Node</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTIVITY__STRUCTURED_NODE = BEHAVIOR_FEATURE_COUNT + 2;
+	int ACTIVITY__EDGE = BEHAVIOR_FEATURE_COUNT + 1;
 
 	/**
 	 * The feature id for the '<em><b>Variable</b></em>' containment reference list.
@@ -84362,7 +84352,25 @@
 	 * @generated
 	 * @ordered
 	 */
-	int ACTIVITY__VARIABLE = BEHAVIOR_FEATURE_COUNT + 3;
+	int ACTIVITY__VARIABLE = BEHAVIOR_FEATURE_COUNT + 2;
+
+	/**
+	 * The feature id for the '<em><b>Group</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY__GROUP = BEHAVIOR_FEATURE_COUNT + 3;
+
+	/**
+	 * The feature id for the '<em><b>Owned Node</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY__OWNED_NODE = BEHAVIOR_FEATURE_COUNT + 4;
 
 	/**
 	 * The feature id for the '<em><b>Is Read Only</b></em>' attribute.
@@ -84371,7 +84379,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int ACTIVITY__IS_READ_ONLY = BEHAVIOR_FEATURE_COUNT + 4;
+	int ACTIVITY__IS_READ_ONLY = BEHAVIOR_FEATURE_COUNT + 5;
 
 	/**
 	 * The feature id for the '<em><b>Is Single Execution</b></em>' attribute.
@@ -84380,7 +84388,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int ACTIVITY__IS_SINGLE_EXECUTION = BEHAVIOR_FEATURE_COUNT + 5;
+	int ACTIVITY__IS_SINGLE_EXECUTION = BEHAVIOR_FEATURE_COUNT + 6;
 
 	/**
 	 * The feature id for the '<em><b>Partition</b></em>' reference list.
@@ -84389,16 +84397,25 @@
 	 * @generated
 	 * @ordered
 	 */
-	int ACTIVITY__PARTITION = BEHAVIOR_FEATURE_COUNT + 6;
+	int ACTIVITY__PARTITION = BEHAVIOR_FEATURE_COUNT + 7;
 
 	/**
-	 * The feature id for the '<em><b>Node</b></em>' containment reference list.
+	 * The feature id for the '<em><b>Structured Node</b></em>' containment reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int ACTIVITY__NODE = BEHAVIOR_FEATURE_COUNT + 7;
+	int ACTIVITY__STRUCTURED_NODE = BEHAVIOR_FEATURE_COUNT + 8;
+
+	/**
+	 * The feature id for the '<em><b>Node</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY__NODE = BEHAVIOR_FEATURE_COUNT + 9;
 
 	/**
 	 * The number of structural features of the '<em>Activity</em>' class.
@@ -84407,7 +84424,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int ACTIVITY_FEATURE_COUNT = BEHAVIOR_FEATURE_COUNT + 8;
+	int ACTIVITY_FEATURE_COUNT = BEHAVIOR_FEATURE_COUNT + 10;
 
 	/**
 	 * The operation id for the '<em>Get EAnnotation</em>' operation.
@@ -84743,15 +84760,6 @@
 	int ACTIVITY___MUST_BE_OWNED = BEHAVIOR___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTIVITY___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = BEHAVIOR___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -84770,6 +84778,15 @@
 	int ACTIVITY___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = BEHAVIOR___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = BEHAVIOR___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -85067,24 +85084,6 @@
 	int ACTIVITY___PARAMETERABLE_ELEMENTS = BEHAVIOR___PARAMETERABLE_ELEMENTS;
 
 	/**
-	 * The operation id for the '<em>Validate Specialize Type</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTIVITY___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP = BEHAVIOR___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Validate Maps To Generalization Set</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTIVITY___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP = BEHAVIOR___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Non Final Parents</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -85103,6 +85102,24 @@
 	int ACTIVITY___VALIDATE_NO_CYCLES_IN_GENERALIZATION__DIAGNOSTICCHAIN_MAP = BEHAVIOR___VALIDATE_NO_CYCLES_IN_GENERALIZATION__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Specialize Type</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP = BEHAVIOR___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Validate Maps To Generalization Set</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP = BEHAVIOR___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Get All Attributes</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -85364,24 +85381,6 @@
 	int ACTIVITY___GET_SUPER_CLASSES = BEHAVIOR___GET_SUPER_CLASSES;
 
 	/**
-	 * The operation id for the '<em>Validate Most One Behaviour</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTIVITY___VALIDATE_MOST_ONE_BEHAVIOUR__DIAGNOSTICCHAIN_MAP = BEHAVIOR___VALIDATE_MOST_ONE_BEHAVIOUR__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Validate Must Realize</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTIVITY___VALIDATE_MUST_REALIZE__DIAGNOSTICCHAIN_MAP = BEHAVIOR___VALIDATE_MUST_REALIZE__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Parameters Match</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -85400,6 +85399,24 @@
 	int ACTIVITY___VALIDATE_FEATURE_OF_CONTEXT_CLASSIFIER__DIAGNOSTICCHAIN_MAP = BEHAVIOR___VALIDATE_FEATURE_OF_CONTEXT_CLASSIFIER__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Must Realize</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY___VALIDATE_MUST_REALIZE__DIAGNOSTICCHAIN_MAP = BEHAVIOR___VALIDATE_MUST_REALIZE__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Validate Most One Behaviour</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY___VALIDATE_MOST_ONE_BEHAVIOUR__DIAGNOSTICCHAIN_MAP = BEHAVIOR___VALIDATE_MOST_ONE_BEHAVIOUR__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Get Context</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -85409,13 +85426,22 @@
 	int ACTIVITY___GET_CONTEXT = BEHAVIOR___GET_CONTEXT;
 
 	/**
+	 * The operation id for the '<em>Validate Activity Parameter Node</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY___VALIDATE_ACTIVITY_PARAMETER_NODE__DIAGNOSTICCHAIN_MAP = BEHAVIOR_OPERATION_COUNT + 0;
+
+	/**
 	 * The operation id for the '<em>Validate Autonomous</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int ACTIVITY___VALIDATE_AUTONOMOUS__DIAGNOSTICCHAIN_MAP = BEHAVIOR_OPERATION_COUNT + 0;
+	int ACTIVITY___VALIDATE_AUTONOMOUS__DIAGNOSTICCHAIN_MAP = BEHAVIOR_OPERATION_COUNT + 1;
 
 	/**
 	 * The operation id for the '<em>Validate No Supergroups</em>' operation.
@@ -85424,25 +85450,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int ACTIVITY___VALIDATE_NO_SUPERGROUPS__DIAGNOSTICCHAIN_MAP = BEHAVIOR_OPERATION_COUNT + 1;
-
-	/**
-	 * The operation id for the '<em>Validate Activity Parameter Node</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTIVITY___VALIDATE_ACTIVITY_PARAMETER_NODE__DIAGNOSTICCHAIN_MAP = BEHAVIOR_OPERATION_COUNT + 2;
-
-	/**
-	 * The operation id for the '<em>Get Structured Nodes</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTIVITY___GET_STRUCTURED_NODES = BEHAVIOR_OPERATION_COUNT + 3;
+	int ACTIVITY___VALIDATE_NO_SUPERGROUPS__DIAGNOSTICCHAIN_MAP = BEHAVIOR_OPERATION_COUNT + 2;
 
 	/**
 	 * The number of operations of the '<em>Activity</em>' class.
@@ -85451,754 +85459,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int ACTIVITY_OPERATION_COUNT = BEHAVIOR_OPERATION_COUNT + 4;
-
-	/**
-	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTIVITY_EDGE__EANNOTATIONS = REDEFINABLE_ELEMENT__EANNOTATIONS;
-
-	/**
-	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTIVITY_EDGE__OWNED_COMMENT = REDEFINABLE_ELEMENT__OWNED_COMMENT;
-
-	/**
-	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTIVITY_EDGE__OWNED_ELEMENT = REDEFINABLE_ELEMENT__OWNED_ELEMENT;
-
-	/**
-	 * The feature id for the '<em><b>Owner</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTIVITY_EDGE__OWNER = REDEFINABLE_ELEMENT__OWNER;
-
-	/**
-	 * The feature id for the '<em><b>Client Dependency</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTIVITY_EDGE__CLIENT_DEPENDENCY = REDEFINABLE_ELEMENT__CLIENT_DEPENDENCY;
-
-	/**
-	 * The feature id for the '<em><b>Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTIVITY_EDGE__NAME = REDEFINABLE_ELEMENT__NAME;
-
-	/**
-	 * The feature id for the '<em><b>Name Expression</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTIVITY_EDGE__NAME_EXPRESSION = REDEFINABLE_ELEMENT__NAME_EXPRESSION;
-
-	/**
-	 * The feature id for the '<em><b>Namespace</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTIVITY_EDGE__NAMESPACE = REDEFINABLE_ELEMENT__NAMESPACE;
-
-	/**
-	 * The feature id for the '<em><b>Qualified Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTIVITY_EDGE__QUALIFIED_NAME = REDEFINABLE_ELEMENT__QUALIFIED_NAME;
-
-	/**
-	 * The feature id for the '<em><b>Visibility</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTIVITY_EDGE__VISIBILITY = REDEFINABLE_ELEMENT__VISIBILITY;
-
-	/**
-	 * The feature id for the '<em><b>Is Leaf</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTIVITY_EDGE__IS_LEAF = REDEFINABLE_ELEMENT__IS_LEAF;
-
-	/**
-	 * The feature id for the '<em><b>Redefined Element</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTIVITY_EDGE__REDEFINED_ELEMENT = REDEFINABLE_ELEMENT__REDEFINED_ELEMENT;
-
-	/**
-	 * The feature id for the '<em><b>Redefinition Context</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTIVITY_EDGE__REDEFINITION_CONTEXT = REDEFINABLE_ELEMENT__REDEFINITION_CONTEXT;
-
-	/**
-	 * The feature id for the '<em><b>Guard</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTIVITY_EDGE__GUARD = REDEFINABLE_ELEMENT_FEATURE_COUNT + 0;
-
-	/**
-	 * The feature id for the '<em><b>In Group</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTIVITY_EDGE__IN_GROUP = REDEFINABLE_ELEMENT_FEATURE_COUNT + 1;
-
-	/**
-	 * The feature id for the '<em><b>In Partition</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTIVITY_EDGE__IN_PARTITION = REDEFINABLE_ELEMENT_FEATURE_COUNT + 2;
-
-	/**
-	 * The feature id for the '<em><b>In Structured Node</b></em>' container reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTIVITY_EDGE__IN_STRUCTURED_NODE = REDEFINABLE_ELEMENT_FEATURE_COUNT + 3;
-
-	/**
-	 * The feature id for the '<em><b>Interrupts</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTIVITY_EDGE__INTERRUPTS = REDEFINABLE_ELEMENT_FEATURE_COUNT + 4;
-
-	/**
-	 * The feature id for the '<em><b>Redefined Edge</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTIVITY_EDGE__REDEFINED_EDGE = REDEFINABLE_ELEMENT_FEATURE_COUNT + 5;
-
-	/**
-	 * The feature id for the '<em><b>Source</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTIVITY_EDGE__SOURCE = REDEFINABLE_ELEMENT_FEATURE_COUNT + 6;
-
-	/**
-	 * The feature id for the '<em><b>Target</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTIVITY_EDGE__TARGET = REDEFINABLE_ELEMENT_FEATURE_COUNT + 7;
-
-	/**
-	 * The feature id for the '<em><b>Weight</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTIVITY_EDGE__WEIGHT = REDEFINABLE_ELEMENT_FEATURE_COUNT + 8;
-
-	/**
-	 * The feature id for the '<em><b>Activity</b></em>' container reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTIVITY_EDGE__ACTIVITY = REDEFINABLE_ELEMENT_FEATURE_COUNT + 9;
-
-	/**
-	 * The number of structural features of the '<em>Activity Edge</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTIVITY_EDGE_FEATURE_COUNT = REDEFINABLE_ELEMENT_FEATURE_COUNT + 10;
-
-	/**
-	 * The operation id for the '<em>Get EAnnotation</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTIVITY_EDGE___GET_EANNOTATION__STRING = REDEFINABLE_ELEMENT___GET_EANNOTATION__STRING;
-
-	/**
-	 * The operation id for the '<em>Validate Has Owner</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTIVITY_EDGE___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP = REDEFINABLE_ELEMENT___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Validate Not Own Self</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTIVITY_EDGE___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP = REDEFINABLE_ELEMENT___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Add Keyword</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTIVITY_EDGE___ADD_KEYWORD__STRING = REDEFINABLE_ELEMENT___ADD_KEYWORD__STRING;
-
-	/**
-	 * The operation id for the '<em>Apply Stereotype</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTIVITY_EDGE___APPLY_STEREOTYPE__STEREOTYPE = REDEFINABLE_ELEMENT___APPLY_STEREOTYPE__STEREOTYPE;
-
-	/**
-	 * The operation id for the '<em>Create EAnnotation</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTIVITY_EDGE___CREATE_EANNOTATION__STRING = REDEFINABLE_ELEMENT___CREATE_EANNOTATION__STRING;
-
-	/**
-	 * The operation id for the '<em>Destroy</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTIVITY_EDGE___DESTROY = REDEFINABLE_ELEMENT___DESTROY;
-
-	/**
-	 * The operation id for the '<em>Get Keywords</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTIVITY_EDGE___GET_KEYWORDS = REDEFINABLE_ELEMENT___GET_KEYWORDS;
-
-	/**
-	 * The operation id for the '<em>Get Applicable Stereotype</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTIVITY_EDGE___GET_APPLICABLE_STEREOTYPE__STRING = REDEFINABLE_ELEMENT___GET_APPLICABLE_STEREOTYPE__STRING;
-
-	/**
-	 * The operation id for the '<em>Get Applicable Stereotypes</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTIVITY_EDGE___GET_APPLICABLE_STEREOTYPES = REDEFINABLE_ELEMENT___GET_APPLICABLE_STEREOTYPES;
-
-	/**
-	 * The operation id for the '<em>Get Applied Stereotype</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTIVITY_EDGE___GET_APPLIED_STEREOTYPE__STRING = REDEFINABLE_ELEMENT___GET_APPLIED_STEREOTYPE__STRING;
-
-	/**
-	 * The operation id for the '<em>Get Applied Stereotypes</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTIVITY_EDGE___GET_APPLIED_STEREOTYPES = REDEFINABLE_ELEMENT___GET_APPLIED_STEREOTYPES;
-
-	/**
-	 * The operation id for the '<em>Get Applied Substereotype</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTIVITY_EDGE___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING = REDEFINABLE_ELEMENT___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING;
-
-	/**
-	 * The operation id for the '<em>Get Applied Substereotypes</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTIVITY_EDGE___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE = REDEFINABLE_ELEMENT___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE;
-
-	/**
-	 * The operation id for the '<em>Get Model</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTIVITY_EDGE___GET_MODEL = REDEFINABLE_ELEMENT___GET_MODEL;
-
-	/**
-	 * The operation id for the '<em>Get Nearest Package</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTIVITY_EDGE___GET_NEAREST_PACKAGE = REDEFINABLE_ELEMENT___GET_NEAREST_PACKAGE;
-
-	/**
-	 * The operation id for the '<em>Get Relationships</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTIVITY_EDGE___GET_RELATIONSHIPS = REDEFINABLE_ELEMENT___GET_RELATIONSHIPS;
-
-	/**
-	 * The operation id for the '<em>Get Relationships</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTIVITY_EDGE___GET_RELATIONSHIPS__ECLASS = REDEFINABLE_ELEMENT___GET_RELATIONSHIPS__ECLASS;
-
-	/**
-	 * The operation id for the '<em>Get Required Stereotype</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTIVITY_EDGE___GET_REQUIRED_STEREOTYPE__STRING = REDEFINABLE_ELEMENT___GET_REQUIRED_STEREOTYPE__STRING;
-
-	/**
-	 * The operation id for the '<em>Get Required Stereotypes</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTIVITY_EDGE___GET_REQUIRED_STEREOTYPES = REDEFINABLE_ELEMENT___GET_REQUIRED_STEREOTYPES;
-
-	/**
-	 * The operation id for the '<em>Get Source Directed Relationships</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTIVITY_EDGE___GET_SOURCE_DIRECTED_RELATIONSHIPS = REDEFINABLE_ELEMENT___GET_SOURCE_DIRECTED_RELATIONSHIPS;
-
-	/**
-	 * The operation id for the '<em>Get Source Directed Relationships</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTIVITY_EDGE___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS = REDEFINABLE_ELEMENT___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS;
-
-	/**
-	 * The operation id for the '<em>Get Stereotype Application</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTIVITY_EDGE___GET_STEREOTYPE_APPLICATION__STEREOTYPE = REDEFINABLE_ELEMENT___GET_STEREOTYPE_APPLICATION__STEREOTYPE;
-
-	/**
-	 * The operation id for the '<em>Get Stereotype Applications</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTIVITY_EDGE___GET_STEREOTYPE_APPLICATIONS = REDEFINABLE_ELEMENT___GET_STEREOTYPE_APPLICATIONS;
-
-	/**
-	 * The operation id for the '<em>Get Target Directed Relationships</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTIVITY_EDGE___GET_TARGET_DIRECTED_RELATIONSHIPS = REDEFINABLE_ELEMENT___GET_TARGET_DIRECTED_RELATIONSHIPS;
-
-	/**
-	 * The operation id for the '<em>Get Target Directed Relationships</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTIVITY_EDGE___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS = REDEFINABLE_ELEMENT___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS;
-
-	/**
-	 * The operation id for the '<em>Get Value</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTIVITY_EDGE___GET_VALUE__STEREOTYPE_STRING = REDEFINABLE_ELEMENT___GET_VALUE__STEREOTYPE_STRING;
-
-	/**
-	 * The operation id for the '<em>Has Keyword</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTIVITY_EDGE___HAS_KEYWORD__STRING = REDEFINABLE_ELEMENT___HAS_KEYWORD__STRING;
-
-	/**
-	 * The operation id for the '<em>Has Value</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTIVITY_EDGE___HAS_VALUE__STEREOTYPE_STRING = REDEFINABLE_ELEMENT___HAS_VALUE__STEREOTYPE_STRING;
-
-	/**
-	 * The operation id for the '<em>Is Stereotype Applicable</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTIVITY_EDGE___IS_STEREOTYPE_APPLICABLE__STEREOTYPE = REDEFINABLE_ELEMENT___IS_STEREOTYPE_APPLICABLE__STEREOTYPE;
-
-	/**
-	 * The operation id for the '<em>Is Stereotype Applied</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTIVITY_EDGE___IS_STEREOTYPE_APPLIED__STEREOTYPE = REDEFINABLE_ELEMENT___IS_STEREOTYPE_APPLIED__STEREOTYPE;
-
-	/**
-	 * The operation id for the '<em>Is Stereotype Required</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTIVITY_EDGE___IS_STEREOTYPE_REQUIRED__STEREOTYPE = REDEFINABLE_ELEMENT___IS_STEREOTYPE_REQUIRED__STEREOTYPE;
-
-	/**
-	 * The operation id for the '<em>Remove Keyword</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTIVITY_EDGE___REMOVE_KEYWORD__STRING = REDEFINABLE_ELEMENT___REMOVE_KEYWORD__STRING;
-
-	/**
-	 * The operation id for the '<em>Set Value</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTIVITY_EDGE___SET_VALUE__STEREOTYPE_STRING_OBJECT = REDEFINABLE_ELEMENT___SET_VALUE__STEREOTYPE_STRING_OBJECT;
-
-	/**
-	 * The operation id for the '<em>Unapply Stereotype</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTIVITY_EDGE___UNAPPLY_STEREOTYPE__STEREOTYPE = REDEFINABLE_ELEMENT___UNAPPLY_STEREOTYPE__STEREOTYPE;
-
-	/**
-	 * The operation id for the '<em>All Owned Elements</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTIVITY_EDGE___ALL_OWNED_ELEMENTS = REDEFINABLE_ELEMENT___ALL_OWNED_ELEMENTS;
-
-	/**
-	 * The operation id for the '<em>Must Be Owned</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTIVITY_EDGE___MUST_BE_OWNED = REDEFINABLE_ELEMENT___MUST_BE_OWNED;
-
-	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTIVITY_EDGE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = REDEFINABLE_ELEMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTIVITY_EDGE___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = REDEFINABLE_ELEMENT___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Validate Has No Qualified Name</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTIVITY_EDGE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = REDEFINABLE_ELEMENT___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Create Dependency</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTIVITY_EDGE___CREATE_DEPENDENCY__NAMEDELEMENT = REDEFINABLE_ELEMENT___CREATE_DEPENDENCY__NAMEDELEMENT;
-
-	/**
-	 * The operation id for the '<em>Create Usage</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTIVITY_EDGE___CREATE_USAGE__NAMEDELEMENT = REDEFINABLE_ELEMENT___CREATE_USAGE__NAMEDELEMENT;
-
-	/**
-	 * The operation id for the '<em>Get Label</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTIVITY_EDGE___GET_LABEL = REDEFINABLE_ELEMENT___GET_LABEL;
-
-	/**
-	 * The operation id for the '<em>Get Label</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTIVITY_EDGE___GET_LABEL__BOOLEAN = REDEFINABLE_ELEMENT___GET_LABEL__BOOLEAN;
-
-	/**
-	 * The operation id for the '<em>All Namespaces</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTIVITY_EDGE___ALL_NAMESPACES = REDEFINABLE_ELEMENT___ALL_NAMESPACES;
-
-	/**
-	 * The operation id for the '<em>All Owning Packages</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTIVITY_EDGE___ALL_OWNING_PACKAGES = REDEFINABLE_ELEMENT___ALL_OWNING_PACKAGES;
-
-	/**
-	 * The operation id for the '<em>Is Distinguishable From</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTIVITY_EDGE___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE = REDEFINABLE_ELEMENT___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE;
-
-	/**
-	 * The operation id for the '<em>Get Namespace</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTIVITY_EDGE___GET_NAMESPACE = REDEFINABLE_ELEMENT___GET_NAMESPACE;
-
-	/**
-	 * The operation id for the '<em>Get Qualified Name</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTIVITY_EDGE___GET_QUALIFIED_NAME = REDEFINABLE_ELEMENT___GET_QUALIFIED_NAME;
-
-	/**
-	 * The operation id for the '<em>Separator</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTIVITY_EDGE___SEPARATOR = REDEFINABLE_ELEMENT___SEPARATOR;
-
-	/**
-	 * The operation id for the '<em>Validate Redefinition Consistent</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTIVITY_EDGE___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP = REDEFINABLE_ELEMENT___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Validate Non Leaf Redefinition</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTIVITY_EDGE___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP = REDEFINABLE_ELEMENT___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Validate Redefinition Context Valid</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTIVITY_EDGE___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP = REDEFINABLE_ELEMENT___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Is Consistent With</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTIVITY_EDGE___IS_CONSISTENT_WITH__REDEFINABLEELEMENT = REDEFINABLE_ELEMENT___IS_CONSISTENT_WITH__REDEFINABLEELEMENT;
-
-	/**
-	 * The operation id for the '<em>Is Redefinition Context Valid</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTIVITY_EDGE___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT = REDEFINABLE_ELEMENT___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT;
-
-	/**
-	 * The operation id for the '<em>Validate Owned</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTIVITY_EDGE___VALIDATE_OWNED__DIAGNOSTICCHAIN_MAP = REDEFINABLE_ELEMENT_OPERATION_COUNT + 0;
-
-	/**
-	 * The operation id for the '<em>Validate Source And Target</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTIVITY_EDGE___VALIDATE_SOURCE_AND_TARGET__DIAGNOSTICCHAIN_MAP = REDEFINABLE_ELEMENT_OPERATION_COUNT + 1;
-
-	/**
-	 * The operation id for the '<em>Validate Structured Node</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTIVITY_EDGE___VALIDATE_STRUCTURED_NODE__DIAGNOSTICCHAIN_MAP = REDEFINABLE_ELEMENT_OPERATION_COUNT + 2;
-
-	/**
-	 * The number of operations of the '<em>Activity Edge</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTIVITY_EDGE_OPERATION_COUNT = REDEFINABLE_ELEMENT_OPERATION_COUNT + 3;
+	int ACTIVITY_OPERATION_COUNT = BEHAVIOR_OPERATION_COUNT + 3;
 
 	/**
 	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
@@ -86291,22 +85552,31 @@
 	int ACTIVITY_GROUP__VISIBILITY = NAMED_ELEMENT__VISIBILITY;
 
 	/**
+	 * The feature id for the '<em><b>Contained Edge</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_GROUP__CONTAINED_EDGE = NAMED_ELEMENT_FEATURE_COUNT + 0;
+
+	/**
 	 * The feature id for the '<em><b>Contained Node</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int ACTIVITY_GROUP__CONTAINED_NODE = NAMED_ELEMENT_FEATURE_COUNT + 0;
+	int ACTIVITY_GROUP__CONTAINED_NODE = NAMED_ELEMENT_FEATURE_COUNT + 1;
 
 	/**
-	 * The feature id for the '<em><b>In Activity</b></em>' container reference.
+	 * The feature id for the '<em><b>In Activity</b></em>' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int ACTIVITY_GROUP__IN_ACTIVITY = NAMED_ELEMENT_FEATURE_COUNT + 1;
+	int ACTIVITY_GROUP__IN_ACTIVITY = NAMED_ELEMENT_FEATURE_COUNT + 2;
 
 	/**
 	 * The feature id for the '<em><b>Subgroup</b></em>' reference list.
@@ -86315,7 +85585,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int ACTIVITY_GROUP__SUBGROUP = NAMED_ELEMENT_FEATURE_COUNT + 2;
+	int ACTIVITY_GROUP__SUBGROUP = NAMED_ELEMENT_FEATURE_COUNT + 3;
 
 	/**
 	 * The feature id for the '<em><b>Super Group</b></em>' reference.
@@ -86324,16 +85594,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int ACTIVITY_GROUP__SUPER_GROUP = NAMED_ELEMENT_FEATURE_COUNT + 3;
-
-	/**
-	 * The feature id for the '<em><b>Contained Edge</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTIVITY_GROUP__CONTAINED_EDGE = NAMED_ELEMENT_FEATURE_COUNT + 4;
+	int ACTIVITY_GROUP__SUPER_GROUP = NAMED_ELEMENT_FEATURE_COUNT + 4;
 
 	/**
 	 * The number of structural features of the '<em>Activity Group</em>' class.
@@ -86678,15 +85939,6 @@
 	int ACTIVITY_GROUP___MUST_BE_OWNED = NAMED_ELEMENT___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTIVITY_GROUP___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = NAMED_ELEMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -86705,6 +85957,15 @@
 	int ACTIVITY_GROUP___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = NAMED_ELEMENT___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_GROUP___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = NAMED_ELEMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -86795,22 +86056,13 @@
 	int ACTIVITY_GROUP___SEPARATOR = NAMED_ELEMENT___SEPARATOR;
 
 	/**
-	 * The operation id for the '<em>Validate Nodes And Edges</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTIVITY_GROUP___VALIDATE_NODES_AND_EDGES__DIAGNOSTICCHAIN_MAP = NAMED_ELEMENT_OPERATION_COUNT + 0;
-
-	/**
 	 * The operation id for the '<em>Validate Group Owned</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int ACTIVITY_GROUP___VALIDATE_GROUP_OWNED__DIAGNOSTICCHAIN_MAP = NAMED_ELEMENT_OPERATION_COUNT + 1;
+	int ACTIVITY_GROUP___VALIDATE_GROUP_OWNED__DIAGNOSTICCHAIN_MAP = NAMED_ELEMENT_OPERATION_COUNT + 0;
 
 	/**
 	 * The operation id for the '<em>Validate Not Contained</em>' operation.
@@ -86819,7 +86071,16 @@
 	 * @generated
 	 * @ordered
 	 */
-	int ACTIVITY_GROUP___VALIDATE_NOT_CONTAINED__DIAGNOSTICCHAIN_MAP = NAMED_ELEMENT_OPERATION_COUNT + 2;
+	int ACTIVITY_GROUP___VALIDATE_NOT_CONTAINED__DIAGNOSTICCHAIN_MAP = NAMED_ELEMENT_OPERATION_COUNT + 1;
+
+	/**
+	 * The operation id for the '<em>Validate Nodes And Edges</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_GROUP___VALIDATE_NODES_AND_EDGES__DIAGNOSTICCHAIN_MAP = NAMED_ELEMENT_OPERATION_COUNT + 2;
 
 	/**
 	 * The number of operations of the '<em>Activity Group</em>' class.
@@ -86837,6 +86098,753 @@
 	 * @generated
 	 * @ordered
 	 */
+	int ACTIVITY_EDGE__EANNOTATIONS = REDEFINABLE_ELEMENT__EANNOTATIONS;
+
+	/**
+	 * The feature id for the '<em><b>Owned Comment</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_EDGE__OWNED_COMMENT = REDEFINABLE_ELEMENT__OWNED_COMMENT;
+
+	/**
+	 * The feature id for the '<em><b>Owned Element</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_EDGE__OWNED_ELEMENT = REDEFINABLE_ELEMENT__OWNED_ELEMENT;
+
+	/**
+	 * The feature id for the '<em><b>Owner</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_EDGE__OWNER = REDEFINABLE_ELEMENT__OWNER;
+
+	/**
+	 * The feature id for the '<em><b>Client Dependency</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_EDGE__CLIENT_DEPENDENCY = REDEFINABLE_ELEMENT__CLIENT_DEPENDENCY;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_EDGE__NAME = REDEFINABLE_ELEMENT__NAME;
+
+	/**
+	 * The feature id for the '<em><b>Name Expression</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_EDGE__NAME_EXPRESSION = REDEFINABLE_ELEMENT__NAME_EXPRESSION;
+
+	/**
+	 * The feature id for the '<em><b>Namespace</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_EDGE__NAMESPACE = REDEFINABLE_ELEMENT__NAMESPACE;
+
+	/**
+	 * The feature id for the '<em><b>Qualified Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_EDGE__QUALIFIED_NAME = REDEFINABLE_ELEMENT__QUALIFIED_NAME;
+
+	/**
+	 * The feature id for the '<em><b>Visibility</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_EDGE__VISIBILITY = REDEFINABLE_ELEMENT__VISIBILITY;
+
+	/**
+	 * The feature id for the '<em><b>Is Leaf</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_EDGE__IS_LEAF = REDEFINABLE_ELEMENT__IS_LEAF;
+
+	/**
+	 * The feature id for the '<em><b>Redefined Element</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_EDGE__REDEFINED_ELEMENT = REDEFINABLE_ELEMENT__REDEFINED_ELEMENT;
+
+	/**
+	 * The feature id for the '<em><b>Redefinition Context</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_EDGE__REDEFINITION_CONTEXT = REDEFINABLE_ELEMENT__REDEFINITION_CONTEXT;
+
+	/**
+	 * The feature id for the '<em><b>Activity</b></em>' container reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_EDGE__ACTIVITY = REDEFINABLE_ELEMENT_FEATURE_COUNT + 0;
+
+	/**
+	 * The feature id for the '<em><b>Guard</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_EDGE__GUARD = REDEFINABLE_ELEMENT_FEATURE_COUNT + 1;
+
+	/**
+	 * The feature id for the '<em><b>In Partition</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_EDGE__IN_PARTITION = REDEFINABLE_ELEMENT_FEATURE_COUNT + 2;
+
+	/**
+	 * The feature id for the '<em><b>In Structured Node</b></em>' container reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_EDGE__IN_STRUCTURED_NODE = REDEFINABLE_ELEMENT_FEATURE_COUNT + 3;
+
+	/**
+	 * The feature id for the '<em><b>Interrupts</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_EDGE__INTERRUPTS = REDEFINABLE_ELEMENT_FEATURE_COUNT + 4;
+
+	/**
+	 * The feature id for the '<em><b>Redefined Edge</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_EDGE__REDEFINED_EDGE = REDEFINABLE_ELEMENT_FEATURE_COUNT + 5;
+
+	/**
+	 * The feature id for the '<em><b>Source</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_EDGE__SOURCE = REDEFINABLE_ELEMENT_FEATURE_COUNT + 6;
+
+	/**
+	 * The feature id for the '<em><b>Target</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_EDGE__TARGET = REDEFINABLE_ELEMENT_FEATURE_COUNT + 7;
+
+	/**
+	 * The feature id for the '<em><b>Weight</b></em>' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_EDGE__WEIGHT = REDEFINABLE_ELEMENT_FEATURE_COUNT + 8;
+
+	/**
+	 * The feature id for the '<em><b>In Group</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_EDGE__IN_GROUP = REDEFINABLE_ELEMENT_FEATURE_COUNT + 9;
+
+	/**
+	 * The number of structural features of the '<em>Activity Edge</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_EDGE_FEATURE_COUNT = REDEFINABLE_ELEMENT_FEATURE_COUNT + 10;
+
+	/**
+	 * The operation id for the '<em>Get EAnnotation</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_EDGE___GET_EANNOTATION__STRING = REDEFINABLE_ELEMENT___GET_EANNOTATION__STRING;
+
+	/**
+	 * The operation id for the '<em>Validate Has Owner</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_EDGE___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP = REDEFINABLE_ELEMENT___VALIDATE_HAS_OWNER__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Validate Not Own Self</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_EDGE___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP = REDEFINABLE_ELEMENT___VALIDATE_NOT_OWN_SELF__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Add Keyword</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_EDGE___ADD_KEYWORD__STRING = REDEFINABLE_ELEMENT___ADD_KEYWORD__STRING;
+
+	/**
+	 * The operation id for the '<em>Apply Stereotype</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_EDGE___APPLY_STEREOTYPE__STEREOTYPE = REDEFINABLE_ELEMENT___APPLY_STEREOTYPE__STEREOTYPE;
+
+	/**
+	 * The operation id for the '<em>Create EAnnotation</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_EDGE___CREATE_EANNOTATION__STRING = REDEFINABLE_ELEMENT___CREATE_EANNOTATION__STRING;
+
+	/**
+	 * The operation id for the '<em>Destroy</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_EDGE___DESTROY = REDEFINABLE_ELEMENT___DESTROY;
+
+	/**
+	 * The operation id for the '<em>Get Keywords</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_EDGE___GET_KEYWORDS = REDEFINABLE_ELEMENT___GET_KEYWORDS;
+
+	/**
+	 * The operation id for the '<em>Get Applicable Stereotype</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_EDGE___GET_APPLICABLE_STEREOTYPE__STRING = REDEFINABLE_ELEMENT___GET_APPLICABLE_STEREOTYPE__STRING;
+
+	/**
+	 * The operation id for the '<em>Get Applicable Stereotypes</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_EDGE___GET_APPLICABLE_STEREOTYPES = REDEFINABLE_ELEMENT___GET_APPLICABLE_STEREOTYPES;
+
+	/**
+	 * The operation id for the '<em>Get Applied Stereotype</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_EDGE___GET_APPLIED_STEREOTYPE__STRING = REDEFINABLE_ELEMENT___GET_APPLIED_STEREOTYPE__STRING;
+
+	/**
+	 * The operation id for the '<em>Get Applied Stereotypes</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_EDGE___GET_APPLIED_STEREOTYPES = REDEFINABLE_ELEMENT___GET_APPLIED_STEREOTYPES;
+
+	/**
+	 * The operation id for the '<em>Get Applied Substereotype</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_EDGE___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING = REDEFINABLE_ELEMENT___GET_APPLIED_SUBSTEREOTYPE__STEREOTYPE_STRING;
+
+	/**
+	 * The operation id for the '<em>Get Applied Substereotypes</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_EDGE___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE = REDEFINABLE_ELEMENT___GET_APPLIED_SUBSTEREOTYPES__STEREOTYPE;
+
+	/**
+	 * The operation id for the '<em>Get Model</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_EDGE___GET_MODEL = REDEFINABLE_ELEMENT___GET_MODEL;
+
+	/**
+	 * The operation id for the '<em>Get Nearest Package</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_EDGE___GET_NEAREST_PACKAGE = REDEFINABLE_ELEMENT___GET_NEAREST_PACKAGE;
+
+	/**
+	 * The operation id for the '<em>Get Relationships</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_EDGE___GET_RELATIONSHIPS = REDEFINABLE_ELEMENT___GET_RELATIONSHIPS;
+
+	/**
+	 * The operation id for the '<em>Get Relationships</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_EDGE___GET_RELATIONSHIPS__ECLASS = REDEFINABLE_ELEMENT___GET_RELATIONSHIPS__ECLASS;
+
+	/**
+	 * The operation id for the '<em>Get Required Stereotype</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_EDGE___GET_REQUIRED_STEREOTYPE__STRING = REDEFINABLE_ELEMENT___GET_REQUIRED_STEREOTYPE__STRING;
+
+	/**
+	 * The operation id for the '<em>Get Required Stereotypes</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_EDGE___GET_REQUIRED_STEREOTYPES = REDEFINABLE_ELEMENT___GET_REQUIRED_STEREOTYPES;
+
+	/**
+	 * The operation id for the '<em>Get Source Directed Relationships</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_EDGE___GET_SOURCE_DIRECTED_RELATIONSHIPS = REDEFINABLE_ELEMENT___GET_SOURCE_DIRECTED_RELATIONSHIPS;
+
+	/**
+	 * The operation id for the '<em>Get Source Directed Relationships</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_EDGE___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS = REDEFINABLE_ELEMENT___GET_SOURCE_DIRECTED_RELATIONSHIPS__ECLASS;
+
+	/**
+	 * The operation id for the '<em>Get Stereotype Application</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_EDGE___GET_STEREOTYPE_APPLICATION__STEREOTYPE = REDEFINABLE_ELEMENT___GET_STEREOTYPE_APPLICATION__STEREOTYPE;
+
+	/**
+	 * The operation id for the '<em>Get Stereotype Applications</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_EDGE___GET_STEREOTYPE_APPLICATIONS = REDEFINABLE_ELEMENT___GET_STEREOTYPE_APPLICATIONS;
+
+	/**
+	 * The operation id for the '<em>Get Target Directed Relationships</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_EDGE___GET_TARGET_DIRECTED_RELATIONSHIPS = REDEFINABLE_ELEMENT___GET_TARGET_DIRECTED_RELATIONSHIPS;
+
+	/**
+	 * The operation id for the '<em>Get Target Directed Relationships</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_EDGE___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS = REDEFINABLE_ELEMENT___GET_TARGET_DIRECTED_RELATIONSHIPS__ECLASS;
+
+	/**
+	 * The operation id for the '<em>Get Value</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_EDGE___GET_VALUE__STEREOTYPE_STRING = REDEFINABLE_ELEMENT___GET_VALUE__STEREOTYPE_STRING;
+
+	/**
+	 * The operation id for the '<em>Has Keyword</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_EDGE___HAS_KEYWORD__STRING = REDEFINABLE_ELEMENT___HAS_KEYWORD__STRING;
+
+	/**
+	 * The operation id for the '<em>Has Value</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_EDGE___HAS_VALUE__STEREOTYPE_STRING = REDEFINABLE_ELEMENT___HAS_VALUE__STEREOTYPE_STRING;
+
+	/**
+	 * The operation id for the '<em>Is Stereotype Applicable</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_EDGE___IS_STEREOTYPE_APPLICABLE__STEREOTYPE = REDEFINABLE_ELEMENT___IS_STEREOTYPE_APPLICABLE__STEREOTYPE;
+
+	/**
+	 * The operation id for the '<em>Is Stereotype Applied</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_EDGE___IS_STEREOTYPE_APPLIED__STEREOTYPE = REDEFINABLE_ELEMENT___IS_STEREOTYPE_APPLIED__STEREOTYPE;
+
+	/**
+	 * The operation id for the '<em>Is Stereotype Required</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_EDGE___IS_STEREOTYPE_REQUIRED__STEREOTYPE = REDEFINABLE_ELEMENT___IS_STEREOTYPE_REQUIRED__STEREOTYPE;
+
+	/**
+	 * The operation id for the '<em>Remove Keyword</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_EDGE___REMOVE_KEYWORD__STRING = REDEFINABLE_ELEMENT___REMOVE_KEYWORD__STRING;
+
+	/**
+	 * The operation id for the '<em>Set Value</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_EDGE___SET_VALUE__STEREOTYPE_STRING_OBJECT = REDEFINABLE_ELEMENT___SET_VALUE__STEREOTYPE_STRING_OBJECT;
+
+	/**
+	 * The operation id for the '<em>Unapply Stereotype</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_EDGE___UNAPPLY_STEREOTYPE__STEREOTYPE = REDEFINABLE_ELEMENT___UNAPPLY_STEREOTYPE__STEREOTYPE;
+
+	/**
+	 * The operation id for the '<em>All Owned Elements</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_EDGE___ALL_OWNED_ELEMENTS = REDEFINABLE_ELEMENT___ALL_OWNED_ELEMENTS;
+
+	/**
+	 * The operation id for the '<em>Must Be Owned</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_EDGE___MUST_BE_OWNED = REDEFINABLE_ELEMENT___MUST_BE_OWNED;
+
+	/**
+	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_EDGE___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = REDEFINABLE_ELEMENT___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Validate Has No Qualified Name</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_EDGE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = REDEFINABLE_ELEMENT___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_EDGE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = REDEFINABLE_ELEMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Create Dependency</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_EDGE___CREATE_DEPENDENCY__NAMEDELEMENT = REDEFINABLE_ELEMENT___CREATE_DEPENDENCY__NAMEDELEMENT;
+
+	/**
+	 * The operation id for the '<em>Create Usage</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_EDGE___CREATE_USAGE__NAMEDELEMENT = REDEFINABLE_ELEMENT___CREATE_USAGE__NAMEDELEMENT;
+
+	/**
+	 * The operation id for the '<em>Get Label</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_EDGE___GET_LABEL = REDEFINABLE_ELEMENT___GET_LABEL;
+
+	/**
+	 * The operation id for the '<em>Get Label</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_EDGE___GET_LABEL__BOOLEAN = REDEFINABLE_ELEMENT___GET_LABEL__BOOLEAN;
+
+	/**
+	 * The operation id for the '<em>All Namespaces</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_EDGE___ALL_NAMESPACES = REDEFINABLE_ELEMENT___ALL_NAMESPACES;
+
+	/**
+	 * The operation id for the '<em>All Owning Packages</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_EDGE___ALL_OWNING_PACKAGES = REDEFINABLE_ELEMENT___ALL_OWNING_PACKAGES;
+
+	/**
+	 * The operation id for the '<em>Is Distinguishable From</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_EDGE___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE = REDEFINABLE_ELEMENT___IS_DISTINGUISHABLE_FROM__NAMEDELEMENT_NAMESPACE;
+
+	/**
+	 * The operation id for the '<em>Get Namespace</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_EDGE___GET_NAMESPACE = REDEFINABLE_ELEMENT___GET_NAMESPACE;
+
+	/**
+	 * The operation id for the '<em>Get Qualified Name</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_EDGE___GET_QUALIFIED_NAME = REDEFINABLE_ELEMENT___GET_QUALIFIED_NAME;
+
+	/**
+	 * The operation id for the '<em>Separator</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_EDGE___SEPARATOR = REDEFINABLE_ELEMENT___SEPARATOR;
+
+	/**
+	 * The operation id for the '<em>Validate Redefinition Consistent</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_EDGE___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP = REDEFINABLE_ELEMENT___VALIDATE_REDEFINITION_CONSISTENT__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Validate Non Leaf Redefinition</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_EDGE___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP = REDEFINABLE_ELEMENT___VALIDATE_NON_LEAF_REDEFINITION__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Validate Redefinition Context Valid</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_EDGE___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP = REDEFINABLE_ELEMENT___VALIDATE_REDEFINITION_CONTEXT_VALID__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Is Consistent With</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_EDGE___IS_CONSISTENT_WITH__REDEFINABLEELEMENT = REDEFINABLE_ELEMENT___IS_CONSISTENT_WITH__REDEFINABLEELEMENT;
+
+	/**
+	 * The operation id for the '<em>Is Redefinition Context Valid</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_EDGE___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT = REDEFINABLE_ELEMENT___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT;
+
+	/**
+	 * The operation id for the '<em>Validate Owned</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_EDGE___VALIDATE_OWNED__DIAGNOSTICCHAIN_MAP = REDEFINABLE_ELEMENT_OPERATION_COUNT + 0;
+
+	/**
+	 * The operation id for the '<em>Validate Source And Target</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_EDGE___VALIDATE_SOURCE_AND_TARGET__DIAGNOSTICCHAIN_MAP = REDEFINABLE_ELEMENT_OPERATION_COUNT + 1;
+
+	/**
+	 * The operation id for the '<em>Validate Structured Node</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_EDGE___VALIDATE_STRUCTURED_NODE__DIAGNOSTICCHAIN_MAP = REDEFINABLE_ELEMENT_OPERATION_COUNT + 2;
+
+	/**
+	 * The number of operations of the '<em>Activity Edge</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_EDGE_OPERATION_COUNT = REDEFINABLE_ELEMENT_OPERATION_COUNT + 3;
+
+	/**
+	 * The feature id for the '<em><b>EAnnotations</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
 	int ACTIVITY_PARTITION__EANNOTATIONS = ACTIVITY_GROUP__EANNOTATIONS;
 
 	/**
@@ -86921,6 +86929,15 @@
 	int ACTIVITY_PARTITION__VISIBILITY = ACTIVITY_GROUP__VISIBILITY;
 
 	/**
+	 * The feature id for the '<em><b>Contained Edge</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_PARTITION__CONTAINED_EDGE = ACTIVITY_GROUP__CONTAINED_EDGE;
+
+	/**
 	 * The feature id for the '<em><b>Contained Node</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -86930,7 +86947,7 @@
 	int ACTIVITY_PARTITION__CONTAINED_NODE = ACTIVITY_GROUP__CONTAINED_NODE;
 
 	/**
-	 * The feature id for the '<em><b>In Activity</b></em>' container reference.
+	 * The feature id for the '<em><b>In Activity</b></em>' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -86957,15 +86974,6 @@
 	int ACTIVITY_PARTITION__SUPER_GROUP = ACTIVITY_GROUP__SUPER_GROUP;
 
 	/**
-	 * The feature id for the '<em><b>Contained Edge</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTIVITY_PARTITION__CONTAINED_EDGE = ACTIVITY_GROUP__CONTAINED_EDGE;
-
-	/**
 	 * The feature id for the '<em><b>Is Dimension</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -87371,15 +87379,6 @@
 	int ACTIVITY_PARTITION___MUST_BE_OWNED = ACTIVITY_GROUP___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTIVITY_PARTITION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = ACTIVITY_GROUP___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -87398,6 +87397,15 @@
 	int ACTIVITY_PARTITION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = ACTIVITY_GROUP___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_PARTITION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = ACTIVITY_GROUP___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -87488,15 +87496,6 @@
 	int ACTIVITY_PARTITION___SEPARATOR = ACTIVITY_GROUP___SEPARATOR;
 
 	/**
-	 * The operation id for the '<em>Validate Nodes And Edges</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTIVITY_PARTITION___VALIDATE_NODES_AND_EDGES__DIAGNOSTICCHAIN_MAP = ACTIVITY_GROUP___VALIDATE_NODES_AND_EDGES__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Group Owned</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -87515,22 +87514,13 @@
 	int ACTIVITY_PARTITION___VALIDATE_NOT_CONTAINED__DIAGNOSTICCHAIN_MAP = ACTIVITY_GROUP___VALIDATE_NOT_CONTAINED__DIAGNOSTICCHAIN_MAP;
 
 	/**
-	 * The operation id for the '<em>Validate Represents Classifier</em>' operation.
+	 * The operation id for the '<em>Validate Nodes And Edges</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int ACTIVITY_PARTITION___VALIDATE_REPRESENTS_CLASSIFIER__DIAGNOSTICCHAIN_MAP = ACTIVITY_GROUP_OPERATION_COUNT + 0;
-
-	/**
-	 * The operation id for the '<em>Validate Represents Part And Is Contained</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTIVITY_PARTITION___VALIDATE_REPRESENTS_PART_AND_IS_CONTAINED__DIAGNOSTICCHAIN_MAP = ACTIVITY_GROUP_OPERATION_COUNT + 1;
+	int ACTIVITY_PARTITION___VALIDATE_NODES_AND_EDGES__DIAGNOSTICCHAIN_MAP = ACTIVITY_GROUP___VALIDATE_NODES_AND_EDGES__DIAGNOSTICCHAIN_MAP;
 
 	/**
 	 * The operation id for the '<em>Validate Represents Part</em>' operation.
@@ -87539,7 +87529,25 @@
 	 * @generated
 	 * @ordered
 	 */
-	int ACTIVITY_PARTITION___VALIDATE_REPRESENTS_PART__DIAGNOSTICCHAIN_MAP = ACTIVITY_GROUP_OPERATION_COUNT + 2;
+	int ACTIVITY_PARTITION___VALIDATE_REPRESENTS_PART__DIAGNOSTICCHAIN_MAP = ACTIVITY_GROUP_OPERATION_COUNT + 0;
+
+	/**
+	 * The operation id for the '<em>Validate Represents Classifier</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_PARTITION___VALIDATE_REPRESENTS_CLASSIFIER__DIAGNOSTICCHAIN_MAP = ACTIVITY_GROUP_OPERATION_COUNT + 1;
+
+	/**
+	 * The operation id for the '<em>Validate Represents Part And Is Contained</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_PARTITION___VALIDATE_REPRESENTS_PART_AND_IS_CONTAINED__DIAGNOSTICCHAIN_MAP = ACTIVITY_GROUP_OPERATION_COUNT + 2;
 
 	/**
 	 * The operation id for the '<em>Validate Dimension Not Contained</em>' operation.
@@ -87677,7 +87685,7 @@
 	int STRUCTURED_ACTIVITY_NODE__REDEFINITION_CONTEXT = ACTION__REDEFINITION_CONTEXT;
 
 	/**
-	 * The feature id for the '<em><b>Activity</b></em>' container reference.
+	 * The feature id for the '<em><b>Activity</b></em>' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -87686,15 +87694,6 @@
 	int STRUCTURED_ACTIVITY_NODE__ACTIVITY = ACTION__ACTIVITY;
 
 	/**
-	 * The feature id for the '<em><b>In Group</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int STRUCTURED_ACTIVITY_NODE__IN_GROUP = ACTION__IN_GROUP;
-
-	/**
 	 * The feature id for the '<em><b>In Partition</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -87740,6 +87739,15 @@
 	int STRUCTURED_ACTIVITY_NODE__INCOMING = ACTION__INCOMING;
 
 	/**
+	 * The feature id for the '<em><b>In Group</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STRUCTURED_ACTIVITY_NODE__IN_GROUP = ACTION__IN_GROUP;
+
+	/**
 	 * The feature id for the '<em><b>Redefined Node</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -87866,22 +87874,31 @@
 	int STRUCTURED_ACTIVITY_NODE__MEMBER = ACTION_FEATURE_COUNT + 5;
 
 	/**
+	 * The feature id for the '<em><b>Contained Edge</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STRUCTURED_ACTIVITY_NODE__CONTAINED_EDGE = ACTION_FEATURE_COUNT + 6;
+
+	/**
 	 * The feature id for the '<em><b>Contained Node</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int STRUCTURED_ACTIVITY_NODE__CONTAINED_NODE = ACTION_FEATURE_COUNT + 6;
+	int STRUCTURED_ACTIVITY_NODE__CONTAINED_NODE = ACTION_FEATURE_COUNT + 7;
 
 	/**
-	 * The feature id for the '<em><b>In Activity</b></em>' container reference.
+	 * The feature id for the '<em><b>In Activity</b></em>' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int STRUCTURED_ACTIVITY_NODE__IN_ACTIVITY = ACTION_FEATURE_COUNT + 7;
+	int STRUCTURED_ACTIVITY_NODE__IN_ACTIVITY = ACTION_FEATURE_COUNT + 8;
 
 	/**
 	 * The feature id for the '<em><b>Subgroup</b></em>' reference list.
@@ -87890,7 +87907,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int STRUCTURED_ACTIVITY_NODE__SUBGROUP = ACTION_FEATURE_COUNT + 8;
+	int STRUCTURED_ACTIVITY_NODE__SUBGROUP = ACTION_FEATURE_COUNT + 9;
 
 	/**
 	 * The feature id for the '<em><b>Super Group</b></em>' reference.
@@ -87899,16 +87916,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int STRUCTURED_ACTIVITY_NODE__SUPER_GROUP = ACTION_FEATURE_COUNT + 9;
-
-	/**
-	 * The feature id for the '<em><b>Contained Edge</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int STRUCTURED_ACTIVITY_NODE__CONTAINED_EDGE = ACTION_FEATURE_COUNT + 10;
+	int STRUCTURED_ACTIVITY_NODE__SUPER_GROUP = ACTION_FEATURE_COUNT + 10;
 
 	/**
 	 * The feature id for the '<em><b>Must Isolate</b></em>' attribute.
@@ -88307,15 +88315,6 @@
 	int STRUCTURED_ACTIVITY_NODE___MUST_BE_OWNED = ACTION___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int STRUCTURED_ACTIVITY_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -88334,6 +88333,15 @@
 	int STRUCTURED_ACTIVITY_NODE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STRUCTURED_ACTIVITY_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -88595,22 +88603,13 @@
 	int STRUCTURED_ACTIVITY_NODE___GET_OWNED_MEMBERS = ACTION_OPERATION_COUNT + 10;
 
 	/**
-	 * The operation id for the '<em>Validate Nodes And Edges</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int STRUCTURED_ACTIVITY_NODE___VALIDATE_NODES_AND_EDGES__DIAGNOSTICCHAIN_MAP = ACTION_OPERATION_COUNT + 11;
-
-	/**
 	 * The operation id for the '<em>Validate Group Owned</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int STRUCTURED_ACTIVITY_NODE___VALIDATE_GROUP_OWNED__DIAGNOSTICCHAIN_MAP = ACTION_OPERATION_COUNT + 12;
+	int STRUCTURED_ACTIVITY_NODE___VALIDATE_GROUP_OWNED__DIAGNOSTICCHAIN_MAP = ACTION_OPERATION_COUNT + 11;
 
 	/**
 	 * The operation id for the '<em>Validate Not Contained</em>' operation.
@@ -88619,16 +88618,25 @@
 	 * @generated
 	 * @ordered
 	 */
-	int STRUCTURED_ACTIVITY_NODE___VALIDATE_NOT_CONTAINED__DIAGNOSTICCHAIN_MAP = ACTION_OPERATION_COUNT + 13;
+	int STRUCTURED_ACTIVITY_NODE___VALIDATE_NOT_CONTAINED__DIAGNOSTICCHAIN_MAP = ACTION_OPERATION_COUNT + 12;
 
 	/**
-	 * The operation id for the '<em>Validate Output Pin Edges</em>' operation.
+	 * The operation id for the '<em>Validate Nodes And Edges</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int STRUCTURED_ACTIVITY_NODE___VALIDATE_OUTPUT_PIN_EDGES__DIAGNOSTICCHAIN_MAP = ACTION_OPERATION_COUNT + 14;
+	int STRUCTURED_ACTIVITY_NODE___VALIDATE_NODES_AND_EDGES__DIAGNOSTICCHAIN_MAP = ACTION_OPERATION_COUNT + 13;
+
+	/**
+	 * The operation id for the '<em>Validate Input Pin Edges</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STRUCTURED_ACTIVITY_NODE___VALIDATE_INPUT_PIN_EDGES__DIAGNOSTICCHAIN_MAP = ACTION_OPERATION_COUNT + 14;
 
 	/**
 	 * The operation id for the '<em>Validate Edges</em>' operation.
@@ -88640,13 +88648,13 @@
 	int STRUCTURED_ACTIVITY_NODE___VALIDATE_EDGES__DIAGNOSTICCHAIN_MAP = ACTION_OPERATION_COUNT + 15;
 
 	/**
-	 * The operation id for the '<em>Validate Input Pin Edges</em>' operation.
+	 * The operation id for the '<em>Validate Output Pin Edges</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int STRUCTURED_ACTIVITY_NODE___VALIDATE_INPUT_PIN_EDGES__DIAGNOSTICCHAIN_MAP = ACTION_OPERATION_COUNT + 16;
+	int STRUCTURED_ACTIVITY_NODE___VALIDATE_OUTPUT_PIN_EDGES__DIAGNOSTICCHAIN_MAP = ACTION_OPERATION_COUNT + 16;
 
 	/**
 	 * The number of operations of the '<em>Structured Activity Node</em>' class.
@@ -88775,7 +88783,7 @@
 	int OBJECT_NODE__REDEFINITION_CONTEXT = ACTIVITY_NODE__REDEFINITION_CONTEXT;
 
 	/**
-	 * The feature id for the '<em><b>Activity</b></em>' container reference.
+	 * The feature id for the '<em><b>Activity</b></em>' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -88784,15 +88792,6 @@
 	int OBJECT_NODE__ACTIVITY = ACTIVITY_NODE__ACTIVITY;
 
 	/**
-	 * The feature id for the '<em><b>In Group</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int OBJECT_NODE__IN_GROUP = ACTIVITY_NODE__IN_GROUP;
-
-	/**
 	 * The feature id for the '<em><b>In Partition</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -88838,6 +88837,15 @@
 	int OBJECT_NODE__INCOMING = ACTIVITY_NODE__INCOMING;
 
 	/**
+	 * The feature id for the '<em><b>In Group</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int OBJECT_NODE__IN_GROUP = ACTIVITY_NODE__IN_GROUP;
+
+	/**
 	 * The feature id for the '<em><b>Redefined Node</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -89243,15 +89251,6 @@
 	int OBJECT_NODE___MUST_BE_OWNED = ACTIVITY_NODE___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int OBJECT_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = ACTIVITY_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -89270,6 +89269,15 @@
 	int OBJECT_NODE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = ACTIVITY_NODE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int OBJECT_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = ACTIVITY_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -89423,13 +89431,13 @@
 	int OBJECT_NODE___VALIDATE_OWNED_STRUCTURED_NODE__DIAGNOSTICCHAIN_MAP = ACTIVITY_NODE___VALIDATE_OWNED_STRUCTURED_NODE__DIAGNOSTICCHAIN_MAP;
 
 	/**
-	 * The operation id for the '<em>Validate Input Output Parameter</em>' operation.
+	 * The operation id for the '<em>Validate Object Flow Edges</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int OBJECT_NODE___VALIDATE_INPUT_OUTPUT_PARAMETER__DIAGNOSTICCHAIN_MAP = ACTIVITY_NODE_OPERATION_COUNT + 0;
+	int OBJECT_NODE___VALIDATE_OBJECT_FLOW_EDGES__DIAGNOSTICCHAIN_MAP = ACTIVITY_NODE_OPERATION_COUNT + 0;
 
 	/**
 	 * The operation id for the '<em>Validate Selection Behavior</em>' operation.
@@ -89441,13 +89449,13 @@
 	int OBJECT_NODE___VALIDATE_SELECTION_BEHAVIOR__DIAGNOSTICCHAIN_MAP = ACTIVITY_NODE_OPERATION_COUNT + 1;
 
 	/**
-	 * The operation id for the '<em>Validate Object Flow Edges</em>' operation.
+	 * The operation id for the '<em>Validate Input Output Parameter</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int OBJECT_NODE___VALIDATE_OBJECT_FLOW_EDGES__DIAGNOSTICCHAIN_MAP = ACTIVITY_NODE_OPERATION_COUNT + 2;
+	int OBJECT_NODE___VALIDATE_INPUT_OUTPUT_PARAMETER__DIAGNOSTICCHAIN_MAP = ACTIVITY_NODE_OPERATION_COUNT + 2;
 
 	/**
 	 * The number of operations of the '<em>Object Node</em>' class.
@@ -89576,7 +89584,7 @@
 	int PIN__REDEFINITION_CONTEXT = OBJECT_NODE__REDEFINITION_CONTEXT;
 
 	/**
-	 * The feature id for the '<em><b>Activity</b></em>' container reference.
+	 * The feature id for the '<em><b>Activity</b></em>' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -89585,15 +89593,6 @@
 	int PIN__ACTIVITY = OBJECT_NODE__ACTIVITY;
 
 	/**
-	 * The feature id for the '<em><b>In Group</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PIN__IN_GROUP = OBJECT_NODE__IN_GROUP;
-
-	/**
 	 * The feature id for the '<em><b>In Partition</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -89639,6 +89638,15 @@
 	int PIN__INCOMING = OBJECT_NODE__INCOMING;
 
 	/**
+	 * The feature id for the '<em><b>In Group</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PIN__IN_GROUP = OBJECT_NODE__IN_GROUP;
+
+	/**
 	 * The feature id for the '<em><b>Redefined Node</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -90107,15 +90115,6 @@
 	int PIN___MUST_BE_OWNED = OBJECT_NODE___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PIN___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = OBJECT_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -90134,6 +90133,15 @@
 	int PIN___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = OBJECT_NODE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PIN___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = OBJECT_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -90287,13 +90295,13 @@
 	int PIN___VALIDATE_OWNED_STRUCTURED_NODE__DIAGNOSTICCHAIN_MAP = OBJECT_NODE___VALIDATE_OWNED_STRUCTURED_NODE__DIAGNOSTICCHAIN_MAP;
 
 	/**
-	 * The operation id for the '<em>Validate Input Output Parameter</em>' operation.
+	 * The operation id for the '<em>Validate Object Flow Edges</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int PIN___VALIDATE_INPUT_OUTPUT_PARAMETER__DIAGNOSTICCHAIN_MAP = OBJECT_NODE___VALIDATE_INPUT_OUTPUT_PARAMETER__DIAGNOSTICCHAIN_MAP;
+	int PIN___VALIDATE_OBJECT_FLOW_EDGES__DIAGNOSTICCHAIN_MAP = OBJECT_NODE___VALIDATE_OBJECT_FLOW_EDGES__DIAGNOSTICCHAIN_MAP;
 
 	/**
 	 * The operation id for the '<em>Validate Selection Behavior</em>' operation.
@@ -90305,22 +90313,13 @@
 	int PIN___VALIDATE_SELECTION_BEHAVIOR__DIAGNOSTICCHAIN_MAP = OBJECT_NODE___VALIDATE_SELECTION_BEHAVIOR__DIAGNOSTICCHAIN_MAP;
 
 	/**
-	 * The operation id for the '<em>Validate Object Flow Edges</em>' operation.
+	 * The operation id for the '<em>Validate Input Output Parameter</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int PIN___VALIDATE_OBJECT_FLOW_EDGES__DIAGNOSTICCHAIN_MAP = OBJECT_NODE___VALIDATE_OBJECT_FLOW_EDGES__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Validate Upper Ge Lower</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PIN___VALIDATE_UPPER_GE_LOWER__DIAGNOSTICCHAIN_MAP = OBJECT_NODE_OPERATION_COUNT + 0;
+	int PIN___VALIDATE_INPUT_OUTPUT_PARAMETER__DIAGNOSTICCHAIN_MAP = OBJECT_NODE___VALIDATE_INPUT_OUTPUT_PARAMETER__DIAGNOSTICCHAIN_MAP;
 
 	/**
 	 * The operation id for the '<em>Validate Lower Ge0</em>' operation.
@@ -90329,16 +90328,16 @@
 	 * @generated
 	 * @ordered
 	 */
-	int PIN___VALIDATE_LOWER_GE0__DIAGNOSTICCHAIN_MAP = OBJECT_NODE_OPERATION_COUNT + 1;
+	int PIN___VALIDATE_LOWER_GE0__DIAGNOSTICCHAIN_MAP = OBJECT_NODE_OPERATION_COUNT + 0;
 
 	/**
-	 * The operation id for the '<em>Validate Value Specification No Side Effects</em>' operation.
+	 * The operation id for the '<em>Validate Upper Ge Lower</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int PIN___VALIDATE_VALUE_SPECIFICATION_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP = OBJECT_NODE_OPERATION_COUNT + 2;
+	int PIN___VALIDATE_UPPER_GE_LOWER__DIAGNOSTICCHAIN_MAP = OBJECT_NODE_OPERATION_COUNT + 1;
 
 	/**
 	 * The operation id for the '<em>Validate Value Specification Constant</em>' operation.
@@ -90347,7 +90346,16 @@
 	 * @generated
 	 * @ordered
 	 */
-	int PIN___VALIDATE_VALUE_SPECIFICATION_CONSTANT__DIAGNOSTICCHAIN_MAP = OBJECT_NODE_OPERATION_COUNT + 3;
+	int PIN___VALIDATE_VALUE_SPECIFICATION_CONSTANT__DIAGNOSTICCHAIN_MAP = OBJECT_NODE_OPERATION_COUNT + 2;
+
+	/**
+	 * The operation id for the '<em>Validate Value Specification No Side Effects</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PIN___VALIDATE_VALUE_SPECIFICATION_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP = OBJECT_NODE_OPERATION_COUNT + 3;
 
 	/**
 	 * The operation id for the '<em>Set Lower</em>' operation.
@@ -90584,7 +90592,7 @@
 	int INPUT_PIN__REDEFINITION_CONTEXT = PIN__REDEFINITION_CONTEXT;
 
 	/**
-	 * The feature id for the '<em><b>Activity</b></em>' container reference.
+	 * The feature id for the '<em><b>Activity</b></em>' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -90593,15 +90601,6 @@
 	int INPUT_PIN__ACTIVITY = PIN__ACTIVITY;
 
 	/**
-	 * The feature id for the '<em><b>In Group</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INPUT_PIN__IN_GROUP = PIN__IN_GROUP;
-
-	/**
 	 * The feature id for the '<em><b>In Partition</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -90647,6 +90646,15 @@
 	int INPUT_PIN__INCOMING = PIN__INCOMING;
 
 	/**
+	 * The feature id for the '<em><b>In Group</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INPUT_PIN__IN_GROUP = PIN__IN_GROUP;
+
+	/**
 	 * The feature id for the '<em><b>Redefined Node</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -91115,15 +91123,6 @@
 	int INPUT_PIN___MUST_BE_OWNED = PIN___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INPUT_PIN___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = PIN___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -91142,6 +91141,15 @@
 	int INPUT_PIN___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = PIN___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INPUT_PIN___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = PIN___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -91295,13 +91303,13 @@
 	int INPUT_PIN___VALIDATE_OWNED_STRUCTURED_NODE__DIAGNOSTICCHAIN_MAP = PIN___VALIDATE_OWNED_STRUCTURED_NODE__DIAGNOSTICCHAIN_MAP;
 
 	/**
-	 * The operation id for the '<em>Validate Input Output Parameter</em>' operation.
+	 * The operation id for the '<em>Validate Object Flow Edges</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int INPUT_PIN___VALIDATE_INPUT_OUTPUT_PARAMETER__DIAGNOSTICCHAIN_MAP = PIN___VALIDATE_INPUT_OUTPUT_PARAMETER__DIAGNOSTICCHAIN_MAP;
+	int INPUT_PIN___VALIDATE_OBJECT_FLOW_EDGES__DIAGNOSTICCHAIN_MAP = PIN___VALIDATE_OBJECT_FLOW_EDGES__DIAGNOSTICCHAIN_MAP;
 
 	/**
 	 * The operation id for the '<em>Validate Selection Behavior</em>' operation.
@@ -91313,22 +91321,13 @@
 	int INPUT_PIN___VALIDATE_SELECTION_BEHAVIOR__DIAGNOSTICCHAIN_MAP = PIN___VALIDATE_SELECTION_BEHAVIOR__DIAGNOSTICCHAIN_MAP;
 
 	/**
-	 * The operation id for the '<em>Validate Object Flow Edges</em>' operation.
+	 * The operation id for the '<em>Validate Input Output Parameter</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int INPUT_PIN___VALIDATE_OBJECT_FLOW_EDGES__DIAGNOSTICCHAIN_MAP = PIN___VALIDATE_OBJECT_FLOW_EDGES__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Validate Upper Ge Lower</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INPUT_PIN___VALIDATE_UPPER_GE_LOWER__DIAGNOSTICCHAIN_MAP = PIN___VALIDATE_UPPER_GE_LOWER__DIAGNOSTICCHAIN_MAP;
+	int INPUT_PIN___VALIDATE_INPUT_OUTPUT_PARAMETER__DIAGNOSTICCHAIN_MAP = PIN___VALIDATE_INPUT_OUTPUT_PARAMETER__DIAGNOSTICCHAIN_MAP;
 
 	/**
 	 * The operation id for the '<em>Validate Lower Ge0</em>' operation.
@@ -91340,13 +91339,13 @@
 	int INPUT_PIN___VALIDATE_LOWER_GE0__DIAGNOSTICCHAIN_MAP = PIN___VALIDATE_LOWER_GE0__DIAGNOSTICCHAIN_MAP;
 
 	/**
-	 * The operation id for the '<em>Validate Value Specification No Side Effects</em>' operation.
+	 * The operation id for the '<em>Validate Upper Ge Lower</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int INPUT_PIN___VALIDATE_VALUE_SPECIFICATION_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP = PIN___VALIDATE_VALUE_SPECIFICATION_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP;
+	int INPUT_PIN___VALIDATE_UPPER_GE_LOWER__DIAGNOSTICCHAIN_MAP = PIN___VALIDATE_UPPER_GE_LOWER__DIAGNOSTICCHAIN_MAP;
 
 	/**
 	 * The operation id for the '<em>Validate Value Specification Constant</em>' operation.
@@ -91358,6 +91357,15 @@
 	int INPUT_PIN___VALIDATE_VALUE_SPECIFICATION_CONSTANT__DIAGNOSTICCHAIN_MAP = PIN___VALIDATE_VALUE_SPECIFICATION_CONSTANT__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Value Specification No Side Effects</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INPUT_PIN___VALIDATE_VALUE_SPECIFICATION_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP = PIN___VALIDATE_VALUE_SPECIFICATION_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Set Lower</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -91601,7 +91609,7 @@
 	int OUTPUT_PIN__REDEFINITION_CONTEXT = PIN__REDEFINITION_CONTEXT;
 
 	/**
-	 * The feature id for the '<em><b>Activity</b></em>' container reference.
+	 * The feature id for the '<em><b>Activity</b></em>' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -91610,15 +91618,6 @@
 	int OUTPUT_PIN__ACTIVITY = PIN__ACTIVITY;
 
 	/**
-	 * The feature id for the '<em><b>In Group</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int OUTPUT_PIN__IN_GROUP = PIN__IN_GROUP;
-
-	/**
 	 * The feature id for the '<em><b>In Partition</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -91664,6 +91663,15 @@
 	int OUTPUT_PIN__INCOMING = PIN__INCOMING;
 
 	/**
+	 * The feature id for the '<em><b>In Group</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int OUTPUT_PIN__IN_GROUP = PIN__IN_GROUP;
+
+	/**
 	 * The feature id for the '<em><b>Redefined Node</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -92132,15 +92140,6 @@
 	int OUTPUT_PIN___MUST_BE_OWNED = PIN___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int OUTPUT_PIN___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = PIN___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -92159,6 +92158,15 @@
 	int OUTPUT_PIN___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = PIN___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int OUTPUT_PIN___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = PIN___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -92312,13 +92320,13 @@
 	int OUTPUT_PIN___VALIDATE_OWNED_STRUCTURED_NODE__DIAGNOSTICCHAIN_MAP = PIN___VALIDATE_OWNED_STRUCTURED_NODE__DIAGNOSTICCHAIN_MAP;
 
 	/**
-	 * The operation id for the '<em>Validate Input Output Parameter</em>' operation.
+	 * The operation id for the '<em>Validate Object Flow Edges</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int OUTPUT_PIN___VALIDATE_INPUT_OUTPUT_PARAMETER__DIAGNOSTICCHAIN_MAP = PIN___VALIDATE_INPUT_OUTPUT_PARAMETER__DIAGNOSTICCHAIN_MAP;
+	int OUTPUT_PIN___VALIDATE_OBJECT_FLOW_EDGES__DIAGNOSTICCHAIN_MAP = PIN___VALIDATE_OBJECT_FLOW_EDGES__DIAGNOSTICCHAIN_MAP;
 
 	/**
 	 * The operation id for the '<em>Validate Selection Behavior</em>' operation.
@@ -92330,22 +92338,13 @@
 	int OUTPUT_PIN___VALIDATE_SELECTION_BEHAVIOR__DIAGNOSTICCHAIN_MAP = PIN___VALIDATE_SELECTION_BEHAVIOR__DIAGNOSTICCHAIN_MAP;
 
 	/**
-	 * The operation id for the '<em>Validate Object Flow Edges</em>' operation.
+	 * The operation id for the '<em>Validate Input Output Parameter</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int OUTPUT_PIN___VALIDATE_OBJECT_FLOW_EDGES__DIAGNOSTICCHAIN_MAP = PIN___VALIDATE_OBJECT_FLOW_EDGES__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Validate Upper Ge Lower</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int OUTPUT_PIN___VALIDATE_UPPER_GE_LOWER__DIAGNOSTICCHAIN_MAP = PIN___VALIDATE_UPPER_GE_LOWER__DIAGNOSTICCHAIN_MAP;
+	int OUTPUT_PIN___VALIDATE_INPUT_OUTPUT_PARAMETER__DIAGNOSTICCHAIN_MAP = PIN___VALIDATE_INPUT_OUTPUT_PARAMETER__DIAGNOSTICCHAIN_MAP;
 
 	/**
 	 * The operation id for the '<em>Validate Lower Ge0</em>' operation.
@@ -92357,13 +92356,13 @@
 	int OUTPUT_PIN___VALIDATE_LOWER_GE0__DIAGNOSTICCHAIN_MAP = PIN___VALIDATE_LOWER_GE0__DIAGNOSTICCHAIN_MAP;
 
 	/**
-	 * The operation id for the '<em>Validate Value Specification No Side Effects</em>' operation.
+	 * The operation id for the '<em>Validate Upper Ge Lower</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int OUTPUT_PIN___VALIDATE_VALUE_SPECIFICATION_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP = PIN___VALIDATE_VALUE_SPECIFICATION_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP;
+	int OUTPUT_PIN___VALIDATE_UPPER_GE_LOWER__DIAGNOSTICCHAIN_MAP = PIN___VALIDATE_UPPER_GE_LOWER__DIAGNOSTICCHAIN_MAP;
 
 	/**
 	 * The operation id for the '<em>Validate Value Specification Constant</em>' operation.
@@ -92375,6 +92374,15 @@
 	int OUTPUT_PIN___VALIDATE_VALUE_SPECIFICATION_CONSTANT__DIAGNOSTICCHAIN_MAP = PIN___VALIDATE_VALUE_SPECIFICATION_CONSTANT__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Value Specification No Side Effects</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int OUTPUT_PIN___VALIDATE_VALUE_SPECIFICATION_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP = PIN___VALIDATE_VALUE_SPECIFICATION_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Set Lower</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -93041,15 +93049,6 @@
 	int VARIABLE___MUST_BE_OWNED = CONNECTABLE_ELEMENT___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int VARIABLE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = CONNECTABLE_ELEMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -93068,6 +93067,15 @@
 	int VARIABLE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = CONNECTABLE_ELEMENT___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int VARIABLE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = CONNECTABLE_ELEMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -93185,31 +93193,22 @@
 	int VARIABLE___GET_ENDS = CONNECTABLE_ELEMENT___GET_ENDS;
 
 	/**
-	 * The operation id for the '<em>Validate Upper Ge Lower</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int VARIABLE___VALIDATE_UPPER_GE_LOWER__DIAGNOSTICCHAIN_MAP = CONNECTABLE_ELEMENT_OPERATION_COUNT + 0;
-
-	/**
 	 * The operation id for the '<em>Validate Lower Ge0</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int VARIABLE___VALIDATE_LOWER_GE0__DIAGNOSTICCHAIN_MAP = CONNECTABLE_ELEMENT_OPERATION_COUNT + 1;
+	int VARIABLE___VALIDATE_LOWER_GE0__DIAGNOSTICCHAIN_MAP = CONNECTABLE_ELEMENT_OPERATION_COUNT + 0;
 
 	/**
-	 * The operation id for the '<em>Validate Value Specification No Side Effects</em>' operation.
+	 * The operation id for the '<em>Validate Upper Ge Lower</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int VARIABLE___VALIDATE_VALUE_SPECIFICATION_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP = CONNECTABLE_ELEMENT_OPERATION_COUNT + 2;
+	int VARIABLE___VALIDATE_UPPER_GE_LOWER__DIAGNOSTICCHAIN_MAP = CONNECTABLE_ELEMENT_OPERATION_COUNT + 1;
 
 	/**
 	 * The operation id for the '<em>Validate Value Specification Constant</em>' operation.
@@ -93218,7 +93217,16 @@
 	 * @generated
 	 * @ordered
 	 */
-	int VARIABLE___VALIDATE_VALUE_SPECIFICATION_CONSTANT__DIAGNOSTICCHAIN_MAP = CONNECTABLE_ELEMENT_OPERATION_COUNT + 3;
+	int VARIABLE___VALIDATE_VALUE_SPECIFICATION_CONSTANT__DIAGNOSTICCHAIN_MAP = CONNECTABLE_ELEMENT_OPERATION_COUNT + 2;
+
+	/**
+	 * The operation id for the '<em>Validate Value Specification No Side Effects</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int VARIABLE___VALIDATE_VALUE_SPECIFICATION_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP = CONNECTABLE_ELEMENT_OPERATION_COUNT + 3;
 
 	/**
 	 * The operation id for the '<em>Set Lower</em>' operation.
@@ -93437,6 +93445,15 @@
 	int INTERRUPTIBLE_ACTIVITY_REGION__VISIBILITY = ACTIVITY_GROUP__VISIBILITY;
 
 	/**
+	 * The feature id for the '<em><b>Contained Edge</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERRUPTIBLE_ACTIVITY_REGION__CONTAINED_EDGE = ACTIVITY_GROUP__CONTAINED_EDGE;
+
+	/**
 	 * The feature id for the '<em><b>Contained Node</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -93446,7 +93463,7 @@
 	int INTERRUPTIBLE_ACTIVITY_REGION__CONTAINED_NODE = ACTIVITY_GROUP__CONTAINED_NODE;
 
 	/**
-	 * The feature id for the '<em><b>In Activity</b></em>' container reference.
+	 * The feature id for the '<em><b>In Activity</b></em>' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -93473,15 +93490,6 @@
 	int INTERRUPTIBLE_ACTIVITY_REGION__SUPER_GROUP = ACTIVITY_GROUP__SUPER_GROUP;
 
 	/**
-	 * The feature id for the '<em><b>Contained Edge</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERRUPTIBLE_ACTIVITY_REGION__CONTAINED_EDGE = ACTIVITY_GROUP__CONTAINED_EDGE;
-
-	/**
 	 * The feature id for the '<em><b>Node</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -93842,15 +93850,6 @@
 	int INTERRUPTIBLE_ACTIVITY_REGION___MUST_BE_OWNED = ACTIVITY_GROUP___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERRUPTIBLE_ACTIVITY_REGION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = ACTIVITY_GROUP___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -93869,6 +93868,15 @@
 	int INTERRUPTIBLE_ACTIVITY_REGION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = ACTIVITY_GROUP___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERRUPTIBLE_ACTIVITY_REGION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = ACTIVITY_GROUP___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -93959,15 +93967,6 @@
 	int INTERRUPTIBLE_ACTIVITY_REGION___SEPARATOR = ACTIVITY_GROUP___SEPARATOR;
 
 	/**
-	 * The operation id for the '<em>Validate Nodes And Edges</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERRUPTIBLE_ACTIVITY_REGION___VALIDATE_NODES_AND_EDGES__DIAGNOSTICCHAIN_MAP = ACTIVITY_GROUP___VALIDATE_NODES_AND_EDGES__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Group Owned</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -93986,6 +93985,15 @@
 	int INTERRUPTIBLE_ACTIVITY_REGION___VALIDATE_NOT_CONTAINED__DIAGNOSTICCHAIN_MAP = ACTIVITY_GROUP___VALIDATE_NOT_CONTAINED__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Nodes And Edges</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERRUPTIBLE_ACTIVITY_REGION___VALIDATE_NODES_AND_EDGES__DIAGNOSTICCHAIN_MAP = ACTIVITY_GROUP___VALIDATE_NODES_AND_EDGES__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Validate Interrupting Edges</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -94418,31 +94426,13 @@
 	int EXCEPTION_HANDLER___MUST_BE_OWNED = ELEMENT___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Exception Body</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int EXCEPTION_HANDLER___VALIDATE_EXCEPTION_BODY__DIAGNOSTICCHAIN_MAP = ELEMENT_OPERATION_COUNT + 0;
-
-	/**
-	 * The operation id for the '<em>Validate Result Pins</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int EXCEPTION_HANDLER___VALIDATE_RESULT_PINS__DIAGNOSTICCHAIN_MAP = ELEMENT_OPERATION_COUNT + 1;
-
-	/**
 	 * The operation id for the '<em>Validate One Input</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int EXCEPTION_HANDLER___VALIDATE_ONE_INPUT__DIAGNOSTICCHAIN_MAP = ELEMENT_OPERATION_COUNT + 2;
+	int EXCEPTION_HANDLER___VALIDATE_ONE_INPUT__DIAGNOSTICCHAIN_MAP = ELEMENT_OPERATION_COUNT + 0;
 
 	/**
 	 * The operation id for the '<em>Validate Edge Source Target</em>' operation.
@@ -94451,7 +94441,25 @@
 	 * @generated
 	 * @ordered
 	 */
-	int EXCEPTION_HANDLER___VALIDATE_EDGE_SOURCE_TARGET__DIAGNOSTICCHAIN_MAP = ELEMENT_OPERATION_COUNT + 3;
+	int EXCEPTION_HANDLER___VALIDATE_EDGE_SOURCE_TARGET__DIAGNOSTICCHAIN_MAP = ELEMENT_OPERATION_COUNT + 1;
+
+	/**
+	 * The operation id for the '<em>Validate Result Pins</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EXCEPTION_HANDLER___VALIDATE_RESULT_PINS__DIAGNOSTICCHAIN_MAP = ELEMENT_OPERATION_COUNT + 2;
+
+	/**
+	 * The operation id for the '<em>Validate Exception Body</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EXCEPTION_HANDLER___VALIDATE_EXCEPTION_BODY__DIAGNOSTICCHAIN_MAP = ELEMENT_OPERATION_COUNT + 3;
 
 	/**
 	 * The number of operations of the '<em>Exception Handler</em>' class.
@@ -94931,15 +94939,6 @@
 	int INTERACTION_FRAGMENT___MUST_BE_OWNED = NAMED_ELEMENT___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERACTION_FRAGMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = NAMED_ELEMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -94958,6 +94957,15 @@
 	int INTERACTION_FRAGMENT___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = NAMED_ELEMENT___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERACTION_FRAGMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = NAMED_ELEMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -95543,15 +95551,6 @@
 	int EXECUTION_SPECIFICATION___MUST_BE_OWNED = INTERACTION_FRAGMENT___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int EXECUTION_SPECIFICATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = INTERACTION_FRAGMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -95570,6 +95569,15 @@
 	int EXECUTION_SPECIFICATION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = INTERACTION_FRAGMENT___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EXECUTION_SPECIFICATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = INTERACTION_FRAGMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -96173,15 +96181,6 @@
 	int ACTION_EXECUTION_SPECIFICATION___MUST_BE_OWNED = EXECUTION_SPECIFICATION___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTION_EXECUTION_SPECIFICATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = EXECUTION_SPECIFICATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -96200,6 +96199,15 @@
 	int ACTION_EXECUTION_SPECIFICATION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = EXECUTION_SPECIFICATION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTION_EXECUTION_SPECIFICATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = EXECUTION_SPECIFICATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -96794,15 +96802,6 @@
 	int LIFELINE___MUST_BE_OWNED = NAMED_ELEMENT___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LIFELINE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = NAMED_ELEMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -96821,6 +96820,15 @@
 	int LIFELINE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = NAMED_ELEMENT___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LIFELINE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = NAMED_ELEMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -96911,22 +96919,13 @@
 	int LIFELINE___SEPARATOR = NAMED_ELEMENT___SEPARATOR;
 
 	/**
-	 * The operation id for the '<em>Validate Selector Specified</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LIFELINE___VALIDATE_SELECTOR_SPECIFIED__DIAGNOSTICCHAIN_MAP = NAMED_ELEMENT_OPERATION_COUNT + 0;
-
-	/**
 	 * The operation id for the '<em>Validate Interaction Uses Share Lifeline</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int LIFELINE___VALIDATE_INTERACTION_USES_SHARE_LIFELINE__DIAGNOSTICCHAIN_MAP = NAMED_ELEMENT_OPERATION_COUNT + 1;
+	int LIFELINE___VALIDATE_INTERACTION_USES_SHARE_LIFELINE__DIAGNOSTICCHAIN_MAP = NAMED_ELEMENT_OPERATION_COUNT + 0;
 
 	/**
 	 * The operation id for the '<em>Validate Same Classifier</em>' operation.
@@ -96935,7 +96934,16 @@
 	 * @generated
 	 * @ordered
 	 */
-	int LIFELINE___VALIDATE_SAME_CLASSIFIER__DIAGNOSTICCHAIN_MAP = NAMED_ELEMENT_OPERATION_COUNT + 2;
+	int LIFELINE___VALIDATE_SAME_CLASSIFIER__DIAGNOSTICCHAIN_MAP = NAMED_ELEMENT_OPERATION_COUNT + 1;
+
+	/**
+	 * The operation id for the '<em>Validate Selector Specified</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LIFELINE___VALIDATE_SELECTOR_SPECIFIED__DIAGNOSTICCHAIN_MAP = NAMED_ELEMENT_OPERATION_COUNT + 2;
 
 	/**
 	 * The number of operations of the '<em>Lifeline</em>' class.
@@ -97460,15 +97468,6 @@
 	int INTERACTION_USE___MUST_BE_OWNED = INTERACTION_FRAGMENT___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERACTION_USE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = INTERACTION_FRAGMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -97487,6 +97486,15 @@
 	int INTERACTION_USE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = INTERACTION_FRAGMENT___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERACTION_USE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = INTERACTION_FRAGMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -97577,22 +97585,13 @@
 	int INTERACTION_USE___SEPARATOR = INTERACTION_FRAGMENT___SEPARATOR;
 
 	/**
-	 * The operation id for the '<em>Validate Gates Match</em>' operation.
+	 * The operation id for the '<em>Validate All Lifelines</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int INTERACTION_USE___VALIDATE_GATES_MATCH__DIAGNOSTICCHAIN_MAP = INTERACTION_FRAGMENT_OPERATION_COUNT + 0;
-
-	/**
-	 * The operation id for the '<em>Validate Arguments Are Constants</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERACTION_USE___VALIDATE_ARGUMENTS_ARE_CONSTANTS__DIAGNOSTICCHAIN_MAP = INTERACTION_FRAGMENT_OPERATION_COUNT + 1;
+	int INTERACTION_USE___VALIDATE_ALL_LIFELINES__DIAGNOSTICCHAIN_MAP = INTERACTION_FRAGMENT_OPERATION_COUNT + 0;
 
 	/**
 	 * The operation id for the '<em>Validate Return Value Recipient Coverage</em>' operation.
@@ -97601,7 +97600,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int INTERACTION_USE___VALIDATE_RETURN_VALUE_RECIPIENT_COVERAGE__DIAGNOSTICCHAIN_MAP = INTERACTION_FRAGMENT_OPERATION_COUNT + 2;
+	int INTERACTION_USE___VALIDATE_RETURN_VALUE_RECIPIENT_COVERAGE__DIAGNOSTICCHAIN_MAP = INTERACTION_FRAGMENT_OPERATION_COUNT + 1;
 
 	/**
 	 * The operation id for the '<em>Validate Arguments Correspond To Parameters</em>' operation.
@@ -97610,7 +97609,25 @@
 	 * @generated
 	 * @ordered
 	 */
-	int INTERACTION_USE___VALIDATE_ARGUMENTS_CORRESPOND_TO_PARAMETERS__DIAGNOSTICCHAIN_MAP = INTERACTION_FRAGMENT_OPERATION_COUNT + 3;
+	int INTERACTION_USE___VALIDATE_ARGUMENTS_CORRESPOND_TO_PARAMETERS__DIAGNOSTICCHAIN_MAP = INTERACTION_FRAGMENT_OPERATION_COUNT + 2;
+
+	/**
+	 * The operation id for the '<em>Validate Gates Match</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERACTION_USE___VALIDATE_GATES_MATCH__DIAGNOSTICCHAIN_MAP = INTERACTION_FRAGMENT_OPERATION_COUNT + 3;
+
+	/**
+	 * The operation id for the '<em>Validate Arguments Are Constants</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERACTION_USE___VALIDATE_ARGUMENTS_ARE_CONSTANTS__DIAGNOSTICCHAIN_MAP = INTERACTION_FRAGMENT_OPERATION_COUNT + 4;
 
 	/**
 	 * The operation id for the '<em>Validate Return Value Type Recipient Correspondence</em>' operation.
@@ -97619,16 +97636,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int INTERACTION_USE___VALIDATE_RETURN_VALUE_TYPE_RECIPIENT_CORRESPONDENCE__DIAGNOSTICCHAIN_MAP = INTERACTION_FRAGMENT_OPERATION_COUNT + 4;
-
-	/**
-	 * The operation id for the '<em>Validate All Lifelines</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERACTION_USE___VALIDATE_ALL_LIFELINES__DIAGNOSTICCHAIN_MAP = INTERACTION_FRAGMENT_OPERATION_COUNT + 5;
+	int INTERACTION_USE___VALIDATE_RETURN_VALUE_TYPE_RECIPIENT_CORRESPONDENCE__DIAGNOSTICCHAIN_MAP = INTERACTION_FRAGMENT_OPERATION_COUNT + 5;
 
 	/**
 	 * The number of operations of the '<em>Interaction Use</em>' class.
@@ -98153,15 +98161,6 @@
 	int PART_DECOMPOSITION___MUST_BE_OWNED = INTERACTION_USE___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PART_DECOMPOSITION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = INTERACTION_USE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -98180,6 +98179,15 @@
 	int PART_DECOMPOSITION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = INTERACTION_USE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PART_DECOMPOSITION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = INTERACTION_USE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -98270,22 +98278,13 @@
 	int PART_DECOMPOSITION___SEPARATOR = INTERACTION_USE___SEPARATOR;
 
 	/**
-	 * The operation id for the '<em>Validate Gates Match</em>' operation.
+	 * The operation id for the '<em>Validate All Lifelines</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int PART_DECOMPOSITION___VALIDATE_GATES_MATCH__DIAGNOSTICCHAIN_MAP = INTERACTION_USE___VALIDATE_GATES_MATCH__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Validate Arguments Are Constants</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PART_DECOMPOSITION___VALIDATE_ARGUMENTS_ARE_CONSTANTS__DIAGNOSTICCHAIN_MAP = INTERACTION_USE___VALIDATE_ARGUMENTS_ARE_CONSTANTS__DIAGNOSTICCHAIN_MAP;
+	int PART_DECOMPOSITION___VALIDATE_ALL_LIFELINES__DIAGNOSTICCHAIN_MAP = INTERACTION_USE___VALIDATE_ALL_LIFELINES__DIAGNOSTICCHAIN_MAP;
 
 	/**
 	 * The operation id for the '<em>Validate Return Value Recipient Coverage</em>' operation.
@@ -98306,6 +98305,24 @@
 	int PART_DECOMPOSITION___VALIDATE_ARGUMENTS_CORRESPOND_TO_PARAMETERS__DIAGNOSTICCHAIN_MAP = INTERACTION_USE___VALIDATE_ARGUMENTS_CORRESPOND_TO_PARAMETERS__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Gates Match</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PART_DECOMPOSITION___VALIDATE_GATES_MATCH__DIAGNOSTICCHAIN_MAP = INTERACTION_USE___VALIDATE_GATES_MATCH__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Validate Arguments Are Constants</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PART_DECOMPOSITION___VALIDATE_ARGUMENTS_ARE_CONSTANTS__DIAGNOSTICCHAIN_MAP = INTERACTION_USE___VALIDATE_ARGUMENTS_ARE_CONSTANTS__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Validate Return Value Type Recipient Correspondence</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -98315,22 +98332,13 @@
 	int PART_DECOMPOSITION___VALIDATE_RETURN_VALUE_TYPE_RECIPIENT_CORRESPONDENCE__DIAGNOSTICCHAIN_MAP = INTERACTION_USE___VALIDATE_RETURN_VALUE_TYPE_RECIPIENT_CORRESPONDENCE__DIAGNOSTICCHAIN_MAP;
 
 	/**
-	 * The operation id for the '<em>Validate All Lifelines</em>' operation.
+	 * The operation id for the '<em>Validate Parts Of Internal Structures</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int PART_DECOMPOSITION___VALIDATE_ALL_LIFELINES__DIAGNOSTICCHAIN_MAP = INTERACTION_USE___VALIDATE_ALL_LIFELINES__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Validate Commutativity Of Decomposition</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PART_DECOMPOSITION___VALIDATE_COMMUTATIVITY_OF_DECOMPOSITION__DIAGNOSTICCHAIN_MAP = INTERACTION_USE_OPERATION_COUNT + 0;
+	int PART_DECOMPOSITION___VALIDATE_PARTS_OF_INTERNAL_STRUCTURES__DIAGNOSTICCHAIN_MAP = INTERACTION_USE_OPERATION_COUNT + 0;
 
 	/**
 	 * The operation id for the '<em>Validate Assume</em>' operation.
@@ -98342,13 +98350,13 @@
 	int PART_DECOMPOSITION___VALIDATE_ASSUME__DIAGNOSTICCHAIN_MAP = INTERACTION_USE_OPERATION_COUNT + 1;
 
 	/**
-	 * The operation id for the '<em>Validate Parts Of Internal Structures</em>' operation.
+	 * The operation id for the '<em>Validate Commutativity Of Decomposition</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int PART_DECOMPOSITION___VALIDATE_PARTS_OF_INTERNAL_STRUCTURES__DIAGNOSTICCHAIN_MAP = INTERACTION_USE_OPERATION_COUNT + 2;
+	int PART_DECOMPOSITION___VALIDATE_COMMUTATIVITY_OF_DECOMPOSITION__DIAGNOSTICCHAIN_MAP = INTERACTION_USE_OPERATION_COUNT + 2;
 
 	/**
 	 * The number of operations of the '<em>Part Decomposition</em>' class.
@@ -98801,15 +98809,6 @@
 	int MESSAGE_END___MUST_BE_OWNED = NAMED_ELEMENT___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MESSAGE_END___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = NAMED_ELEMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -98828,6 +98827,15 @@
 	int MESSAGE_END___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = NAMED_ELEMENT___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MESSAGE_END___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = NAMED_ELEMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -99368,15 +99376,6 @@
 	int GATE___MUST_BE_OWNED = MESSAGE_END___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int GATE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = MESSAGE_END___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -99395,6 +99394,15 @@
 	int GATE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = MESSAGE_END___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int GATE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = MESSAGE_END___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -100016,15 +100024,6 @@
 	int MESSAGE___MUST_BE_OWNED = NAMED_ELEMENT___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MESSAGE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = NAMED_ELEMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -100043,6 +100042,15 @@
 	int MESSAGE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = NAMED_ELEMENT___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MESSAGE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = NAMED_ELEMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -100142,22 +100150,13 @@
 	int MESSAGE___VALIDATE_SENDING_RECEIVING_MESSAGE_EVENT__DIAGNOSTICCHAIN_MAP = NAMED_ELEMENT_OPERATION_COUNT + 0;
 
 	/**
-	 * The operation id for the '<em>Validate Arguments</em>' operation.
+	 * The operation id for the '<em>Validate Occurrence Specifications</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int MESSAGE___VALIDATE_ARGUMENTS__DIAGNOSTICCHAIN_MAP = NAMED_ELEMENT_OPERATION_COUNT + 1;
-
-	/**
-	 * The operation id for the '<em>Validate Cannot Cross Boundaries</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MESSAGE___VALIDATE_CANNOT_CROSS_BOUNDARIES__DIAGNOSTICCHAIN_MAP = NAMED_ELEMENT_OPERATION_COUNT + 2;
+	int MESSAGE___VALIDATE_OCCURRENCE_SPECIFICATIONS__DIAGNOSTICCHAIN_MAP = NAMED_ELEMENT_OPERATION_COUNT + 1;
 
 	/**
 	 * The operation id for the '<em>Validate Signature Is Signal</em>' operation.
@@ -100166,25 +100165,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int MESSAGE___VALIDATE_SIGNATURE_IS_SIGNAL__DIAGNOSTICCHAIN_MAP = NAMED_ELEMENT_OPERATION_COUNT + 3;
-
-	/**
-	 * The operation id for the '<em>Validate Occurrence Specifications</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MESSAGE___VALIDATE_OCCURRENCE_SPECIFICATIONS__DIAGNOSTICCHAIN_MAP = NAMED_ELEMENT_OPERATION_COUNT + 4;
-
-	/**
-	 * The operation id for the '<em>Validate Signature Refer To</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MESSAGE___VALIDATE_SIGNATURE_REFER_TO__DIAGNOSTICCHAIN_MAP = NAMED_ELEMENT_OPERATION_COUNT + 5;
+	int MESSAGE___VALIDATE_SIGNATURE_IS_SIGNAL__DIAGNOSTICCHAIN_MAP = NAMED_ELEMENT_OPERATION_COUNT + 2;
 
 	/**
 	 * The operation id for the '<em>Validate Signature Is Operation</em>' operation.
@@ -100193,7 +100174,34 @@
 	 * @generated
 	 * @ordered
 	 */
-	int MESSAGE___VALIDATE_SIGNATURE_IS_OPERATION__DIAGNOSTICCHAIN_MAP = NAMED_ELEMENT_OPERATION_COUNT + 6;
+	int MESSAGE___VALIDATE_SIGNATURE_IS_OPERATION__DIAGNOSTICCHAIN_MAP = NAMED_ELEMENT_OPERATION_COUNT + 3;
+
+	/**
+	 * The operation id for the '<em>Validate Arguments</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MESSAGE___VALIDATE_ARGUMENTS__DIAGNOSTICCHAIN_MAP = NAMED_ELEMENT_OPERATION_COUNT + 4;
+
+	/**
+	 * The operation id for the '<em>Validate Cannot Cross Boundaries</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MESSAGE___VALIDATE_CANNOT_CROSS_BOUNDARIES__DIAGNOSTICCHAIN_MAP = NAMED_ELEMENT_OPERATION_COUNT + 5;
+
+	/**
+	 * The operation id for the '<em>Validate Signature Refer To</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MESSAGE___VALIDATE_SIGNATURE_REFER_TO__DIAGNOSTICCHAIN_MAP = NAMED_ELEMENT_OPERATION_COUNT + 6;
 
 	/**
 	 * The operation id for the '<em>Get Message Kind</em>' operation.
@@ -101177,15 +101185,6 @@
 	int INTERACTION___MUST_BE_OWNED = BEHAVIOR___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = BEHAVIOR___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -101204,6 +101203,15 @@
 	int INTERACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = BEHAVIOR___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = BEHAVIOR___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -101501,24 +101509,6 @@
 	int INTERACTION___PARAMETERABLE_ELEMENTS = BEHAVIOR___PARAMETERABLE_ELEMENTS;
 
 	/**
-	 * The operation id for the '<em>Validate Specialize Type</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERACTION___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP = BEHAVIOR___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Validate Maps To Generalization Set</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERACTION___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP = BEHAVIOR___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Non Final Parents</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -101537,6 +101527,24 @@
 	int INTERACTION___VALIDATE_NO_CYCLES_IN_GENERALIZATION__DIAGNOSTICCHAIN_MAP = BEHAVIOR___VALIDATE_NO_CYCLES_IN_GENERALIZATION__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Specialize Type</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERACTION___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP = BEHAVIOR___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Validate Maps To Generalization Set</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERACTION___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP = BEHAVIOR___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Get All Attributes</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -101798,24 +101806,6 @@
 	int INTERACTION___GET_SUPER_CLASSES = BEHAVIOR___GET_SUPER_CLASSES;
 
 	/**
-	 * The operation id for the '<em>Validate Most One Behaviour</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERACTION___VALIDATE_MOST_ONE_BEHAVIOUR__DIAGNOSTICCHAIN_MAP = BEHAVIOR___VALIDATE_MOST_ONE_BEHAVIOUR__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Validate Must Realize</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERACTION___VALIDATE_MUST_REALIZE__DIAGNOSTICCHAIN_MAP = BEHAVIOR___VALIDATE_MUST_REALIZE__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Parameters Match</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -101834,6 +101824,24 @@
 	int INTERACTION___VALIDATE_FEATURE_OF_CONTEXT_CLASSIFIER__DIAGNOSTICCHAIN_MAP = BEHAVIOR___VALIDATE_FEATURE_OF_CONTEXT_CLASSIFIER__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Must Realize</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERACTION___VALIDATE_MUST_REALIZE__DIAGNOSTICCHAIN_MAP = BEHAVIOR___VALIDATE_MUST_REALIZE__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Validate Most One Behaviour</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERACTION___VALIDATE_MOST_ONE_BEHAVIOUR__DIAGNOSTICCHAIN_MAP = BEHAVIOR___VALIDATE_MOST_ONE_BEHAVIOUR__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Get Context</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -102392,15 +102400,6 @@
 	int INTERACTION_OPERAND___MUST_BE_OWNED = NAMESPACE___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERACTION_OPERAND___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = NAMESPACE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -102419,6 +102418,15 @@
 	int INTERACTION_OPERAND___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = NAMESPACE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERACTION_OPERAND___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = NAMESPACE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -102608,22 +102616,22 @@
 	int INTERACTION_OPERAND___GET_OWNED_MEMBERS = NAMESPACE___GET_OWNED_MEMBERS;
 
 	/**
-	 * The operation id for the '<em>Validate Guard Contain References</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERACTION_OPERAND___VALIDATE_GUARD_CONTAIN_REFERENCES__DIAGNOSTICCHAIN_MAP = NAMESPACE_OPERATION_COUNT + 0;
-
-	/**
 	 * The operation id for the '<em>Validate Guard Directly Prior</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int INTERACTION_OPERAND___VALIDATE_GUARD_DIRECTLY_PRIOR__DIAGNOSTICCHAIN_MAP = NAMESPACE_OPERATION_COUNT + 1;
+	int INTERACTION_OPERAND___VALIDATE_GUARD_DIRECTLY_PRIOR__DIAGNOSTICCHAIN_MAP = NAMESPACE_OPERATION_COUNT + 0;
+
+	/**
+	 * The operation id for the '<em>Validate Guard Contain References</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERACTION_OPERAND___VALIDATE_GUARD_CONTAIN_REFERENCES__DIAGNOSTICCHAIN_MAP = NAMESPACE_OPERATION_COUNT + 1;
 
 	/**
 	 * The number of operations of the '<em>Interaction Operand</em>' class.
@@ -103130,15 +103138,6 @@
 	int INTERACTION_CONSTRAINT___MUST_BE_OWNED = CONSTRAINT___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERACTION_CONSTRAINT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = CONSTRAINT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -103157,6 +103156,15 @@
 	int INTERACTION_CONSTRAINT___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = CONSTRAINT___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERACTION_CONSTRAINT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = CONSTRAINT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -103265,13 +103273,13 @@
 	int INTERACTION_CONSTRAINT___IS_TEMPLATE_PARAMETER = CONSTRAINT___IS_TEMPLATE_PARAMETER;
 
 	/**
-	 * The operation id for the '<em>Validate Boolean Value</em>' operation.
+	 * The operation id for the '<em>Validate Not Apply To Self</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int INTERACTION_CONSTRAINT___VALIDATE_BOOLEAN_VALUE__DIAGNOSTICCHAIN_MAP = CONSTRAINT___VALIDATE_BOOLEAN_VALUE__DIAGNOSTICCHAIN_MAP;
+	int INTERACTION_CONSTRAINT___VALIDATE_NOT_APPLY_TO_SELF__DIAGNOSTICCHAIN_MAP = CONSTRAINT___VALIDATE_NOT_APPLY_TO_SELF__DIAGNOSTICCHAIN_MAP;
 
 	/**
 	 * The operation id for the '<em>Validate No Side Effects</em>' operation.
@@ -103283,13 +103291,13 @@
 	int INTERACTION_CONSTRAINT___VALIDATE_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP = CONSTRAINT___VALIDATE_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP;
 
 	/**
-	 * The operation id for the '<em>Validate Not Apply To Self</em>' operation.
+	 * The operation id for the '<em>Validate Boolean Value</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int INTERACTION_CONSTRAINT___VALIDATE_NOT_APPLY_TO_SELF__DIAGNOSTICCHAIN_MAP = CONSTRAINT___VALIDATE_NOT_APPLY_TO_SELF__DIAGNOSTICCHAIN_MAP;
+	int INTERACTION_CONSTRAINT___VALIDATE_BOOLEAN_VALUE__DIAGNOSTICCHAIN_MAP = CONSTRAINT___VALIDATE_BOOLEAN_VALUE__DIAGNOSTICCHAIN_MAP;
 
 	/**
 	 * The operation id for the '<em>Validate Value Specification Boolean</em>' operation.
@@ -103301,13 +103309,22 @@
 	int INTERACTION_CONSTRAINT___VALIDATE_VALUE_SPECIFICATION_BOOLEAN__DIAGNOSTICCHAIN_MAP = CONSTRAINT___VALIDATE_VALUE_SPECIFICATION_BOOLEAN__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Maxint Positive</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERACTION_CONSTRAINT___VALIDATE_MAXINT_POSITIVE__DIAGNOSTICCHAIN_MAP = CONSTRAINT_OPERATION_COUNT + 0;
+
+	/**
 	 * The operation id for the '<em>Validate Minint Maxint</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int INTERACTION_CONSTRAINT___VALIDATE_MININT_MAXINT__DIAGNOSTICCHAIN_MAP = CONSTRAINT_OPERATION_COUNT + 0;
+	int INTERACTION_CONSTRAINT___VALIDATE_MININT_MAXINT__DIAGNOSTICCHAIN_MAP = CONSTRAINT_OPERATION_COUNT + 1;
 
 	/**
 	 * The operation id for the '<em>Validate Minint Non Negative</em>' operation.
@@ -103316,25 +103333,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int INTERACTION_CONSTRAINT___VALIDATE_MININT_NON_NEGATIVE__DIAGNOSTICCHAIN_MAP = CONSTRAINT_OPERATION_COUNT + 1;
-
-	/**
-	 * The operation id for the '<em>Validate Maxint Positive</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERACTION_CONSTRAINT___VALIDATE_MAXINT_POSITIVE__DIAGNOSTICCHAIN_MAP = CONSTRAINT_OPERATION_COUNT + 2;
-
-	/**
-	 * The operation id for the '<em>Validate Dynamic Variables</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERACTION_CONSTRAINT___VALIDATE_DYNAMIC_VARIABLES__DIAGNOSTICCHAIN_MAP = CONSTRAINT_OPERATION_COUNT + 3;
+	int INTERACTION_CONSTRAINT___VALIDATE_MININT_NON_NEGATIVE__DIAGNOSTICCHAIN_MAP = CONSTRAINT_OPERATION_COUNT + 2;
 
 	/**
 	 * The operation id for the '<em>Validate Global Data</em>' operation.
@@ -103343,7 +103342,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int INTERACTION_CONSTRAINT___VALIDATE_GLOBAL_DATA__DIAGNOSTICCHAIN_MAP = CONSTRAINT_OPERATION_COUNT + 4;
+	int INTERACTION_CONSTRAINT___VALIDATE_GLOBAL_DATA__DIAGNOSTICCHAIN_MAP = CONSTRAINT_OPERATION_COUNT + 3;
 
 	/**
 	 * The operation id for the '<em>Validate Maxint Greater Equal Minint</em>' operation.
@@ -103352,7 +103351,16 @@
 	 * @generated
 	 * @ordered
 	 */
-	int INTERACTION_CONSTRAINT___VALIDATE_MAXINT_GREATER_EQUAL_MININT__DIAGNOSTICCHAIN_MAP = CONSTRAINT_OPERATION_COUNT + 5;
+	int INTERACTION_CONSTRAINT___VALIDATE_MAXINT_GREATER_EQUAL_MININT__DIAGNOSTICCHAIN_MAP = CONSTRAINT_OPERATION_COUNT + 4;
+
+	/**
+	 * The operation id for the '<em>Validate Dynamic Variables</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERACTION_CONSTRAINT___VALIDATE_DYNAMIC_VARIABLES__DIAGNOSTICCHAIN_MAP = CONSTRAINT_OPERATION_COUNT + 5;
 
 	/**
 	 * The number of operations of the '<em>Interaction Constraint</em>' class.
@@ -103814,15 +103822,6 @@
 	int GENERAL_ORDERING___MUST_BE_OWNED = NAMED_ELEMENT___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int GENERAL_ORDERING___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = NAMED_ELEMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -103841,6 +103840,15 @@
 	int GENERAL_ORDERING___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = NAMED_ELEMENT___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int GENERAL_ORDERING___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = NAMED_ELEMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -104435,15 +104443,6 @@
 	int OCCURRENCE_SPECIFICATION___MUST_BE_OWNED = INTERACTION_FRAGMENT___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int OCCURRENCE_SPECIFICATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = INTERACTION_FRAGMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -104462,6 +104461,15 @@
 	int OCCURRENCE_SPECIFICATION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = INTERACTION_FRAGMENT___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int OCCURRENCE_SPECIFICATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = INTERACTION_FRAGMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -104678,7 +104686,7 @@
 	int ACTION_INPUT_PIN__REDEFINITION_CONTEXT = INPUT_PIN__REDEFINITION_CONTEXT;
 
 	/**
-	 * The feature id for the '<em><b>Activity</b></em>' container reference.
+	 * The feature id for the '<em><b>Activity</b></em>' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -104687,15 +104695,6 @@
 	int ACTION_INPUT_PIN__ACTIVITY = INPUT_PIN__ACTIVITY;
 
 	/**
-	 * The feature id for the '<em><b>In Group</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTION_INPUT_PIN__IN_GROUP = INPUT_PIN__IN_GROUP;
-
-	/**
 	 * The feature id for the '<em><b>In Partition</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -104741,6 +104740,15 @@
 	int ACTION_INPUT_PIN__INCOMING = INPUT_PIN__INCOMING;
 
 	/**
+	 * The feature id for the '<em><b>In Group</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTION_INPUT_PIN__IN_GROUP = INPUT_PIN__IN_GROUP;
+
+	/**
 	 * The feature id for the '<em><b>Redefined Node</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -105218,15 +105226,6 @@
 	int ACTION_INPUT_PIN___MUST_BE_OWNED = INPUT_PIN___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTION_INPUT_PIN___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = INPUT_PIN___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -105245,6 +105244,15 @@
 	int ACTION_INPUT_PIN___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = INPUT_PIN___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTION_INPUT_PIN___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = INPUT_PIN___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -105398,13 +105406,13 @@
 	int ACTION_INPUT_PIN___VALIDATE_OWNED_STRUCTURED_NODE__DIAGNOSTICCHAIN_MAP = INPUT_PIN___VALIDATE_OWNED_STRUCTURED_NODE__DIAGNOSTICCHAIN_MAP;
 
 	/**
-	 * The operation id for the '<em>Validate Input Output Parameter</em>' operation.
+	 * The operation id for the '<em>Validate Object Flow Edges</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int ACTION_INPUT_PIN___VALIDATE_INPUT_OUTPUT_PARAMETER__DIAGNOSTICCHAIN_MAP = INPUT_PIN___VALIDATE_INPUT_OUTPUT_PARAMETER__DIAGNOSTICCHAIN_MAP;
+	int ACTION_INPUT_PIN___VALIDATE_OBJECT_FLOW_EDGES__DIAGNOSTICCHAIN_MAP = INPUT_PIN___VALIDATE_OBJECT_FLOW_EDGES__DIAGNOSTICCHAIN_MAP;
 
 	/**
 	 * The operation id for the '<em>Validate Selection Behavior</em>' operation.
@@ -105416,22 +105424,13 @@
 	int ACTION_INPUT_PIN___VALIDATE_SELECTION_BEHAVIOR__DIAGNOSTICCHAIN_MAP = INPUT_PIN___VALIDATE_SELECTION_BEHAVIOR__DIAGNOSTICCHAIN_MAP;
 
 	/**
-	 * The operation id for the '<em>Validate Object Flow Edges</em>' operation.
+	 * The operation id for the '<em>Validate Input Output Parameter</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int ACTION_INPUT_PIN___VALIDATE_OBJECT_FLOW_EDGES__DIAGNOSTICCHAIN_MAP = INPUT_PIN___VALIDATE_OBJECT_FLOW_EDGES__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Validate Upper Ge Lower</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTION_INPUT_PIN___VALIDATE_UPPER_GE_LOWER__DIAGNOSTICCHAIN_MAP = INPUT_PIN___VALIDATE_UPPER_GE_LOWER__DIAGNOSTICCHAIN_MAP;
+	int ACTION_INPUT_PIN___VALIDATE_INPUT_OUTPUT_PARAMETER__DIAGNOSTICCHAIN_MAP = INPUT_PIN___VALIDATE_INPUT_OUTPUT_PARAMETER__DIAGNOSTICCHAIN_MAP;
 
 	/**
 	 * The operation id for the '<em>Validate Lower Ge0</em>' operation.
@@ -105443,13 +105442,13 @@
 	int ACTION_INPUT_PIN___VALIDATE_LOWER_GE0__DIAGNOSTICCHAIN_MAP = INPUT_PIN___VALIDATE_LOWER_GE0__DIAGNOSTICCHAIN_MAP;
 
 	/**
-	 * The operation id for the '<em>Validate Value Specification No Side Effects</em>' operation.
+	 * The operation id for the '<em>Validate Upper Ge Lower</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int ACTION_INPUT_PIN___VALIDATE_VALUE_SPECIFICATION_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP = INPUT_PIN___VALIDATE_VALUE_SPECIFICATION_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP;
+	int ACTION_INPUT_PIN___VALIDATE_UPPER_GE_LOWER__DIAGNOSTICCHAIN_MAP = INPUT_PIN___VALIDATE_UPPER_GE_LOWER__DIAGNOSTICCHAIN_MAP;
 
 	/**
 	 * The operation id for the '<em>Validate Value Specification Constant</em>' operation.
@@ -105461,6 +105460,15 @@
 	int ACTION_INPUT_PIN___VALIDATE_VALUE_SPECIFICATION_CONSTANT__DIAGNOSTICCHAIN_MAP = INPUT_PIN___VALIDATE_VALUE_SPECIFICATION_CONSTANT__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Value Specification No Side Effects</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTION_INPUT_PIN___VALIDATE_VALUE_SPECIFICATION_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP = INPUT_PIN___VALIDATE_VALUE_SPECIFICATION_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Set Lower</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -105587,22 +105595,22 @@
 	int ACTION_INPUT_PIN___VALIDATE_INPUT_PIN__DIAGNOSTICCHAIN_MAP = INPUT_PIN_OPERATION_COUNT + 0;
 
 	/**
-	 * The operation id for the '<em>Validate One Output Pin</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTION_INPUT_PIN___VALIDATE_ONE_OUTPUT_PIN__DIAGNOSTICCHAIN_MAP = INPUT_PIN_OPERATION_COUNT + 1;
-
-	/**
 	 * The operation id for the '<em>Validate No Control Or Data Flow</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int ACTION_INPUT_PIN___VALIDATE_NO_CONTROL_OR_DATA_FLOW__DIAGNOSTICCHAIN_MAP = INPUT_PIN_OPERATION_COUNT + 2;
+	int ACTION_INPUT_PIN___VALIDATE_NO_CONTROL_OR_DATA_FLOW__DIAGNOSTICCHAIN_MAP = INPUT_PIN_OPERATION_COUNT + 1;
+
+	/**
+	 * The operation id for the '<em>Validate One Output Pin</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTION_INPUT_PIN___VALIDATE_ONE_OUTPUT_PIN__DIAGNOSTICCHAIN_MAP = INPUT_PIN_OPERATION_COUNT + 2;
 
 	/**
 	 * The number of operations of the '<em>Action Input Pin</em>' class.
@@ -105731,7 +105739,7 @@
 	int CONTROL_NODE__REDEFINITION_CONTEXT = ACTIVITY_NODE__REDEFINITION_CONTEXT;
 
 	/**
-	 * The feature id for the '<em><b>Activity</b></em>' container reference.
+	 * The feature id for the '<em><b>Activity</b></em>' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -105740,15 +105748,6 @@
 	int CONTROL_NODE__ACTIVITY = ACTIVITY_NODE__ACTIVITY;
 
 	/**
-	 * The feature id for the '<em><b>In Group</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONTROL_NODE__IN_GROUP = ACTIVITY_NODE__IN_GROUP;
-
-	/**
 	 * The feature id for the '<em><b>In Partition</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -105794,6 +105793,15 @@
 	int CONTROL_NODE__INCOMING = ACTIVITY_NODE__INCOMING;
 
 	/**
+	 * The feature id for the '<em><b>In Group</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONTROL_NODE__IN_GROUP = ACTIVITY_NODE__IN_GROUP;
+
+	/**
 	 * The feature id for the '<em><b>Redefined Node</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -106145,15 +106153,6 @@
 	int CONTROL_NODE___MUST_BE_OWNED = ACTIVITY_NODE___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONTROL_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = ACTIVITY_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -106172,6 +106171,15 @@
 	int CONTROL_NODE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = ACTIVITY_NODE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONTROL_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = ACTIVITY_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -106451,7 +106459,7 @@
 	int FINAL_NODE__REDEFINITION_CONTEXT = CONTROL_NODE__REDEFINITION_CONTEXT;
 
 	/**
-	 * The feature id for the '<em><b>Activity</b></em>' container reference.
+	 * The feature id for the '<em><b>Activity</b></em>' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -106460,15 +106468,6 @@
 	int FINAL_NODE__ACTIVITY = CONTROL_NODE__ACTIVITY;
 
 	/**
-	 * The feature id for the '<em><b>In Group</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FINAL_NODE__IN_GROUP = CONTROL_NODE__IN_GROUP;
-
-	/**
 	 * The feature id for the '<em><b>In Partition</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -106514,6 +106513,15 @@
 	int FINAL_NODE__INCOMING = CONTROL_NODE__INCOMING;
 
 	/**
+	 * The feature id for the '<em><b>In Group</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FINAL_NODE__IN_GROUP = CONTROL_NODE__IN_GROUP;
+
+	/**
 	 * The feature id for the '<em><b>Redefined Node</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -106865,15 +106873,6 @@
 	int FINAL_NODE___MUST_BE_OWNED = CONTROL_NODE___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FINAL_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = CONTROL_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -106892,6 +106891,15 @@
 	int FINAL_NODE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = CONTROL_NODE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FINAL_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = CONTROL_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -107180,7 +107188,7 @@
 	int ACTIVITY_FINAL_NODE__REDEFINITION_CONTEXT = FINAL_NODE__REDEFINITION_CONTEXT;
 
 	/**
-	 * The feature id for the '<em><b>Activity</b></em>' container reference.
+	 * The feature id for the '<em><b>Activity</b></em>' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -107189,15 +107197,6 @@
 	int ACTIVITY_FINAL_NODE__ACTIVITY = FINAL_NODE__ACTIVITY;
 
 	/**
-	 * The feature id for the '<em><b>In Group</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTIVITY_FINAL_NODE__IN_GROUP = FINAL_NODE__IN_GROUP;
-
-	/**
 	 * The feature id for the '<em><b>In Partition</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -107243,6 +107242,15 @@
 	int ACTIVITY_FINAL_NODE__INCOMING = FINAL_NODE__INCOMING;
 
 	/**
+	 * The feature id for the '<em><b>In Group</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_FINAL_NODE__IN_GROUP = FINAL_NODE__IN_GROUP;
+
+	/**
 	 * The feature id for the '<em><b>Redefined Node</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -107594,15 +107602,6 @@
 	int ACTIVITY_FINAL_NODE___MUST_BE_OWNED = FINAL_NODE___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTIVITY_FINAL_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = FINAL_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -107621,6 +107620,15 @@
 	int ACTIVITY_FINAL_NODE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = FINAL_NODE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_FINAL_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = FINAL_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -107909,7 +107917,7 @@
 	int ACTIVITY_PARAMETER_NODE__REDEFINITION_CONTEXT = OBJECT_NODE__REDEFINITION_CONTEXT;
 
 	/**
-	 * The feature id for the '<em><b>Activity</b></em>' container reference.
+	 * The feature id for the '<em><b>Activity</b></em>' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -107918,15 +107926,6 @@
 	int ACTIVITY_PARAMETER_NODE__ACTIVITY = OBJECT_NODE__ACTIVITY;
 
 	/**
-	 * The feature id for the '<em><b>In Group</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTIVITY_PARAMETER_NODE__IN_GROUP = OBJECT_NODE__IN_GROUP;
-
-	/**
 	 * The feature id for the '<em><b>In Partition</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -107972,6 +107971,15 @@
 	int ACTIVITY_PARAMETER_NODE__INCOMING = OBJECT_NODE__INCOMING;
 
 	/**
+	 * The feature id for the '<em><b>In Group</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_PARAMETER_NODE__IN_GROUP = OBJECT_NODE__IN_GROUP;
+
+	/**
 	 * The feature id for the '<em><b>Redefined Node</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -108386,15 +108394,6 @@
 	int ACTIVITY_PARAMETER_NODE___MUST_BE_OWNED = OBJECT_NODE___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTIVITY_PARAMETER_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = OBJECT_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -108413,6 +108412,15 @@
 	int ACTIVITY_PARAMETER_NODE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = OBJECT_NODE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_PARAMETER_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = OBJECT_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -108566,13 +108574,13 @@
 	int ACTIVITY_PARAMETER_NODE___VALIDATE_OWNED_STRUCTURED_NODE__DIAGNOSTICCHAIN_MAP = OBJECT_NODE___VALIDATE_OWNED_STRUCTURED_NODE__DIAGNOSTICCHAIN_MAP;
 
 	/**
-	 * The operation id for the '<em>Validate Input Output Parameter</em>' operation.
+	 * The operation id for the '<em>Validate Object Flow Edges</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int ACTIVITY_PARAMETER_NODE___VALIDATE_INPUT_OUTPUT_PARAMETER__DIAGNOSTICCHAIN_MAP = OBJECT_NODE___VALIDATE_INPUT_OUTPUT_PARAMETER__DIAGNOSTICCHAIN_MAP;
+	int ACTIVITY_PARAMETER_NODE___VALIDATE_OBJECT_FLOW_EDGES__DIAGNOSTICCHAIN_MAP = OBJECT_NODE___VALIDATE_OBJECT_FLOW_EDGES__DIAGNOSTICCHAIN_MAP;
 
 	/**
 	 * The operation id for the '<em>Validate Selection Behavior</em>' operation.
@@ -108584,22 +108592,22 @@
 	int ACTIVITY_PARAMETER_NODE___VALIDATE_SELECTION_BEHAVIOR__DIAGNOSTICCHAIN_MAP = OBJECT_NODE___VALIDATE_SELECTION_BEHAVIOR__DIAGNOSTICCHAIN_MAP;
 
 	/**
-	 * The operation id for the '<em>Validate Object Flow Edges</em>' operation.
+	 * The operation id for the '<em>Validate Input Output Parameter</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int ACTIVITY_PARAMETER_NODE___VALIDATE_OBJECT_FLOW_EDGES__DIAGNOSTICCHAIN_MAP = OBJECT_NODE___VALIDATE_OBJECT_FLOW_EDGES__DIAGNOSTICCHAIN_MAP;
+	int ACTIVITY_PARAMETER_NODE___VALIDATE_INPUT_OUTPUT_PARAMETER__DIAGNOSTICCHAIN_MAP = OBJECT_NODE___VALIDATE_INPUT_OUTPUT_PARAMETER__DIAGNOSTICCHAIN_MAP;
 
 	/**
-	 * The operation id for the '<em>Validate No Outgoing Edges</em>' operation.
+	 * The operation id for the '<em>Validate Maximum One Parameter Node</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int ACTIVITY_PARAMETER_NODE___VALIDATE_NO_OUTGOING_EDGES__DIAGNOSTICCHAIN_MAP = OBJECT_NODE_OPERATION_COUNT + 0;
+	int ACTIVITY_PARAMETER_NODE___VALIDATE_MAXIMUM_ONE_PARAMETER_NODE__DIAGNOSTICCHAIN_MAP = OBJECT_NODE_OPERATION_COUNT + 0;
 
 	/**
 	 * The operation id for the '<em>Validate Maximum Two Parameter Nodes</em>' operation.
@@ -108611,31 +108619,13 @@
 	int ACTIVITY_PARAMETER_NODE___VALIDATE_MAXIMUM_TWO_PARAMETER_NODES__DIAGNOSTICCHAIN_MAP = OBJECT_NODE_OPERATION_COUNT + 1;
 
 	/**
-	 * The operation id for the '<em>Validate Has Parameters</em>' operation.
+	 * The operation id for the '<em>Validate No Edges</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int ACTIVITY_PARAMETER_NODE___VALIDATE_HAS_PARAMETERS__DIAGNOSTICCHAIN_MAP = OBJECT_NODE_OPERATION_COUNT + 2;
-
-	/**
-	 * The operation id for the '<em>Validate Same Type</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTIVITY_PARAMETER_NODE___VALIDATE_SAME_TYPE__DIAGNOSTICCHAIN_MAP = OBJECT_NODE_OPERATION_COUNT + 3;
-
-	/**
-	 * The operation id for the '<em>Validate Maximum One Parameter Node</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTIVITY_PARAMETER_NODE___VALIDATE_MAXIMUM_ONE_PARAMETER_NODE__DIAGNOSTICCHAIN_MAP = OBJECT_NODE_OPERATION_COUNT + 4;
+	int ACTIVITY_PARAMETER_NODE___VALIDATE_NO_EDGES__DIAGNOSTICCHAIN_MAP = OBJECT_NODE_OPERATION_COUNT + 2;
 
 	/**
 	 * The operation id for the '<em>Validate No Incoming Edges</em>' operation.
@@ -108644,16 +108634,34 @@
 	 * @generated
 	 * @ordered
 	 */
-	int ACTIVITY_PARAMETER_NODE___VALIDATE_NO_INCOMING_EDGES__DIAGNOSTICCHAIN_MAP = OBJECT_NODE_OPERATION_COUNT + 5;
+	int ACTIVITY_PARAMETER_NODE___VALIDATE_NO_INCOMING_EDGES__DIAGNOSTICCHAIN_MAP = OBJECT_NODE_OPERATION_COUNT + 3;
 
 	/**
-	 * The operation id for the '<em>Validate No Edges</em>' operation.
+	 * The operation id for the '<em>Validate No Outgoing Edges</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int ACTIVITY_PARAMETER_NODE___VALIDATE_NO_EDGES__DIAGNOSTICCHAIN_MAP = OBJECT_NODE_OPERATION_COUNT + 6;
+	int ACTIVITY_PARAMETER_NODE___VALIDATE_NO_OUTGOING_EDGES__DIAGNOSTICCHAIN_MAP = OBJECT_NODE_OPERATION_COUNT + 4;
+
+	/**
+	 * The operation id for the '<em>Validate Same Type</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_PARAMETER_NODE___VALIDATE_SAME_TYPE__DIAGNOSTICCHAIN_MAP = OBJECT_NODE_OPERATION_COUNT + 5;
+
+	/**
+	 * The operation id for the '<em>Validate Has Parameters</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTIVITY_PARAMETER_NODE___VALIDATE_HAS_PARAMETERS__DIAGNOSTICCHAIN_MAP = OBJECT_NODE_OPERATION_COUNT + 6;
 
 	/**
 	 * The number of operations of the '<em>Activity Parameter Node</em>' class.
@@ -109376,15 +109384,6 @@
 	int ACTOR___MUST_BE_OWNED = BEHAVIORED_CLASSIFIER___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTOR___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = BEHAVIORED_CLASSIFIER___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -109403,6 +109402,15 @@
 	int ACTOR___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = BEHAVIORED_CLASSIFIER___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTOR___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = BEHAVIORED_CLASSIFIER___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -109700,24 +109708,6 @@
 	int ACTOR___PARAMETERABLE_ELEMENTS = BEHAVIORED_CLASSIFIER___PARAMETERABLE_ELEMENTS;
 
 	/**
-	 * The operation id for the '<em>Validate Specialize Type</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTOR___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP = BEHAVIORED_CLASSIFIER___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Validate Maps To Generalization Set</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ACTOR___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP = BEHAVIORED_CLASSIFIER___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Non Final Parents</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -109736,6 +109726,24 @@
 	int ACTOR___VALIDATE_NO_CYCLES_IN_GENERALIZATION__DIAGNOSTICCHAIN_MAP = BEHAVIORED_CLASSIFIER___VALIDATE_NO_CYCLES_IN_GENERALIZATION__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Specialize Type</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTOR___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP = BEHAVIORED_CLASSIFIER___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Validate Maps To Generalization Set</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ACTOR___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP = BEHAVIORED_CLASSIFIER___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Get All Attributes</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -110060,7 +110068,7 @@
 	int STRUCTURAL_FEATURE_ACTION__REDEFINITION_CONTEXT = ACTION__REDEFINITION_CONTEXT;
 
 	/**
-	 * The feature id for the '<em><b>Activity</b></em>' container reference.
+	 * The feature id for the '<em><b>Activity</b></em>' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -110069,15 +110077,6 @@
 	int STRUCTURAL_FEATURE_ACTION__ACTIVITY = ACTION__ACTIVITY;
 
 	/**
-	 * The feature id for the '<em><b>In Group</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int STRUCTURAL_FEATURE_ACTION__IN_GROUP = ACTION__IN_GROUP;
-
-	/**
 	 * The feature id for the '<em><b>In Partition</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -110123,6 +110122,15 @@
 	int STRUCTURAL_FEATURE_ACTION__INCOMING = ACTION__INCOMING;
 
 	/**
+	 * The feature id for the '<em><b>In Group</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STRUCTURAL_FEATURE_ACTION__IN_GROUP = ACTION__IN_GROUP;
+
+	/**
 	 * The feature id for the '<em><b>Redefined Node</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -110555,15 +110563,6 @@
 	int STRUCTURAL_FEATURE_ACTION___MUST_BE_OWNED = ACTION___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int STRUCTURAL_FEATURE_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -110582,6 +110581,15 @@
 	int STRUCTURAL_FEATURE_ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STRUCTURAL_FEATURE_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -110744,31 +110752,22 @@
 	int STRUCTURAL_FEATURE_ACTION___GET_CONTEXT = ACTION___GET_CONTEXT;
 
 	/**
-	 * The operation id for the '<em>Validate Multiplicity</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int STRUCTURAL_FEATURE_ACTION___VALIDATE_MULTIPLICITY__DIAGNOSTICCHAIN_MAP = ACTION_OPERATION_COUNT + 0;
-
-	/**
-	 * The operation id for the '<em>Validate Same Type</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int STRUCTURAL_FEATURE_ACTION___VALIDATE_SAME_TYPE__DIAGNOSTICCHAIN_MAP = ACTION_OPERATION_COUNT + 1;
-
-	/**
 	 * The operation id for the '<em>Validate Visibility</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int STRUCTURAL_FEATURE_ACTION___VALIDATE_VISIBILITY__DIAGNOSTICCHAIN_MAP = ACTION_OPERATION_COUNT + 2;
+	int STRUCTURAL_FEATURE_ACTION___VALIDATE_VISIBILITY__DIAGNOSTICCHAIN_MAP = ACTION_OPERATION_COUNT + 0;
+
+	/**
+	 * The operation id for the '<em>Validate Multiplicity</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STRUCTURAL_FEATURE_ACTION___VALIDATE_MULTIPLICITY__DIAGNOSTICCHAIN_MAP = ACTION_OPERATION_COUNT + 1;
 
 	/**
 	 * The operation id for the '<em>Validate Not Static</em>' operation.
@@ -110777,7 +110776,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int STRUCTURAL_FEATURE_ACTION___VALIDATE_NOT_STATIC__DIAGNOSTICCHAIN_MAP = ACTION_OPERATION_COUNT + 3;
+	int STRUCTURAL_FEATURE_ACTION___VALIDATE_NOT_STATIC__DIAGNOSTICCHAIN_MAP = ACTION_OPERATION_COUNT + 2;
 
 	/**
 	 * The operation id for the '<em>Validate One Featuring Classifier</em>' operation.
@@ -110786,7 +110785,16 @@
 	 * @generated
 	 * @ordered
 	 */
-	int STRUCTURAL_FEATURE_ACTION___VALIDATE_ONE_FEATURING_CLASSIFIER__DIAGNOSTICCHAIN_MAP = ACTION_OPERATION_COUNT + 4;
+	int STRUCTURAL_FEATURE_ACTION___VALIDATE_ONE_FEATURING_CLASSIFIER__DIAGNOSTICCHAIN_MAP = ACTION_OPERATION_COUNT + 3;
+
+	/**
+	 * The operation id for the '<em>Validate Same Type</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STRUCTURAL_FEATURE_ACTION___VALIDATE_SAME_TYPE__DIAGNOSTICCHAIN_MAP = ACTION_OPERATION_COUNT + 4;
 
 	/**
 	 * The number of operations of the '<em>Structural Feature Action</em>' class.
@@ -110915,7 +110923,7 @@
 	int WRITE_STRUCTURAL_FEATURE_ACTION__REDEFINITION_CONTEXT = STRUCTURAL_FEATURE_ACTION__REDEFINITION_CONTEXT;
 
 	/**
-	 * The feature id for the '<em><b>Activity</b></em>' container reference.
+	 * The feature id for the '<em><b>Activity</b></em>' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -110924,15 +110932,6 @@
 	int WRITE_STRUCTURAL_FEATURE_ACTION__ACTIVITY = STRUCTURAL_FEATURE_ACTION__ACTIVITY;
 
 	/**
-	 * The feature id for the '<em><b>In Group</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int WRITE_STRUCTURAL_FEATURE_ACTION__IN_GROUP = STRUCTURAL_FEATURE_ACTION__IN_GROUP;
-
-	/**
 	 * The feature id for the '<em><b>In Partition</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -110978,6 +110977,15 @@
 	int WRITE_STRUCTURAL_FEATURE_ACTION__INCOMING = STRUCTURAL_FEATURE_ACTION__INCOMING;
 
 	/**
+	 * The feature id for the '<em><b>In Group</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int WRITE_STRUCTURAL_FEATURE_ACTION__IN_GROUP = STRUCTURAL_FEATURE_ACTION__IN_GROUP;
+
+	/**
 	 * The feature id for the '<em><b>Redefined Node</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -111428,15 +111436,6 @@
 	int WRITE_STRUCTURAL_FEATURE_ACTION___MUST_BE_OWNED = STRUCTURAL_FEATURE_ACTION___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int WRITE_STRUCTURAL_FEATURE_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = STRUCTURAL_FEATURE_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -111455,6 +111454,15 @@
 	int WRITE_STRUCTURAL_FEATURE_ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = STRUCTURAL_FEATURE_ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int WRITE_STRUCTURAL_FEATURE_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = STRUCTURAL_FEATURE_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -111617,24 +111625,6 @@
 	int WRITE_STRUCTURAL_FEATURE_ACTION___GET_CONTEXT = STRUCTURAL_FEATURE_ACTION___GET_CONTEXT;
 
 	/**
-	 * The operation id for the '<em>Validate Multiplicity</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int WRITE_STRUCTURAL_FEATURE_ACTION___VALIDATE_MULTIPLICITY__DIAGNOSTICCHAIN_MAP = STRUCTURAL_FEATURE_ACTION___VALIDATE_MULTIPLICITY__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Validate Same Type</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int WRITE_STRUCTURAL_FEATURE_ACTION___VALIDATE_SAME_TYPE__DIAGNOSTICCHAIN_MAP = STRUCTURAL_FEATURE_ACTION___VALIDATE_SAME_TYPE__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Visibility</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -111644,6 +111634,15 @@
 	int WRITE_STRUCTURAL_FEATURE_ACTION___VALIDATE_VISIBILITY__DIAGNOSTICCHAIN_MAP = STRUCTURAL_FEATURE_ACTION___VALIDATE_VISIBILITY__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Multiplicity</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int WRITE_STRUCTURAL_FEATURE_ACTION___VALIDATE_MULTIPLICITY__DIAGNOSTICCHAIN_MAP = STRUCTURAL_FEATURE_ACTION___VALIDATE_MULTIPLICITY__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Validate Not Static</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -111662,13 +111661,13 @@
 	int WRITE_STRUCTURAL_FEATURE_ACTION___VALIDATE_ONE_FEATURING_CLASSIFIER__DIAGNOSTICCHAIN_MAP = STRUCTURAL_FEATURE_ACTION___VALIDATE_ONE_FEATURING_CLASSIFIER__DIAGNOSTICCHAIN_MAP;
 
 	/**
-	 * The operation id for the '<em>Validate Multiplicity Of Result</em>' operation.
+	 * The operation id for the '<em>Validate Same Type</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int WRITE_STRUCTURAL_FEATURE_ACTION___VALIDATE_MULTIPLICITY_OF_RESULT__DIAGNOSTICCHAIN_MAP = STRUCTURAL_FEATURE_ACTION_OPERATION_COUNT + 0;
+	int WRITE_STRUCTURAL_FEATURE_ACTION___VALIDATE_SAME_TYPE__DIAGNOSTICCHAIN_MAP = STRUCTURAL_FEATURE_ACTION___VALIDATE_SAME_TYPE__DIAGNOSTICCHAIN_MAP;
 
 	/**
 	 * The operation id for the '<em>Validate Input Pin</em>' operation.
@@ -111677,7 +111676,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int WRITE_STRUCTURAL_FEATURE_ACTION___VALIDATE_INPUT_PIN__DIAGNOSTICCHAIN_MAP = STRUCTURAL_FEATURE_ACTION_OPERATION_COUNT + 1;
+	int WRITE_STRUCTURAL_FEATURE_ACTION___VALIDATE_INPUT_PIN__DIAGNOSTICCHAIN_MAP = STRUCTURAL_FEATURE_ACTION_OPERATION_COUNT + 0;
 
 	/**
 	 * The operation id for the '<em>Validate Type Of Result</em>' operation.
@@ -111686,7 +111685,16 @@
 	 * @generated
 	 * @ordered
 	 */
-	int WRITE_STRUCTURAL_FEATURE_ACTION___VALIDATE_TYPE_OF_RESULT__DIAGNOSTICCHAIN_MAP = STRUCTURAL_FEATURE_ACTION_OPERATION_COUNT + 2;
+	int WRITE_STRUCTURAL_FEATURE_ACTION___VALIDATE_TYPE_OF_RESULT__DIAGNOSTICCHAIN_MAP = STRUCTURAL_FEATURE_ACTION_OPERATION_COUNT + 1;
+
+	/**
+	 * The operation id for the '<em>Validate Multiplicity Of Result</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int WRITE_STRUCTURAL_FEATURE_ACTION___VALIDATE_MULTIPLICITY_OF_RESULT__DIAGNOSTICCHAIN_MAP = STRUCTURAL_FEATURE_ACTION_OPERATION_COUNT + 2;
 
 	/**
 	 * The number of operations of the '<em>Write Structural Feature Action</em>' class.
@@ -111815,7 +111823,7 @@
 	int ADD_STRUCTURAL_FEATURE_VALUE_ACTION__REDEFINITION_CONTEXT = WRITE_STRUCTURAL_FEATURE_ACTION__REDEFINITION_CONTEXT;
 
 	/**
-	 * The feature id for the '<em><b>Activity</b></em>' container reference.
+	 * The feature id for the '<em><b>Activity</b></em>' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -111824,15 +111832,6 @@
 	int ADD_STRUCTURAL_FEATURE_VALUE_ACTION__ACTIVITY = WRITE_STRUCTURAL_FEATURE_ACTION__ACTIVITY;
 
 	/**
-	 * The feature id for the '<em><b>In Group</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ADD_STRUCTURAL_FEATURE_VALUE_ACTION__IN_GROUP = WRITE_STRUCTURAL_FEATURE_ACTION__IN_GROUP;
-
-	/**
 	 * The feature id for the '<em><b>In Partition</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -111878,6 +111877,15 @@
 	int ADD_STRUCTURAL_FEATURE_VALUE_ACTION__INCOMING = WRITE_STRUCTURAL_FEATURE_ACTION__INCOMING;
 
 	/**
+	 * The feature id for the '<em><b>In Group</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ADD_STRUCTURAL_FEATURE_VALUE_ACTION__IN_GROUP = WRITE_STRUCTURAL_FEATURE_ACTION__IN_GROUP;
+
+	/**
 	 * The feature id for the '<em><b>Redefined Node</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -112346,15 +112354,6 @@
 	int ADD_STRUCTURAL_FEATURE_VALUE_ACTION___MUST_BE_OWNED = WRITE_STRUCTURAL_FEATURE_ACTION___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ADD_STRUCTURAL_FEATURE_VALUE_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = WRITE_STRUCTURAL_FEATURE_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -112373,6 +112372,15 @@
 	int ADD_STRUCTURAL_FEATURE_VALUE_ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = WRITE_STRUCTURAL_FEATURE_ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ADD_STRUCTURAL_FEATURE_VALUE_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = WRITE_STRUCTURAL_FEATURE_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -112535,24 +112543,6 @@
 	int ADD_STRUCTURAL_FEATURE_VALUE_ACTION___GET_CONTEXT = WRITE_STRUCTURAL_FEATURE_ACTION___GET_CONTEXT;
 
 	/**
-	 * The operation id for the '<em>Validate Multiplicity</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ADD_STRUCTURAL_FEATURE_VALUE_ACTION___VALIDATE_MULTIPLICITY__DIAGNOSTICCHAIN_MAP = WRITE_STRUCTURAL_FEATURE_ACTION___VALIDATE_MULTIPLICITY__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Validate Same Type</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ADD_STRUCTURAL_FEATURE_VALUE_ACTION___VALIDATE_SAME_TYPE__DIAGNOSTICCHAIN_MAP = WRITE_STRUCTURAL_FEATURE_ACTION___VALIDATE_SAME_TYPE__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Visibility</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -112562,6 +112552,15 @@
 	int ADD_STRUCTURAL_FEATURE_VALUE_ACTION___VALIDATE_VISIBILITY__DIAGNOSTICCHAIN_MAP = WRITE_STRUCTURAL_FEATURE_ACTION___VALIDATE_VISIBILITY__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Multiplicity</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ADD_STRUCTURAL_FEATURE_VALUE_ACTION___VALIDATE_MULTIPLICITY__DIAGNOSTICCHAIN_MAP = WRITE_STRUCTURAL_FEATURE_ACTION___VALIDATE_MULTIPLICITY__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Validate Not Static</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -112580,13 +112579,13 @@
 	int ADD_STRUCTURAL_FEATURE_VALUE_ACTION___VALIDATE_ONE_FEATURING_CLASSIFIER__DIAGNOSTICCHAIN_MAP = WRITE_STRUCTURAL_FEATURE_ACTION___VALIDATE_ONE_FEATURING_CLASSIFIER__DIAGNOSTICCHAIN_MAP;
 
 	/**
-	 * The operation id for the '<em>Validate Multiplicity Of Result</em>' operation.
+	 * The operation id for the '<em>Validate Same Type</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int ADD_STRUCTURAL_FEATURE_VALUE_ACTION___VALIDATE_MULTIPLICITY_OF_RESULT__DIAGNOSTICCHAIN_MAP = WRITE_STRUCTURAL_FEATURE_ACTION___VALIDATE_MULTIPLICITY_OF_RESULT__DIAGNOSTICCHAIN_MAP;
+	int ADD_STRUCTURAL_FEATURE_VALUE_ACTION___VALIDATE_SAME_TYPE__DIAGNOSTICCHAIN_MAP = WRITE_STRUCTURAL_FEATURE_ACTION___VALIDATE_SAME_TYPE__DIAGNOSTICCHAIN_MAP;
 
 	/**
 	 * The operation id for the '<em>Validate Input Pin</em>' operation.
@@ -112607,13 +112606,13 @@
 	int ADD_STRUCTURAL_FEATURE_VALUE_ACTION___VALIDATE_TYPE_OF_RESULT__DIAGNOSTICCHAIN_MAP = WRITE_STRUCTURAL_FEATURE_ACTION___VALIDATE_TYPE_OF_RESULT__DIAGNOSTICCHAIN_MAP;
 
 	/**
-	 * The operation id for the '<em>Validate Required Value</em>' operation.
+	 * The operation id for the '<em>Validate Multiplicity Of Result</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int ADD_STRUCTURAL_FEATURE_VALUE_ACTION___VALIDATE_REQUIRED_VALUE__DIAGNOSTICCHAIN_MAP = WRITE_STRUCTURAL_FEATURE_ACTION_OPERATION_COUNT + 0;
+	int ADD_STRUCTURAL_FEATURE_VALUE_ACTION___VALIDATE_MULTIPLICITY_OF_RESULT__DIAGNOSTICCHAIN_MAP = WRITE_STRUCTURAL_FEATURE_ACTION___VALIDATE_MULTIPLICITY_OF_RESULT__DIAGNOSTICCHAIN_MAP;
 
 	/**
 	 * The operation id for the '<em>Validate Unlimited Natural And Multiplicity</em>' operation.
@@ -112622,7 +112621,16 @@
 	 * @generated
 	 * @ordered
 	 */
-	int ADD_STRUCTURAL_FEATURE_VALUE_ACTION___VALIDATE_UNLIMITED_NATURAL_AND_MULTIPLICITY__DIAGNOSTICCHAIN_MAP = WRITE_STRUCTURAL_FEATURE_ACTION_OPERATION_COUNT + 1;
+	int ADD_STRUCTURAL_FEATURE_VALUE_ACTION___VALIDATE_UNLIMITED_NATURAL_AND_MULTIPLICITY__DIAGNOSTICCHAIN_MAP = WRITE_STRUCTURAL_FEATURE_ACTION_OPERATION_COUNT + 0;
+
+	/**
+	 * The operation id for the '<em>Validate Required Value</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ADD_STRUCTURAL_FEATURE_VALUE_ACTION___VALIDATE_REQUIRED_VALUE__DIAGNOSTICCHAIN_MAP = WRITE_STRUCTURAL_FEATURE_ACTION_OPERATION_COUNT + 1;
 
 	/**
 	 * The number of operations of the '<em>Add Structural Feature Value Action</em>' class.
@@ -112751,7 +112759,7 @@
 	int VARIABLE_ACTION__REDEFINITION_CONTEXT = ACTION__REDEFINITION_CONTEXT;
 
 	/**
-	 * The feature id for the '<em><b>Activity</b></em>' container reference.
+	 * The feature id for the '<em><b>Activity</b></em>' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -112760,15 +112768,6 @@
 	int VARIABLE_ACTION__ACTIVITY = ACTION__ACTIVITY;
 
 	/**
-	 * The feature id for the '<em><b>In Group</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int VARIABLE_ACTION__IN_GROUP = ACTION__IN_GROUP;
-
-	/**
 	 * The feature id for the '<em><b>In Partition</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -112814,6 +112813,15 @@
 	int VARIABLE_ACTION__INCOMING = ACTION__INCOMING;
 
 	/**
+	 * The feature id for the '<em><b>In Group</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int VARIABLE_ACTION__IN_GROUP = ACTION__IN_GROUP;
+
+	/**
 	 * The feature id for the '<em><b>Redefined Node</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -113237,15 +113245,6 @@
 	int VARIABLE_ACTION___MUST_BE_OWNED = ACTION___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int VARIABLE_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -113264,6 +113263,15 @@
 	int VARIABLE_ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int VARIABLE_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -113561,7 +113569,7 @@
 	int WRITE_VARIABLE_ACTION__REDEFINITION_CONTEXT = VARIABLE_ACTION__REDEFINITION_CONTEXT;
 
 	/**
-	 * The feature id for the '<em><b>Activity</b></em>' container reference.
+	 * The feature id for the '<em><b>Activity</b></em>' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -113570,15 +113578,6 @@
 	int WRITE_VARIABLE_ACTION__ACTIVITY = VARIABLE_ACTION__ACTIVITY;
 
 	/**
-	 * The feature id for the '<em><b>In Group</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int WRITE_VARIABLE_ACTION__IN_GROUP = VARIABLE_ACTION__IN_GROUP;
-
-	/**
 	 * The feature id for the '<em><b>In Partition</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -113624,6 +113623,15 @@
 	int WRITE_VARIABLE_ACTION__INCOMING = VARIABLE_ACTION__INCOMING;
 
 	/**
+	 * The feature id for the '<em><b>In Group</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int WRITE_VARIABLE_ACTION__IN_GROUP = VARIABLE_ACTION__IN_GROUP;
+
+	/**
 	 * The feature id for the '<em><b>Redefined Node</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -114056,15 +114064,6 @@
 	int WRITE_VARIABLE_ACTION___MUST_BE_OWNED = VARIABLE_ACTION___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int WRITE_VARIABLE_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = VARIABLE_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -114083,6 +114082,15 @@
 	int WRITE_VARIABLE_ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = VARIABLE_ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int WRITE_VARIABLE_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = VARIABLE_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -114254,22 +114262,22 @@
 	int WRITE_VARIABLE_ACTION___VALIDATE_SCOPE_OF_VARIABLE__DIAGNOSTICCHAIN_MAP = VARIABLE_ACTION___VALIDATE_SCOPE_OF_VARIABLE__DIAGNOSTICCHAIN_MAP;
 
 	/**
-	 * The operation id for the '<em>Validate Same Type</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int WRITE_VARIABLE_ACTION___VALIDATE_SAME_TYPE__DIAGNOSTICCHAIN_MAP = VARIABLE_ACTION_OPERATION_COUNT + 0;
-
-	/**
 	 * The operation id for the '<em>Validate Multiplicity</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int WRITE_VARIABLE_ACTION___VALIDATE_MULTIPLICITY__DIAGNOSTICCHAIN_MAP = VARIABLE_ACTION_OPERATION_COUNT + 1;
+	int WRITE_VARIABLE_ACTION___VALIDATE_MULTIPLICITY__DIAGNOSTICCHAIN_MAP = VARIABLE_ACTION_OPERATION_COUNT + 0;
+
+	/**
+	 * The operation id for the '<em>Validate Same Type</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int WRITE_VARIABLE_ACTION___VALIDATE_SAME_TYPE__DIAGNOSTICCHAIN_MAP = VARIABLE_ACTION_OPERATION_COUNT + 1;
 
 	/**
 	 * The number of operations of the '<em>Write Variable Action</em>' class.
@@ -114398,7 +114406,7 @@
 	int ADD_VARIABLE_VALUE_ACTION__REDEFINITION_CONTEXT = WRITE_VARIABLE_ACTION__REDEFINITION_CONTEXT;
 
 	/**
-	 * The feature id for the '<em><b>Activity</b></em>' container reference.
+	 * The feature id for the '<em><b>Activity</b></em>' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -114407,15 +114415,6 @@
 	int ADD_VARIABLE_VALUE_ACTION__ACTIVITY = WRITE_VARIABLE_ACTION__ACTIVITY;
 
 	/**
-	 * The feature id for the '<em><b>In Group</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ADD_VARIABLE_VALUE_ACTION__IN_GROUP = WRITE_VARIABLE_ACTION__IN_GROUP;
-
-	/**
 	 * The feature id for the '<em><b>In Partition</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -114461,6 +114460,15 @@
 	int ADD_VARIABLE_VALUE_ACTION__INCOMING = WRITE_VARIABLE_ACTION__INCOMING;
 
 	/**
+	 * The feature id for the '<em><b>In Group</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ADD_VARIABLE_VALUE_ACTION__IN_GROUP = WRITE_VARIABLE_ACTION__IN_GROUP;
+
+	/**
 	 * The feature id for the '<em><b>Redefined Node</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -114911,15 +114919,6 @@
 	int ADD_VARIABLE_VALUE_ACTION___MUST_BE_OWNED = WRITE_VARIABLE_ACTION___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ADD_VARIABLE_VALUE_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = WRITE_VARIABLE_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -114938,6 +114937,15 @@
 	int ADD_VARIABLE_VALUE_ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = WRITE_VARIABLE_ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ADD_VARIABLE_VALUE_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = WRITE_VARIABLE_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -115109,15 +115117,6 @@
 	int ADD_VARIABLE_VALUE_ACTION___VALIDATE_SCOPE_OF_VARIABLE__DIAGNOSTICCHAIN_MAP = WRITE_VARIABLE_ACTION___VALIDATE_SCOPE_OF_VARIABLE__DIAGNOSTICCHAIN_MAP;
 
 	/**
-	 * The operation id for the '<em>Validate Same Type</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ADD_VARIABLE_VALUE_ACTION___VALIDATE_SAME_TYPE__DIAGNOSTICCHAIN_MAP = WRITE_VARIABLE_ACTION___VALIDATE_SAME_TYPE__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Multiplicity</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -115127,6 +115126,15 @@
 	int ADD_VARIABLE_VALUE_ACTION___VALIDATE_MULTIPLICITY__DIAGNOSTICCHAIN_MAP = WRITE_VARIABLE_ACTION___VALIDATE_MULTIPLICITY__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Same Type</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ADD_VARIABLE_VALUE_ACTION___VALIDATE_SAME_TYPE__DIAGNOSTICCHAIN_MAP = WRITE_VARIABLE_ACTION___VALIDATE_SAME_TYPE__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Validate Required Value</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -115604,15 +115612,6 @@
 	int MESSAGE_EVENT___MUST_BE_OWNED = EVENT___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MESSAGE_EVENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = EVENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -115631,6 +115630,15 @@
 	int MESSAGE_EVENT___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = EVENT___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MESSAGE_EVENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = EVENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -116198,15 +116206,6 @@
 	int ANY_RECEIVE_EVENT___MUST_BE_OWNED = MESSAGE_EVENT___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ANY_RECEIVE_EVENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = MESSAGE_EVENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -116225,6 +116224,15 @@
 	int ANY_RECEIVE_EVENT___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = MESSAGE_EVENT___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ANY_RECEIVE_EVENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = MESSAGE_EVENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -117226,15 +117234,6 @@
 	int ASSOCIATION_CLASS___MUST_BE_OWNED = CLASS___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ASSOCIATION_CLASS___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = CLASS___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -117253,6 +117252,15 @@
 	int ASSOCIATION_CLASS___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = CLASS___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ASSOCIATION_CLASS___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = CLASS___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -117550,24 +117558,6 @@
 	int ASSOCIATION_CLASS___PARAMETERABLE_ELEMENTS = CLASS___PARAMETERABLE_ELEMENTS;
 
 	/**
-	 * The operation id for the '<em>Validate Specialize Type</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ASSOCIATION_CLASS___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP = CLASS___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Validate Maps To Generalization Set</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ASSOCIATION_CLASS___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP = CLASS___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Non Final Parents</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -117586,6 +117576,24 @@
 	int ASSOCIATION_CLASS___VALIDATE_NO_CYCLES_IN_GENERALIZATION__DIAGNOSTICCHAIN_MAP = CLASS___VALIDATE_NO_CYCLES_IN_GENERALIZATION__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Specialize Type</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ASSOCIATION_CLASS___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP = CLASS___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Validate Maps To Generalization Set</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ASSOCIATION_CLASS___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP = CLASS___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Get All Attributes</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -117856,13 +117864,13 @@
 	int ASSOCIATION_CLASS___VALIDATE_SPECIALIZED_END_NUMBER__DIAGNOSTICCHAIN_MAP = CLASS_OPERATION_COUNT + 0;
 
 	/**
-	 * The operation id for the '<em>Validate Specialized End Types</em>' operation.
+	 * The operation id for the '<em>Validate Association Ends</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int ASSOCIATION_CLASS___VALIDATE_SPECIALIZED_END_TYPES__DIAGNOSTICCHAIN_MAP = CLASS_OPERATION_COUNT + 1;
+	int ASSOCIATION_CLASS___VALIDATE_ASSOCIATION_ENDS__DIAGNOSTICCHAIN_MAP = CLASS_OPERATION_COUNT + 1;
 
 	/**
 	 * The operation id for the '<em>Validate Binary Associations</em>' operation.
@@ -117874,13 +117882,13 @@
 	int ASSOCIATION_CLASS___VALIDATE_BINARY_ASSOCIATIONS__DIAGNOSTICCHAIN_MAP = CLASS_OPERATION_COUNT + 2;
 
 	/**
-	 * The operation id for the '<em>Validate Association Ends</em>' operation.
+	 * The operation id for the '<em>Validate Specialized End Types</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int ASSOCIATION_CLASS___VALIDATE_ASSOCIATION_ENDS__DIAGNOSTICCHAIN_MAP = CLASS_OPERATION_COUNT + 3;
+	int ASSOCIATION_CLASS___VALIDATE_SPECIALIZED_END_TYPES__DIAGNOSTICCHAIN_MAP = CLASS_OPERATION_COUNT + 3;
 
 	/**
 	 * The operation id for the '<em>Is Binary</em>' operation.
@@ -117901,22 +117909,22 @@
 	int ASSOCIATION_CLASS___GET_END_TYPES = CLASS_OPERATION_COUNT + 5;
 
 	/**
-	 * The operation id for the '<em>Validate Cannot Be Defined</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ASSOCIATION_CLASS___VALIDATE_CANNOT_BE_DEFINED__DIAGNOSTICCHAIN_MAP = CLASS_OPERATION_COUNT + 6;
-
-	/**
 	 * The operation id for the '<em>Validate Disjoint Attributes Ends</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int ASSOCIATION_CLASS___VALIDATE_DISJOINT_ATTRIBUTES_ENDS__DIAGNOSTICCHAIN_MAP = CLASS_OPERATION_COUNT + 7;
+	int ASSOCIATION_CLASS___VALIDATE_DISJOINT_ATTRIBUTES_ENDS__DIAGNOSTICCHAIN_MAP = CLASS_OPERATION_COUNT + 6;
+
+	/**
+	 * The operation id for the '<em>Validate Cannot Be Defined</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int ASSOCIATION_CLASS___VALIDATE_CANNOT_BE_DEFINED__DIAGNOSTICCHAIN_MAP = CLASS_OPERATION_COUNT + 7;
 
 	/**
 	 * The number of operations of the '<em>Association Class</em>' class.
@@ -118423,15 +118431,6 @@
 	int BEHAVIOR_EXECUTION_SPECIFICATION___MUST_BE_OWNED = EXECUTION_SPECIFICATION___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BEHAVIOR_EXECUTION_SPECIFICATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = EXECUTION_SPECIFICATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -118450,6 +118449,15 @@
 	int BEHAVIOR_EXECUTION_SPECIFICATION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = EXECUTION_SPECIFICATION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int BEHAVIOR_EXECUTION_SPECIFICATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = EXECUTION_SPECIFICATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -118675,7 +118683,7 @@
 	int INVOCATION_ACTION__REDEFINITION_CONTEXT = ACTION__REDEFINITION_CONTEXT;
 
 	/**
-	 * The feature id for the '<em><b>Activity</b></em>' container reference.
+	 * The feature id for the '<em><b>Activity</b></em>' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -118684,15 +118692,6 @@
 	int INVOCATION_ACTION__ACTIVITY = ACTION__ACTIVITY;
 
 	/**
-	 * The feature id for the '<em><b>In Group</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INVOCATION_ACTION__IN_GROUP = ACTION__IN_GROUP;
-
-	/**
 	 * The feature id for the '<em><b>In Partition</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -118738,6 +118737,15 @@
 	int INVOCATION_ACTION__INCOMING = ACTION__INCOMING;
 
 	/**
+	 * The feature id for the '<em><b>In Group</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INVOCATION_ACTION__IN_GROUP = ACTION__IN_GROUP;
+
+	/**
 	 * The feature id for the '<em><b>Redefined Node</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -119170,15 +119178,6 @@
 	int INVOCATION_ACTION___MUST_BE_OWNED = ACTION___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INVOCATION_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -119197,6 +119196,15 @@
 	int INVOCATION_ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INVOCATION_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -119494,7 +119502,7 @@
 	int BROADCAST_SIGNAL_ACTION__REDEFINITION_CONTEXT = INVOCATION_ACTION__REDEFINITION_CONTEXT;
 
 	/**
-	 * The feature id for the '<em><b>Activity</b></em>' container reference.
+	 * The feature id for the '<em><b>Activity</b></em>' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -119503,15 +119511,6 @@
 	int BROADCAST_SIGNAL_ACTION__ACTIVITY = INVOCATION_ACTION__ACTIVITY;
 
 	/**
-	 * The feature id for the '<em><b>In Group</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BROADCAST_SIGNAL_ACTION__IN_GROUP = INVOCATION_ACTION__IN_GROUP;
-
-	/**
 	 * The feature id for the '<em><b>In Partition</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -119557,6 +119556,15 @@
 	int BROADCAST_SIGNAL_ACTION__INCOMING = INVOCATION_ACTION__INCOMING;
 
 	/**
+	 * The feature id for the '<em><b>In Group</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int BROADCAST_SIGNAL_ACTION__IN_GROUP = INVOCATION_ACTION__IN_GROUP;
+
+	/**
 	 * The feature id for the '<em><b>Redefined Node</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -119998,15 +120006,6 @@
 	int BROADCAST_SIGNAL_ACTION___MUST_BE_OWNED = INVOCATION_ACTION___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BROADCAST_SIGNAL_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = INVOCATION_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -120025,6 +120024,15 @@
 	int BROADCAST_SIGNAL_ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = INVOCATION_ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int BROADCAST_SIGNAL_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = INVOCATION_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -120196,22 +120204,22 @@
 	int BROADCAST_SIGNAL_ACTION___VALIDATE_ON_PORT_RECEIVER__DIAGNOSTICCHAIN_MAP = INVOCATION_ACTION___VALIDATE_ON_PORT_RECEIVER__DIAGNOSTICCHAIN_MAP;
 
 	/**
-	 * The operation id for the '<em>Validate Number And Order</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int BROADCAST_SIGNAL_ACTION___VALIDATE_NUMBER_AND_ORDER__DIAGNOSTICCHAIN_MAP = INVOCATION_ACTION_OPERATION_COUNT + 0;
-
-	/**
 	 * The operation id for the '<em>Validate Type Ordering Multiplicity</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int BROADCAST_SIGNAL_ACTION___VALIDATE_TYPE_ORDERING_MULTIPLICITY__DIAGNOSTICCHAIN_MAP = INVOCATION_ACTION_OPERATION_COUNT + 1;
+	int BROADCAST_SIGNAL_ACTION___VALIDATE_TYPE_ORDERING_MULTIPLICITY__DIAGNOSTICCHAIN_MAP = INVOCATION_ACTION_OPERATION_COUNT + 0;
+
+	/**
+	 * The operation id for the '<em>Validate Number And Order</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int BROADCAST_SIGNAL_ACTION___VALIDATE_NUMBER_AND_ORDER__DIAGNOSTICCHAIN_MAP = INVOCATION_ACTION_OPERATION_COUNT + 1;
 
 	/**
 	 * The number of operations of the '<em>Broadcast Signal Action</em>' class.
@@ -120340,7 +120348,7 @@
 	int CALL_ACTION__REDEFINITION_CONTEXT = INVOCATION_ACTION__REDEFINITION_CONTEXT;
 
 	/**
-	 * The feature id for the '<em><b>Activity</b></em>' container reference.
+	 * The feature id for the '<em><b>Activity</b></em>' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -120349,15 +120357,6 @@
 	int CALL_ACTION__ACTIVITY = INVOCATION_ACTION__ACTIVITY;
 
 	/**
-	 * The feature id for the '<em><b>In Group</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CALL_ACTION__IN_GROUP = INVOCATION_ACTION__IN_GROUP;
-
-	/**
 	 * The feature id for the '<em><b>In Partition</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -120403,6 +120402,15 @@
 	int CALL_ACTION__INCOMING = INVOCATION_ACTION__INCOMING;
 
 	/**
+	 * The feature id for the '<em><b>In Group</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CALL_ACTION__IN_GROUP = INVOCATION_ACTION__IN_GROUP;
+
+	/**
 	 * The feature id for the '<em><b>Redefined Node</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -120853,15 +120861,6 @@
 	int CALL_ACTION___MUST_BE_OWNED = INVOCATION_ACTION___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CALL_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = INVOCATION_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -120880,6 +120879,15 @@
 	int CALL_ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = INVOCATION_ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CALL_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = INVOCATION_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -121051,13 +121059,13 @@
 	int CALL_ACTION___VALIDATE_ON_PORT_RECEIVER__DIAGNOSTICCHAIN_MAP = INVOCATION_ACTION___VALIDATE_ON_PORT_RECEIVER__DIAGNOSTICCHAIN_MAP;
 
 	/**
-	 * The operation id for the '<em>Validate Type Ordering Multiplicity</em>' operation.
+	 * The operation id for the '<em>Validate Synchronous Call</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int CALL_ACTION___VALIDATE_TYPE_ORDERING_MULTIPLICITY__DIAGNOSTICCHAIN_MAP = INVOCATION_ACTION_OPERATION_COUNT + 0;
+	int CALL_ACTION___VALIDATE_SYNCHRONOUS_CALL__DIAGNOSTICCHAIN_MAP = INVOCATION_ACTION_OPERATION_COUNT + 0;
 
 	/**
 	 * The operation id for the '<em>Validate Number And Order</em>' operation.
@@ -121069,13 +121077,13 @@
 	int CALL_ACTION___VALIDATE_NUMBER_AND_ORDER__DIAGNOSTICCHAIN_MAP = INVOCATION_ACTION_OPERATION_COUNT + 1;
 
 	/**
-	 * The operation id for the '<em>Validate Synchronous Call</em>' operation.
+	 * The operation id for the '<em>Validate Type Ordering Multiplicity</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int CALL_ACTION___VALIDATE_SYNCHRONOUS_CALL__DIAGNOSTICCHAIN_MAP = INVOCATION_ACTION_OPERATION_COUNT + 2;
+	int CALL_ACTION___VALIDATE_TYPE_ORDERING_MULTIPLICITY__DIAGNOSTICCHAIN_MAP = INVOCATION_ACTION_OPERATION_COUNT + 2;
 
 	/**
 	 * The number of operations of the '<em>Call Action</em>' class.
@@ -121204,7 +121212,7 @@
 	int CALL_BEHAVIOR_ACTION__REDEFINITION_CONTEXT = CALL_ACTION__REDEFINITION_CONTEXT;
 
 	/**
-	 * The feature id for the '<em><b>Activity</b></em>' container reference.
+	 * The feature id for the '<em><b>Activity</b></em>' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -121213,15 +121221,6 @@
 	int CALL_BEHAVIOR_ACTION__ACTIVITY = CALL_ACTION__ACTIVITY;
 
 	/**
-	 * The feature id for the '<em><b>In Group</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CALL_BEHAVIOR_ACTION__IN_GROUP = CALL_ACTION__IN_GROUP;
-
-	/**
 	 * The feature id for the '<em><b>In Partition</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -121267,6 +121266,15 @@
 	int CALL_BEHAVIOR_ACTION__INCOMING = CALL_ACTION__INCOMING;
 
 	/**
+	 * The feature id for the '<em><b>In Group</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CALL_BEHAVIOR_ACTION__IN_GROUP = CALL_ACTION__IN_GROUP;
+
+	/**
 	 * The feature id for the '<em><b>Redefined Node</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -121726,15 +121734,6 @@
 	int CALL_BEHAVIOR_ACTION___MUST_BE_OWNED = CALL_ACTION___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CALL_BEHAVIOR_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = CALL_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -121753,6 +121752,15 @@
 	int CALL_BEHAVIOR_ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = CALL_ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CALL_BEHAVIOR_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = CALL_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -121924,13 +121932,13 @@
 	int CALL_BEHAVIOR_ACTION___VALIDATE_ON_PORT_RECEIVER__DIAGNOSTICCHAIN_MAP = CALL_ACTION___VALIDATE_ON_PORT_RECEIVER__DIAGNOSTICCHAIN_MAP;
 
 	/**
-	 * The operation id for the '<em>Validate Type Ordering Multiplicity</em>' operation.
+	 * The operation id for the '<em>Validate Synchronous Call</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int CALL_BEHAVIOR_ACTION___VALIDATE_TYPE_ORDERING_MULTIPLICITY__DIAGNOSTICCHAIN_MAP = CALL_ACTION___VALIDATE_TYPE_ORDERING_MULTIPLICITY__DIAGNOSTICCHAIN_MAP;
+	int CALL_BEHAVIOR_ACTION___VALIDATE_SYNCHRONOUS_CALL__DIAGNOSTICCHAIN_MAP = CALL_ACTION___VALIDATE_SYNCHRONOUS_CALL__DIAGNOSTICCHAIN_MAP;
 
 	/**
 	 * The operation id for the '<em>Validate Number And Order</em>' operation.
@@ -121942,13 +121950,13 @@
 	int CALL_BEHAVIOR_ACTION___VALIDATE_NUMBER_AND_ORDER__DIAGNOSTICCHAIN_MAP = CALL_ACTION___VALIDATE_NUMBER_AND_ORDER__DIAGNOSTICCHAIN_MAP;
 
 	/**
-	 * The operation id for the '<em>Validate Synchronous Call</em>' operation.
+	 * The operation id for the '<em>Validate Type Ordering Multiplicity</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int CALL_BEHAVIOR_ACTION___VALIDATE_SYNCHRONOUS_CALL__DIAGNOSTICCHAIN_MAP = CALL_ACTION___VALIDATE_SYNCHRONOUS_CALL__DIAGNOSTICCHAIN_MAP;
+	int CALL_BEHAVIOR_ACTION___VALIDATE_TYPE_ORDERING_MULTIPLICITY__DIAGNOSTICCHAIN_MAP = CALL_ACTION___VALIDATE_TYPE_ORDERING_MULTIPLICITY__DIAGNOSTICCHAIN_MAP;
 
 	/**
 	 * The operation id for the '<em>Validate Result Pin Equal Parameter</em>' operation.
@@ -122437,15 +122445,6 @@
 	int CALL_EVENT___MUST_BE_OWNED = MESSAGE_EVENT___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CALL_EVENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = MESSAGE_EVENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -122464,6 +122463,15 @@
 	int CALL_EVENT___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = MESSAGE_EVENT___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CALL_EVENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = MESSAGE_EVENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -122698,7 +122706,7 @@
 	int CALL_OPERATION_ACTION__REDEFINITION_CONTEXT = CALL_ACTION__REDEFINITION_CONTEXT;
 
 	/**
-	 * The feature id for the '<em><b>Activity</b></em>' container reference.
+	 * The feature id for the '<em><b>Activity</b></em>' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -122707,15 +122715,6 @@
 	int CALL_OPERATION_ACTION__ACTIVITY = CALL_ACTION__ACTIVITY;
 
 	/**
-	 * The feature id for the '<em><b>In Group</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CALL_OPERATION_ACTION__IN_GROUP = CALL_ACTION__IN_GROUP;
-
-	/**
 	 * The feature id for the '<em><b>In Partition</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -122761,6 +122760,15 @@
 	int CALL_OPERATION_ACTION__INCOMING = CALL_ACTION__INCOMING;
 
 	/**
+	 * The feature id for the '<em><b>In Group</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CALL_OPERATION_ACTION__IN_GROUP = CALL_ACTION__IN_GROUP;
+
+	/**
 	 * The feature id for the '<em><b>Redefined Node</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -123229,15 +123237,6 @@
 	int CALL_OPERATION_ACTION___MUST_BE_OWNED = CALL_ACTION___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CALL_OPERATION_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = CALL_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -123256,6 +123255,15 @@
 	int CALL_OPERATION_ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = CALL_ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CALL_OPERATION_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = CALL_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -123427,13 +123435,13 @@
 	int CALL_OPERATION_ACTION___VALIDATE_ON_PORT_RECEIVER__DIAGNOSTICCHAIN_MAP = CALL_ACTION___VALIDATE_ON_PORT_RECEIVER__DIAGNOSTICCHAIN_MAP;
 
 	/**
-	 * The operation id for the '<em>Validate Type Ordering Multiplicity</em>' operation.
+	 * The operation id for the '<em>Validate Synchronous Call</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int CALL_OPERATION_ACTION___VALIDATE_TYPE_ORDERING_MULTIPLICITY__DIAGNOSTICCHAIN_MAP = CALL_ACTION___VALIDATE_TYPE_ORDERING_MULTIPLICITY__DIAGNOSTICCHAIN_MAP;
+	int CALL_OPERATION_ACTION___VALIDATE_SYNCHRONOUS_CALL__DIAGNOSTICCHAIN_MAP = CALL_ACTION___VALIDATE_SYNCHRONOUS_CALL__DIAGNOSTICCHAIN_MAP;
 
 	/**
 	 * The operation id for the '<em>Validate Number And Order</em>' operation.
@@ -123445,22 +123453,13 @@
 	int CALL_OPERATION_ACTION___VALIDATE_NUMBER_AND_ORDER__DIAGNOSTICCHAIN_MAP = CALL_ACTION___VALIDATE_NUMBER_AND_ORDER__DIAGNOSTICCHAIN_MAP;
 
 	/**
-	 * The operation id for the '<em>Validate Synchronous Call</em>' operation.
+	 * The operation id for the '<em>Validate Type Ordering Multiplicity</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int CALL_OPERATION_ACTION___VALIDATE_SYNCHRONOUS_CALL__DIAGNOSTICCHAIN_MAP = CALL_ACTION___VALIDATE_SYNCHRONOUS_CALL__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Validate Type Target Pin</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CALL_OPERATION_ACTION___VALIDATE_TYPE_TARGET_PIN__DIAGNOSTICCHAIN_MAP = CALL_ACTION_OPERATION_COUNT + 0;
+	int CALL_OPERATION_ACTION___VALIDATE_TYPE_ORDERING_MULTIPLICITY__DIAGNOSTICCHAIN_MAP = CALL_ACTION___VALIDATE_TYPE_ORDERING_MULTIPLICITY__DIAGNOSTICCHAIN_MAP;
 
 	/**
 	 * The operation id for the '<em>Validate Argument Pin Equal Parameter</em>' operation.
@@ -123469,7 +123468,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int CALL_OPERATION_ACTION___VALIDATE_ARGUMENT_PIN_EQUAL_PARAMETER__DIAGNOSTICCHAIN_MAP = CALL_ACTION_OPERATION_COUNT + 1;
+	int CALL_OPERATION_ACTION___VALIDATE_ARGUMENT_PIN_EQUAL_PARAMETER__DIAGNOSTICCHAIN_MAP = CALL_ACTION_OPERATION_COUNT + 0;
 
 	/**
 	 * The operation id for the '<em>Validate Result Pin Equal Parameter</em>' operation.
@@ -123478,7 +123477,16 @@
 	 * @generated
 	 * @ordered
 	 */
-	int CALL_OPERATION_ACTION___VALIDATE_RESULT_PIN_EQUAL_PARAMETER__DIAGNOSTICCHAIN_MAP = CALL_ACTION_OPERATION_COUNT + 2;
+	int CALL_OPERATION_ACTION___VALIDATE_RESULT_PIN_EQUAL_PARAMETER__DIAGNOSTICCHAIN_MAP = CALL_ACTION_OPERATION_COUNT + 1;
+
+	/**
+	 * The operation id for the '<em>Validate Type Target Pin</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CALL_OPERATION_ACTION___VALIDATE_TYPE_TARGET_PIN__DIAGNOSTICCHAIN_MAP = CALL_ACTION_OPERATION_COUNT + 2;
 
 	/**
 	 * The number of operations of the '<em>Call Operation Action</em>' class.
@@ -123607,7 +123615,7 @@
 	int CENTRAL_BUFFER_NODE__REDEFINITION_CONTEXT = OBJECT_NODE__REDEFINITION_CONTEXT;
 
 	/**
-	 * The feature id for the '<em><b>Activity</b></em>' container reference.
+	 * The feature id for the '<em><b>Activity</b></em>' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -123616,15 +123624,6 @@
 	int CENTRAL_BUFFER_NODE__ACTIVITY = OBJECT_NODE__ACTIVITY;
 
 	/**
-	 * The feature id for the '<em><b>In Group</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CENTRAL_BUFFER_NODE__IN_GROUP = OBJECT_NODE__IN_GROUP;
-
-	/**
 	 * The feature id for the '<em><b>In Partition</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -123670,6 +123669,15 @@
 	int CENTRAL_BUFFER_NODE__INCOMING = OBJECT_NODE__INCOMING;
 
 	/**
+	 * The feature id for the '<em><b>In Group</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CENTRAL_BUFFER_NODE__IN_GROUP = OBJECT_NODE__IN_GROUP;
+
+	/**
 	 * The feature id for the '<em><b>Redefined Node</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -124075,15 +124083,6 @@
 	int CENTRAL_BUFFER_NODE___MUST_BE_OWNED = OBJECT_NODE___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CENTRAL_BUFFER_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = OBJECT_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -124102,6 +124101,15 @@
 	int CENTRAL_BUFFER_NODE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = OBJECT_NODE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CENTRAL_BUFFER_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = OBJECT_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -124255,13 +124263,13 @@
 	int CENTRAL_BUFFER_NODE___VALIDATE_OWNED_STRUCTURED_NODE__DIAGNOSTICCHAIN_MAP = OBJECT_NODE___VALIDATE_OWNED_STRUCTURED_NODE__DIAGNOSTICCHAIN_MAP;
 
 	/**
-	 * The operation id for the '<em>Validate Input Output Parameter</em>' operation.
+	 * The operation id for the '<em>Validate Object Flow Edges</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int CENTRAL_BUFFER_NODE___VALIDATE_INPUT_OUTPUT_PARAMETER__DIAGNOSTICCHAIN_MAP = OBJECT_NODE___VALIDATE_INPUT_OUTPUT_PARAMETER__DIAGNOSTICCHAIN_MAP;
+	int CENTRAL_BUFFER_NODE___VALIDATE_OBJECT_FLOW_EDGES__DIAGNOSTICCHAIN_MAP = OBJECT_NODE___VALIDATE_OBJECT_FLOW_EDGES__DIAGNOSTICCHAIN_MAP;
 
 	/**
 	 * The operation id for the '<em>Validate Selection Behavior</em>' operation.
@@ -124273,13 +124281,13 @@
 	int CENTRAL_BUFFER_NODE___VALIDATE_SELECTION_BEHAVIOR__DIAGNOSTICCHAIN_MAP = OBJECT_NODE___VALIDATE_SELECTION_BEHAVIOR__DIAGNOSTICCHAIN_MAP;
 
 	/**
-	 * The operation id for the '<em>Validate Object Flow Edges</em>' operation.
+	 * The operation id for the '<em>Validate Input Output Parameter</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int CENTRAL_BUFFER_NODE___VALIDATE_OBJECT_FLOW_EDGES__DIAGNOSTICCHAIN_MAP = OBJECT_NODE___VALIDATE_OBJECT_FLOW_EDGES__DIAGNOSTICCHAIN_MAP;
+	int CENTRAL_BUFFER_NODE___VALIDATE_INPUT_OUTPUT_PARAMETER__DIAGNOSTICCHAIN_MAP = OBJECT_NODE___VALIDATE_INPUT_OUTPUT_PARAMETER__DIAGNOSTICCHAIN_MAP;
 
 	/**
 	 * The number of operations of the '<em>Central Buffer Node</em>' class.
@@ -124750,15 +124758,6 @@
 	int CHANGE_EVENT___MUST_BE_OWNED = EVENT___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CHANGE_EVENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = EVENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -124777,6 +124776,15 @@
 	int CHANGE_EVENT___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = EVENT___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CHANGE_EVENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = EVENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -125326,13 +125334,22 @@
 	int CLAUSE___MUST_BE_OWNED = ELEMENT___MUST_BE_OWNED;
 
 	/**
+	 * The operation id for the '<em>Validate Test And Body</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CLAUSE___VALIDATE_TEST_AND_BODY__DIAGNOSTICCHAIN_MAP = ELEMENT_OPERATION_COUNT + 0;
+
+	/**
 	 * The operation id for the '<em>Validate Body Output Pins</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int CLAUSE___VALIDATE_BODY_OUTPUT_PINS__DIAGNOSTICCHAIN_MAP = ELEMENT_OPERATION_COUNT + 0;
+	int CLAUSE___VALIDATE_BODY_OUTPUT_PINS__DIAGNOSTICCHAIN_MAP = ELEMENT_OPERATION_COUNT + 1;
 
 	/**
 	 * The operation id for the '<em>Validate Decider Output</em>' operation.
@@ -125341,16 +125358,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int CLAUSE___VALIDATE_DECIDER_OUTPUT__DIAGNOSTICCHAIN_MAP = ELEMENT_OPERATION_COUNT + 1;
-
-	/**
-	 * The operation id for the '<em>Validate Test And Body</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CLAUSE___VALIDATE_TEST_AND_BODY__DIAGNOSTICCHAIN_MAP = ELEMENT_OPERATION_COUNT + 2;
+	int CLAUSE___VALIDATE_DECIDER_OUTPUT__DIAGNOSTICCHAIN_MAP = ELEMENT_OPERATION_COUNT + 2;
 
 	/**
 	 * The number of operations of the '<em>Clause</em>' class.
@@ -125479,7 +125487,7 @@
 	int CLEAR_ASSOCIATION_ACTION__REDEFINITION_CONTEXT = ACTION__REDEFINITION_CONTEXT;
 
 	/**
-	 * The feature id for the '<em><b>Activity</b></em>' container reference.
+	 * The feature id for the '<em><b>Activity</b></em>' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -125488,15 +125496,6 @@
 	int CLEAR_ASSOCIATION_ACTION__ACTIVITY = ACTION__ACTIVITY;
 
 	/**
-	 * The feature id for the '<em><b>In Group</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CLEAR_ASSOCIATION_ACTION__IN_GROUP = ACTION__IN_GROUP;
-
-	/**
 	 * The feature id for the '<em><b>In Partition</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -125542,6 +125541,15 @@
 	int CLEAR_ASSOCIATION_ACTION__INCOMING = ACTION__INCOMING;
 
 	/**
+	 * The feature id for the '<em><b>In Group</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CLEAR_ASSOCIATION_ACTION__IN_GROUP = ACTION__IN_GROUP;
+
+	/**
 	 * The feature id for the '<em><b>Redefined Node</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -125974,15 +125982,6 @@
 	int CLEAR_ASSOCIATION_ACTION___MUST_BE_OWNED = ACTION___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CLEAR_ASSOCIATION_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -126001,6 +126000,15 @@
 	int CLEAR_ASSOCIATION_ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CLEAR_ASSOCIATION_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -126307,7 +126315,7 @@
 	int CLEAR_STRUCTURAL_FEATURE_ACTION__REDEFINITION_CONTEXT = STRUCTURAL_FEATURE_ACTION__REDEFINITION_CONTEXT;
 
 	/**
-	 * The feature id for the '<em><b>Activity</b></em>' container reference.
+	 * The feature id for the '<em><b>Activity</b></em>' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -126316,15 +126324,6 @@
 	int CLEAR_STRUCTURAL_FEATURE_ACTION__ACTIVITY = STRUCTURAL_FEATURE_ACTION__ACTIVITY;
 
 	/**
-	 * The feature id for the '<em><b>In Group</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CLEAR_STRUCTURAL_FEATURE_ACTION__IN_GROUP = STRUCTURAL_FEATURE_ACTION__IN_GROUP;
-
-	/**
 	 * The feature id for the '<em><b>In Partition</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -126370,6 +126369,15 @@
 	int CLEAR_STRUCTURAL_FEATURE_ACTION__INCOMING = STRUCTURAL_FEATURE_ACTION__INCOMING;
 
 	/**
+	 * The feature id for the '<em><b>In Group</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CLEAR_STRUCTURAL_FEATURE_ACTION__IN_GROUP = STRUCTURAL_FEATURE_ACTION__IN_GROUP;
+
+	/**
 	 * The feature id for the '<em><b>Redefined Node</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -126811,15 +126819,6 @@
 	int CLEAR_STRUCTURAL_FEATURE_ACTION___MUST_BE_OWNED = STRUCTURAL_FEATURE_ACTION___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CLEAR_STRUCTURAL_FEATURE_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = STRUCTURAL_FEATURE_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -126838,6 +126837,15 @@
 	int CLEAR_STRUCTURAL_FEATURE_ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = STRUCTURAL_FEATURE_ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CLEAR_STRUCTURAL_FEATURE_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = STRUCTURAL_FEATURE_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -127000,24 +127008,6 @@
 	int CLEAR_STRUCTURAL_FEATURE_ACTION___GET_CONTEXT = STRUCTURAL_FEATURE_ACTION___GET_CONTEXT;
 
 	/**
-	 * The operation id for the '<em>Validate Multiplicity</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CLEAR_STRUCTURAL_FEATURE_ACTION___VALIDATE_MULTIPLICITY__DIAGNOSTICCHAIN_MAP = STRUCTURAL_FEATURE_ACTION___VALIDATE_MULTIPLICITY__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Validate Same Type</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CLEAR_STRUCTURAL_FEATURE_ACTION___VALIDATE_SAME_TYPE__DIAGNOSTICCHAIN_MAP = STRUCTURAL_FEATURE_ACTION___VALIDATE_SAME_TYPE__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Visibility</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -127027,6 +127017,15 @@
 	int CLEAR_STRUCTURAL_FEATURE_ACTION___VALIDATE_VISIBILITY__DIAGNOSTICCHAIN_MAP = STRUCTURAL_FEATURE_ACTION___VALIDATE_VISIBILITY__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Multiplicity</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CLEAR_STRUCTURAL_FEATURE_ACTION___VALIDATE_MULTIPLICITY__DIAGNOSTICCHAIN_MAP = STRUCTURAL_FEATURE_ACTION___VALIDATE_MULTIPLICITY__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Validate Not Static</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -127045,13 +127044,13 @@
 	int CLEAR_STRUCTURAL_FEATURE_ACTION___VALIDATE_ONE_FEATURING_CLASSIFIER__DIAGNOSTICCHAIN_MAP = STRUCTURAL_FEATURE_ACTION___VALIDATE_ONE_FEATURING_CLASSIFIER__DIAGNOSTICCHAIN_MAP;
 
 	/**
-	 * The operation id for the '<em>Validate Type Of Result</em>' operation.
+	 * The operation id for the '<em>Validate Same Type</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int CLEAR_STRUCTURAL_FEATURE_ACTION___VALIDATE_TYPE_OF_RESULT__DIAGNOSTICCHAIN_MAP = STRUCTURAL_FEATURE_ACTION_OPERATION_COUNT + 0;
+	int CLEAR_STRUCTURAL_FEATURE_ACTION___VALIDATE_SAME_TYPE__DIAGNOSTICCHAIN_MAP = STRUCTURAL_FEATURE_ACTION___VALIDATE_SAME_TYPE__DIAGNOSTICCHAIN_MAP;
 
 	/**
 	 * The operation id for the '<em>Validate Multiplicity Of Result</em>' operation.
@@ -127060,7 +127059,16 @@
 	 * @generated
 	 * @ordered
 	 */
-	int CLEAR_STRUCTURAL_FEATURE_ACTION___VALIDATE_MULTIPLICITY_OF_RESULT__DIAGNOSTICCHAIN_MAP = STRUCTURAL_FEATURE_ACTION_OPERATION_COUNT + 1;
+	int CLEAR_STRUCTURAL_FEATURE_ACTION___VALIDATE_MULTIPLICITY_OF_RESULT__DIAGNOSTICCHAIN_MAP = STRUCTURAL_FEATURE_ACTION_OPERATION_COUNT + 0;
+
+	/**
+	 * The operation id for the '<em>Validate Type Of Result</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CLEAR_STRUCTURAL_FEATURE_ACTION___VALIDATE_TYPE_OF_RESULT__DIAGNOSTICCHAIN_MAP = STRUCTURAL_FEATURE_ACTION_OPERATION_COUNT + 1;
 
 	/**
 	 * The number of operations of the '<em>Clear Structural Feature Action</em>' class.
@@ -127189,7 +127197,7 @@
 	int CLEAR_VARIABLE_ACTION__REDEFINITION_CONTEXT = VARIABLE_ACTION__REDEFINITION_CONTEXT;
 
 	/**
-	 * The feature id for the '<em><b>Activity</b></em>' container reference.
+	 * The feature id for the '<em><b>Activity</b></em>' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -127198,15 +127206,6 @@
 	int CLEAR_VARIABLE_ACTION__ACTIVITY = VARIABLE_ACTION__ACTIVITY;
 
 	/**
-	 * The feature id for the '<em><b>In Group</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CLEAR_VARIABLE_ACTION__IN_GROUP = VARIABLE_ACTION__IN_GROUP;
-
-	/**
 	 * The feature id for the '<em><b>In Partition</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -127252,6 +127251,15 @@
 	int CLEAR_VARIABLE_ACTION__INCOMING = VARIABLE_ACTION__INCOMING;
 
 	/**
+	 * The feature id for the '<em><b>In Group</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CLEAR_VARIABLE_ACTION__IN_GROUP = VARIABLE_ACTION__IN_GROUP;
+
+	/**
 	 * The feature id for the '<em><b>Redefined Node</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -127675,15 +127683,6 @@
 	int CLEAR_VARIABLE_ACTION___MUST_BE_OWNED = VARIABLE_ACTION___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CLEAR_VARIABLE_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = VARIABLE_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -127702,6 +127701,15 @@
 	int CLEAR_VARIABLE_ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = VARIABLE_ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CLEAR_VARIABLE_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = VARIABLE_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -128377,15 +128385,6 @@
 	int COMBINED_FRAGMENT___MUST_BE_OWNED = INTERACTION_FRAGMENT___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COMBINED_FRAGMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = INTERACTION_FRAGMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -128404,6 +128403,15 @@
 	int COMBINED_FRAGMENT___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = INTERACTION_FRAGMENT___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMBINED_FRAGMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = INTERACTION_FRAGMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -128494,22 +128502,22 @@
 	int COMBINED_FRAGMENT___SEPARATOR = INTERACTION_FRAGMENT___SEPARATOR;
 
 	/**
-	 * The operation id for the '<em>Validate Minint And Maxint</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COMBINED_FRAGMENT___VALIDATE_MININT_AND_MAXINT__DIAGNOSTICCHAIN_MAP = INTERACTION_FRAGMENT_OPERATION_COUNT + 0;
-
-	/**
 	 * The operation id for the '<em>Validate Break</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int COMBINED_FRAGMENT___VALIDATE_BREAK__DIAGNOSTICCHAIN_MAP = INTERACTION_FRAGMENT_OPERATION_COUNT + 1;
+	int COMBINED_FRAGMENT___VALIDATE_BREAK__DIAGNOSTICCHAIN_MAP = INTERACTION_FRAGMENT_OPERATION_COUNT + 0;
+
+	/**
+	 * The operation id for the '<em>Validate Opt Loop Break Neg</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMBINED_FRAGMENT___VALIDATE_OPT_LOOP_BREAK_NEG__DIAGNOSTICCHAIN_MAP = INTERACTION_FRAGMENT_OPERATION_COUNT + 1;
 
 	/**
 	 * The operation id for the '<em>Validate Consider And Ignore</em>' operation.
@@ -128521,13 +128529,13 @@
 	int COMBINED_FRAGMENT___VALIDATE_CONSIDER_AND_IGNORE__DIAGNOSTICCHAIN_MAP = INTERACTION_FRAGMENT_OPERATION_COUNT + 2;
 
 	/**
-	 * The operation id for the '<em>Validate Opt Loop Break Neg</em>' operation.
+	 * The operation id for the '<em>Validate Minint And Maxint</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int COMBINED_FRAGMENT___VALIDATE_OPT_LOOP_BREAK_NEG__DIAGNOSTICCHAIN_MAP = INTERACTION_FRAGMENT_OPERATION_COUNT + 3;
+	int COMBINED_FRAGMENT___VALIDATE_MININT_AND_MAXINT__DIAGNOSTICCHAIN_MAP = INTERACTION_FRAGMENT_OPERATION_COUNT + 3;
 
 	/**
 	 * The number of operations of the '<em>Combined Fragment</em>' class.
@@ -129277,15 +129285,6 @@
 	int COMMUNICATION_PATH___MUST_BE_OWNED = ASSOCIATION___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COMMUNICATION_PATH___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = ASSOCIATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -129304,6 +129303,15 @@
 	int COMMUNICATION_PATH___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = ASSOCIATION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMMUNICATION_PATH___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = ASSOCIATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -129601,24 +129609,6 @@
 	int COMMUNICATION_PATH___PARAMETERABLE_ELEMENTS = ASSOCIATION___PARAMETERABLE_ELEMENTS;
 
 	/**
-	 * The operation id for the '<em>Validate Specialize Type</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COMMUNICATION_PATH___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP = ASSOCIATION___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Validate Maps To Generalization Set</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COMMUNICATION_PATH___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP = ASSOCIATION___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Non Final Parents</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -129637,6 +129627,24 @@
 	int COMMUNICATION_PATH___VALIDATE_NO_CYCLES_IN_GENERALIZATION__DIAGNOSTICCHAIN_MAP = ASSOCIATION___VALIDATE_NO_CYCLES_IN_GENERALIZATION__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Specialize Type</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMMUNICATION_PATH___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP = ASSOCIATION___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Validate Maps To Generalization Set</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMMUNICATION_PATH___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP = ASSOCIATION___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Get All Attributes</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -129799,13 +129807,13 @@
 	int COMMUNICATION_PATH___VALIDATE_SPECIALIZED_END_NUMBER__DIAGNOSTICCHAIN_MAP = ASSOCIATION___VALIDATE_SPECIALIZED_END_NUMBER__DIAGNOSTICCHAIN_MAP;
 
 	/**
-	 * The operation id for the '<em>Validate Specialized End Types</em>' operation.
+	 * The operation id for the '<em>Validate Association Ends</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int COMMUNICATION_PATH___VALIDATE_SPECIALIZED_END_TYPES__DIAGNOSTICCHAIN_MAP = ASSOCIATION___VALIDATE_SPECIALIZED_END_TYPES__DIAGNOSTICCHAIN_MAP;
+	int COMMUNICATION_PATH___VALIDATE_ASSOCIATION_ENDS__DIAGNOSTICCHAIN_MAP = ASSOCIATION___VALIDATE_ASSOCIATION_ENDS__DIAGNOSTICCHAIN_MAP;
 
 	/**
 	 * The operation id for the '<em>Validate Binary Associations</em>' operation.
@@ -129817,13 +129825,13 @@
 	int COMMUNICATION_PATH___VALIDATE_BINARY_ASSOCIATIONS__DIAGNOSTICCHAIN_MAP = ASSOCIATION___VALIDATE_BINARY_ASSOCIATIONS__DIAGNOSTICCHAIN_MAP;
 
 	/**
-	 * The operation id for the '<em>Validate Association Ends</em>' operation.
+	 * The operation id for the '<em>Validate Specialized End Types</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int COMMUNICATION_PATH___VALIDATE_ASSOCIATION_ENDS__DIAGNOSTICCHAIN_MAP = ASSOCIATION___VALIDATE_ASSOCIATION_ENDS__DIAGNOSTICCHAIN_MAP;
+	int COMMUNICATION_PATH___VALIDATE_SPECIALIZED_END_TYPES__DIAGNOSTICCHAIN_MAP = ASSOCIATION___VALIDATE_SPECIALIZED_END_TYPES__DIAGNOSTICCHAIN_MAP;
 
 	/**
 	 * The operation id for the '<em>Is Binary</em>' operation.
@@ -130708,15 +130716,6 @@
 	int COMPONENT___MUST_BE_OWNED = CLASS___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COMPONENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = CLASS___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -130735,6 +130734,15 @@
 	int COMPONENT___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = CLASS___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMPONENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = CLASS___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -131032,24 +131040,6 @@
 	int COMPONENT___PARAMETERABLE_ELEMENTS = CLASS___PARAMETERABLE_ELEMENTS;
 
 	/**
-	 * The operation id for the '<em>Validate Specialize Type</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COMPONENT___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP = CLASS___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Validate Maps To Generalization Set</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COMPONENT___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP = CLASS___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Non Final Parents</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -131068,6 +131058,24 @@
 	int COMPONENT___VALIDATE_NO_CYCLES_IN_GENERALIZATION__DIAGNOSTICCHAIN_MAP = CLASS___VALIDATE_NO_CYCLES_IN_GENERALIZATION__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Specialize Type</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMPONENT___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP = CLASS___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Validate Maps To Generalization Set</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMPONENT___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP = CLASS___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Get All Attributes</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -131329,22 +131337,22 @@
 	int COMPONENT___GET_SUPER_CLASSES = CLASS___GET_SUPER_CLASSES;
 
 	/**
-	 * The operation id for the '<em>Validate No Nested Classifiers</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COMPONENT___VALIDATE_NO_NESTED_CLASSIFIERS__DIAGNOSTICCHAIN_MAP = CLASS_OPERATION_COUNT + 0;
-
-	/**
 	 * The operation id for the '<em>Validate No Packaged Elements</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int COMPONENT___VALIDATE_NO_PACKAGED_ELEMENTS__DIAGNOSTICCHAIN_MAP = CLASS_OPERATION_COUNT + 1;
+	int COMPONENT___VALIDATE_NO_PACKAGED_ELEMENTS__DIAGNOSTICCHAIN_MAP = CLASS_OPERATION_COUNT + 0;
+
+	/**
+	 * The operation id for the '<em>Validate No Nested Classifiers</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMPONENT___VALIDATE_NO_NESTED_CLASSIFIERS__DIAGNOSTICCHAIN_MAP = CLASS_OPERATION_COUNT + 1;
 
 	/**
 	 * The operation id for the '<em>Create Owned Class</em>' operation.
@@ -131950,15 +131958,6 @@
 	int COMPONENT_REALIZATION___MUST_BE_OWNED = REALIZATION___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int COMPONENT_REALIZATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = REALIZATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -131977,6 +131976,15 @@
 	int COMPONENT_REALIZATION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = REALIZATION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int COMPONENT_REALIZATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = REALIZATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -132211,7 +132219,7 @@
 	int CONDITIONAL_NODE__REDEFINITION_CONTEXT = STRUCTURED_ACTIVITY_NODE__REDEFINITION_CONTEXT;
 
 	/**
-	 * The feature id for the '<em><b>Activity</b></em>' container reference.
+	 * The feature id for the '<em><b>Activity</b></em>' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -132220,15 +132228,6 @@
 	int CONDITIONAL_NODE__ACTIVITY = STRUCTURED_ACTIVITY_NODE__ACTIVITY;
 
 	/**
-	 * The feature id for the '<em><b>In Group</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONDITIONAL_NODE__IN_GROUP = STRUCTURED_ACTIVITY_NODE__IN_GROUP;
-
-	/**
 	 * The feature id for the '<em><b>In Partition</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -132274,6 +132273,15 @@
 	int CONDITIONAL_NODE__INCOMING = STRUCTURED_ACTIVITY_NODE__INCOMING;
 
 	/**
+	 * The feature id for the '<em><b>In Group</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONDITIONAL_NODE__IN_GROUP = STRUCTURED_ACTIVITY_NODE__IN_GROUP;
+
+	/**
 	 * The feature id for the '<em><b>Redefined Node</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -132400,6 +132408,15 @@
 	int CONDITIONAL_NODE__MEMBER = STRUCTURED_ACTIVITY_NODE__MEMBER;
 
 	/**
+	 * The feature id for the '<em><b>Contained Edge</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONDITIONAL_NODE__CONTAINED_EDGE = STRUCTURED_ACTIVITY_NODE__CONTAINED_EDGE;
+
+	/**
 	 * The feature id for the '<em><b>Contained Node</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -132409,7 +132426,7 @@
 	int CONDITIONAL_NODE__CONTAINED_NODE = STRUCTURED_ACTIVITY_NODE__CONTAINED_NODE;
 
 	/**
-	 * The feature id for the '<em><b>In Activity</b></em>' container reference.
+	 * The feature id for the '<em><b>In Activity</b></em>' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -132436,15 +132453,6 @@
 	int CONDITIONAL_NODE__SUPER_GROUP = STRUCTURED_ACTIVITY_NODE__SUPER_GROUP;
 
 	/**
-	 * The feature id for the '<em><b>Contained Edge</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONDITIONAL_NODE__CONTAINED_EDGE = STRUCTURED_ACTIVITY_NODE__CONTAINED_EDGE;
-
-	/**
 	 * The feature id for the '<em><b>Must Isolate</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -132877,15 +132885,6 @@
 	int CONDITIONAL_NODE___MUST_BE_OWNED = STRUCTURED_ACTIVITY_NODE___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONDITIONAL_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = STRUCTURED_ACTIVITY_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -132904,6 +132903,15 @@
 	int CONDITIONAL_NODE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = STRUCTURED_ACTIVITY_NODE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONDITIONAL_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = STRUCTURED_ACTIVITY_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -133165,15 +133173,6 @@
 	int CONDITIONAL_NODE___GET_OWNED_MEMBERS = STRUCTURED_ACTIVITY_NODE___GET_OWNED_MEMBERS;
 
 	/**
-	 * The operation id for the '<em>Validate Nodes And Edges</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONDITIONAL_NODE___VALIDATE_NODES_AND_EDGES__DIAGNOSTICCHAIN_MAP = STRUCTURED_ACTIVITY_NODE___VALIDATE_NODES_AND_EDGES__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Group Owned</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -133192,22 +133191,13 @@
 	int CONDITIONAL_NODE___VALIDATE_NOT_CONTAINED__DIAGNOSTICCHAIN_MAP = STRUCTURED_ACTIVITY_NODE___VALIDATE_NOT_CONTAINED__DIAGNOSTICCHAIN_MAP;
 
 	/**
-	 * The operation id for the '<em>Validate Output Pin Edges</em>' operation.
+	 * The operation id for the '<em>Validate Nodes And Edges</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int CONDITIONAL_NODE___VALIDATE_OUTPUT_PIN_EDGES__DIAGNOSTICCHAIN_MAP = STRUCTURED_ACTIVITY_NODE___VALIDATE_OUTPUT_PIN_EDGES__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Validate Edges</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONDITIONAL_NODE___VALIDATE_EDGES__DIAGNOSTICCHAIN_MAP = STRUCTURED_ACTIVITY_NODE___VALIDATE_EDGES__DIAGNOSTICCHAIN_MAP;
+	int CONDITIONAL_NODE___VALIDATE_NODES_AND_EDGES__DIAGNOSTICCHAIN_MAP = STRUCTURED_ACTIVITY_NODE___VALIDATE_NODES_AND_EDGES__DIAGNOSTICCHAIN_MAP;
 
 	/**
 	 * The operation id for the '<em>Validate Input Pin Edges</em>' operation.
@@ -133219,40 +133209,22 @@
 	int CONDITIONAL_NODE___VALIDATE_INPUT_PIN_EDGES__DIAGNOSTICCHAIN_MAP = STRUCTURED_ACTIVITY_NODE___VALIDATE_INPUT_PIN_EDGES__DIAGNOSTICCHAIN_MAP;
 
 	/**
-	 * The operation id for the '<em>Validate Result No Incoming</em>' operation.
+	 * The operation id for the '<em>Validate Edges</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int CONDITIONAL_NODE___VALIDATE_RESULT_NO_INCOMING__DIAGNOSTICCHAIN_MAP = STRUCTURED_ACTIVITY_NODE_OPERATION_COUNT + 0;
+	int CONDITIONAL_NODE___VALIDATE_EDGES__DIAGNOSTICCHAIN_MAP = STRUCTURED_ACTIVITY_NODE___VALIDATE_EDGES__DIAGNOSTICCHAIN_MAP;
 
 	/**
-	 * The operation id for the '<em>Validate No Input Pins</em>' operation.
+	 * The operation id for the '<em>Validate Output Pin Edges</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int CONDITIONAL_NODE___VALIDATE_NO_INPUT_PINS__DIAGNOSTICCHAIN_MAP = STRUCTURED_ACTIVITY_NODE_OPERATION_COUNT + 1;
-
-	/**
-	 * The operation id for the '<em>Validate One Clause With Executable Node</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONDITIONAL_NODE___VALIDATE_ONE_CLAUSE_WITH_EXECUTABLE_NODE__DIAGNOSTICCHAIN_MAP = STRUCTURED_ACTIVITY_NODE_OPERATION_COUNT + 2;
-
-	/**
-	 * The operation id for the '<em>Validate Matching Output Pins</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONDITIONAL_NODE___VALIDATE_MATCHING_OUTPUT_PINS__DIAGNOSTICCHAIN_MAP = STRUCTURED_ACTIVITY_NODE_OPERATION_COUNT + 3;
+	int CONDITIONAL_NODE___VALIDATE_OUTPUT_PIN_EDGES__DIAGNOSTICCHAIN_MAP = STRUCTURED_ACTIVITY_NODE___VALIDATE_OUTPUT_PIN_EDGES__DIAGNOSTICCHAIN_MAP;
 
 	/**
 	 * The operation id for the '<em>Validate Executable Nodes</em>' operation.
@@ -133261,7 +133233,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int CONDITIONAL_NODE___VALIDATE_EXECUTABLE_NODES__DIAGNOSTICCHAIN_MAP = STRUCTURED_ACTIVITY_NODE_OPERATION_COUNT + 4;
+	int CONDITIONAL_NODE___VALIDATE_EXECUTABLE_NODES__DIAGNOSTICCHAIN_MAP = STRUCTURED_ACTIVITY_NODE_OPERATION_COUNT + 0;
 
 	/**
 	 * The operation id for the '<em>Validate Clause No Predecessor</em>' operation.
@@ -133270,7 +133242,43 @@
 	 * @generated
 	 * @ordered
 	 */
-	int CONDITIONAL_NODE___VALIDATE_CLAUSE_NO_PREDECESSOR__DIAGNOSTICCHAIN_MAP = STRUCTURED_ACTIVITY_NODE_OPERATION_COUNT + 5;
+	int CONDITIONAL_NODE___VALIDATE_CLAUSE_NO_PREDECESSOR__DIAGNOSTICCHAIN_MAP = STRUCTURED_ACTIVITY_NODE_OPERATION_COUNT + 1;
+
+	/**
+	 * The operation id for the '<em>Validate Matching Output Pins</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONDITIONAL_NODE___VALIDATE_MATCHING_OUTPUT_PINS__DIAGNOSTICCHAIN_MAP = STRUCTURED_ACTIVITY_NODE_OPERATION_COUNT + 2;
+
+	/**
+	 * The operation id for the '<em>Validate One Clause With Executable Node</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONDITIONAL_NODE___VALIDATE_ONE_CLAUSE_WITH_EXECUTABLE_NODE__DIAGNOSTICCHAIN_MAP = STRUCTURED_ACTIVITY_NODE_OPERATION_COUNT + 3;
+
+	/**
+	 * The operation id for the '<em>Validate Result No Incoming</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONDITIONAL_NODE___VALIDATE_RESULT_NO_INCOMING__DIAGNOSTICCHAIN_MAP = STRUCTURED_ACTIVITY_NODE_OPERATION_COUNT + 4;
+
+	/**
+	 * The operation id for the '<em>Validate No Input Pins</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONDITIONAL_NODE___VALIDATE_NO_INPUT_PINS__DIAGNOSTICCHAIN_MAP = STRUCTURED_ACTIVITY_NODE_OPERATION_COUNT + 5;
 
 	/**
 	 * The number of operations of the '<em>Conditional Node</em>' class.
@@ -133786,15 +133794,6 @@
 	int CONSIDER_IGNORE_FRAGMENT___MUST_BE_OWNED = COMBINED_FRAGMENT___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONSIDER_IGNORE_FRAGMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = COMBINED_FRAGMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -133813,6 +133812,15 @@
 	int CONSIDER_IGNORE_FRAGMENT___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = COMBINED_FRAGMENT___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONSIDER_IGNORE_FRAGMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = COMBINED_FRAGMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -133903,15 +133911,6 @@
 	int CONSIDER_IGNORE_FRAGMENT___SEPARATOR = COMBINED_FRAGMENT___SEPARATOR;
 
 	/**
-	 * The operation id for the '<em>Validate Minint And Maxint</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONSIDER_IGNORE_FRAGMENT___VALIDATE_MININT_AND_MAXINT__DIAGNOSTICCHAIN_MAP = COMBINED_FRAGMENT___VALIDATE_MININT_AND_MAXINT__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Break</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -133921,15 +133920,6 @@
 	int CONSIDER_IGNORE_FRAGMENT___VALIDATE_BREAK__DIAGNOSTICCHAIN_MAP = COMBINED_FRAGMENT___VALIDATE_BREAK__DIAGNOSTICCHAIN_MAP;
 
 	/**
-	 * The operation id for the '<em>Validate Consider And Ignore</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONSIDER_IGNORE_FRAGMENT___VALIDATE_CONSIDER_AND_IGNORE__DIAGNOSTICCHAIN_MAP = COMBINED_FRAGMENT___VALIDATE_CONSIDER_AND_IGNORE__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Opt Loop Break Neg</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -133939,13 +133929,22 @@
 	int CONSIDER_IGNORE_FRAGMENT___VALIDATE_OPT_LOOP_BREAK_NEG__DIAGNOSTICCHAIN_MAP = COMBINED_FRAGMENT___VALIDATE_OPT_LOOP_BREAK_NEG__DIAGNOSTICCHAIN_MAP;
 
 	/**
-	 * The operation id for the '<em>Validate Consider Or Ignore</em>' operation.
+	 * The operation id for the '<em>Validate Consider And Ignore</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int CONSIDER_IGNORE_FRAGMENT___VALIDATE_CONSIDER_OR_IGNORE__DIAGNOSTICCHAIN_MAP = COMBINED_FRAGMENT_OPERATION_COUNT + 0;
+	int CONSIDER_IGNORE_FRAGMENT___VALIDATE_CONSIDER_AND_IGNORE__DIAGNOSTICCHAIN_MAP = COMBINED_FRAGMENT___VALIDATE_CONSIDER_AND_IGNORE__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Validate Minint And Maxint</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONSIDER_IGNORE_FRAGMENT___VALIDATE_MININT_AND_MAXINT__DIAGNOSTICCHAIN_MAP = COMBINED_FRAGMENT___VALIDATE_MININT_AND_MAXINT__DIAGNOSTICCHAIN_MAP;
 
 	/**
 	 * The operation id for the '<em>Validate Type</em>' operation.
@@ -133954,7 +133953,16 @@
 	 * @generated
 	 * @ordered
 	 */
-	int CONSIDER_IGNORE_FRAGMENT___VALIDATE_TYPE__DIAGNOSTICCHAIN_MAP = COMBINED_FRAGMENT_OPERATION_COUNT + 1;
+	int CONSIDER_IGNORE_FRAGMENT___VALIDATE_TYPE__DIAGNOSTICCHAIN_MAP = COMBINED_FRAGMENT_OPERATION_COUNT + 0;
+
+	/**
+	 * The operation id for the '<em>Validate Consider Or Ignore</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONSIDER_IGNORE_FRAGMENT___VALIDATE_CONSIDER_OR_IGNORE__DIAGNOSTICCHAIN_MAP = COMBINED_FRAGMENT_OPERATION_COUNT + 1;
 
 	/**
 	 * The number of operations of the '<em>Consider Ignore Fragment</em>' class.
@@ -134443,15 +134451,6 @@
 	int CONTINUATION___MUST_BE_OWNED = INTERACTION_FRAGMENT___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONTINUATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = INTERACTION_FRAGMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -134470,6 +134469,15 @@
 	int CONTINUATION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = INTERACTION_FRAGMENT___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONTINUATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = INTERACTION_FRAGMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -134560,22 +134568,22 @@
 	int CONTINUATION___SEPARATOR = INTERACTION_FRAGMENT___SEPARATOR;
 
 	/**
-	 * The operation id for the '<em>Validate First Or Last Interaction Fragment</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONTINUATION___VALIDATE_FIRST_OR_LAST_INTERACTION_FRAGMENT__DIAGNOSTICCHAIN_MAP = INTERACTION_FRAGMENT_OPERATION_COUNT + 0;
-
-	/**
 	 * The operation id for the '<em>Validate Same Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int CONTINUATION___VALIDATE_SAME_NAME__DIAGNOSTICCHAIN_MAP = INTERACTION_FRAGMENT_OPERATION_COUNT + 1;
+	int CONTINUATION___VALIDATE_SAME_NAME__DIAGNOSTICCHAIN_MAP = INTERACTION_FRAGMENT_OPERATION_COUNT + 0;
+
+	/**
+	 * The operation id for the '<em>Validate First Or Last Interaction Fragment</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONTINUATION___VALIDATE_FIRST_OR_LAST_INTERACTION_FRAGMENT__DIAGNOSTICCHAIN_MAP = INTERACTION_FRAGMENT_OPERATION_COUNT + 1;
 
 	/**
 	 * The operation id for the '<em>Validate Global</em>' operation.
@@ -134713,6 +134721,15 @@
 	int CONTROL_FLOW__REDEFINITION_CONTEXT = ACTIVITY_EDGE__REDEFINITION_CONTEXT;
 
 	/**
+	 * The feature id for the '<em><b>Activity</b></em>' container reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONTROL_FLOW__ACTIVITY = ACTIVITY_EDGE__ACTIVITY;
+
+	/**
 	 * The feature id for the '<em><b>Guard</b></em>' containment reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -134722,15 +134739,6 @@
 	int CONTROL_FLOW__GUARD = ACTIVITY_EDGE__GUARD;
 
 	/**
-	 * The feature id for the '<em><b>In Group</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONTROL_FLOW__IN_GROUP = ACTIVITY_EDGE__IN_GROUP;
-
-	/**
 	 * The feature id for the '<em><b>In Partition</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -134794,13 +134802,13 @@
 	int CONTROL_FLOW__WEIGHT = ACTIVITY_EDGE__WEIGHT;
 
 	/**
-	 * The feature id for the '<em><b>Activity</b></em>' container reference.
+	 * The feature id for the '<em><b>In Group</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int CONTROL_FLOW__ACTIVITY = ACTIVITY_EDGE__ACTIVITY;
+	int CONTROL_FLOW__IN_GROUP = ACTIVITY_EDGE__IN_GROUP;
 
 	/**
 	 * The number of structural features of the '<em>Control Flow</em>' class.
@@ -135145,15 +135153,6 @@
 	int CONTROL_FLOW___MUST_BE_OWNED = ACTIVITY_EDGE___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CONTROL_FLOW___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = ACTIVITY_EDGE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -135172,6 +135171,15 @@
 	int CONTROL_FLOW___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = ACTIVITY_EDGE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CONTROL_FLOW___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = ACTIVITY_EDGE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -135469,7 +135477,7 @@
 	int LINK_ACTION__REDEFINITION_CONTEXT = ACTION__REDEFINITION_CONTEXT;
 
 	/**
-	 * The feature id for the '<em><b>Activity</b></em>' container reference.
+	 * The feature id for the '<em><b>Activity</b></em>' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -135478,15 +135486,6 @@
 	int LINK_ACTION__ACTIVITY = ACTION__ACTIVITY;
 
 	/**
-	 * The feature id for the '<em><b>In Group</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LINK_ACTION__IN_GROUP = ACTION__IN_GROUP;
-
-	/**
 	 * The feature id for the '<em><b>In Partition</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -135532,6 +135531,15 @@
 	int LINK_ACTION__INCOMING = ACTION__INCOMING;
 
 	/**
+	 * The feature id for the '<em><b>In Group</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LINK_ACTION__IN_GROUP = ACTION__IN_GROUP;
+
+	/**
 	 * The feature id for the '<em><b>Redefined Node</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -135964,15 +135972,6 @@
 	int LINK_ACTION___MUST_BE_OWNED = ACTION___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LINK_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -135991,6 +135990,15 @@
 	int LINK_ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LINK_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -136315,7 +136323,7 @@
 	int WRITE_LINK_ACTION__REDEFINITION_CONTEXT = LINK_ACTION__REDEFINITION_CONTEXT;
 
 	/**
-	 * The feature id for the '<em><b>Activity</b></em>' container reference.
+	 * The feature id for the '<em><b>Activity</b></em>' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -136324,15 +136332,6 @@
 	int WRITE_LINK_ACTION__ACTIVITY = LINK_ACTION__ACTIVITY;
 
 	/**
-	 * The feature id for the '<em><b>In Group</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int WRITE_LINK_ACTION__IN_GROUP = LINK_ACTION__IN_GROUP;
-
-	/**
 	 * The feature id for the '<em><b>In Partition</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -136378,6 +136377,15 @@
 	int WRITE_LINK_ACTION__INCOMING = LINK_ACTION__INCOMING;
 
 	/**
+	 * The feature id for the '<em><b>In Group</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int WRITE_LINK_ACTION__IN_GROUP = LINK_ACTION__IN_GROUP;
+
+	/**
 	 * The feature id for the '<em><b>Redefined Node</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -136810,15 +136818,6 @@
 	int WRITE_LINK_ACTION___MUST_BE_OWNED = LINK_ACTION___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int WRITE_LINK_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = LINK_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -136837,6 +136836,15 @@
 	int WRITE_LINK_ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = LINK_ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int WRITE_LINK_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = LINK_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -137170,7 +137178,7 @@
 	int CREATE_LINK_ACTION__REDEFINITION_CONTEXT = WRITE_LINK_ACTION__REDEFINITION_CONTEXT;
 
 	/**
-	 * The feature id for the '<em><b>Activity</b></em>' container reference.
+	 * The feature id for the '<em><b>Activity</b></em>' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -137179,15 +137187,6 @@
 	int CREATE_LINK_ACTION__ACTIVITY = WRITE_LINK_ACTION__ACTIVITY;
 
 	/**
-	 * The feature id for the '<em><b>In Group</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CREATE_LINK_ACTION__IN_GROUP = WRITE_LINK_ACTION__IN_GROUP;
-
-	/**
 	 * The feature id for the '<em><b>In Partition</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -137233,6 +137232,15 @@
 	int CREATE_LINK_ACTION__INCOMING = WRITE_LINK_ACTION__INCOMING;
 
 	/**
+	 * The feature id for the '<em><b>In Group</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CREATE_LINK_ACTION__IN_GROUP = WRITE_LINK_ACTION__IN_GROUP;
+
+	/**
 	 * The feature id for the '<em><b>Redefined Node</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -137665,15 +137673,6 @@
 	int CREATE_LINK_ACTION___MUST_BE_OWNED = WRITE_LINK_ACTION___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CREATE_LINK_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = WRITE_LINK_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -137692,6 +137691,15 @@
 	int CREATE_LINK_ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = WRITE_LINK_ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CREATE_LINK_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = WRITE_LINK_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -138322,22 +138330,13 @@
 	int LINK_END_DATA___MUST_BE_OWNED = ELEMENT___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Same Type</em>' operation.
+	 * The operation id for the '<em>Validate Property Is Association End</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int LINK_END_DATA___VALIDATE_SAME_TYPE__DIAGNOSTICCHAIN_MAP = ELEMENT_OPERATION_COUNT + 0;
-
-	/**
-	 * The operation id for the '<em>Validate Multiplicity</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LINK_END_DATA___VALIDATE_MULTIPLICITY__DIAGNOSTICCHAIN_MAP = ELEMENT_OPERATION_COUNT + 1;
+	int LINK_END_DATA___VALIDATE_PROPERTY_IS_ASSOCIATION_END__DIAGNOSTICCHAIN_MAP = ELEMENT_OPERATION_COUNT + 0;
 
 	/**
 	 * The operation id for the '<em>Validate End Object Input Pin</em>' operation.
@@ -138346,16 +138345,25 @@
 	 * @generated
 	 * @ordered
 	 */
-	int LINK_END_DATA___VALIDATE_END_OBJECT_INPUT_PIN__DIAGNOSTICCHAIN_MAP = ELEMENT_OPERATION_COUNT + 2;
+	int LINK_END_DATA___VALIDATE_END_OBJECT_INPUT_PIN__DIAGNOSTICCHAIN_MAP = ELEMENT_OPERATION_COUNT + 1;
 
 	/**
-	 * The operation id for the '<em>Validate Property Is Association End</em>' operation.
+	 * The operation id for the '<em>Validate Same Type</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int LINK_END_DATA___VALIDATE_PROPERTY_IS_ASSOCIATION_END__DIAGNOSTICCHAIN_MAP = ELEMENT_OPERATION_COUNT + 3;
+	int LINK_END_DATA___VALIDATE_SAME_TYPE__DIAGNOSTICCHAIN_MAP = ELEMENT_OPERATION_COUNT + 2;
+
+	/**
+	 * The operation id for the '<em>Validate Multiplicity</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LINK_END_DATA___VALIDATE_MULTIPLICITY__DIAGNOSTICCHAIN_MAP = ELEMENT_OPERATION_COUNT + 3;
 
 	/**
 	 * The operation id for the '<em>Validate Qualifiers</em>' operation.
@@ -138772,13 +138780,22 @@
 	int QUALIFIER_VALUE___MUST_BE_OWNED = ELEMENT___MUST_BE_OWNED;
 
 	/**
+	 * The operation id for the '<em>Validate Qualifier Attribute</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int QUALIFIER_VALUE___VALIDATE_QUALIFIER_ATTRIBUTE__DIAGNOSTICCHAIN_MAP = ELEMENT_OPERATION_COUNT + 0;
+
+	/**
 	 * The operation id for the '<em>Validate Multiplicity Of Qualifier</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int QUALIFIER_VALUE___VALIDATE_MULTIPLICITY_OF_QUALIFIER__DIAGNOSTICCHAIN_MAP = ELEMENT_OPERATION_COUNT + 0;
+	int QUALIFIER_VALUE___VALIDATE_MULTIPLICITY_OF_QUALIFIER__DIAGNOSTICCHAIN_MAP = ELEMENT_OPERATION_COUNT + 1;
 
 	/**
 	 * The operation id for the '<em>Validate Type Of Qualifier</em>' operation.
@@ -138787,16 +138804,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int QUALIFIER_VALUE___VALIDATE_TYPE_OF_QUALIFIER__DIAGNOSTICCHAIN_MAP = ELEMENT_OPERATION_COUNT + 1;
-
-	/**
-	 * The operation id for the '<em>Validate Qualifier Attribute</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int QUALIFIER_VALUE___VALIDATE_QUALIFIER_ATTRIBUTE__DIAGNOSTICCHAIN_MAP = ELEMENT_OPERATION_COUNT + 2;
+	int QUALIFIER_VALUE___VALIDATE_TYPE_OF_QUALIFIER__DIAGNOSTICCHAIN_MAP = ELEMENT_OPERATION_COUNT + 2;
 
 	/**
 	 * The number of operations of the '<em>Qualifier Value</em>' class.
@@ -139231,6 +139239,24 @@
 	int LINK_END_CREATION_DATA___MUST_BE_OWNED = LINK_END_DATA___MUST_BE_OWNED;
 
 	/**
+	 * The operation id for the '<em>Validate Property Is Association End</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LINK_END_CREATION_DATA___VALIDATE_PROPERTY_IS_ASSOCIATION_END__DIAGNOSTICCHAIN_MAP = LINK_END_DATA___VALIDATE_PROPERTY_IS_ASSOCIATION_END__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Validate End Object Input Pin</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LINK_END_CREATION_DATA___VALIDATE_END_OBJECT_INPUT_PIN__DIAGNOSTICCHAIN_MAP = LINK_END_DATA___VALIDATE_END_OBJECT_INPUT_PIN__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Validate Same Type</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -139249,24 +139275,6 @@
 	int LINK_END_CREATION_DATA___VALIDATE_MULTIPLICITY__DIAGNOSTICCHAIN_MAP = LINK_END_DATA___VALIDATE_MULTIPLICITY__DIAGNOSTICCHAIN_MAP;
 
 	/**
-	 * The operation id for the '<em>Validate End Object Input Pin</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LINK_END_CREATION_DATA___VALIDATE_END_OBJECT_INPUT_PIN__DIAGNOSTICCHAIN_MAP = LINK_END_DATA___VALIDATE_END_OBJECT_INPUT_PIN__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Validate Property Is Association End</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LINK_END_CREATION_DATA___VALIDATE_PROPERTY_IS_ASSOCIATION_END__DIAGNOSTICCHAIN_MAP = LINK_END_DATA___VALIDATE_PROPERTY_IS_ASSOCIATION_END__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Qualifiers</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -139276,22 +139284,22 @@
 	int LINK_END_CREATION_DATA___VALIDATE_QUALIFIERS__DIAGNOSTICCHAIN_MAP = LINK_END_DATA___VALIDATE_QUALIFIERS__DIAGNOSTICCHAIN_MAP;
 
 	/**
-	 * The operation id for the '<em>Validate Single Input Pin</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LINK_END_CREATION_DATA___VALIDATE_SINGLE_INPUT_PIN__DIAGNOSTICCHAIN_MAP = LINK_END_DATA_OPERATION_COUNT + 0;
-
-	/**
 	 * The operation id for the '<em>Validate Create Link Action</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int LINK_END_CREATION_DATA___VALIDATE_CREATE_LINK_ACTION__DIAGNOSTICCHAIN_MAP = LINK_END_DATA_OPERATION_COUNT + 1;
+	int LINK_END_CREATION_DATA___VALIDATE_CREATE_LINK_ACTION__DIAGNOSTICCHAIN_MAP = LINK_END_DATA_OPERATION_COUNT + 0;
+
+	/**
+	 * The operation id for the '<em>Validate Single Input Pin</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LINK_END_CREATION_DATA___VALIDATE_SINGLE_INPUT_PIN__DIAGNOSTICCHAIN_MAP = LINK_END_DATA_OPERATION_COUNT + 1;
 
 	/**
 	 * The number of operations of the '<em>Link End Creation Data</em>' class.
@@ -139420,7 +139428,7 @@
 	int CREATE_LINK_OBJECT_ACTION__REDEFINITION_CONTEXT = CREATE_LINK_ACTION__REDEFINITION_CONTEXT;
 
 	/**
-	 * The feature id for the '<em><b>Activity</b></em>' container reference.
+	 * The feature id for the '<em><b>Activity</b></em>' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -139429,15 +139437,6 @@
 	int CREATE_LINK_OBJECT_ACTION__ACTIVITY = CREATE_LINK_ACTION__ACTIVITY;
 
 	/**
-	 * The feature id for the '<em><b>In Group</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CREATE_LINK_OBJECT_ACTION__IN_GROUP = CREATE_LINK_ACTION__IN_GROUP;
-
-	/**
 	 * The feature id for the '<em><b>In Partition</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -139483,6 +139482,15 @@
 	int CREATE_LINK_OBJECT_ACTION__INCOMING = CREATE_LINK_ACTION__INCOMING;
 
 	/**
+	 * The feature id for the '<em><b>In Group</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CREATE_LINK_OBJECT_ACTION__IN_GROUP = CREATE_LINK_ACTION__IN_GROUP;
+
+	/**
 	 * The feature id for the '<em><b>Redefined Node</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -139924,15 +139932,6 @@
 	int CREATE_LINK_OBJECT_ACTION___MUST_BE_OWNED = CREATE_LINK_ACTION___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CREATE_LINK_OBJECT_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = CREATE_LINK_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -139951,6 +139950,15 @@
 	int CREATE_LINK_OBJECT_ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = CREATE_LINK_ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CREATE_LINK_OBJECT_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = CREATE_LINK_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -140167,13 +140175,13 @@
 	int CREATE_LINK_OBJECT_ACTION___VALIDATE_ASSOCIATION_NOT_ABSTRACT__DIAGNOSTICCHAIN_MAP = CREATE_LINK_ACTION___VALIDATE_ASSOCIATION_NOT_ABSTRACT__DIAGNOSTICCHAIN_MAP;
 
 	/**
-	 * The operation id for the '<em>Validate Multiplicity</em>' operation.
+	 * The operation id for the '<em>Validate Association Class</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int CREATE_LINK_OBJECT_ACTION___VALIDATE_MULTIPLICITY__DIAGNOSTICCHAIN_MAP = CREATE_LINK_ACTION_OPERATION_COUNT + 0;
+	int CREATE_LINK_OBJECT_ACTION___VALIDATE_ASSOCIATION_CLASS__DIAGNOSTICCHAIN_MAP = CREATE_LINK_ACTION_OPERATION_COUNT + 0;
 
 	/**
 	 * The operation id for the '<em>Validate Type Of Result</em>' operation.
@@ -140185,13 +140193,13 @@
 	int CREATE_LINK_OBJECT_ACTION___VALIDATE_TYPE_OF_RESULT__DIAGNOSTICCHAIN_MAP = CREATE_LINK_ACTION_OPERATION_COUNT + 1;
 
 	/**
-	 * The operation id for the '<em>Validate Association Class</em>' operation.
+	 * The operation id for the '<em>Validate Multiplicity</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int CREATE_LINK_OBJECT_ACTION___VALIDATE_ASSOCIATION_CLASS__DIAGNOSTICCHAIN_MAP = CREATE_LINK_ACTION_OPERATION_COUNT + 2;
+	int CREATE_LINK_OBJECT_ACTION___VALIDATE_MULTIPLICITY__DIAGNOSTICCHAIN_MAP = CREATE_LINK_ACTION_OPERATION_COUNT + 2;
 
 	/**
 	 * The number of operations of the '<em>Create Link Object Action</em>' class.
@@ -140320,7 +140328,7 @@
 	int CREATE_OBJECT_ACTION__REDEFINITION_CONTEXT = ACTION__REDEFINITION_CONTEXT;
 
 	/**
-	 * The feature id for the '<em><b>Activity</b></em>' container reference.
+	 * The feature id for the '<em><b>Activity</b></em>' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -140329,15 +140337,6 @@
 	int CREATE_OBJECT_ACTION__ACTIVITY = ACTION__ACTIVITY;
 
 	/**
-	 * The feature id for the '<em><b>In Group</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CREATE_OBJECT_ACTION__IN_GROUP = ACTION__IN_GROUP;
-
-	/**
 	 * The feature id for the '<em><b>In Partition</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -140383,6 +140382,15 @@
 	int CREATE_OBJECT_ACTION__INCOMING = ACTION__INCOMING;
 
 	/**
+	 * The feature id for the '<em><b>In Group</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CREATE_OBJECT_ACTION__IN_GROUP = ACTION__IN_GROUP;
+
+	/**
 	 * The feature id for the '<em><b>Redefined Node</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -140815,15 +140823,6 @@
 	int CREATE_OBJECT_ACTION___MUST_BE_OWNED = ACTION___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CREATE_OBJECT_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -140842,6 +140841,15 @@
 	int CREATE_OBJECT_ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CREATE_OBJECT_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -141004,31 +141012,22 @@
 	int CREATE_OBJECT_ACTION___GET_CONTEXT = ACTION___GET_CONTEXT;
 
 	/**
-	 * The operation id for the '<em>Validate Classifier Not Abstract</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CREATE_OBJECT_ACTION___VALIDATE_CLASSIFIER_NOT_ABSTRACT__DIAGNOSTICCHAIN_MAP = ACTION_OPERATION_COUNT + 0;
-
-	/**
-	 * The operation id for the '<em>Validate Multiplicity</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int CREATE_OBJECT_ACTION___VALIDATE_MULTIPLICITY__DIAGNOSTICCHAIN_MAP = ACTION_OPERATION_COUNT + 1;
-
-	/**
 	 * The operation id for the '<em>Validate Classifier Not Association Class</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int CREATE_OBJECT_ACTION___VALIDATE_CLASSIFIER_NOT_ASSOCIATION_CLASS__DIAGNOSTICCHAIN_MAP = ACTION_OPERATION_COUNT + 2;
+	int CREATE_OBJECT_ACTION___VALIDATE_CLASSIFIER_NOT_ASSOCIATION_CLASS__DIAGNOSTICCHAIN_MAP = ACTION_OPERATION_COUNT + 0;
+
+	/**
+	 * The operation id for the '<em>Validate Classifier Not Abstract</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CREATE_OBJECT_ACTION___VALIDATE_CLASSIFIER_NOT_ABSTRACT__DIAGNOSTICCHAIN_MAP = ACTION_OPERATION_COUNT + 1;
 
 	/**
 	 * The operation id for the '<em>Validate Same Type</em>' operation.
@@ -141037,7 +141036,16 @@
 	 * @generated
 	 * @ordered
 	 */
-	int CREATE_OBJECT_ACTION___VALIDATE_SAME_TYPE__DIAGNOSTICCHAIN_MAP = ACTION_OPERATION_COUNT + 3;
+	int CREATE_OBJECT_ACTION___VALIDATE_SAME_TYPE__DIAGNOSTICCHAIN_MAP = ACTION_OPERATION_COUNT + 2;
+
+	/**
+	 * The operation id for the '<em>Validate Multiplicity</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int CREATE_OBJECT_ACTION___VALIDATE_MULTIPLICITY__DIAGNOSTICCHAIN_MAP = ACTION_OPERATION_COUNT + 3;
 
 	/**
 	 * The number of operations of the '<em>Create Object Action</em>' class.
@@ -141166,7 +141174,7 @@
 	int DATA_STORE_NODE__REDEFINITION_CONTEXT = CENTRAL_BUFFER_NODE__REDEFINITION_CONTEXT;
 
 	/**
-	 * The feature id for the '<em><b>Activity</b></em>' container reference.
+	 * The feature id for the '<em><b>Activity</b></em>' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -141175,15 +141183,6 @@
 	int DATA_STORE_NODE__ACTIVITY = CENTRAL_BUFFER_NODE__ACTIVITY;
 
 	/**
-	 * The feature id for the '<em><b>In Group</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DATA_STORE_NODE__IN_GROUP = CENTRAL_BUFFER_NODE__IN_GROUP;
-
-	/**
 	 * The feature id for the '<em><b>In Partition</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -141229,6 +141228,15 @@
 	int DATA_STORE_NODE__INCOMING = CENTRAL_BUFFER_NODE__INCOMING;
 
 	/**
+	 * The feature id for the '<em><b>In Group</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_STORE_NODE__IN_GROUP = CENTRAL_BUFFER_NODE__IN_GROUP;
+
+	/**
 	 * The feature id for the '<em><b>Redefined Node</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -141634,15 +141642,6 @@
 	int DATA_STORE_NODE___MUST_BE_OWNED = CENTRAL_BUFFER_NODE___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DATA_STORE_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = CENTRAL_BUFFER_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -141661,6 +141660,15 @@
 	int DATA_STORE_NODE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = CENTRAL_BUFFER_NODE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DATA_STORE_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = CENTRAL_BUFFER_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -141814,13 +141822,13 @@
 	int DATA_STORE_NODE___VALIDATE_OWNED_STRUCTURED_NODE__DIAGNOSTICCHAIN_MAP = CENTRAL_BUFFER_NODE___VALIDATE_OWNED_STRUCTURED_NODE__DIAGNOSTICCHAIN_MAP;
 
 	/**
-	 * The operation id for the '<em>Validate Input Output Parameter</em>' operation.
+	 * The operation id for the '<em>Validate Object Flow Edges</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_STORE_NODE___VALIDATE_INPUT_OUTPUT_PARAMETER__DIAGNOSTICCHAIN_MAP = CENTRAL_BUFFER_NODE___VALIDATE_INPUT_OUTPUT_PARAMETER__DIAGNOSTICCHAIN_MAP;
+	int DATA_STORE_NODE___VALIDATE_OBJECT_FLOW_EDGES__DIAGNOSTICCHAIN_MAP = CENTRAL_BUFFER_NODE___VALIDATE_OBJECT_FLOW_EDGES__DIAGNOSTICCHAIN_MAP;
 
 	/**
 	 * The operation id for the '<em>Validate Selection Behavior</em>' operation.
@@ -141832,13 +141840,13 @@
 	int DATA_STORE_NODE___VALIDATE_SELECTION_BEHAVIOR__DIAGNOSTICCHAIN_MAP = CENTRAL_BUFFER_NODE___VALIDATE_SELECTION_BEHAVIOR__DIAGNOSTICCHAIN_MAP;
 
 	/**
-	 * The operation id for the '<em>Validate Object Flow Edges</em>' operation.
+	 * The operation id for the '<em>Validate Input Output Parameter</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int DATA_STORE_NODE___VALIDATE_OBJECT_FLOW_EDGES__DIAGNOSTICCHAIN_MAP = CENTRAL_BUFFER_NODE___VALIDATE_OBJECT_FLOW_EDGES__DIAGNOSTICCHAIN_MAP;
+	int DATA_STORE_NODE___VALIDATE_INPUT_OUTPUT_PARAMETER__DIAGNOSTICCHAIN_MAP = CENTRAL_BUFFER_NODE___VALIDATE_INPUT_OUTPUT_PARAMETER__DIAGNOSTICCHAIN_MAP;
 
 	/**
 	 * The number of operations of the '<em>Data Store Node</em>' class.
@@ -141967,7 +141975,7 @@
 	int DECISION_NODE__REDEFINITION_CONTEXT = CONTROL_NODE__REDEFINITION_CONTEXT;
 
 	/**
-	 * The feature id for the '<em><b>Activity</b></em>' container reference.
+	 * The feature id for the '<em><b>Activity</b></em>' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -141976,15 +141984,6 @@
 	int DECISION_NODE__ACTIVITY = CONTROL_NODE__ACTIVITY;
 
 	/**
-	 * The feature id for the '<em><b>In Group</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DECISION_NODE__IN_GROUP = CONTROL_NODE__IN_GROUP;
-
-	/**
 	 * The feature id for the '<em><b>In Partition</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -142030,6 +142029,15 @@
 	int DECISION_NODE__INCOMING = CONTROL_NODE__INCOMING;
 
 	/**
+	 * The feature id for the '<em><b>In Group</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DECISION_NODE__IN_GROUP = CONTROL_NODE__IN_GROUP;
+
+	/**
 	 * The feature id for the '<em><b>Redefined Node</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -142399,15 +142407,6 @@
 	int DECISION_NODE___MUST_BE_OWNED = CONTROL_NODE___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DECISION_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = CONTROL_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -142426,6 +142425,15 @@
 	int DECISION_NODE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = CONTROL_NODE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DECISION_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = CONTROL_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -142579,67 +142587,13 @@
 	int DECISION_NODE___VALIDATE_OWNED_STRUCTURED_NODE__DIAGNOSTICCHAIN_MAP = CONTROL_NODE___VALIDATE_OWNED_STRUCTURED_NODE__DIAGNOSTICCHAIN_MAP;
 
 	/**
-	 * The operation id for the '<em>Validate Zero Input Parameters</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DECISION_NODE___VALIDATE_ZERO_INPUT_PARAMETERS__DIAGNOSTICCHAIN_MAP = CONTROL_NODE_OPERATION_COUNT + 0;
-
-	/**
-	 * The operation id for the '<em>Validate Edges</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DECISION_NODE___VALIDATE_EDGES__DIAGNOSTICCHAIN_MAP = CONTROL_NODE_OPERATION_COUNT + 1;
-
-	/**
-	 * The operation id for the '<em>Validate Decision Input Flow Incoming</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DECISION_NODE___VALIDATE_DECISION_INPUT_FLOW_INCOMING__DIAGNOSTICCHAIN_MAP = CONTROL_NODE_OPERATION_COUNT + 2;
-
-	/**
-	 * The operation id for the '<em>Validate Two Input Parameters</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DECISION_NODE___VALIDATE_TWO_INPUT_PARAMETERS__DIAGNOSTICCHAIN_MAP = CONTROL_NODE_OPERATION_COUNT + 3;
-
-	/**
-	 * The operation id for the '<em>Validate Incoming Outgoing Edges</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DECISION_NODE___VALIDATE_INCOMING_OUTGOING_EDGES__DIAGNOSTICCHAIN_MAP = CONTROL_NODE_OPERATION_COUNT + 4;
-
-	/**
-	 * The operation id for the '<em>Validate Incoming Control One Input Parameter</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DECISION_NODE___VALIDATE_INCOMING_CONTROL_ONE_INPUT_PARAMETER__DIAGNOSTICCHAIN_MAP = CONTROL_NODE_OPERATION_COUNT + 5;
-
-	/**
 	 * The operation id for the '<em>Validate Parameters</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int DECISION_NODE___VALIDATE_PARAMETERS__DIAGNOSTICCHAIN_MAP = CONTROL_NODE_OPERATION_COUNT + 6;
+	int DECISION_NODE___VALIDATE_PARAMETERS__DIAGNOSTICCHAIN_MAP = CONTROL_NODE_OPERATION_COUNT + 0;
 
 	/**
 	 * The operation id for the '<em>Validate Incoming Object One Input Parameter</em>' operation.
@@ -142648,7 +142602,61 @@
 	 * @generated
 	 * @ordered
 	 */
-	int DECISION_NODE___VALIDATE_INCOMING_OBJECT_ONE_INPUT_PARAMETER__DIAGNOSTICCHAIN_MAP = CONTROL_NODE_OPERATION_COUNT + 7;
+	int DECISION_NODE___VALIDATE_INCOMING_OBJECT_ONE_INPUT_PARAMETER__DIAGNOSTICCHAIN_MAP = CONTROL_NODE_OPERATION_COUNT + 1;
+
+	/**
+	 * The operation id for the '<em>Validate Incoming Outgoing Edges</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DECISION_NODE___VALIDATE_INCOMING_OUTGOING_EDGES__DIAGNOSTICCHAIN_MAP = CONTROL_NODE_OPERATION_COUNT + 2;
+
+	/**
+	 * The operation id for the '<em>Validate Incoming Control One Input Parameter</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DECISION_NODE___VALIDATE_INCOMING_CONTROL_ONE_INPUT_PARAMETER__DIAGNOSTICCHAIN_MAP = CONTROL_NODE_OPERATION_COUNT + 3;
+
+	/**
+	 * The operation id for the '<em>Validate Two Input Parameters</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DECISION_NODE___VALIDATE_TWO_INPUT_PARAMETERS__DIAGNOSTICCHAIN_MAP = CONTROL_NODE_OPERATION_COUNT + 4;
+
+	/**
+	 * The operation id for the '<em>Validate Decision Input Flow Incoming</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DECISION_NODE___VALIDATE_DECISION_INPUT_FLOW_INCOMING__DIAGNOSTICCHAIN_MAP = CONTROL_NODE_OPERATION_COUNT + 5;
+
+	/**
+	 * The operation id for the '<em>Validate Zero Input Parameters</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DECISION_NODE___VALIDATE_ZERO_INPUT_PARAMETERS__DIAGNOSTICCHAIN_MAP = CONTROL_NODE_OPERATION_COUNT + 6;
+
+	/**
+	 * The operation id for the '<em>Validate Edges</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DECISION_NODE___VALIDATE_EDGES__DIAGNOSTICCHAIN_MAP = CONTROL_NODE_OPERATION_COUNT + 7;
 
 	/**
 	 * The number of operations of the '<em>Decision Node</em>' class.
@@ -142777,6 +142785,15 @@
 	int OBJECT_FLOW__REDEFINITION_CONTEXT = ACTIVITY_EDGE__REDEFINITION_CONTEXT;
 
 	/**
+	 * The feature id for the '<em><b>Activity</b></em>' container reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int OBJECT_FLOW__ACTIVITY = ACTIVITY_EDGE__ACTIVITY;
+
+	/**
 	 * The feature id for the '<em><b>Guard</b></em>' containment reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -142786,15 +142803,6 @@
 	int OBJECT_FLOW__GUARD = ACTIVITY_EDGE__GUARD;
 
 	/**
-	 * The feature id for the '<em><b>In Group</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int OBJECT_FLOW__IN_GROUP = ACTIVITY_EDGE__IN_GROUP;
-
-	/**
 	 * The feature id for the '<em><b>In Partition</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -142858,13 +142866,13 @@
 	int OBJECT_FLOW__WEIGHT = ACTIVITY_EDGE__WEIGHT;
 
 	/**
-	 * The feature id for the '<em><b>Activity</b></em>' container reference.
+	 * The feature id for the '<em><b>In Group</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int OBJECT_FLOW__ACTIVITY = ACTIVITY_EDGE__ACTIVITY;
+	int OBJECT_FLOW__IN_GROUP = ACTIVITY_EDGE__IN_GROUP;
 
 	/**
 	 * The feature id for the '<em><b>Is Multicast</b></em>' attribute.
@@ -143245,15 +143253,6 @@
 	int OBJECT_FLOW___MUST_BE_OWNED = ACTIVITY_EDGE___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int OBJECT_FLOW___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = ACTIVITY_EDGE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -143272,6 +143271,15 @@
 	int OBJECT_FLOW___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = ACTIVITY_EDGE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int OBJECT_FLOW___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = ACTIVITY_EDGE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -143434,31 +143442,13 @@
 	int OBJECT_FLOW___VALIDATE_STRUCTURED_NODE__DIAGNOSTICCHAIN_MAP = ACTIVITY_EDGE___VALIDATE_STRUCTURED_NODE__DIAGNOSTICCHAIN_MAP;
 
 	/**
-	 * The operation id for the '<em>Validate Input And Output Parameter</em>' operation.
+	 * The operation id for the '<em>Validate Is Multicast Or Is Multireceive</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int OBJECT_FLOW___VALIDATE_INPUT_AND_OUTPUT_PARAMETER__DIAGNOSTICCHAIN_MAP = ACTIVITY_EDGE_OPERATION_COUNT + 0;
-
-	/**
-	 * The operation id for the '<em>Validate No Actions</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int OBJECT_FLOW___VALIDATE_NO_ACTIONS__DIAGNOSTICCHAIN_MAP = ACTIVITY_EDGE_OPERATION_COUNT + 1;
-
-	/**
-	 * The operation id for the '<em>Validate Transformation Behaviour</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int OBJECT_FLOW___VALIDATE_TRANSFORMATION_BEHAVIOUR__DIAGNOSTICCHAIN_MAP = ACTIVITY_EDGE_OPERATION_COUNT + 2;
+	int OBJECT_FLOW___VALIDATE_IS_MULTICAST_OR_IS_MULTIRECEIVE__DIAGNOSTICCHAIN_MAP = ACTIVITY_EDGE_OPERATION_COUNT + 0;
 
 	/**
 	 * The operation id for the '<em>Validate Selection Behaviour</em>' operation.
@@ -143467,7 +143457,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int OBJECT_FLOW___VALIDATE_SELECTION_BEHAVIOUR__DIAGNOSTICCHAIN_MAP = ACTIVITY_EDGE_OPERATION_COUNT + 3;
+	int OBJECT_FLOW___VALIDATE_SELECTION_BEHAVIOUR__DIAGNOSTICCHAIN_MAP = ACTIVITY_EDGE_OPERATION_COUNT + 1;
 
 	/**
 	 * The operation id for the '<em>Validate Compatible Types</em>' operation.
@@ -143476,16 +143466,34 @@
 	 * @generated
 	 * @ordered
 	 */
-	int OBJECT_FLOW___VALIDATE_COMPATIBLE_TYPES__DIAGNOSTICCHAIN_MAP = ACTIVITY_EDGE_OPERATION_COUNT + 4;
+	int OBJECT_FLOW___VALIDATE_COMPATIBLE_TYPES__DIAGNOSTICCHAIN_MAP = ACTIVITY_EDGE_OPERATION_COUNT + 2;
 
 	/**
-	 * The operation id for the '<em>Validate Same Upper Bounds</em>' operation.
+	 * The operation id for the '<em>Validate No Actions</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int OBJECT_FLOW___VALIDATE_SAME_UPPER_BOUNDS__DIAGNOSTICCHAIN_MAP = ACTIVITY_EDGE_OPERATION_COUNT + 5;
+	int OBJECT_FLOW___VALIDATE_NO_ACTIONS__DIAGNOSTICCHAIN_MAP = ACTIVITY_EDGE_OPERATION_COUNT + 3;
+
+	/**
+	 * The operation id for the '<em>Validate Input And Output Parameter</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int OBJECT_FLOW___VALIDATE_INPUT_AND_OUTPUT_PARAMETER__DIAGNOSTICCHAIN_MAP = ACTIVITY_EDGE_OPERATION_COUNT + 4;
+
+	/**
+	 * The operation id for the '<em>Validate Transformation Behaviour</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int OBJECT_FLOW___VALIDATE_TRANSFORMATION_BEHAVIOUR__DIAGNOSTICCHAIN_MAP = ACTIVITY_EDGE_OPERATION_COUNT + 5;
 
 	/**
 	 * The operation id for the '<em>Validate Target</em>' operation.
@@ -143497,13 +143505,13 @@
 	int OBJECT_FLOW___VALIDATE_TARGET__DIAGNOSTICCHAIN_MAP = ACTIVITY_EDGE_OPERATION_COUNT + 6;
 
 	/**
-	 * The operation id for the '<em>Validate Is Multicast Or Is Multireceive</em>' operation.
+	 * The operation id for the '<em>Validate Same Upper Bounds</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int OBJECT_FLOW___VALIDATE_IS_MULTICAST_OR_IS_MULTIRECEIVE__DIAGNOSTICCHAIN_MAP = ACTIVITY_EDGE_OPERATION_COUNT + 7;
+	int OBJECT_FLOW___VALIDATE_SAME_UPPER_BOUNDS__DIAGNOSTICCHAIN_MAP = ACTIVITY_EDGE_OPERATION_COUNT + 7;
 
 	/**
 	 * The number of operations of the '<em>Object Flow</em>' class.
@@ -143632,7 +143640,7 @@
 	int DESTROY_LINK_ACTION__REDEFINITION_CONTEXT = WRITE_LINK_ACTION__REDEFINITION_CONTEXT;
 
 	/**
-	 * The feature id for the '<em><b>Activity</b></em>' container reference.
+	 * The feature id for the '<em><b>Activity</b></em>' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -143641,15 +143649,6 @@
 	int DESTROY_LINK_ACTION__ACTIVITY = WRITE_LINK_ACTION__ACTIVITY;
 
 	/**
-	 * The feature id for the '<em><b>In Group</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DESTROY_LINK_ACTION__IN_GROUP = WRITE_LINK_ACTION__IN_GROUP;
-
-	/**
 	 * The feature id for the '<em><b>In Partition</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -143695,6 +143694,15 @@
 	int DESTROY_LINK_ACTION__INCOMING = WRITE_LINK_ACTION__INCOMING;
 
 	/**
+	 * The feature id for the '<em><b>In Group</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DESTROY_LINK_ACTION__IN_GROUP = WRITE_LINK_ACTION__IN_GROUP;
+
+	/**
 	 * The feature id for the '<em><b>Redefined Node</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -144127,15 +144135,6 @@
 	int DESTROY_LINK_ACTION___MUST_BE_OWNED = WRITE_LINK_ACTION___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DESTROY_LINK_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = WRITE_LINK_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -144154,6 +144153,15 @@
 	int DESTROY_LINK_ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = WRITE_LINK_ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DESTROY_LINK_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = WRITE_LINK_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -144793,6 +144801,24 @@
 	int LINK_END_DESTRUCTION_DATA___MUST_BE_OWNED = LINK_END_DATA___MUST_BE_OWNED;
 
 	/**
+	 * The operation id for the '<em>Validate Property Is Association End</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LINK_END_DESTRUCTION_DATA___VALIDATE_PROPERTY_IS_ASSOCIATION_END__DIAGNOSTICCHAIN_MAP = LINK_END_DATA___VALIDATE_PROPERTY_IS_ASSOCIATION_END__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Validate End Object Input Pin</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LINK_END_DESTRUCTION_DATA___VALIDATE_END_OBJECT_INPUT_PIN__DIAGNOSTICCHAIN_MAP = LINK_END_DATA___VALIDATE_END_OBJECT_INPUT_PIN__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Validate Same Type</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -144811,24 +144837,6 @@
 	int LINK_END_DESTRUCTION_DATA___VALIDATE_MULTIPLICITY__DIAGNOSTICCHAIN_MAP = LINK_END_DATA___VALIDATE_MULTIPLICITY__DIAGNOSTICCHAIN_MAP;
 
 	/**
-	 * The operation id for the '<em>Validate End Object Input Pin</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LINK_END_DESTRUCTION_DATA___VALIDATE_END_OBJECT_INPUT_PIN__DIAGNOSTICCHAIN_MAP = LINK_END_DATA___VALIDATE_END_OBJECT_INPUT_PIN__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Validate Property Is Association End</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LINK_END_DESTRUCTION_DATA___VALIDATE_PROPERTY_IS_ASSOCIATION_END__DIAGNOSTICCHAIN_MAP = LINK_END_DATA___VALIDATE_PROPERTY_IS_ASSOCIATION_END__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Qualifiers</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -144838,22 +144846,22 @@
 	int LINK_END_DESTRUCTION_DATA___VALIDATE_QUALIFIERS__DIAGNOSTICCHAIN_MAP = LINK_END_DATA___VALIDATE_QUALIFIERS__DIAGNOSTICCHAIN_MAP;
 
 	/**
-	 * The operation id for the '<em>Validate Unlimited Natural And Multiplicity</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LINK_END_DESTRUCTION_DATA___VALIDATE_UNLIMITED_NATURAL_AND_MULTIPLICITY__DIAGNOSTICCHAIN_MAP = LINK_END_DATA_OPERATION_COUNT + 0;
-
-	/**
 	 * The operation id for the '<em>Validate Destroy Link Action</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int LINK_END_DESTRUCTION_DATA___VALIDATE_DESTROY_LINK_ACTION__DIAGNOSTICCHAIN_MAP = LINK_END_DATA_OPERATION_COUNT + 1;
+	int LINK_END_DESTRUCTION_DATA___VALIDATE_DESTROY_LINK_ACTION__DIAGNOSTICCHAIN_MAP = LINK_END_DATA_OPERATION_COUNT + 0;
+
+	/**
+	 * The operation id for the '<em>Validate Unlimited Natural And Multiplicity</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LINK_END_DESTRUCTION_DATA___VALIDATE_UNLIMITED_NATURAL_AND_MULTIPLICITY__DIAGNOSTICCHAIN_MAP = LINK_END_DATA_OPERATION_COUNT + 1;
 
 	/**
 	 * The number of operations of the '<em>Link End Destruction Data</em>' class.
@@ -144982,7 +144990,7 @@
 	int DESTROY_OBJECT_ACTION__REDEFINITION_CONTEXT = ACTION__REDEFINITION_CONTEXT;
 
 	/**
-	 * The feature id for the '<em><b>Activity</b></em>' container reference.
+	 * The feature id for the '<em><b>Activity</b></em>' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -144991,15 +144999,6 @@
 	int DESTROY_OBJECT_ACTION__ACTIVITY = ACTION__ACTIVITY;
 
 	/**
-	 * The feature id for the '<em><b>In Group</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DESTROY_OBJECT_ACTION__IN_GROUP = ACTION__IN_GROUP;
-
-	/**
 	 * The feature id for the '<em><b>In Partition</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -145045,6 +145044,15 @@
 	int DESTROY_OBJECT_ACTION__INCOMING = ACTION__INCOMING;
 
 	/**
+	 * The feature id for the '<em><b>In Group</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DESTROY_OBJECT_ACTION__IN_GROUP = ACTION__IN_GROUP;
+
+	/**
 	 * The feature id for the '<em><b>Redefined Node</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -145486,15 +145494,6 @@
 	int DESTROY_OBJECT_ACTION___MUST_BE_OWNED = ACTION___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DESTROY_OBJECT_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -145513,6 +145512,15 @@
 	int DESTROY_OBJECT_ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DESTROY_OBJECT_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -146197,15 +146205,6 @@
 	int MESSAGE_OCCURRENCE_SPECIFICATION___MUST_BE_OWNED = OCCURRENCE_SPECIFICATION___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MESSAGE_OCCURRENCE_SPECIFICATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = OCCURRENCE_SPECIFICATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -146224,6 +146223,15 @@
 	int MESSAGE_OCCURRENCE_SPECIFICATION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = OCCURRENCE_SPECIFICATION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MESSAGE_OCCURRENCE_SPECIFICATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = OCCURRENCE_SPECIFICATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -146818,15 +146826,6 @@
 	int DESTRUCTION_OCCURRENCE_SPECIFICATION___MUST_BE_OWNED = MESSAGE_OCCURRENCE_SPECIFICATION___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DESTRUCTION_OCCURRENCE_SPECIFICATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = MESSAGE_OCCURRENCE_SPECIFICATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -146845,6 +146844,15 @@
 	int DESTRUCTION_OCCURRENCE_SPECIFICATION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = MESSAGE_OCCURRENCE_SPECIFICATION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DESTRUCTION_OCCURRENCE_SPECIFICATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = MESSAGE_OCCURRENCE_SPECIFICATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -147790,15 +147798,6 @@
 	int NODE___MUST_BE_OWNED = CLASS___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = CLASS___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -147817,6 +147816,15 @@
 	int NODE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = CLASS___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = CLASS___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -148114,24 +148122,6 @@
 	int NODE___PARAMETERABLE_ELEMENTS = CLASS___PARAMETERABLE_ELEMENTS;
 
 	/**
-	 * The operation id for the '<em>Validate Specialize Type</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int NODE___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP = CLASS___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Validate Maps To Generalization Set</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int NODE___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP = CLASS___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Non Final Parents</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -148150,6 +148140,24 @@
 	int NODE___VALIDATE_NO_CYCLES_IN_GENERALIZATION__DIAGNOSTICCHAIN_MAP = CLASS___VALIDATE_NO_CYCLES_IN_GENERALIZATION__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Specialize Type</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int NODE___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP = CLASS___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Validate Maps To Generalization Set</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int NODE___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP = CLASS___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Get All Attributes</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -149293,15 +149301,6 @@
 	int DEVICE___MUST_BE_OWNED = NODE___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DEVICE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -149320,6 +149319,15 @@
 	int DEVICE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = NODE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DEVICE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -149617,24 +149625,6 @@
 	int DEVICE___PARAMETERABLE_ELEMENTS = NODE___PARAMETERABLE_ELEMENTS;
 
 	/**
-	 * The operation id for the '<em>Validate Specialize Type</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DEVICE___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP = NODE___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Validate Maps To Generalization Set</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DEVICE___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP = NODE___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Non Final Parents</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -149653,6 +149643,24 @@
 	int DEVICE___VALIDATE_NO_CYCLES_IN_GENERALIZATION__DIAGNOSTICCHAIN_MAP = NODE___VALIDATE_NO_CYCLES_IN_GENERALIZATION__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Specialize Type</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DEVICE___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP = NODE___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Validate Maps To Generalization Set</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DEVICE___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP = NODE___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Get All Attributes</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -150436,15 +150444,6 @@
 	int DURATION___MUST_BE_OWNED = VALUE_SPECIFICATION___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DURATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = VALUE_SPECIFICATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -150463,6 +150462,15 @@
 	int DURATION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = VALUE_SPECIFICATION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DURATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = VALUE_SPECIFICATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -151093,15 +151101,6 @@
 	int OBSERVATION___MUST_BE_OWNED = PACKAGEABLE_ELEMENT___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int OBSERVATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = PACKAGEABLE_ELEMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -151120,6 +151119,15 @@
 	int OBSERVATION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = PACKAGEABLE_ELEMENT___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int OBSERVATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = PACKAGEABLE_ELEMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -151714,15 +151722,6 @@
 	int INTERVAL_CONSTRAINT___MUST_BE_OWNED = CONSTRAINT___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERVAL_CONSTRAINT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = CONSTRAINT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -151741,6 +151740,15 @@
 	int INTERVAL_CONSTRAINT___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = CONSTRAINT___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERVAL_CONSTRAINT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = CONSTRAINT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -151849,13 +151857,13 @@
 	int INTERVAL_CONSTRAINT___IS_TEMPLATE_PARAMETER = CONSTRAINT___IS_TEMPLATE_PARAMETER;
 
 	/**
-	 * The operation id for the '<em>Validate Boolean Value</em>' operation.
+	 * The operation id for the '<em>Validate Not Apply To Self</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int INTERVAL_CONSTRAINT___VALIDATE_BOOLEAN_VALUE__DIAGNOSTICCHAIN_MAP = CONSTRAINT___VALIDATE_BOOLEAN_VALUE__DIAGNOSTICCHAIN_MAP;
+	int INTERVAL_CONSTRAINT___VALIDATE_NOT_APPLY_TO_SELF__DIAGNOSTICCHAIN_MAP = CONSTRAINT___VALIDATE_NOT_APPLY_TO_SELF__DIAGNOSTICCHAIN_MAP;
 
 	/**
 	 * The operation id for the '<em>Validate No Side Effects</em>' operation.
@@ -151867,13 +151875,13 @@
 	int INTERVAL_CONSTRAINT___VALIDATE_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP = CONSTRAINT___VALIDATE_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP;
 
 	/**
-	 * The operation id for the '<em>Validate Not Apply To Self</em>' operation.
+	 * The operation id for the '<em>Validate Boolean Value</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int INTERVAL_CONSTRAINT___VALIDATE_NOT_APPLY_TO_SELF__DIAGNOSTICCHAIN_MAP = CONSTRAINT___VALIDATE_NOT_APPLY_TO_SELF__DIAGNOSTICCHAIN_MAP;
+	int INTERVAL_CONSTRAINT___VALIDATE_BOOLEAN_VALUE__DIAGNOSTICCHAIN_MAP = CONSTRAINT___VALIDATE_BOOLEAN_VALUE__DIAGNOSTICCHAIN_MAP;
 
 	/**
 	 * The operation id for the '<em>Validate Value Specification Boolean</em>' operation.
@@ -152380,15 +152388,6 @@
 	int DURATION_CONSTRAINT___MUST_BE_OWNED = INTERVAL_CONSTRAINT___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DURATION_CONSTRAINT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = INTERVAL_CONSTRAINT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -152407,6 +152406,15 @@
 	int DURATION_CONSTRAINT___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = INTERVAL_CONSTRAINT___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DURATION_CONSTRAINT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = INTERVAL_CONSTRAINT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -152515,13 +152523,13 @@
 	int DURATION_CONSTRAINT___IS_TEMPLATE_PARAMETER = INTERVAL_CONSTRAINT___IS_TEMPLATE_PARAMETER;
 
 	/**
-	 * The operation id for the '<em>Validate Boolean Value</em>' operation.
+	 * The operation id for the '<em>Validate Not Apply To Self</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int DURATION_CONSTRAINT___VALIDATE_BOOLEAN_VALUE__DIAGNOSTICCHAIN_MAP = INTERVAL_CONSTRAINT___VALIDATE_BOOLEAN_VALUE__DIAGNOSTICCHAIN_MAP;
+	int DURATION_CONSTRAINT___VALIDATE_NOT_APPLY_TO_SELF__DIAGNOSTICCHAIN_MAP = INTERVAL_CONSTRAINT___VALIDATE_NOT_APPLY_TO_SELF__DIAGNOSTICCHAIN_MAP;
 
 	/**
 	 * The operation id for the '<em>Validate No Side Effects</em>' operation.
@@ -152533,13 +152541,13 @@
 	int DURATION_CONSTRAINT___VALIDATE_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP = INTERVAL_CONSTRAINT___VALIDATE_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP;
 
 	/**
-	 * The operation id for the '<em>Validate Not Apply To Self</em>' operation.
+	 * The operation id for the '<em>Validate Boolean Value</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int DURATION_CONSTRAINT___VALIDATE_NOT_APPLY_TO_SELF__DIAGNOSTICCHAIN_MAP = INTERVAL_CONSTRAINT___VALIDATE_NOT_APPLY_TO_SELF__DIAGNOSTICCHAIN_MAP;
+	int DURATION_CONSTRAINT___VALIDATE_BOOLEAN_VALUE__DIAGNOSTICCHAIN_MAP = INTERVAL_CONSTRAINT___VALIDATE_BOOLEAN_VALUE__DIAGNOSTICCHAIN_MAP;
 
 	/**
 	 * The operation id for the '<em>Validate Value Specification Boolean</em>' operation.
@@ -153046,15 +153054,6 @@
 	int INTERVAL___MUST_BE_OWNED = VALUE_SPECIFICATION___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INTERVAL___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = VALUE_SPECIFICATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -153073,6 +153072,15 @@
 	int INTERVAL___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = VALUE_SPECIFICATION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INTERVAL___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = VALUE_SPECIFICATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -153730,15 +153738,6 @@
 	int DURATION_INTERVAL___MUST_BE_OWNED = INTERVAL___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DURATION_INTERVAL___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = INTERVAL___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -153757,6 +153756,15 @@
 	int DURATION_INTERVAL___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = INTERVAL___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DURATION_INTERVAL___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = INTERVAL___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -154405,15 +154413,6 @@
 	int DURATION_OBSERVATION___MUST_BE_OWNED = OBSERVATION___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int DURATION_OBSERVATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = OBSERVATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -154432,6 +154431,15 @@
 	int DURATION_OBSERVATION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = OBSERVATION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int DURATION_OBSERVATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = OBSERVATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -155395,15 +155403,6 @@
 	int EXECUTION_ENVIRONMENT___MUST_BE_OWNED = NODE___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int EXECUTION_ENVIRONMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -155422,6 +155421,15 @@
 	int EXECUTION_ENVIRONMENT___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = NODE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EXECUTION_ENVIRONMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -155719,24 +155727,6 @@
 	int EXECUTION_ENVIRONMENT___PARAMETERABLE_ELEMENTS = NODE___PARAMETERABLE_ELEMENTS;
 
 	/**
-	 * The operation id for the '<em>Validate Specialize Type</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int EXECUTION_ENVIRONMENT___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP = NODE___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Validate Maps To Generalization Set</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int EXECUTION_ENVIRONMENT___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP = NODE___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Non Final Parents</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -155755,6 +155745,24 @@
 	int EXECUTION_ENVIRONMENT___VALIDATE_NO_CYCLES_IN_GENERALIZATION__DIAGNOSTICCHAIN_MAP = NODE___VALIDATE_NO_CYCLES_IN_GENERALIZATION__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Specialize Type</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EXECUTION_ENVIRONMENT___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP = NODE___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Validate Maps To Generalization Set</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EXECUTION_ENVIRONMENT___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP = NODE___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Get All Attributes</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -156556,15 +156564,6 @@
 	int EXECUTION_OCCURRENCE_SPECIFICATION___MUST_BE_OWNED = OCCURRENCE_SPECIFICATION___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int EXECUTION_OCCURRENCE_SPECIFICATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = OCCURRENCE_SPECIFICATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -156583,6 +156582,15 @@
 	int EXECUTION_OCCURRENCE_SPECIFICATION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = OCCURRENCE_SPECIFICATION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EXECUTION_OCCURRENCE_SPECIFICATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = OCCURRENCE_SPECIFICATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -156799,7 +156807,7 @@
 	int EXPANSION_NODE__REDEFINITION_CONTEXT = OBJECT_NODE__REDEFINITION_CONTEXT;
 
 	/**
-	 * The feature id for the '<em><b>Activity</b></em>' container reference.
+	 * The feature id for the '<em><b>Activity</b></em>' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -156808,15 +156816,6 @@
 	int EXPANSION_NODE__ACTIVITY = OBJECT_NODE__ACTIVITY;
 
 	/**
-	 * The feature id for the '<em><b>In Group</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int EXPANSION_NODE__IN_GROUP = OBJECT_NODE__IN_GROUP;
-
-	/**
 	 * The feature id for the '<em><b>In Partition</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -156862,6 +156861,15 @@
 	int EXPANSION_NODE__INCOMING = OBJECT_NODE__INCOMING;
 
 	/**
+	 * The feature id for the '<em><b>In Group</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EXPANSION_NODE__IN_GROUP = OBJECT_NODE__IN_GROUP;
+
+	/**
 	 * The feature id for the '<em><b>Redefined Node</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -157285,15 +157293,6 @@
 	int EXPANSION_NODE___MUST_BE_OWNED = OBJECT_NODE___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int EXPANSION_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = OBJECT_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -157312,6 +157311,15 @@
 	int EXPANSION_NODE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = OBJECT_NODE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EXPANSION_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = OBJECT_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -157465,13 +157473,13 @@
 	int EXPANSION_NODE___VALIDATE_OWNED_STRUCTURED_NODE__DIAGNOSTICCHAIN_MAP = OBJECT_NODE___VALIDATE_OWNED_STRUCTURED_NODE__DIAGNOSTICCHAIN_MAP;
 
 	/**
-	 * The operation id for the '<em>Validate Input Output Parameter</em>' operation.
+	 * The operation id for the '<em>Validate Object Flow Edges</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int EXPANSION_NODE___VALIDATE_INPUT_OUTPUT_PARAMETER__DIAGNOSTICCHAIN_MAP = OBJECT_NODE___VALIDATE_INPUT_OUTPUT_PARAMETER__DIAGNOSTICCHAIN_MAP;
+	int EXPANSION_NODE___VALIDATE_OBJECT_FLOW_EDGES__DIAGNOSTICCHAIN_MAP = OBJECT_NODE___VALIDATE_OBJECT_FLOW_EDGES__DIAGNOSTICCHAIN_MAP;
 
 	/**
 	 * The operation id for the '<em>Validate Selection Behavior</em>' operation.
@@ -157483,13 +157491,13 @@
 	int EXPANSION_NODE___VALIDATE_SELECTION_BEHAVIOR__DIAGNOSTICCHAIN_MAP = OBJECT_NODE___VALIDATE_SELECTION_BEHAVIOR__DIAGNOSTICCHAIN_MAP;
 
 	/**
-	 * The operation id for the '<em>Validate Object Flow Edges</em>' operation.
+	 * The operation id for the '<em>Validate Input Output Parameter</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int EXPANSION_NODE___VALIDATE_OBJECT_FLOW_EDGES__DIAGNOSTICCHAIN_MAP = OBJECT_NODE___VALIDATE_OBJECT_FLOW_EDGES__DIAGNOSTICCHAIN_MAP;
+	int EXPANSION_NODE___VALIDATE_INPUT_OUTPUT_PARAMETER__DIAGNOSTICCHAIN_MAP = OBJECT_NODE___VALIDATE_INPUT_OUTPUT_PARAMETER__DIAGNOSTICCHAIN_MAP;
 
 	/**
 	 * The operation id for the '<em>Validate Region As Input Or Output</em>' operation.
@@ -157627,7 +157635,7 @@
 	int EXPANSION_REGION__REDEFINITION_CONTEXT = STRUCTURED_ACTIVITY_NODE__REDEFINITION_CONTEXT;
 
 	/**
-	 * The feature id for the '<em><b>Activity</b></em>' container reference.
+	 * The feature id for the '<em><b>Activity</b></em>' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -157636,15 +157644,6 @@
 	int EXPANSION_REGION__ACTIVITY = STRUCTURED_ACTIVITY_NODE__ACTIVITY;
 
 	/**
-	 * The feature id for the '<em><b>In Group</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int EXPANSION_REGION__IN_GROUP = STRUCTURED_ACTIVITY_NODE__IN_GROUP;
-
-	/**
 	 * The feature id for the '<em><b>In Partition</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -157690,6 +157689,15 @@
 	int EXPANSION_REGION__INCOMING = STRUCTURED_ACTIVITY_NODE__INCOMING;
 
 	/**
+	 * The feature id for the '<em><b>In Group</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EXPANSION_REGION__IN_GROUP = STRUCTURED_ACTIVITY_NODE__IN_GROUP;
+
+	/**
 	 * The feature id for the '<em><b>Redefined Node</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -157816,6 +157824,15 @@
 	int EXPANSION_REGION__MEMBER = STRUCTURED_ACTIVITY_NODE__MEMBER;
 
 	/**
+	 * The feature id for the '<em><b>Contained Edge</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EXPANSION_REGION__CONTAINED_EDGE = STRUCTURED_ACTIVITY_NODE__CONTAINED_EDGE;
+
+	/**
 	 * The feature id for the '<em><b>Contained Node</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -157825,7 +157842,7 @@
 	int EXPANSION_REGION__CONTAINED_NODE = STRUCTURED_ACTIVITY_NODE__CONTAINED_NODE;
 
 	/**
-	 * The feature id for the '<em><b>In Activity</b></em>' container reference.
+	 * The feature id for the '<em><b>In Activity</b></em>' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -157852,15 +157869,6 @@
 	int EXPANSION_REGION__SUPER_GROUP = STRUCTURED_ACTIVITY_NODE__SUPER_GROUP;
 
 	/**
-	 * The feature id for the '<em><b>Contained Edge</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int EXPANSION_REGION__CONTAINED_EDGE = STRUCTURED_ACTIVITY_NODE__CONTAINED_EDGE;
-
-	/**
 	 * The feature id for the '<em><b>Must Isolate</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -158284,15 +158292,6 @@
 	int EXPANSION_REGION___MUST_BE_OWNED = STRUCTURED_ACTIVITY_NODE___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int EXPANSION_REGION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = STRUCTURED_ACTIVITY_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -158311,6 +158310,15 @@
 	int EXPANSION_REGION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = STRUCTURED_ACTIVITY_NODE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EXPANSION_REGION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = STRUCTURED_ACTIVITY_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -158572,15 +158580,6 @@
 	int EXPANSION_REGION___GET_OWNED_MEMBERS = STRUCTURED_ACTIVITY_NODE___GET_OWNED_MEMBERS;
 
 	/**
-	 * The operation id for the '<em>Validate Nodes And Edges</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int EXPANSION_REGION___VALIDATE_NODES_AND_EDGES__DIAGNOSTICCHAIN_MAP = STRUCTURED_ACTIVITY_NODE___VALIDATE_NODES_AND_EDGES__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Group Owned</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -158599,13 +158598,22 @@
 	int EXPANSION_REGION___VALIDATE_NOT_CONTAINED__DIAGNOSTICCHAIN_MAP = STRUCTURED_ACTIVITY_NODE___VALIDATE_NOT_CONTAINED__DIAGNOSTICCHAIN_MAP;
 
 	/**
-	 * The operation id for the '<em>Validate Output Pin Edges</em>' operation.
+	 * The operation id for the '<em>Validate Nodes And Edges</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int EXPANSION_REGION___VALIDATE_OUTPUT_PIN_EDGES__DIAGNOSTICCHAIN_MAP = STRUCTURED_ACTIVITY_NODE___VALIDATE_OUTPUT_PIN_EDGES__DIAGNOSTICCHAIN_MAP;
+	int EXPANSION_REGION___VALIDATE_NODES_AND_EDGES__DIAGNOSTICCHAIN_MAP = STRUCTURED_ACTIVITY_NODE___VALIDATE_NODES_AND_EDGES__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Validate Input Pin Edges</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int EXPANSION_REGION___VALIDATE_INPUT_PIN_EDGES__DIAGNOSTICCHAIN_MAP = STRUCTURED_ACTIVITY_NODE___VALIDATE_INPUT_PIN_EDGES__DIAGNOSTICCHAIN_MAP;
 
 	/**
 	 * The operation id for the '<em>Validate Edges</em>' operation.
@@ -158617,13 +158625,13 @@
 	int EXPANSION_REGION___VALIDATE_EDGES__DIAGNOSTICCHAIN_MAP = STRUCTURED_ACTIVITY_NODE___VALIDATE_EDGES__DIAGNOSTICCHAIN_MAP;
 
 	/**
-	 * The operation id for the '<em>Validate Input Pin Edges</em>' operation.
+	 * The operation id for the '<em>Validate Output Pin Edges</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int EXPANSION_REGION___VALIDATE_INPUT_PIN_EDGES__DIAGNOSTICCHAIN_MAP = STRUCTURED_ACTIVITY_NODE___VALIDATE_INPUT_PIN_EDGES__DIAGNOSTICCHAIN_MAP;
+	int EXPANSION_REGION___VALIDATE_OUTPUT_PIN_EDGES__DIAGNOSTICCHAIN_MAP = STRUCTURED_ACTIVITY_NODE___VALIDATE_OUTPUT_PIN_EDGES__DIAGNOSTICCHAIN_MAP;
 
 	/**
 	 * The operation id for the '<em>Validate Expansion Nodes</em>' operation.
@@ -159310,15 +159318,6 @@
 	int FINAL_STATE___MUST_BE_OWNED = STATE___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FINAL_STATE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = STATE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -159337,6 +159336,15 @@
 	int FINAL_STATE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = STATE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FINAL_STATE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = STATE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -159607,15 +159615,6 @@
 	int FINAL_STATE___VALIDATE_ENTRY_OR_EXIT__DIAGNOSTICCHAIN_MAP = STATE___VALIDATE_ENTRY_OR_EXIT__DIAGNOSTICCHAIN_MAP;
 
 	/**
-	 * The operation id for the '<em>Validate Submachine States</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FINAL_STATE___VALIDATE_SUBMACHINE_STATES__DIAGNOSTICCHAIN_MAP = STATE___VALIDATE_SUBMACHINE_STATES__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Composite States</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -159643,6 +159642,15 @@
 	int FINAL_STATE___VALIDATE_SUBMACHINE_OR_REGIONS__DIAGNOSTICCHAIN_MAP = STATE___VALIDATE_SUBMACHINE_OR_REGIONS__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Submachine States</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FINAL_STATE___VALIDATE_SUBMACHINE_STATES__DIAGNOSTICCHAIN_MAP = STATE___VALIDATE_SUBMACHINE_STATES__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Is Composite</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -159697,31 +159705,13 @@
 	int FINAL_STATE___REDEFINITION_CONTEXT = STATE___REDEFINITION_CONTEXT;
 
 	/**
-	 * The operation id for the '<em>Validate No Exit Behavior</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FINAL_STATE___VALIDATE_NO_EXIT_BEHAVIOR__DIAGNOSTICCHAIN_MAP = STATE_OPERATION_COUNT + 0;
-
-	/**
 	 * The operation id for the '<em>Validate No Outgoing Transitions</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int FINAL_STATE___VALIDATE_NO_OUTGOING_TRANSITIONS__DIAGNOSTICCHAIN_MAP = STATE_OPERATION_COUNT + 1;
-
-	/**
-	 * The operation id for the '<em>Validate No Regions</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FINAL_STATE___VALIDATE_NO_REGIONS__DIAGNOSTICCHAIN_MAP = STATE_OPERATION_COUNT + 2;
+	int FINAL_STATE___VALIDATE_NO_OUTGOING_TRANSITIONS__DIAGNOSTICCHAIN_MAP = STATE_OPERATION_COUNT + 0;
 
 	/**
 	 * The operation id for the '<em>Validate Cannot Reference Submachine</em>' operation.
@@ -159730,7 +159720,16 @@
 	 * @generated
 	 * @ordered
 	 */
-	int FINAL_STATE___VALIDATE_CANNOT_REFERENCE_SUBMACHINE__DIAGNOSTICCHAIN_MAP = STATE_OPERATION_COUNT + 3;
+	int FINAL_STATE___VALIDATE_CANNOT_REFERENCE_SUBMACHINE__DIAGNOSTICCHAIN_MAP = STATE_OPERATION_COUNT + 1;
+
+	/**
+	 * The operation id for the '<em>Validate No Exit Behavior</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FINAL_STATE___VALIDATE_NO_EXIT_BEHAVIOR__DIAGNOSTICCHAIN_MAP = STATE_OPERATION_COUNT + 2;
 
 	/**
 	 * The operation id for the '<em>Validate No Entry Behavior</em>' operation.
@@ -159739,7 +159738,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int FINAL_STATE___VALIDATE_NO_ENTRY_BEHAVIOR__DIAGNOSTICCHAIN_MAP = STATE_OPERATION_COUNT + 4;
+	int FINAL_STATE___VALIDATE_NO_ENTRY_BEHAVIOR__DIAGNOSTICCHAIN_MAP = STATE_OPERATION_COUNT + 3;
 
 	/**
 	 * The operation id for the '<em>Validate No State Behavior</em>' operation.
@@ -159748,7 +159747,16 @@
 	 * @generated
 	 * @ordered
 	 */
-	int FINAL_STATE___VALIDATE_NO_STATE_BEHAVIOR__DIAGNOSTICCHAIN_MAP = STATE_OPERATION_COUNT + 5;
+	int FINAL_STATE___VALIDATE_NO_STATE_BEHAVIOR__DIAGNOSTICCHAIN_MAP = STATE_OPERATION_COUNT + 4;
+
+	/**
+	 * The operation id for the '<em>Validate No Regions</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FINAL_STATE___VALIDATE_NO_REGIONS__DIAGNOSTICCHAIN_MAP = STATE_OPERATION_COUNT + 5;
 
 	/**
 	 * The number of operations of the '<em>Final State</em>' class.
@@ -159877,7 +159885,7 @@
 	int FLOW_FINAL_NODE__REDEFINITION_CONTEXT = FINAL_NODE__REDEFINITION_CONTEXT;
 
 	/**
-	 * The feature id for the '<em><b>Activity</b></em>' container reference.
+	 * The feature id for the '<em><b>Activity</b></em>' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -159886,15 +159894,6 @@
 	int FLOW_FINAL_NODE__ACTIVITY = FINAL_NODE__ACTIVITY;
 
 	/**
-	 * The feature id for the '<em><b>In Group</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FLOW_FINAL_NODE__IN_GROUP = FINAL_NODE__IN_GROUP;
-
-	/**
 	 * The feature id for the '<em><b>In Partition</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -159940,6 +159939,15 @@
 	int FLOW_FINAL_NODE__INCOMING = FINAL_NODE__INCOMING;
 
 	/**
+	 * The feature id for the '<em><b>In Group</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FLOW_FINAL_NODE__IN_GROUP = FINAL_NODE__IN_GROUP;
+
+	/**
 	 * The feature id for the '<em><b>Redefined Node</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -160291,15 +160299,6 @@
 	int FLOW_FINAL_NODE___MUST_BE_OWNED = FINAL_NODE___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FLOW_FINAL_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = FINAL_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -160318,6 +160317,15 @@
 	int FLOW_FINAL_NODE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = FINAL_NODE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FLOW_FINAL_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = FINAL_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -160606,7 +160614,7 @@
 	int FORK_NODE__REDEFINITION_CONTEXT = CONTROL_NODE__REDEFINITION_CONTEXT;
 
 	/**
-	 * The feature id for the '<em><b>Activity</b></em>' container reference.
+	 * The feature id for the '<em><b>Activity</b></em>' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -160615,15 +160623,6 @@
 	int FORK_NODE__ACTIVITY = CONTROL_NODE__ACTIVITY;
 
 	/**
-	 * The feature id for the '<em><b>In Group</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FORK_NODE__IN_GROUP = CONTROL_NODE__IN_GROUP;
-
-	/**
 	 * The feature id for the '<em><b>In Partition</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -160669,6 +160668,15 @@
 	int FORK_NODE__INCOMING = CONTROL_NODE__INCOMING;
 
 	/**
+	 * The feature id for the '<em><b>In Group</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FORK_NODE__IN_GROUP = CONTROL_NODE__IN_GROUP;
+
+	/**
 	 * The feature id for the '<em><b>Redefined Node</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -161020,15 +161028,6 @@
 	int FORK_NODE___MUST_BE_OWNED = CONTROL_NODE___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FORK_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = CONTROL_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -161047,6 +161046,15 @@
 	int FORK_NODE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = CONTROL_NODE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FORK_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = CONTROL_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -162127,15 +162135,6 @@
 	int OPAQUE_BEHAVIOR___MUST_BE_OWNED = BEHAVIOR___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int OPAQUE_BEHAVIOR___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = BEHAVIOR___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -162154,6 +162153,15 @@
 	int OPAQUE_BEHAVIOR___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = BEHAVIOR___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int OPAQUE_BEHAVIOR___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = BEHAVIOR___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -162451,24 +162459,6 @@
 	int OPAQUE_BEHAVIOR___PARAMETERABLE_ELEMENTS = BEHAVIOR___PARAMETERABLE_ELEMENTS;
 
 	/**
-	 * The operation id for the '<em>Validate Specialize Type</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int OPAQUE_BEHAVIOR___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP = BEHAVIOR___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Validate Maps To Generalization Set</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int OPAQUE_BEHAVIOR___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP = BEHAVIOR___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Non Final Parents</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -162487,6 +162477,24 @@
 	int OPAQUE_BEHAVIOR___VALIDATE_NO_CYCLES_IN_GENERALIZATION__DIAGNOSTICCHAIN_MAP = BEHAVIOR___VALIDATE_NO_CYCLES_IN_GENERALIZATION__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Specialize Type</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int OPAQUE_BEHAVIOR___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP = BEHAVIOR___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Validate Maps To Generalization Set</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int OPAQUE_BEHAVIOR___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP = BEHAVIOR___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Get All Attributes</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -162748,24 +162756,6 @@
 	int OPAQUE_BEHAVIOR___GET_SUPER_CLASSES = BEHAVIOR___GET_SUPER_CLASSES;
 
 	/**
-	 * The operation id for the '<em>Validate Most One Behaviour</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int OPAQUE_BEHAVIOR___VALIDATE_MOST_ONE_BEHAVIOUR__DIAGNOSTICCHAIN_MAP = BEHAVIOR___VALIDATE_MOST_ONE_BEHAVIOUR__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Validate Must Realize</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int OPAQUE_BEHAVIOR___VALIDATE_MUST_REALIZE__DIAGNOSTICCHAIN_MAP = BEHAVIOR___VALIDATE_MUST_REALIZE__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Parameters Match</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -162784,6 +162774,24 @@
 	int OPAQUE_BEHAVIOR___VALIDATE_FEATURE_OF_CONTEXT_CLASSIFIER__DIAGNOSTICCHAIN_MAP = BEHAVIOR___VALIDATE_FEATURE_OF_CONTEXT_CLASSIFIER__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Must Realize</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int OPAQUE_BEHAVIOR___VALIDATE_MUST_REALIZE__DIAGNOSTICCHAIN_MAP = BEHAVIOR___VALIDATE_MUST_REALIZE__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Validate Most One Behaviour</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int OPAQUE_BEHAVIOR___VALIDATE_MOST_ONE_BEHAVIOUR__DIAGNOSTICCHAIN_MAP = BEHAVIOR___VALIDATE_MOST_ONE_BEHAVIOUR__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Get Context</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -163702,15 +163710,6 @@
 	int FUNCTION_BEHAVIOR___MUST_BE_OWNED = OPAQUE_BEHAVIOR___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FUNCTION_BEHAVIOR___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = OPAQUE_BEHAVIOR___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -163729,6 +163728,15 @@
 	int FUNCTION_BEHAVIOR___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = OPAQUE_BEHAVIOR___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FUNCTION_BEHAVIOR___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = OPAQUE_BEHAVIOR___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -164026,24 +164034,6 @@
 	int FUNCTION_BEHAVIOR___PARAMETERABLE_ELEMENTS = OPAQUE_BEHAVIOR___PARAMETERABLE_ELEMENTS;
 
 	/**
-	 * The operation id for the '<em>Validate Specialize Type</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FUNCTION_BEHAVIOR___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP = OPAQUE_BEHAVIOR___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Validate Maps To Generalization Set</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FUNCTION_BEHAVIOR___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP = OPAQUE_BEHAVIOR___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Non Final Parents</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -164062,6 +164052,24 @@
 	int FUNCTION_BEHAVIOR___VALIDATE_NO_CYCLES_IN_GENERALIZATION__DIAGNOSTICCHAIN_MAP = OPAQUE_BEHAVIOR___VALIDATE_NO_CYCLES_IN_GENERALIZATION__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Specialize Type</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FUNCTION_BEHAVIOR___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP = OPAQUE_BEHAVIOR___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Validate Maps To Generalization Set</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FUNCTION_BEHAVIOR___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP = OPAQUE_BEHAVIOR___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Get All Attributes</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -164323,24 +164331,6 @@
 	int FUNCTION_BEHAVIOR___GET_SUPER_CLASSES = OPAQUE_BEHAVIOR___GET_SUPER_CLASSES;
 
 	/**
-	 * The operation id for the '<em>Validate Most One Behaviour</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FUNCTION_BEHAVIOR___VALIDATE_MOST_ONE_BEHAVIOUR__DIAGNOSTICCHAIN_MAP = OPAQUE_BEHAVIOR___VALIDATE_MOST_ONE_BEHAVIOUR__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Validate Must Realize</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int FUNCTION_BEHAVIOR___VALIDATE_MUST_REALIZE__DIAGNOSTICCHAIN_MAP = OPAQUE_BEHAVIOR___VALIDATE_MUST_REALIZE__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Parameters Match</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -164359,6 +164349,24 @@
 	int FUNCTION_BEHAVIOR___VALIDATE_FEATURE_OF_CONTEXT_CLASSIFIER__DIAGNOSTICCHAIN_MAP = OPAQUE_BEHAVIOR___VALIDATE_FEATURE_OF_CONTEXT_CLASSIFIER__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Must Realize</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FUNCTION_BEHAVIOR___VALIDATE_MUST_REALIZE__DIAGNOSTICCHAIN_MAP = OPAQUE_BEHAVIOR___VALIDATE_MUST_REALIZE__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Validate Most One Behaviour</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int FUNCTION_BEHAVIOR___VALIDATE_MOST_ONE_BEHAVIOUR__DIAGNOSTICCHAIN_MAP = OPAQUE_BEHAVIOR___VALIDATE_MOST_ONE_BEHAVIOUR__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Get Context</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -164935,15 +164943,6 @@
 	int INFORMATION_FLOW___MUST_BE_OWNED = PACKAGEABLE_ELEMENT___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INFORMATION_FLOW___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = PACKAGEABLE_ELEMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -164962,6 +164961,15 @@
 	int INFORMATION_FLOW___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = PACKAGEABLE_ELEMENT___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INFORMATION_FLOW___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = PACKAGEABLE_ELEMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -165070,22 +165078,22 @@
 	int INFORMATION_FLOW___IS_TEMPLATE_PARAMETER = PACKAGEABLE_ELEMENT___IS_TEMPLATE_PARAMETER;
 
 	/**
-	 * The operation id for the '<em>Validate Must Conform</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INFORMATION_FLOW___VALIDATE_MUST_CONFORM__DIAGNOSTICCHAIN_MAP = PACKAGEABLE_ELEMENT_OPERATION_COUNT + 0;
-
-	/**
 	 * The operation id for the '<em>Validate Sources And Targets Kind</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int INFORMATION_FLOW___VALIDATE_SOURCES_AND_TARGETS_KIND__DIAGNOSTICCHAIN_MAP = PACKAGEABLE_ELEMENT_OPERATION_COUNT + 1;
+	int INFORMATION_FLOW___VALIDATE_SOURCES_AND_TARGETS_KIND__DIAGNOSTICCHAIN_MAP = PACKAGEABLE_ELEMENT_OPERATION_COUNT + 0;
+
+	/**
+	 * The operation id for the '<em>Validate Must Conform</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INFORMATION_FLOW___VALIDATE_MUST_CONFORM__DIAGNOSTICCHAIN_MAP = PACKAGEABLE_ELEMENT_OPERATION_COUNT + 1;
 
 	/**
 	 * The operation id for the '<em>Validate Convey Classifiers</em>' operation.
@@ -165799,15 +165807,6 @@
 	int INFORMATION_ITEM___MUST_BE_OWNED = CLASSIFIER___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INFORMATION_ITEM___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = CLASSIFIER___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -165826,6 +165825,15 @@
 	int INFORMATION_ITEM___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = CLASSIFIER___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INFORMATION_ITEM___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = CLASSIFIER___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -166123,24 +166131,6 @@
 	int INFORMATION_ITEM___PARAMETERABLE_ELEMENTS = CLASSIFIER___PARAMETERABLE_ELEMENTS;
 
 	/**
-	 * The operation id for the '<em>Validate Specialize Type</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INFORMATION_ITEM___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP = CLASSIFIER___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Validate Maps To Generalization Set</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INFORMATION_ITEM___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP = CLASSIFIER___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Non Final Parents</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -166159,6 +166149,24 @@
 	int INFORMATION_ITEM___VALIDATE_NO_CYCLES_IN_GENERALIZATION__DIAGNOSTICCHAIN_MAP = CLASSIFIER___VALIDATE_NO_CYCLES_IN_GENERALIZATION__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Specialize Type</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INFORMATION_ITEM___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP = CLASSIFIER___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Validate Maps To Generalization Set</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INFORMATION_ITEM___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP = CLASSIFIER___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Get All Attributes</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -166312,22 +166320,13 @@
 	int INFORMATION_ITEM___PARENTS = CLASSIFIER___PARENTS;
 
 	/**
-	 * The operation id for the '<em>Validate Sources And Targets</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INFORMATION_ITEM___VALIDATE_SOURCES_AND_TARGETS__DIAGNOSTICCHAIN_MAP = CLASSIFIER_OPERATION_COUNT + 0;
-
-	/**
 	 * The operation id for the '<em>Validate Has No</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int INFORMATION_ITEM___VALIDATE_HAS_NO__DIAGNOSTICCHAIN_MAP = CLASSIFIER_OPERATION_COUNT + 1;
+	int INFORMATION_ITEM___VALIDATE_HAS_NO__DIAGNOSTICCHAIN_MAP = CLASSIFIER_OPERATION_COUNT + 0;
 
 	/**
 	 * The operation id for the '<em>Validate Not Instantiable</em>' operation.
@@ -166336,7 +166335,16 @@
 	 * @generated
 	 * @ordered
 	 */
-	int INFORMATION_ITEM___VALIDATE_NOT_INSTANTIABLE__DIAGNOSTICCHAIN_MAP = CLASSIFIER_OPERATION_COUNT + 2;
+	int INFORMATION_ITEM___VALIDATE_NOT_INSTANTIABLE__DIAGNOSTICCHAIN_MAP = CLASSIFIER_OPERATION_COUNT + 1;
+
+	/**
+	 * The operation id for the '<em>Validate Sources And Targets</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INFORMATION_ITEM___VALIDATE_SOURCES_AND_TARGETS__DIAGNOSTICCHAIN_MAP = CLASSIFIER_OPERATION_COUNT + 2;
 
 	/**
 	 * The number of operations of the '<em>Information Item</em>' class.
@@ -166465,7 +166473,7 @@
 	int INITIAL_NODE__REDEFINITION_CONTEXT = CONTROL_NODE__REDEFINITION_CONTEXT;
 
 	/**
-	 * The feature id for the '<em><b>Activity</b></em>' container reference.
+	 * The feature id for the '<em><b>Activity</b></em>' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -166474,15 +166482,6 @@
 	int INITIAL_NODE__ACTIVITY = CONTROL_NODE__ACTIVITY;
 
 	/**
-	 * The feature id for the '<em><b>In Group</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INITIAL_NODE__IN_GROUP = CONTROL_NODE__IN_GROUP;
-
-	/**
 	 * The feature id for the '<em><b>In Partition</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -166528,6 +166527,15 @@
 	int INITIAL_NODE__INCOMING = CONTROL_NODE__INCOMING;
 
 	/**
+	 * The feature id for the '<em><b>In Group</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INITIAL_NODE__IN_GROUP = CONTROL_NODE__IN_GROUP;
+
+	/**
 	 * The feature id for the '<em><b>Redefined Node</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -166879,15 +166887,6 @@
 	int INITIAL_NODE___MUST_BE_OWNED = CONTROL_NODE___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INITIAL_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = CONTROL_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -166906,6 +166905,15 @@
 	int INITIAL_NODE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = CONTROL_NODE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INITIAL_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = CONTROL_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -167554,15 +167562,6 @@
 	int INSTANCE_VALUE___MUST_BE_OWNED = VALUE_SPECIFICATION___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int INSTANCE_VALUE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = VALUE_SPECIFICATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -167581,6 +167580,15 @@
 	int INSTANCE_VALUE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = VALUE_SPECIFICATION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int INSTANCE_VALUE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = VALUE_SPECIFICATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -167878,7 +167886,7 @@
 	int JOIN_NODE__REDEFINITION_CONTEXT = CONTROL_NODE__REDEFINITION_CONTEXT;
 
 	/**
-	 * The feature id for the '<em><b>Activity</b></em>' container reference.
+	 * The feature id for the '<em><b>Activity</b></em>' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -167887,15 +167895,6 @@
 	int JOIN_NODE__ACTIVITY = CONTROL_NODE__ACTIVITY;
 
 	/**
-	 * The feature id for the '<em><b>In Group</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int JOIN_NODE__IN_GROUP = CONTROL_NODE__IN_GROUP;
-
-	/**
 	 * The feature id for the '<em><b>In Partition</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -167941,6 +167940,15 @@
 	int JOIN_NODE__INCOMING = CONTROL_NODE__INCOMING;
 
 	/**
+	 * The feature id for the '<em><b>In Group</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int JOIN_NODE__IN_GROUP = CONTROL_NODE__IN_GROUP;
+
+	/**
 	 * The feature id for the '<em><b>Redefined Node</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -168310,15 +168318,6 @@
 	int JOIN_NODE___MUST_BE_OWNED = CONTROL_NODE___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int JOIN_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = CONTROL_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -168337,6 +168336,15 @@
 	int JOIN_NODE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = CONTROL_NODE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int JOIN_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = CONTROL_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -168976,15 +168984,6 @@
 	int LITERAL_SPECIFICATION___MUST_BE_OWNED = VALUE_SPECIFICATION___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LITERAL_SPECIFICATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = VALUE_SPECIFICATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -169003,6 +169002,15 @@
 	int LITERAL_SPECIFICATION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = VALUE_SPECIFICATION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LITERAL_SPECIFICATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = VALUE_SPECIFICATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -169651,15 +169659,6 @@
 	int LITERAL_BOOLEAN___MUST_BE_OWNED = LITERAL_SPECIFICATION___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LITERAL_BOOLEAN___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = LITERAL_SPECIFICATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -169678,6 +169677,15 @@
 	int LITERAL_BOOLEAN___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = LITERAL_SPECIFICATION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LITERAL_BOOLEAN___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = LITERAL_SPECIFICATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -170326,15 +170334,6 @@
 	int LITERAL_INTEGER___MUST_BE_OWNED = LITERAL_SPECIFICATION___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LITERAL_INTEGER___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = LITERAL_SPECIFICATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -170353,6 +170352,15 @@
 	int LITERAL_INTEGER___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = LITERAL_SPECIFICATION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LITERAL_INTEGER___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = LITERAL_SPECIFICATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -170992,15 +171000,6 @@
 	int LITERAL_NULL___MUST_BE_OWNED = LITERAL_SPECIFICATION___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LITERAL_NULL___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = LITERAL_SPECIFICATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -171019,6 +171018,15 @@
 	int LITERAL_NULL___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = LITERAL_SPECIFICATION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LITERAL_NULL___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = LITERAL_SPECIFICATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -171667,15 +171675,6 @@
 	int LITERAL_REAL___MUST_BE_OWNED = LITERAL_SPECIFICATION___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LITERAL_REAL___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = LITERAL_SPECIFICATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -171694,6 +171693,15 @@
 	int LITERAL_REAL___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = LITERAL_SPECIFICATION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LITERAL_REAL___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = LITERAL_SPECIFICATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -172342,15 +172350,6 @@
 	int LITERAL_STRING___MUST_BE_OWNED = LITERAL_SPECIFICATION___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LITERAL_STRING___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = LITERAL_SPECIFICATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -172369,6 +172368,15 @@
 	int LITERAL_STRING___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = LITERAL_SPECIFICATION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LITERAL_STRING___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = LITERAL_SPECIFICATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -173017,15 +173025,6 @@
 	int LITERAL_UNLIMITED_NATURAL___MUST_BE_OWNED = LITERAL_SPECIFICATION___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LITERAL_UNLIMITED_NATURAL___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = LITERAL_SPECIFICATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -173044,6 +173043,15 @@
 	int LITERAL_UNLIMITED_NATURAL___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = LITERAL_SPECIFICATION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LITERAL_UNLIMITED_NATURAL___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = LITERAL_SPECIFICATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -173341,7 +173349,7 @@
 	int LOOP_NODE__REDEFINITION_CONTEXT = STRUCTURED_ACTIVITY_NODE__REDEFINITION_CONTEXT;
 
 	/**
-	 * The feature id for the '<em><b>Activity</b></em>' container reference.
+	 * The feature id for the '<em><b>Activity</b></em>' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -173350,15 +173358,6 @@
 	int LOOP_NODE__ACTIVITY = STRUCTURED_ACTIVITY_NODE__ACTIVITY;
 
 	/**
-	 * The feature id for the '<em><b>In Group</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LOOP_NODE__IN_GROUP = STRUCTURED_ACTIVITY_NODE__IN_GROUP;
-
-	/**
 	 * The feature id for the '<em><b>In Partition</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -173404,6 +173403,15 @@
 	int LOOP_NODE__INCOMING = STRUCTURED_ACTIVITY_NODE__INCOMING;
 
 	/**
+	 * The feature id for the '<em><b>In Group</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LOOP_NODE__IN_GROUP = STRUCTURED_ACTIVITY_NODE__IN_GROUP;
+
+	/**
 	 * The feature id for the '<em><b>Redefined Node</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -173530,6 +173538,15 @@
 	int LOOP_NODE__MEMBER = STRUCTURED_ACTIVITY_NODE__MEMBER;
 
 	/**
+	 * The feature id for the '<em><b>Contained Edge</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LOOP_NODE__CONTAINED_EDGE = STRUCTURED_ACTIVITY_NODE__CONTAINED_EDGE;
+
+	/**
 	 * The feature id for the '<em><b>Contained Node</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -173539,7 +173556,7 @@
 	int LOOP_NODE__CONTAINED_NODE = STRUCTURED_ACTIVITY_NODE__CONTAINED_NODE;
 
 	/**
-	 * The feature id for the '<em><b>In Activity</b></em>' container reference.
+	 * The feature id for the '<em><b>In Activity</b></em>' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -173566,15 +173583,6 @@
 	int LOOP_NODE__SUPER_GROUP = STRUCTURED_ACTIVITY_NODE__SUPER_GROUP;
 
 	/**
-	 * The feature id for the '<em><b>Contained Edge</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LOOP_NODE__CONTAINED_EDGE = STRUCTURED_ACTIVITY_NODE__CONTAINED_EDGE;
-
-	/**
 	 * The feature id for the '<em><b>Must Isolate</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -174052,15 +174060,6 @@
 	int LOOP_NODE___MUST_BE_OWNED = STRUCTURED_ACTIVITY_NODE___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LOOP_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = STRUCTURED_ACTIVITY_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -174079,6 +174078,15 @@
 	int LOOP_NODE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = STRUCTURED_ACTIVITY_NODE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LOOP_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = STRUCTURED_ACTIVITY_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -174340,15 +174348,6 @@
 	int LOOP_NODE___GET_OWNED_MEMBERS = STRUCTURED_ACTIVITY_NODE___GET_OWNED_MEMBERS;
 
 	/**
-	 * The operation id for the '<em>Validate Nodes And Edges</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LOOP_NODE___VALIDATE_NODES_AND_EDGES__DIAGNOSTICCHAIN_MAP = STRUCTURED_ACTIVITY_NODE___VALIDATE_NODES_AND_EDGES__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Group Owned</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -174367,22 +174366,13 @@
 	int LOOP_NODE___VALIDATE_NOT_CONTAINED__DIAGNOSTICCHAIN_MAP = STRUCTURED_ACTIVITY_NODE___VALIDATE_NOT_CONTAINED__DIAGNOSTICCHAIN_MAP;
 
 	/**
-	 * The operation id for the '<em>Validate Output Pin Edges</em>' operation.
+	 * The operation id for the '<em>Validate Nodes And Edges</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int LOOP_NODE___VALIDATE_OUTPUT_PIN_EDGES__DIAGNOSTICCHAIN_MAP = STRUCTURED_ACTIVITY_NODE___VALIDATE_OUTPUT_PIN_EDGES__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Validate Edges</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int LOOP_NODE___VALIDATE_EDGES__DIAGNOSTICCHAIN_MAP = STRUCTURED_ACTIVITY_NODE___VALIDATE_EDGES__DIAGNOSTICCHAIN_MAP;
+	int LOOP_NODE___VALIDATE_NODES_AND_EDGES__DIAGNOSTICCHAIN_MAP = STRUCTURED_ACTIVITY_NODE___VALIDATE_NODES_AND_EDGES__DIAGNOSTICCHAIN_MAP;
 
 	/**
 	 * The operation id for the '<em>Validate Input Pin Edges</em>' operation.
@@ -174394,22 +174384,22 @@
 	int LOOP_NODE___VALIDATE_INPUT_PIN_EDGES__DIAGNOSTICCHAIN_MAP = STRUCTURED_ACTIVITY_NODE___VALIDATE_INPUT_PIN_EDGES__DIAGNOSTICCHAIN_MAP;
 
 	/**
-	 * The operation id for the '<em>Validate Result No Incoming</em>' operation.
+	 * The operation id for the '<em>Validate Edges</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int LOOP_NODE___VALIDATE_RESULT_NO_INCOMING__DIAGNOSTICCHAIN_MAP = STRUCTURED_ACTIVITY_NODE_OPERATION_COUNT + 0;
+	int LOOP_NODE___VALIDATE_EDGES__DIAGNOSTICCHAIN_MAP = STRUCTURED_ACTIVITY_NODE___VALIDATE_EDGES__DIAGNOSTICCHAIN_MAP;
 
 	/**
-	 * The operation id for the '<em>Validate Input Edges</em>' operation.
+	 * The operation id for the '<em>Validate Output Pin Edges</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int LOOP_NODE___VALIDATE_INPUT_EDGES__DIAGNOSTICCHAIN_MAP = STRUCTURED_ACTIVITY_NODE_OPERATION_COUNT + 1;
+	int LOOP_NODE___VALIDATE_OUTPUT_PIN_EDGES__DIAGNOSTICCHAIN_MAP = STRUCTURED_ACTIVITY_NODE___VALIDATE_OUTPUT_PIN_EDGES__DIAGNOSTICCHAIN_MAP;
 
 	/**
 	 * The operation id for the '<em>Validate Executable Nodes</em>' operation.
@@ -174418,7 +174408,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int LOOP_NODE___VALIDATE_EXECUTABLE_NODES__DIAGNOSTICCHAIN_MAP = STRUCTURED_ACTIVITY_NODE_OPERATION_COUNT + 2;
+	int LOOP_NODE___VALIDATE_EXECUTABLE_NODES__DIAGNOSTICCHAIN_MAP = STRUCTURED_ACTIVITY_NODE_OPERATION_COUNT + 0;
 
 	/**
 	 * The operation id for the '<em>Validate Body Output Pins</em>' operation.
@@ -174427,7 +174417,25 @@
 	 * @generated
 	 * @ordered
 	 */
-	int LOOP_NODE___VALIDATE_BODY_OUTPUT_PINS__DIAGNOSTICCHAIN_MAP = STRUCTURED_ACTIVITY_NODE_OPERATION_COUNT + 3;
+	int LOOP_NODE___VALIDATE_BODY_OUTPUT_PINS__DIAGNOSTICCHAIN_MAP = STRUCTURED_ACTIVITY_NODE_OPERATION_COUNT + 1;
+
+	/**
+	 * The operation id for the '<em>Validate Result No Incoming</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LOOP_NODE___VALIDATE_RESULT_NO_INCOMING__DIAGNOSTICCHAIN_MAP = STRUCTURED_ACTIVITY_NODE_OPERATION_COUNT + 2;
+
+	/**
+	 * The operation id for the '<em>Validate Input Edges</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int LOOP_NODE___VALIDATE_INPUT_EDGES__DIAGNOSTICCHAIN_MAP = STRUCTURED_ACTIVITY_NODE_OPERATION_COUNT + 3;
 
 	/**
 	 * The number of operations of the '<em>Loop Node</em>' class.
@@ -174556,7 +174564,7 @@
 	int MERGE_NODE__REDEFINITION_CONTEXT = CONTROL_NODE__REDEFINITION_CONTEXT;
 
 	/**
-	 * The feature id for the '<em><b>Activity</b></em>' container reference.
+	 * The feature id for the '<em><b>Activity</b></em>' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -174565,15 +174573,6 @@
 	int MERGE_NODE__ACTIVITY = CONTROL_NODE__ACTIVITY;
 
 	/**
-	 * The feature id for the '<em><b>In Group</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MERGE_NODE__IN_GROUP = CONTROL_NODE__IN_GROUP;
-
-	/**
 	 * The feature id for the '<em><b>In Partition</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -174619,6 +174618,15 @@
 	int MERGE_NODE__INCOMING = CONTROL_NODE__INCOMING;
 
 	/**
+	 * The feature id for the '<em><b>In Group</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MERGE_NODE__IN_GROUP = CONTROL_NODE__IN_GROUP;
+
+	/**
 	 * The feature id for the '<em><b>Redefined Node</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -174970,15 +174978,6 @@
 	int MERGE_NODE___MUST_BE_OWNED = CONTROL_NODE___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MERGE_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = CONTROL_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -174997,6 +174996,15 @@
 	int MERGE_NODE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = CONTROL_NODE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int MERGE_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = CONTROL_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -175294,7 +175302,7 @@
 	int OPAQUE_ACTION__REDEFINITION_CONTEXT = ACTION__REDEFINITION_CONTEXT;
 
 	/**
-	 * The feature id for the '<em><b>Activity</b></em>' container reference.
+	 * The feature id for the '<em><b>Activity</b></em>' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -175303,15 +175311,6 @@
 	int OPAQUE_ACTION__ACTIVITY = ACTION__ACTIVITY;
 
 	/**
-	 * The feature id for the '<em><b>In Group</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int OPAQUE_ACTION__IN_GROUP = ACTION__IN_GROUP;
-
-	/**
 	 * The feature id for the '<em><b>In Partition</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -175357,6 +175356,15 @@
 	int OPAQUE_ACTION__INCOMING = ACTION__INCOMING;
 
 	/**
+	 * The feature id for the '<em><b>In Group</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int OPAQUE_ACTION__IN_GROUP = ACTION__IN_GROUP;
+
+	/**
 	 * The feature id for the '<em><b>Redefined Node</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -175807,15 +175815,6 @@
 	int OPAQUE_ACTION___MUST_BE_OWNED = ACTION___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int OPAQUE_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -175834,6 +175833,15 @@
 	int OPAQUE_ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int OPAQUE_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -176617,15 +176625,6 @@
 	int PROTOCOL_TRANSITION___MUST_BE_OWNED = TRANSITION___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PROTOCOL_TRANSITION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = TRANSITION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -176644,6 +176643,15 @@
 	int PROTOCOL_TRANSITION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = TRANSITION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROTOCOL_TRANSITION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = TRANSITION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -176878,40 +176886,22 @@
 	int PROTOCOL_TRANSITION___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT = TRANSITION___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT;
 
 	/**
-	 * The operation id for the '<em>Validate State Is External</em>' operation.
+	 * The operation id for the '<em>Validate State Is Local</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int PROTOCOL_TRANSITION___VALIDATE_STATE_IS_EXTERNAL__DIAGNOSTICCHAIN_MAP = TRANSITION___VALIDATE_STATE_IS_EXTERNAL__DIAGNOSTICCHAIN_MAP;
+	int PROTOCOL_TRANSITION___VALIDATE_STATE_IS_LOCAL__DIAGNOSTICCHAIN_MAP = TRANSITION___VALIDATE_STATE_IS_LOCAL__DIAGNOSTICCHAIN_MAP;
 
 	/**
-	 * The operation id for the '<em>Validate Join Segment Guards</em>' operation.
+	 * The operation id for the '<em>Validate Fork Segment Guards</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int PROTOCOL_TRANSITION___VALIDATE_JOIN_SEGMENT_GUARDS__DIAGNOSTICCHAIN_MAP = TRANSITION___VALIDATE_JOIN_SEGMENT_GUARDS__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Validate State Is Internal</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PROTOCOL_TRANSITION___VALIDATE_STATE_IS_INTERNAL__DIAGNOSTICCHAIN_MAP = TRANSITION___VALIDATE_STATE_IS_INTERNAL__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Validate Outgoing Pseudostates</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int PROTOCOL_TRANSITION___VALIDATE_OUTGOING_PSEUDOSTATES__DIAGNOSTICCHAIN_MAP = TRANSITION___VALIDATE_OUTGOING_PSEUDOSTATES__DIAGNOSTICCHAIN_MAP;
+	int PROTOCOL_TRANSITION___VALIDATE_FORK_SEGMENT_GUARDS__DIAGNOSTICCHAIN_MAP = TRANSITION___VALIDATE_FORK_SEGMENT_GUARDS__DIAGNOSTICCHAIN_MAP;
 
 	/**
 	 * The operation id for the '<em>Validate Join Segment State</em>' operation.
@@ -176923,13 +176913,22 @@
 	int PROTOCOL_TRANSITION___VALIDATE_JOIN_SEGMENT_STATE__DIAGNOSTICCHAIN_MAP = TRANSITION___VALIDATE_JOIN_SEGMENT_STATE__DIAGNOSTICCHAIN_MAP;
 
 	/**
-	 * The operation id for the '<em>Validate Fork Segment State</em>' operation.
+	 * The operation id for the '<em>Validate Initial Transition</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int PROTOCOL_TRANSITION___VALIDATE_FORK_SEGMENT_STATE__DIAGNOSTICCHAIN_MAP = TRANSITION___VALIDATE_FORK_SEGMENT_STATE__DIAGNOSTICCHAIN_MAP;
+	int PROTOCOL_TRANSITION___VALIDATE_INITIAL_TRANSITION__DIAGNOSTICCHAIN_MAP = TRANSITION___VALIDATE_INITIAL_TRANSITION__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Validate Outgoing Pseudostates</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROTOCOL_TRANSITION___VALIDATE_OUTGOING_PSEUDOSTATES__DIAGNOSTICCHAIN_MAP = TRANSITION___VALIDATE_OUTGOING_PSEUDOSTATES__DIAGNOSTICCHAIN_MAP;
 
 	/**
 	 * The operation id for the '<em>Validate Signatures Compatible</em>' operation.
@@ -176941,31 +176940,40 @@
 	int PROTOCOL_TRANSITION___VALIDATE_SIGNATURES_COMPATIBLE__DIAGNOSTICCHAIN_MAP = TRANSITION___VALIDATE_SIGNATURES_COMPATIBLE__DIAGNOSTICCHAIN_MAP;
 
 	/**
-	 * The operation id for the '<em>Validate State Is Local</em>' operation.
+	 * The operation id for the '<em>Validate State Is Internal</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int PROTOCOL_TRANSITION___VALIDATE_STATE_IS_LOCAL__DIAGNOSTICCHAIN_MAP = TRANSITION___VALIDATE_STATE_IS_LOCAL__DIAGNOSTICCHAIN_MAP;
+	int PROTOCOL_TRANSITION___VALIDATE_STATE_IS_INTERNAL__DIAGNOSTICCHAIN_MAP = TRANSITION___VALIDATE_STATE_IS_INTERNAL__DIAGNOSTICCHAIN_MAP;
 
 	/**
-	 * The operation id for the '<em>Validate Initial Transition</em>' operation.
+	 * The operation id for the '<em>Validate Join Segment Guards</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int PROTOCOL_TRANSITION___VALIDATE_INITIAL_TRANSITION__DIAGNOSTICCHAIN_MAP = TRANSITION___VALIDATE_INITIAL_TRANSITION__DIAGNOSTICCHAIN_MAP;
+	int PROTOCOL_TRANSITION___VALIDATE_JOIN_SEGMENT_GUARDS__DIAGNOSTICCHAIN_MAP = TRANSITION___VALIDATE_JOIN_SEGMENT_GUARDS__DIAGNOSTICCHAIN_MAP;
 
 	/**
-	 * The operation id for the '<em>Validate Fork Segment Guards</em>' operation.
+	 * The operation id for the '<em>Validate Fork Segment State</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int PROTOCOL_TRANSITION___VALIDATE_FORK_SEGMENT_GUARDS__DIAGNOSTICCHAIN_MAP = TRANSITION___VALIDATE_FORK_SEGMENT_GUARDS__DIAGNOSTICCHAIN_MAP;
+	int PROTOCOL_TRANSITION___VALIDATE_FORK_SEGMENT_STATE__DIAGNOSTICCHAIN_MAP = TRANSITION___VALIDATE_FORK_SEGMENT_STATE__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Validate State Is External</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PROTOCOL_TRANSITION___VALIDATE_STATE_IS_EXTERNAL__DIAGNOSTICCHAIN_MAP = TRANSITION___VALIDATE_STATE_IS_EXTERNAL__DIAGNOSTICCHAIN_MAP;
 
 	/**
 	 * The operation id for the '<em>Containing State Machine</em>' operation.
@@ -177148,7 +177156,7 @@
 	int RAISE_EXCEPTION_ACTION__REDEFINITION_CONTEXT = ACTION__REDEFINITION_CONTEXT;
 
 	/**
-	 * The feature id for the '<em><b>Activity</b></em>' container reference.
+	 * The feature id for the '<em><b>Activity</b></em>' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -177157,15 +177165,6 @@
 	int RAISE_EXCEPTION_ACTION__ACTIVITY = ACTION__ACTIVITY;
 
 	/**
-	 * The feature id for the '<em><b>In Group</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int RAISE_EXCEPTION_ACTION__IN_GROUP = ACTION__IN_GROUP;
-
-	/**
 	 * The feature id for the '<em><b>In Partition</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -177211,6 +177210,15 @@
 	int RAISE_EXCEPTION_ACTION__INCOMING = ACTION__INCOMING;
 
 	/**
+	 * The feature id for the '<em><b>In Group</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int RAISE_EXCEPTION_ACTION__IN_GROUP = ACTION__IN_GROUP;
+
+	/**
 	 * The feature id for the '<em><b>Redefined Node</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -177634,15 +177642,6 @@
 	int RAISE_EXCEPTION_ACTION___MUST_BE_OWNED = ACTION___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int RAISE_EXCEPTION_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -177661,6 +177660,15 @@
 	int RAISE_EXCEPTION_ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int RAISE_EXCEPTION_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -177949,7 +177957,7 @@
 	int READ_EXTENT_ACTION__REDEFINITION_CONTEXT = ACTION__REDEFINITION_CONTEXT;
 
 	/**
-	 * The feature id for the '<em><b>Activity</b></em>' container reference.
+	 * The feature id for the '<em><b>Activity</b></em>' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -177958,15 +177966,6 @@
 	int READ_EXTENT_ACTION__ACTIVITY = ACTION__ACTIVITY;
 
 	/**
-	 * The feature id for the '<em><b>In Group</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int READ_EXTENT_ACTION__IN_GROUP = ACTION__IN_GROUP;
-
-	/**
 	 * The feature id for the '<em><b>In Partition</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -178012,6 +178011,15 @@
 	int READ_EXTENT_ACTION__INCOMING = ACTION__INCOMING;
 
 	/**
+	 * The feature id for the '<em><b>In Group</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int READ_EXTENT_ACTION__IN_GROUP = ACTION__IN_GROUP;
+
+	/**
 	 * The feature id for the '<em><b>Redefined Node</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -178444,15 +178452,6 @@
 	int READ_EXTENT_ACTION___MUST_BE_OWNED = ACTION___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int READ_EXTENT_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -178471,6 +178470,15 @@
 	int READ_EXTENT_ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int READ_EXTENT_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -178777,7 +178785,7 @@
 	int READ_IS_CLASSIFIED_OBJECT_ACTION__REDEFINITION_CONTEXT = ACTION__REDEFINITION_CONTEXT;
 
 	/**
-	 * The feature id for the '<em><b>Activity</b></em>' container reference.
+	 * The feature id for the '<em><b>Activity</b></em>' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -178786,15 +178794,6 @@
 	int READ_IS_CLASSIFIED_OBJECT_ACTION__ACTIVITY = ACTION__ACTIVITY;
 
 	/**
-	 * The feature id for the '<em><b>In Group</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int READ_IS_CLASSIFIED_OBJECT_ACTION__IN_GROUP = ACTION__IN_GROUP;
-
-	/**
 	 * The feature id for the '<em><b>In Partition</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -178840,6 +178839,15 @@
 	int READ_IS_CLASSIFIED_OBJECT_ACTION__INCOMING = ACTION__INCOMING;
 
 	/**
+	 * The feature id for the '<em><b>In Group</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int READ_IS_CLASSIFIED_OBJECT_ACTION__IN_GROUP = ACTION__IN_GROUP;
+
+	/**
 	 * The feature id for the '<em><b>Redefined Node</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -179290,15 +179298,6 @@
 	int READ_IS_CLASSIFIED_OBJECT_ACTION___MUST_BE_OWNED = ACTION___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int READ_IS_CLASSIFIED_OBJECT_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -179317,6 +179316,15 @@
 	int READ_IS_CLASSIFIED_OBJECT_ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int READ_IS_CLASSIFIED_OBJECT_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -179641,7 +179649,7 @@
 	int READ_LINK_ACTION__REDEFINITION_CONTEXT = LINK_ACTION__REDEFINITION_CONTEXT;
 
 	/**
-	 * The feature id for the '<em><b>Activity</b></em>' container reference.
+	 * The feature id for the '<em><b>Activity</b></em>' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -179650,15 +179658,6 @@
 	int READ_LINK_ACTION__ACTIVITY = LINK_ACTION__ACTIVITY;
 
 	/**
-	 * The feature id for the '<em><b>In Group</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int READ_LINK_ACTION__IN_GROUP = LINK_ACTION__IN_GROUP;
-
-	/**
 	 * The feature id for the '<em><b>In Partition</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -179704,6 +179703,15 @@
 	int READ_LINK_ACTION__INCOMING = LINK_ACTION__INCOMING;
 
 	/**
+	 * The feature id for the '<em><b>In Group</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int READ_LINK_ACTION__IN_GROUP = LINK_ACTION__IN_GROUP;
+
+	/**
 	 * The feature id for the '<em><b>Redefined Node</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -180145,15 +180153,6 @@
 	int READ_LINK_ACTION___MUST_BE_OWNED = LINK_ACTION___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int READ_LINK_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = LINK_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -180172,6 +180171,15 @@
 	int READ_LINK_ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = LINK_ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int READ_LINK_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = LINK_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -180379,31 +180387,22 @@
 	int READ_LINK_ACTION___VALIDATE_TYPE_AND_ORDERING__DIAGNOSTICCHAIN_MAP = LINK_ACTION_OPERATION_COUNT + 0;
 
 	/**
-	 * The operation id for the '<em>Validate Compatible Multiplicity</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int READ_LINK_ACTION___VALIDATE_COMPATIBLE_MULTIPLICITY__DIAGNOSTICCHAIN_MAP = LINK_ACTION_OPERATION_COUNT + 1;
-
-	/**
-	 * The operation id for the '<em>Validate Visibility</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int READ_LINK_ACTION___VALIDATE_VISIBILITY__DIAGNOSTICCHAIN_MAP = LINK_ACTION_OPERATION_COUNT + 2;
-
-	/**
 	 * The operation id for the '<em>Validate One Open End</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int READ_LINK_ACTION___VALIDATE_ONE_OPEN_END__DIAGNOSTICCHAIN_MAP = LINK_ACTION_OPERATION_COUNT + 3;
+	int READ_LINK_ACTION___VALIDATE_ONE_OPEN_END__DIAGNOSTICCHAIN_MAP = LINK_ACTION_OPERATION_COUNT + 1;
+
+	/**
+	 * The operation id for the '<em>Validate Compatible Multiplicity</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int READ_LINK_ACTION___VALIDATE_COMPATIBLE_MULTIPLICITY__DIAGNOSTICCHAIN_MAP = LINK_ACTION_OPERATION_COUNT + 2;
 
 	/**
 	 * The operation id for the '<em>Validate Navigable Open End</em>' operation.
@@ -180412,7 +180411,16 @@
 	 * @generated
 	 * @ordered
 	 */
-	int READ_LINK_ACTION___VALIDATE_NAVIGABLE_OPEN_END__DIAGNOSTICCHAIN_MAP = LINK_ACTION_OPERATION_COUNT + 4;
+	int READ_LINK_ACTION___VALIDATE_NAVIGABLE_OPEN_END__DIAGNOSTICCHAIN_MAP = LINK_ACTION_OPERATION_COUNT + 3;
+
+	/**
+	 * The operation id for the '<em>Validate Visibility</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int READ_LINK_ACTION___VALIDATE_VISIBILITY__DIAGNOSTICCHAIN_MAP = LINK_ACTION_OPERATION_COUNT + 4;
 
 	/**
 	 * The number of operations of the '<em>Read Link Action</em>' class.
@@ -180541,7 +180549,7 @@
 	int READ_LINK_OBJECT_END_ACTION__REDEFINITION_CONTEXT = ACTION__REDEFINITION_CONTEXT;
 
 	/**
-	 * The feature id for the '<em><b>Activity</b></em>' container reference.
+	 * The feature id for the '<em><b>Activity</b></em>' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -180550,15 +180558,6 @@
 	int READ_LINK_OBJECT_END_ACTION__ACTIVITY = ACTION__ACTIVITY;
 
 	/**
-	 * The feature id for the '<em><b>In Group</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int READ_LINK_OBJECT_END_ACTION__IN_GROUP = ACTION__IN_GROUP;
-
-	/**
 	 * The feature id for the '<em><b>In Partition</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -180604,6 +180603,15 @@
 	int READ_LINK_OBJECT_END_ACTION__INCOMING = ACTION__INCOMING;
 
 	/**
+	 * The feature id for the '<em><b>In Group</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int READ_LINK_OBJECT_END_ACTION__IN_GROUP = ACTION__IN_GROUP;
+
+	/**
 	 * The feature id for the '<em><b>Redefined Node</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -181045,15 +181053,6 @@
 	int READ_LINK_OBJECT_END_ACTION___MUST_BE_OWNED = ACTION___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int READ_LINK_OBJECT_END_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -181072,6 +181071,15 @@
 	int READ_LINK_OBJECT_END_ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int READ_LINK_OBJECT_END_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -181234,13 +181242,13 @@
 	int READ_LINK_OBJECT_END_ACTION___GET_CONTEXT = ACTION___GET_CONTEXT;
 
 	/**
-	 * The operation id for the '<em>Validate Property</em>' operation.
+	 * The operation id for the '<em>Validate Association Of Association</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int READ_LINK_OBJECT_END_ACTION___VALIDATE_PROPERTY__DIAGNOSTICCHAIN_MAP = ACTION_OPERATION_COUNT + 0;
+	int READ_LINK_OBJECT_END_ACTION___VALIDATE_ASSOCIATION_OF_ASSOCIATION__DIAGNOSTICCHAIN_MAP = ACTION_OPERATION_COUNT + 0;
 
 	/**
 	 * The operation id for the '<em>Validate Multiplicity Of Object</em>' operation.
@@ -181252,31 +181260,13 @@
 	int READ_LINK_OBJECT_END_ACTION___VALIDATE_MULTIPLICITY_OF_OBJECT__DIAGNOSTICCHAIN_MAP = ACTION_OPERATION_COUNT + 1;
 
 	/**
-	 * The operation id for the '<em>Validate Ends Of Association</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int READ_LINK_OBJECT_END_ACTION___VALIDATE_ENDS_OF_ASSOCIATION__DIAGNOSTICCHAIN_MAP = ACTION_OPERATION_COUNT + 2;
-
-	/**
 	 * The operation id for the '<em>Validate Type Of Result</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int READ_LINK_OBJECT_END_ACTION___VALIDATE_TYPE_OF_RESULT__DIAGNOSTICCHAIN_MAP = ACTION_OPERATION_COUNT + 3;
-
-	/**
-	 * The operation id for the '<em>Validate Multiplicity Of Result</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int READ_LINK_OBJECT_END_ACTION___VALIDATE_MULTIPLICITY_OF_RESULT__DIAGNOSTICCHAIN_MAP = ACTION_OPERATION_COUNT + 4;
+	int READ_LINK_OBJECT_END_ACTION___VALIDATE_TYPE_OF_RESULT__DIAGNOSTICCHAIN_MAP = ACTION_OPERATION_COUNT + 2;
 
 	/**
 	 * The operation id for the '<em>Validate Type Of Object</em>' operation.
@@ -181285,16 +181275,34 @@
 	 * @generated
 	 * @ordered
 	 */
-	int READ_LINK_OBJECT_END_ACTION___VALIDATE_TYPE_OF_OBJECT__DIAGNOSTICCHAIN_MAP = ACTION_OPERATION_COUNT + 5;
+	int READ_LINK_OBJECT_END_ACTION___VALIDATE_TYPE_OF_OBJECT__DIAGNOSTICCHAIN_MAP = ACTION_OPERATION_COUNT + 3;
 
 	/**
-	 * The operation id for the '<em>Validate Association Of Association</em>' operation.
+	 * The operation id for the '<em>Validate Property</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int READ_LINK_OBJECT_END_ACTION___VALIDATE_ASSOCIATION_OF_ASSOCIATION__DIAGNOSTICCHAIN_MAP = ACTION_OPERATION_COUNT + 6;
+	int READ_LINK_OBJECT_END_ACTION___VALIDATE_PROPERTY__DIAGNOSTICCHAIN_MAP = ACTION_OPERATION_COUNT + 4;
+
+	/**
+	 * The operation id for the '<em>Validate Multiplicity Of Result</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int READ_LINK_OBJECT_END_ACTION___VALIDATE_MULTIPLICITY_OF_RESULT__DIAGNOSTICCHAIN_MAP = ACTION_OPERATION_COUNT + 5;
+
+	/**
+	 * The operation id for the '<em>Validate Ends Of Association</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int READ_LINK_OBJECT_END_ACTION___VALIDATE_ENDS_OF_ASSOCIATION__DIAGNOSTICCHAIN_MAP = ACTION_OPERATION_COUNT + 6;
 
 	/**
 	 * The number of operations of the '<em>Read Link Object End Action</em>' class.
@@ -181423,7 +181431,7 @@
 	int READ_LINK_OBJECT_END_QUALIFIER_ACTION__REDEFINITION_CONTEXT = ACTION__REDEFINITION_CONTEXT;
 
 	/**
-	 * The feature id for the '<em><b>Activity</b></em>' container reference.
+	 * The feature id for the '<em><b>Activity</b></em>' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -181432,15 +181440,6 @@
 	int READ_LINK_OBJECT_END_QUALIFIER_ACTION__ACTIVITY = ACTION__ACTIVITY;
 
 	/**
-	 * The feature id for the '<em><b>In Group</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int READ_LINK_OBJECT_END_QUALIFIER_ACTION__IN_GROUP = ACTION__IN_GROUP;
-
-	/**
 	 * The feature id for the '<em><b>In Partition</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -181486,6 +181485,15 @@
 	int READ_LINK_OBJECT_END_QUALIFIER_ACTION__INCOMING = ACTION__INCOMING;
 
 	/**
+	 * The feature id for the '<em><b>In Group</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int READ_LINK_OBJECT_END_QUALIFIER_ACTION__IN_GROUP = ACTION__IN_GROUP;
+
+	/**
 	 * The feature id for the '<em><b>Redefined Node</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -181927,15 +181935,6 @@
 	int READ_LINK_OBJECT_END_QUALIFIER_ACTION___MUST_BE_OWNED = ACTION___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int READ_LINK_OBJECT_END_QUALIFIER_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -181954,6 +181953,15 @@
 	int READ_LINK_OBJECT_END_QUALIFIER_ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int READ_LINK_OBJECT_END_QUALIFIER_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -182116,31 +182124,31 @@
 	int READ_LINK_OBJECT_END_QUALIFIER_ACTION___GET_CONTEXT = ACTION___GET_CONTEXT;
 
 	/**
-	 * The operation id for the '<em>Validate Multiplicity Of Object</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int READ_LINK_OBJECT_END_QUALIFIER_ACTION___VALIDATE_MULTIPLICITY_OF_OBJECT__DIAGNOSTICCHAIN_MAP = ACTION_OPERATION_COUNT + 0;
-
-	/**
 	 * The operation id for the '<em>Validate Type Of Object</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int READ_LINK_OBJECT_END_QUALIFIER_ACTION___VALIDATE_TYPE_OF_OBJECT__DIAGNOSTICCHAIN_MAP = ACTION_OPERATION_COUNT + 1;
+	int READ_LINK_OBJECT_END_QUALIFIER_ACTION___VALIDATE_TYPE_OF_OBJECT__DIAGNOSTICCHAIN_MAP = ACTION_OPERATION_COUNT + 0;
 
 	/**
-	 * The operation id for the '<em>Validate Multiplicity Of Qualifier</em>' operation.
+	 * The operation id for the '<em>Validate Multiplicity Of Result</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int READ_LINK_OBJECT_END_QUALIFIER_ACTION___VALIDATE_MULTIPLICITY_OF_QUALIFIER__DIAGNOSTICCHAIN_MAP = ACTION_OPERATION_COUNT + 2;
+	int READ_LINK_OBJECT_END_QUALIFIER_ACTION___VALIDATE_MULTIPLICITY_OF_RESULT__DIAGNOSTICCHAIN_MAP = ACTION_OPERATION_COUNT + 1;
+
+	/**
+	 * The operation id for the '<em>Validate Same Type</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int READ_LINK_OBJECT_END_QUALIFIER_ACTION___VALIDATE_SAME_TYPE__DIAGNOSTICCHAIN_MAP = ACTION_OPERATION_COUNT + 2;
 
 	/**
 	 * The operation id for the '<em>Validate Ends Of Association</em>' operation.
@@ -182152,22 +182160,22 @@
 	int READ_LINK_OBJECT_END_QUALIFIER_ACTION___VALIDATE_ENDS_OF_ASSOCIATION__DIAGNOSTICCHAIN_MAP = ACTION_OPERATION_COUNT + 3;
 
 	/**
-	 * The operation id for the '<em>Validate Multiplicity Of Result</em>' operation.
+	 * The operation id for the '<em>Validate Multiplicity Of Qualifier</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int READ_LINK_OBJECT_END_QUALIFIER_ACTION___VALIDATE_MULTIPLICITY_OF_RESULT__DIAGNOSTICCHAIN_MAP = ACTION_OPERATION_COUNT + 4;
+	int READ_LINK_OBJECT_END_QUALIFIER_ACTION___VALIDATE_MULTIPLICITY_OF_QUALIFIER__DIAGNOSTICCHAIN_MAP = ACTION_OPERATION_COUNT + 4;
 
 	/**
-	 * The operation id for the '<em>Validate Same Type</em>' operation.
+	 * The operation id for the '<em>Validate Multiplicity Of Object</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int READ_LINK_OBJECT_END_QUALIFIER_ACTION___VALIDATE_SAME_TYPE__DIAGNOSTICCHAIN_MAP = ACTION_OPERATION_COUNT + 5;
+	int READ_LINK_OBJECT_END_QUALIFIER_ACTION___VALIDATE_MULTIPLICITY_OF_OBJECT__DIAGNOSTICCHAIN_MAP = ACTION_OPERATION_COUNT + 5;
 
 	/**
 	 * The operation id for the '<em>Validate Association Of Association</em>' operation.
@@ -182314,7 +182322,7 @@
 	int READ_SELF_ACTION__REDEFINITION_CONTEXT = ACTION__REDEFINITION_CONTEXT;
 
 	/**
-	 * The feature id for the '<em><b>Activity</b></em>' container reference.
+	 * The feature id for the '<em><b>Activity</b></em>' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -182323,15 +182331,6 @@
 	int READ_SELF_ACTION__ACTIVITY = ACTION__ACTIVITY;
 
 	/**
-	 * The feature id for the '<em><b>In Group</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int READ_SELF_ACTION__IN_GROUP = ACTION__IN_GROUP;
-
-	/**
 	 * The feature id for the '<em><b>In Partition</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -182377,6 +182376,15 @@
 	int READ_SELF_ACTION__INCOMING = ACTION__INCOMING;
 
 	/**
+	 * The feature id for the '<em><b>In Group</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int READ_SELF_ACTION__IN_GROUP = ACTION__IN_GROUP;
+
+	/**
 	 * The feature id for the '<em><b>Redefined Node</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -182800,15 +182808,6 @@
 	int READ_SELF_ACTION___MUST_BE_OWNED = ACTION___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int READ_SELF_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -182827,6 +182826,15 @@
 	int READ_SELF_ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int READ_SELF_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -182998,13 +183006,13 @@
 	int READ_SELF_ACTION___VALIDATE_CONTAINED__DIAGNOSTICCHAIN_MAP = ACTION_OPERATION_COUNT + 0;
 
 	/**
-	 * The operation id for the '<em>Validate Multiplicity</em>' operation.
+	 * The operation id for the '<em>Validate Type</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int READ_SELF_ACTION___VALIDATE_MULTIPLICITY__DIAGNOSTICCHAIN_MAP = ACTION_OPERATION_COUNT + 1;
+	int READ_SELF_ACTION___VALIDATE_TYPE__DIAGNOSTICCHAIN_MAP = ACTION_OPERATION_COUNT + 1;
 
 	/**
 	 * The operation id for the '<em>Validate Not Static</em>' operation.
@@ -183016,13 +183024,13 @@
 	int READ_SELF_ACTION___VALIDATE_NOT_STATIC__DIAGNOSTICCHAIN_MAP = ACTION_OPERATION_COUNT + 2;
 
 	/**
-	 * The operation id for the '<em>Validate Type</em>' operation.
+	 * The operation id for the '<em>Validate Multiplicity</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int READ_SELF_ACTION___VALIDATE_TYPE__DIAGNOSTICCHAIN_MAP = ACTION_OPERATION_COUNT + 3;
+	int READ_SELF_ACTION___VALIDATE_MULTIPLICITY__DIAGNOSTICCHAIN_MAP = ACTION_OPERATION_COUNT + 3;
 
 	/**
 	 * The number of operations of the '<em>Read Self Action</em>' class.
@@ -183151,7 +183159,7 @@
 	int READ_STRUCTURAL_FEATURE_ACTION__REDEFINITION_CONTEXT = STRUCTURAL_FEATURE_ACTION__REDEFINITION_CONTEXT;
 
 	/**
-	 * The feature id for the '<em><b>Activity</b></em>' container reference.
+	 * The feature id for the '<em><b>Activity</b></em>' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -183160,15 +183168,6 @@
 	int READ_STRUCTURAL_FEATURE_ACTION__ACTIVITY = STRUCTURAL_FEATURE_ACTION__ACTIVITY;
 
 	/**
-	 * The feature id for the '<em><b>In Group</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int READ_STRUCTURAL_FEATURE_ACTION__IN_GROUP = STRUCTURAL_FEATURE_ACTION__IN_GROUP;
-
-	/**
 	 * The feature id for the '<em><b>In Partition</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -183214,6 +183213,15 @@
 	int READ_STRUCTURAL_FEATURE_ACTION__INCOMING = STRUCTURAL_FEATURE_ACTION__INCOMING;
 
 	/**
+	 * The feature id for the '<em><b>In Group</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int READ_STRUCTURAL_FEATURE_ACTION__IN_GROUP = STRUCTURAL_FEATURE_ACTION__IN_GROUP;
+
+	/**
 	 * The feature id for the '<em><b>Redefined Node</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -183655,15 +183663,6 @@
 	int READ_STRUCTURAL_FEATURE_ACTION___MUST_BE_OWNED = STRUCTURAL_FEATURE_ACTION___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int READ_STRUCTURAL_FEATURE_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = STRUCTURAL_FEATURE_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -183682,6 +183681,15 @@
 	int READ_STRUCTURAL_FEATURE_ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = STRUCTURAL_FEATURE_ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int READ_STRUCTURAL_FEATURE_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = STRUCTURAL_FEATURE_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -183844,24 +183852,6 @@
 	int READ_STRUCTURAL_FEATURE_ACTION___GET_CONTEXT = STRUCTURAL_FEATURE_ACTION___GET_CONTEXT;
 
 	/**
-	 * The operation id for the '<em>Validate Multiplicity</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int READ_STRUCTURAL_FEATURE_ACTION___VALIDATE_MULTIPLICITY__DIAGNOSTICCHAIN_MAP = STRUCTURAL_FEATURE_ACTION___VALIDATE_MULTIPLICITY__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Validate Same Type</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int READ_STRUCTURAL_FEATURE_ACTION___VALIDATE_SAME_TYPE__DIAGNOSTICCHAIN_MAP = STRUCTURAL_FEATURE_ACTION___VALIDATE_SAME_TYPE__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Visibility</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -183871,6 +183861,15 @@
 	int READ_STRUCTURAL_FEATURE_ACTION___VALIDATE_VISIBILITY__DIAGNOSTICCHAIN_MAP = STRUCTURAL_FEATURE_ACTION___VALIDATE_VISIBILITY__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Multiplicity</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int READ_STRUCTURAL_FEATURE_ACTION___VALIDATE_MULTIPLICITY__DIAGNOSTICCHAIN_MAP = STRUCTURAL_FEATURE_ACTION___VALIDATE_MULTIPLICITY__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Validate Not Static</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -183889,6 +183888,15 @@
 	int READ_STRUCTURAL_FEATURE_ACTION___VALIDATE_ONE_FEATURING_CLASSIFIER__DIAGNOSTICCHAIN_MAP = STRUCTURAL_FEATURE_ACTION___VALIDATE_ONE_FEATURING_CLASSIFIER__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Same Type</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int READ_STRUCTURAL_FEATURE_ACTION___VALIDATE_SAME_TYPE__DIAGNOSTICCHAIN_MAP = STRUCTURAL_FEATURE_ACTION___VALIDATE_SAME_TYPE__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Validate Type And Ordering</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -184024,7 +184032,7 @@
 	int READ_VARIABLE_ACTION__REDEFINITION_CONTEXT = VARIABLE_ACTION__REDEFINITION_CONTEXT;
 
 	/**
-	 * The feature id for the '<em><b>Activity</b></em>' container reference.
+	 * The feature id for the '<em><b>Activity</b></em>' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -184033,15 +184041,6 @@
 	int READ_VARIABLE_ACTION__ACTIVITY = VARIABLE_ACTION__ACTIVITY;
 
 	/**
-	 * The feature id for the '<em><b>In Group</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int READ_VARIABLE_ACTION__IN_GROUP = VARIABLE_ACTION__IN_GROUP;
-
-	/**
 	 * The feature id for the '<em><b>In Partition</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -184087,6 +184086,15 @@
 	int READ_VARIABLE_ACTION__INCOMING = VARIABLE_ACTION__INCOMING;
 
 	/**
+	 * The feature id for the '<em><b>In Group</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int READ_VARIABLE_ACTION__IN_GROUP = VARIABLE_ACTION__IN_GROUP;
+
+	/**
 	 * The feature id for the '<em><b>Redefined Node</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -184519,15 +184527,6 @@
 	int READ_VARIABLE_ACTION___MUST_BE_OWNED = VARIABLE_ACTION___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int READ_VARIABLE_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = VARIABLE_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -184546,6 +184545,15 @@
 	int READ_VARIABLE_ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = VARIABLE_ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int READ_VARIABLE_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = VARIABLE_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -184861,7 +184869,7 @@
 	int RECLASSIFY_OBJECT_ACTION__REDEFINITION_CONTEXT = ACTION__REDEFINITION_CONTEXT;
 
 	/**
-	 * The feature id for the '<em><b>Activity</b></em>' container reference.
+	 * The feature id for the '<em><b>Activity</b></em>' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -184870,15 +184878,6 @@
 	int RECLASSIFY_OBJECT_ACTION__ACTIVITY = ACTION__ACTIVITY;
 
 	/**
-	 * The feature id for the '<em><b>In Group</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int RECLASSIFY_OBJECT_ACTION__IN_GROUP = ACTION__IN_GROUP;
-
-	/**
 	 * The feature id for the '<em><b>In Partition</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -184924,6 +184923,15 @@
 	int RECLASSIFY_OBJECT_ACTION__INCOMING = ACTION__INCOMING;
 
 	/**
+	 * The feature id for the '<em><b>In Group</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int RECLASSIFY_OBJECT_ACTION__IN_GROUP = ACTION__IN_GROUP;
+
+	/**
 	 * The feature id for the '<em><b>Redefined Node</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -185374,15 +185382,6 @@
 	int RECLASSIFY_OBJECT_ACTION___MUST_BE_OWNED = ACTION___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int RECLASSIFY_OBJECT_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -185401,6 +185400,15 @@
 	int RECLASSIFY_OBJECT_ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int RECLASSIFY_OBJECT_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -185572,22 +185580,22 @@
 	int RECLASSIFY_OBJECT_ACTION___VALIDATE_INPUT_PIN__DIAGNOSTICCHAIN_MAP = ACTION_OPERATION_COUNT + 0;
 
 	/**
-	 * The operation id for the '<em>Validate Classifier Not Abstract</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int RECLASSIFY_OBJECT_ACTION___VALIDATE_CLASSIFIER_NOT_ABSTRACT__DIAGNOSTICCHAIN_MAP = ACTION_OPERATION_COUNT + 1;
-
-	/**
 	 * The operation id for the '<em>Validate Multiplicity</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int RECLASSIFY_OBJECT_ACTION___VALIDATE_MULTIPLICITY__DIAGNOSTICCHAIN_MAP = ACTION_OPERATION_COUNT + 2;
+	int RECLASSIFY_OBJECT_ACTION___VALIDATE_MULTIPLICITY__DIAGNOSTICCHAIN_MAP = ACTION_OPERATION_COUNT + 1;
+
+	/**
+	 * The operation id for the '<em>Validate Classifier Not Abstract</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int RECLASSIFY_OBJECT_ACTION___VALIDATE_CLASSIFIER_NOT_ABSTRACT__DIAGNOSTICCHAIN_MAP = ACTION_OPERATION_COUNT + 2;
 
 	/**
 	 * The number of operations of the '<em>Reclassify Object Action</em>' class.
@@ -185716,7 +185724,7 @@
 	int REDUCE_ACTION__REDEFINITION_CONTEXT = ACTION__REDEFINITION_CONTEXT;
 
 	/**
-	 * The feature id for the '<em><b>Activity</b></em>' container reference.
+	 * The feature id for the '<em><b>Activity</b></em>' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -185725,15 +185733,6 @@
 	int REDUCE_ACTION__ACTIVITY = ACTION__ACTIVITY;
 
 	/**
-	 * The feature id for the '<em><b>In Group</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REDUCE_ACTION__IN_GROUP = ACTION__IN_GROUP;
-
-	/**
 	 * The feature id for the '<em><b>In Partition</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -185779,6 +185778,15 @@
 	int REDUCE_ACTION__INCOMING = ACTION__INCOMING;
 
 	/**
+	 * The feature id for the '<em><b>In Group</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REDUCE_ACTION__IN_GROUP = ACTION__IN_GROUP;
+
+	/**
 	 * The feature id for the '<em><b>Redefined Node</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -186229,15 +186237,6 @@
 	int REDUCE_ACTION___MUST_BE_OWNED = ACTION___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REDUCE_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -186256,6 +186255,15 @@
 	int REDUCE_ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REDUCE_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -186418,13 +186426,22 @@
 	int REDUCE_ACTION___GET_CONTEXT = ACTION___GET_CONTEXT;
 
 	/**
+	 * The operation id for the '<em>Validate Output Types Are Compatible</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REDUCE_ACTION___VALIDATE_OUTPUT_TYPES_ARE_COMPATIBLE__DIAGNOSTICCHAIN_MAP = ACTION_OPERATION_COUNT + 0;
+
+	/**
 	 * The operation id for the '<em>Validate Reducer Inputs Output</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int REDUCE_ACTION___VALIDATE_REDUCER_INPUTS_OUTPUT__DIAGNOSTICCHAIN_MAP = ACTION_OPERATION_COUNT + 0;
+	int REDUCE_ACTION___VALIDATE_REDUCER_INPUTS_OUTPUT__DIAGNOSTICCHAIN_MAP = ACTION_OPERATION_COUNT + 1;
 
 	/**
 	 * The operation id for the '<em>Validate Input Type Is Collection</em>' operation.
@@ -186433,16 +186450,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int REDUCE_ACTION___VALIDATE_INPUT_TYPE_IS_COLLECTION__DIAGNOSTICCHAIN_MAP = ACTION_OPERATION_COUNT + 1;
-
-	/**
-	 * The operation id for the '<em>Validate Output Types Are Compatible</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REDUCE_ACTION___VALIDATE_OUTPUT_TYPES_ARE_COMPATIBLE__DIAGNOSTICCHAIN_MAP = ACTION_OPERATION_COUNT + 2;
+	int REDUCE_ACTION___VALIDATE_INPUT_TYPE_IS_COLLECTION__DIAGNOSTICCHAIN_MAP = ACTION_OPERATION_COUNT + 2;
 
 	/**
 	 * The number of operations of the '<em>Reduce Action</em>' class.
@@ -186571,7 +186579,7 @@
 	int REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__REDEFINITION_CONTEXT = WRITE_STRUCTURAL_FEATURE_ACTION__REDEFINITION_CONTEXT;
 
 	/**
-	 * The feature id for the '<em><b>Activity</b></em>' container reference.
+	 * The feature id for the '<em><b>Activity</b></em>' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -186580,15 +186588,6 @@
 	int REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__ACTIVITY = WRITE_STRUCTURAL_FEATURE_ACTION__ACTIVITY;
 
 	/**
-	 * The feature id for the '<em><b>In Group</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__IN_GROUP = WRITE_STRUCTURAL_FEATURE_ACTION__IN_GROUP;
-
-	/**
 	 * The feature id for the '<em><b>In Partition</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -186634,6 +186633,15 @@
 	int REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__INCOMING = WRITE_STRUCTURAL_FEATURE_ACTION__INCOMING;
 
 	/**
+	 * The feature id for the '<em><b>In Group</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__IN_GROUP = WRITE_STRUCTURAL_FEATURE_ACTION__IN_GROUP;
+
+	/**
 	 * The feature id for the '<em><b>Redefined Node</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -187102,15 +187110,6 @@
 	int REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION___MUST_BE_OWNED = WRITE_STRUCTURAL_FEATURE_ACTION___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = WRITE_STRUCTURAL_FEATURE_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -187129,6 +187128,15 @@
 	int REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = WRITE_STRUCTURAL_FEATURE_ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = WRITE_STRUCTURAL_FEATURE_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -187291,24 +187299,6 @@
 	int REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION___GET_CONTEXT = WRITE_STRUCTURAL_FEATURE_ACTION___GET_CONTEXT;
 
 	/**
-	 * The operation id for the '<em>Validate Multiplicity</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION___VALIDATE_MULTIPLICITY__DIAGNOSTICCHAIN_MAP = WRITE_STRUCTURAL_FEATURE_ACTION___VALIDATE_MULTIPLICITY__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Validate Same Type</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION___VALIDATE_SAME_TYPE__DIAGNOSTICCHAIN_MAP = WRITE_STRUCTURAL_FEATURE_ACTION___VALIDATE_SAME_TYPE__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Visibility</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -187318,6 +187308,15 @@
 	int REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION___VALIDATE_VISIBILITY__DIAGNOSTICCHAIN_MAP = WRITE_STRUCTURAL_FEATURE_ACTION___VALIDATE_VISIBILITY__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Multiplicity</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION___VALIDATE_MULTIPLICITY__DIAGNOSTICCHAIN_MAP = WRITE_STRUCTURAL_FEATURE_ACTION___VALIDATE_MULTIPLICITY__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Validate Not Static</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -187336,13 +187335,13 @@
 	int REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION___VALIDATE_ONE_FEATURING_CLASSIFIER__DIAGNOSTICCHAIN_MAP = WRITE_STRUCTURAL_FEATURE_ACTION___VALIDATE_ONE_FEATURING_CLASSIFIER__DIAGNOSTICCHAIN_MAP;
 
 	/**
-	 * The operation id for the '<em>Validate Multiplicity Of Result</em>' operation.
+	 * The operation id for the '<em>Validate Same Type</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION___VALIDATE_MULTIPLICITY_OF_RESULT__DIAGNOSTICCHAIN_MAP = WRITE_STRUCTURAL_FEATURE_ACTION___VALIDATE_MULTIPLICITY_OF_RESULT__DIAGNOSTICCHAIN_MAP;
+	int REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION___VALIDATE_SAME_TYPE__DIAGNOSTICCHAIN_MAP = WRITE_STRUCTURAL_FEATURE_ACTION___VALIDATE_SAME_TYPE__DIAGNOSTICCHAIN_MAP;
 
 	/**
 	 * The operation id for the '<em>Validate Input Pin</em>' operation.
@@ -187363,6 +187362,15 @@
 	int REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION___VALIDATE_TYPE_OF_RESULT__DIAGNOSTICCHAIN_MAP = WRITE_STRUCTURAL_FEATURE_ACTION___VALIDATE_TYPE_OF_RESULT__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Multiplicity Of Result</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION___VALIDATE_MULTIPLICITY_OF_RESULT__DIAGNOSTICCHAIN_MAP = WRITE_STRUCTURAL_FEATURE_ACTION___VALIDATE_MULTIPLICITY_OF_RESULT__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Validate Non Unique Removal</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -187498,7 +187506,7 @@
 	int REMOVE_VARIABLE_VALUE_ACTION__REDEFINITION_CONTEXT = WRITE_VARIABLE_ACTION__REDEFINITION_CONTEXT;
 
 	/**
-	 * The feature id for the '<em><b>Activity</b></em>' container reference.
+	 * The feature id for the '<em><b>Activity</b></em>' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -187507,15 +187515,6 @@
 	int REMOVE_VARIABLE_VALUE_ACTION__ACTIVITY = WRITE_VARIABLE_ACTION__ACTIVITY;
 
 	/**
-	 * The feature id for the '<em><b>In Group</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REMOVE_VARIABLE_VALUE_ACTION__IN_GROUP = WRITE_VARIABLE_ACTION__IN_GROUP;
-
-	/**
 	 * The feature id for the '<em><b>In Partition</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -187561,6 +187560,15 @@
 	int REMOVE_VARIABLE_VALUE_ACTION__INCOMING = WRITE_VARIABLE_ACTION__INCOMING;
 
 	/**
+	 * The feature id for the '<em><b>In Group</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REMOVE_VARIABLE_VALUE_ACTION__IN_GROUP = WRITE_VARIABLE_ACTION__IN_GROUP;
+
+	/**
 	 * The feature id for the '<em><b>Redefined Node</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -188011,15 +188019,6 @@
 	int REMOVE_VARIABLE_VALUE_ACTION___MUST_BE_OWNED = WRITE_VARIABLE_ACTION___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REMOVE_VARIABLE_VALUE_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = WRITE_VARIABLE_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -188038,6 +188037,15 @@
 	int REMOVE_VARIABLE_VALUE_ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = WRITE_VARIABLE_ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REMOVE_VARIABLE_VALUE_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = WRITE_VARIABLE_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -188209,15 +188217,6 @@
 	int REMOVE_VARIABLE_VALUE_ACTION___VALIDATE_SCOPE_OF_VARIABLE__DIAGNOSTICCHAIN_MAP = WRITE_VARIABLE_ACTION___VALIDATE_SCOPE_OF_VARIABLE__DIAGNOSTICCHAIN_MAP;
 
 	/**
-	 * The operation id for the '<em>Validate Same Type</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REMOVE_VARIABLE_VALUE_ACTION___VALIDATE_SAME_TYPE__DIAGNOSTICCHAIN_MAP = WRITE_VARIABLE_ACTION___VALIDATE_SAME_TYPE__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Multiplicity</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -188227,6 +188226,15 @@
 	int REMOVE_VARIABLE_VALUE_ACTION___VALIDATE_MULTIPLICITY__DIAGNOSTICCHAIN_MAP = WRITE_VARIABLE_ACTION___VALIDATE_MULTIPLICITY__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Same Type</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REMOVE_VARIABLE_VALUE_ACTION___VALIDATE_SAME_TYPE__DIAGNOSTICCHAIN_MAP = WRITE_VARIABLE_ACTION___VALIDATE_SAME_TYPE__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Validate Unlimited Natural</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -188362,7 +188370,7 @@
 	int REPLY_ACTION__REDEFINITION_CONTEXT = ACTION__REDEFINITION_CONTEXT;
 
 	/**
-	 * The feature id for the '<em><b>Activity</b></em>' container reference.
+	 * The feature id for the '<em><b>Activity</b></em>' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -188371,15 +188379,6 @@
 	int REPLY_ACTION__ACTIVITY = ACTION__ACTIVITY;
 
 	/**
-	 * The feature id for the '<em><b>In Group</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REPLY_ACTION__IN_GROUP = ACTION__IN_GROUP;
-
-	/**
 	 * The feature id for the '<em><b>In Partition</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -188425,6 +188424,15 @@
 	int REPLY_ACTION__INCOMING = ACTION__INCOMING;
 
 	/**
+	 * The feature id for the '<em><b>In Group</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REPLY_ACTION__IN_GROUP = ACTION__IN_GROUP;
+
+	/**
 	 * The feature id for the '<em><b>Redefined Node</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -188866,15 +188874,6 @@
 	int REPLY_ACTION___MUST_BE_OWNED = ACTION___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REPLY_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -188893,6 +188892,15 @@
 	int REPLY_ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REPLY_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -189055,22 +189063,22 @@
 	int REPLY_ACTION___GET_CONTEXT = ACTION___GET_CONTEXT;
 
 	/**
-	 * The operation id for the '<em>Validate Pins Match Parameter</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int REPLY_ACTION___VALIDATE_PINS_MATCH_PARAMETER__DIAGNOSTICCHAIN_MAP = ACTION_OPERATION_COUNT + 0;
-
-	/**
 	 * The operation id for the '<em>Validate Event On Reply To Call Trigger</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int REPLY_ACTION___VALIDATE_EVENT_ON_REPLY_TO_CALL_TRIGGER__DIAGNOSTICCHAIN_MAP = ACTION_OPERATION_COUNT + 1;
+	int REPLY_ACTION___VALIDATE_EVENT_ON_REPLY_TO_CALL_TRIGGER__DIAGNOSTICCHAIN_MAP = ACTION_OPERATION_COUNT + 0;
+
+	/**
+	 * The operation id for the '<em>Validate Pins Match Parameter</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REPLY_ACTION___VALIDATE_PINS_MATCH_PARAMETER__DIAGNOSTICCHAIN_MAP = ACTION_OPERATION_COUNT + 1;
 
 	/**
 	 * The number of operations of the '<em>Reply Action</em>' class.
@@ -189199,7 +189207,7 @@
 	int SEND_OBJECT_ACTION__REDEFINITION_CONTEXT = INVOCATION_ACTION__REDEFINITION_CONTEXT;
 
 	/**
-	 * The feature id for the '<em><b>Activity</b></em>' container reference.
+	 * The feature id for the '<em><b>Activity</b></em>' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -189208,15 +189216,6 @@
 	int SEND_OBJECT_ACTION__ACTIVITY = INVOCATION_ACTION__ACTIVITY;
 
 	/**
-	 * The feature id for the '<em><b>In Group</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int SEND_OBJECT_ACTION__IN_GROUP = INVOCATION_ACTION__IN_GROUP;
-
-	/**
 	 * The feature id for the '<em><b>In Partition</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -189262,6 +189261,15 @@
 	int SEND_OBJECT_ACTION__INCOMING = INVOCATION_ACTION__INCOMING;
 
 	/**
+	 * The feature id for the '<em><b>In Group</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SEND_OBJECT_ACTION__IN_GROUP = INVOCATION_ACTION__IN_GROUP;
+
+	/**
 	 * The feature id for the '<em><b>Redefined Node</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -189712,15 +189720,6 @@
 	int SEND_OBJECT_ACTION___MUST_BE_OWNED = INVOCATION_ACTION___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int SEND_OBJECT_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = INVOCATION_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -189739,6 +189738,15 @@
 	int SEND_OBJECT_ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = INVOCATION_ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SEND_OBJECT_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = INVOCATION_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -190036,7 +190044,7 @@
 	int SEND_SIGNAL_ACTION__REDEFINITION_CONTEXT = INVOCATION_ACTION__REDEFINITION_CONTEXT;
 
 	/**
-	 * The feature id for the '<em><b>Activity</b></em>' container reference.
+	 * The feature id for the '<em><b>Activity</b></em>' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -190045,15 +190053,6 @@
 	int SEND_SIGNAL_ACTION__ACTIVITY = INVOCATION_ACTION__ACTIVITY;
 
 	/**
-	 * The feature id for the '<em><b>In Group</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int SEND_SIGNAL_ACTION__IN_GROUP = INVOCATION_ACTION__IN_GROUP;
-
-	/**
 	 * The feature id for the '<em><b>In Partition</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -190099,6 +190098,15 @@
 	int SEND_SIGNAL_ACTION__INCOMING = INVOCATION_ACTION__INCOMING;
 
 	/**
+	 * The feature id for the '<em><b>In Group</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SEND_SIGNAL_ACTION__IN_GROUP = INVOCATION_ACTION__IN_GROUP;
+
+	/**
 	 * The feature id for the '<em><b>Redefined Node</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -190549,15 +190557,6 @@
 	int SEND_SIGNAL_ACTION___MUST_BE_OWNED = INVOCATION_ACTION___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int SEND_SIGNAL_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = INVOCATION_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -190576,6 +190575,15 @@
 	int SEND_SIGNAL_ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = INVOCATION_ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SEND_SIGNAL_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = INVOCATION_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -190891,7 +190899,7 @@
 	int SEQUENCE_NODE__REDEFINITION_CONTEXT = STRUCTURED_ACTIVITY_NODE__REDEFINITION_CONTEXT;
 
 	/**
-	 * The feature id for the '<em><b>Activity</b></em>' container reference.
+	 * The feature id for the '<em><b>Activity</b></em>' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -190900,15 +190908,6 @@
 	int SEQUENCE_NODE__ACTIVITY = STRUCTURED_ACTIVITY_NODE__ACTIVITY;
 
 	/**
-	 * The feature id for the '<em><b>In Group</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int SEQUENCE_NODE__IN_GROUP = STRUCTURED_ACTIVITY_NODE__IN_GROUP;
-
-	/**
 	 * The feature id for the '<em><b>In Partition</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -190954,6 +190953,15 @@
 	int SEQUENCE_NODE__INCOMING = STRUCTURED_ACTIVITY_NODE__INCOMING;
 
 	/**
+	 * The feature id for the '<em><b>In Group</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SEQUENCE_NODE__IN_GROUP = STRUCTURED_ACTIVITY_NODE__IN_GROUP;
+
+	/**
 	 * The feature id for the '<em><b>Redefined Node</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -191080,6 +191088,15 @@
 	int SEQUENCE_NODE__MEMBER = STRUCTURED_ACTIVITY_NODE__MEMBER;
 
 	/**
+	 * The feature id for the '<em><b>Contained Edge</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SEQUENCE_NODE__CONTAINED_EDGE = STRUCTURED_ACTIVITY_NODE__CONTAINED_EDGE;
+
+	/**
 	 * The feature id for the '<em><b>Contained Node</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -191089,7 +191106,7 @@
 	int SEQUENCE_NODE__CONTAINED_NODE = STRUCTURED_ACTIVITY_NODE__CONTAINED_NODE;
 
 	/**
-	 * The feature id for the '<em><b>In Activity</b></em>' container reference.
+	 * The feature id for the '<em><b>In Activity</b></em>' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -191116,15 +191133,6 @@
 	int SEQUENCE_NODE__SUPER_GROUP = STRUCTURED_ACTIVITY_NODE__SUPER_GROUP;
 
 	/**
-	 * The feature id for the '<em><b>Contained Edge</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int SEQUENCE_NODE__CONTAINED_EDGE = STRUCTURED_ACTIVITY_NODE__CONTAINED_EDGE;
-
-	/**
 	 * The feature id for the '<em><b>Must Isolate</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -191530,15 +191538,6 @@
 	int SEQUENCE_NODE___MUST_BE_OWNED = STRUCTURED_ACTIVITY_NODE___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int SEQUENCE_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = STRUCTURED_ACTIVITY_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -191557,6 +191556,15 @@
 	int SEQUENCE_NODE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = STRUCTURED_ACTIVITY_NODE___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SEQUENCE_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = STRUCTURED_ACTIVITY_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -191818,15 +191826,6 @@
 	int SEQUENCE_NODE___GET_OWNED_MEMBERS = STRUCTURED_ACTIVITY_NODE___GET_OWNED_MEMBERS;
 
 	/**
-	 * The operation id for the '<em>Validate Nodes And Edges</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int SEQUENCE_NODE___VALIDATE_NODES_AND_EDGES__DIAGNOSTICCHAIN_MAP = STRUCTURED_ACTIVITY_NODE___VALIDATE_NODES_AND_EDGES__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Group Owned</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -191845,13 +191844,22 @@
 	int SEQUENCE_NODE___VALIDATE_NOT_CONTAINED__DIAGNOSTICCHAIN_MAP = STRUCTURED_ACTIVITY_NODE___VALIDATE_NOT_CONTAINED__DIAGNOSTICCHAIN_MAP;
 
 	/**
-	 * The operation id for the '<em>Validate Output Pin Edges</em>' operation.
+	 * The operation id for the '<em>Validate Nodes And Edges</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int SEQUENCE_NODE___VALIDATE_OUTPUT_PIN_EDGES__DIAGNOSTICCHAIN_MAP = STRUCTURED_ACTIVITY_NODE___VALIDATE_OUTPUT_PIN_EDGES__DIAGNOSTICCHAIN_MAP;
+	int SEQUENCE_NODE___VALIDATE_NODES_AND_EDGES__DIAGNOSTICCHAIN_MAP = STRUCTURED_ACTIVITY_NODE___VALIDATE_NODES_AND_EDGES__DIAGNOSTICCHAIN_MAP;
+
+	/**
+	 * The operation id for the '<em>Validate Input Pin Edges</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SEQUENCE_NODE___VALIDATE_INPUT_PIN_EDGES__DIAGNOSTICCHAIN_MAP = STRUCTURED_ACTIVITY_NODE___VALIDATE_INPUT_PIN_EDGES__DIAGNOSTICCHAIN_MAP;
 
 	/**
 	 * The operation id for the '<em>Validate Edges</em>' operation.
@@ -191863,13 +191871,13 @@
 	int SEQUENCE_NODE___VALIDATE_EDGES__DIAGNOSTICCHAIN_MAP = STRUCTURED_ACTIVITY_NODE___VALIDATE_EDGES__DIAGNOSTICCHAIN_MAP;
 
 	/**
-	 * The operation id for the '<em>Validate Input Pin Edges</em>' operation.
+	 * The operation id for the '<em>Validate Output Pin Edges</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int SEQUENCE_NODE___VALIDATE_INPUT_PIN_EDGES__DIAGNOSTICCHAIN_MAP = STRUCTURED_ACTIVITY_NODE___VALIDATE_INPUT_PIN_EDGES__DIAGNOSTICCHAIN_MAP;
+	int SEQUENCE_NODE___VALIDATE_OUTPUT_PIN_EDGES__DIAGNOSTICCHAIN_MAP = STRUCTURED_ACTIVITY_NODE___VALIDATE_OUTPUT_PIN_EDGES__DIAGNOSTICCHAIN_MAP;
 
 	/**
 	 * The number of operations of the '<em>Sequence Node</em>' class.
@@ -192340,15 +192348,6 @@
 	int SIGNAL_EVENT___MUST_BE_OWNED = MESSAGE_EVENT___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int SIGNAL_EVENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = MESSAGE_EVENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -192367,6 +192366,15 @@
 	int SIGNAL_EVENT___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = MESSAGE_EVENT___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int SIGNAL_EVENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = MESSAGE_EVENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -192601,7 +192609,7 @@
 	int START_CLASSIFIER_BEHAVIOR_ACTION__REDEFINITION_CONTEXT = ACTION__REDEFINITION_CONTEXT;
 
 	/**
-	 * The feature id for the '<em><b>Activity</b></em>' container reference.
+	 * The feature id for the '<em><b>Activity</b></em>' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -192610,15 +192618,6 @@
 	int START_CLASSIFIER_BEHAVIOR_ACTION__ACTIVITY = ACTION__ACTIVITY;
 
 	/**
-	 * The feature id for the '<em><b>In Group</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int START_CLASSIFIER_BEHAVIOR_ACTION__IN_GROUP = ACTION__IN_GROUP;
-
-	/**
 	 * The feature id for the '<em><b>In Partition</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -192664,6 +192663,15 @@
 	int START_CLASSIFIER_BEHAVIOR_ACTION__INCOMING = ACTION__INCOMING;
 
 	/**
+	 * The feature id for the '<em><b>In Group</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int START_CLASSIFIER_BEHAVIOR_ACTION__IN_GROUP = ACTION__IN_GROUP;
+
+	/**
 	 * The feature id for the '<em><b>Redefined Node</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -193087,15 +193095,6 @@
 	int START_CLASSIFIER_BEHAVIOR_ACTION___MUST_BE_OWNED = ACTION___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int START_CLASSIFIER_BEHAVIOR_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -193114,6 +193113,15 @@
 	int START_CLASSIFIER_BEHAVIOR_ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int START_CLASSIFIER_BEHAVIOR_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -193276,22 +193284,22 @@
 	int START_CLASSIFIER_BEHAVIOR_ACTION___GET_CONTEXT = ACTION___GET_CONTEXT;
 
 	/**
-	 * The operation id for the '<em>Validate Multiplicity</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int START_CLASSIFIER_BEHAVIOR_ACTION___VALIDATE_MULTIPLICITY__DIAGNOSTICCHAIN_MAP = ACTION_OPERATION_COUNT + 0;
-
-	/**
 	 * The operation id for the '<em>Validate Type Has Classifier</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int START_CLASSIFIER_BEHAVIOR_ACTION___VALIDATE_TYPE_HAS_CLASSIFIER__DIAGNOSTICCHAIN_MAP = ACTION_OPERATION_COUNT + 1;
+	int START_CLASSIFIER_BEHAVIOR_ACTION___VALIDATE_TYPE_HAS_CLASSIFIER__DIAGNOSTICCHAIN_MAP = ACTION_OPERATION_COUNT + 0;
+
+	/**
+	 * The operation id for the '<em>Validate Multiplicity</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int START_CLASSIFIER_BEHAVIOR_ACTION___VALIDATE_MULTIPLICITY__DIAGNOSTICCHAIN_MAP = ACTION_OPERATION_COUNT + 1;
 
 	/**
 	 * The number of operations of the '<em>Start Classifier Behavior Action</em>' class.
@@ -193420,7 +193428,7 @@
 	int START_OBJECT_BEHAVIOR_ACTION__REDEFINITION_CONTEXT = CALL_ACTION__REDEFINITION_CONTEXT;
 
 	/**
-	 * The feature id for the '<em><b>Activity</b></em>' container reference.
+	 * The feature id for the '<em><b>Activity</b></em>' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -193429,15 +193437,6 @@
 	int START_OBJECT_BEHAVIOR_ACTION__ACTIVITY = CALL_ACTION__ACTIVITY;
 
 	/**
-	 * The feature id for the '<em><b>In Group</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int START_OBJECT_BEHAVIOR_ACTION__IN_GROUP = CALL_ACTION__IN_GROUP;
-
-	/**
 	 * The feature id for the '<em><b>In Partition</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -193483,6 +193482,15 @@
 	int START_OBJECT_BEHAVIOR_ACTION__INCOMING = CALL_ACTION__INCOMING;
 
 	/**
+	 * The feature id for the '<em><b>In Group</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int START_OBJECT_BEHAVIOR_ACTION__IN_GROUP = CALL_ACTION__IN_GROUP;
+
+	/**
 	 * The feature id for the '<em><b>Redefined Node</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -193942,15 +193950,6 @@
 	int START_OBJECT_BEHAVIOR_ACTION___MUST_BE_OWNED = CALL_ACTION___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int START_OBJECT_BEHAVIOR_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = CALL_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -193969,6 +193968,15 @@
 	int START_OBJECT_BEHAVIOR_ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = CALL_ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int START_OBJECT_BEHAVIOR_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = CALL_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -194140,13 +194148,13 @@
 	int START_OBJECT_BEHAVIOR_ACTION___VALIDATE_ON_PORT_RECEIVER__DIAGNOSTICCHAIN_MAP = CALL_ACTION___VALIDATE_ON_PORT_RECEIVER__DIAGNOSTICCHAIN_MAP;
 
 	/**
-	 * The operation id for the '<em>Validate Type Ordering Multiplicity</em>' operation.
+	 * The operation id for the '<em>Validate Synchronous Call</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int START_OBJECT_BEHAVIOR_ACTION___VALIDATE_TYPE_ORDERING_MULTIPLICITY__DIAGNOSTICCHAIN_MAP = CALL_ACTION___VALIDATE_TYPE_ORDERING_MULTIPLICITY__DIAGNOSTICCHAIN_MAP;
+	int START_OBJECT_BEHAVIOR_ACTION___VALIDATE_SYNCHRONOUS_CALL__DIAGNOSTICCHAIN_MAP = CALL_ACTION___VALIDATE_SYNCHRONOUS_CALL__DIAGNOSTICCHAIN_MAP;
 
 	/**
 	 * The operation id for the '<em>Validate Number And Order</em>' operation.
@@ -194158,40 +194166,13 @@
 	int START_OBJECT_BEHAVIOR_ACTION___VALIDATE_NUMBER_AND_ORDER__DIAGNOSTICCHAIN_MAP = CALL_ACTION___VALIDATE_NUMBER_AND_ORDER__DIAGNOSTICCHAIN_MAP;
 
 	/**
-	 * The operation id for the '<em>Validate Synchronous Call</em>' operation.
+	 * The operation id for the '<em>Validate Type Ordering Multiplicity</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int START_OBJECT_BEHAVIOR_ACTION___VALIDATE_SYNCHRONOUS_CALL__DIAGNOSTICCHAIN_MAP = CALL_ACTION___VALIDATE_SYNCHRONOUS_CALL__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Validate Number Order Results</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int START_OBJECT_BEHAVIOR_ACTION___VALIDATE_NUMBER_ORDER_RESULTS__DIAGNOSTICCHAIN_MAP = CALL_ACTION_OPERATION_COUNT + 0;
-
-	/**
-	 * The operation id for the '<em>Validate Multiplicity Of Object</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int START_OBJECT_BEHAVIOR_ACTION___VALIDATE_MULTIPLICITY_OF_OBJECT__DIAGNOSTICCHAIN_MAP = CALL_ACTION_OPERATION_COUNT + 1;
-
-	/**
-	 * The operation id for the '<em>Validate Type Ordering Multiplicity Match</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int START_OBJECT_BEHAVIOR_ACTION___VALIDATE_TYPE_ORDERING_MULTIPLICITY_MATCH__DIAGNOSTICCHAIN_MAP = CALL_ACTION_OPERATION_COUNT + 2;
+	int START_OBJECT_BEHAVIOR_ACTION___VALIDATE_TYPE_ORDERING_MULTIPLICITY__DIAGNOSTICCHAIN_MAP = CALL_ACTION___VALIDATE_TYPE_ORDERING_MULTIPLICITY__DIAGNOSTICCHAIN_MAP;
 
 	/**
 	 * The operation id for the '<em>Validate Number Order Arguments</em>' operation.
@@ -194200,7 +194181,25 @@
 	 * @generated
 	 * @ordered
 	 */
-	int START_OBJECT_BEHAVIOR_ACTION___VALIDATE_NUMBER_ORDER_ARGUMENTS__DIAGNOSTICCHAIN_MAP = CALL_ACTION_OPERATION_COUNT + 3;
+	int START_OBJECT_BEHAVIOR_ACTION___VALIDATE_NUMBER_ORDER_ARGUMENTS__DIAGNOSTICCHAIN_MAP = CALL_ACTION_OPERATION_COUNT + 0;
+
+	/**
+	 * The operation id for the '<em>Validate Type Ordering Multiplicity Match</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int START_OBJECT_BEHAVIOR_ACTION___VALIDATE_TYPE_ORDERING_MULTIPLICITY_MATCH__DIAGNOSTICCHAIN_MAP = CALL_ACTION_OPERATION_COUNT + 1;
+
+	/**
+	 * The operation id for the '<em>Validate Number Order Results</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int START_OBJECT_BEHAVIOR_ACTION___VALIDATE_NUMBER_ORDER_RESULTS__DIAGNOSTICCHAIN_MAP = CALL_ACTION_OPERATION_COUNT + 2;
 
 	/**
 	 * The operation id for the '<em>Validate Type Of Object</em>' operation.
@@ -194209,7 +194208,16 @@
 	 * @generated
 	 * @ordered
 	 */
-	int START_OBJECT_BEHAVIOR_ACTION___VALIDATE_TYPE_OF_OBJECT__DIAGNOSTICCHAIN_MAP = CALL_ACTION_OPERATION_COUNT + 4;
+	int START_OBJECT_BEHAVIOR_ACTION___VALIDATE_TYPE_OF_OBJECT__DIAGNOSTICCHAIN_MAP = CALL_ACTION_OPERATION_COUNT + 3;
+
+	/**
+	 * The operation id for the '<em>Validate Multiplicity Of Object</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int START_OBJECT_BEHAVIOR_ACTION___VALIDATE_MULTIPLICITY_OF_OBJECT__DIAGNOSTICCHAIN_MAP = CALL_ACTION_OPERATION_COUNT + 4;
 
 	/**
 	 * The number of operations of the '<em>Start Object Behavior Action</em>' class.
@@ -194698,15 +194706,6 @@
 	int STATE_INVARIANT___MUST_BE_OWNED = INTERACTION_FRAGMENT___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int STATE_INVARIANT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = INTERACTION_FRAGMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -194725,6 +194724,15 @@
 	int STATE_INVARIANT___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = INTERACTION_FRAGMENT___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int STATE_INVARIANT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = INTERACTION_FRAGMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -194941,7 +194949,7 @@
 	int TEST_IDENTITY_ACTION__REDEFINITION_CONTEXT = ACTION__REDEFINITION_CONTEXT;
 
 	/**
-	 * The feature id for the '<em><b>Activity</b></em>' container reference.
+	 * The feature id for the '<em><b>Activity</b></em>' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -194950,15 +194958,6 @@
 	int TEST_IDENTITY_ACTION__ACTIVITY = ACTION__ACTIVITY;
 
 	/**
-	 * The feature id for the '<em><b>In Group</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TEST_IDENTITY_ACTION__IN_GROUP = ACTION__IN_GROUP;
-
-	/**
 	 * The feature id for the '<em><b>In Partition</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -195004,6 +195003,15 @@
 	int TEST_IDENTITY_ACTION__INCOMING = ACTION__INCOMING;
 
 	/**
+	 * The feature id for the '<em><b>In Group</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TEST_IDENTITY_ACTION__IN_GROUP = ACTION__IN_GROUP;
+
+	/**
 	 * The feature id for the '<em><b>Redefined Node</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -195445,15 +195453,6 @@
 	int TEST_IDENTITY_ACTION___MUST_BE_OWNED = ACTION___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TEST_IDENTITY_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -195472,6 +195471,15 @@
 	int TEST_IDENTITY_ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TEST_IDENTITY_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -196156,15 +196164,6 @@
 	int TIME_CONSTRAINT___MUST_BE_OWNED = INTERVAL_CONSTRAINT___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TIME_CONSTRAINT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = INTERVAL_CONSTRAINT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -196183,6 +196182,15 @@
 	int TIME_CONSTRAINT___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = INTERVAL_CONSTRAINT___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TIME_CONSTRAINT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = INTERVAL_CONSTRAINT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -196291,13 +196299,13 @@
 	int TIME_CONSTRAINT___IS_TEMPLATE_PARAMETER = INTERVAL_CONSTRAINT___IS_TEMPLATE_PARAMETER;
 
 	/**
-	 * The operation id for the '<em>Validate Boolean Value</em>' operation.
+	 * The operation id for the '<em>Validate Not Apply To Self</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int TIME_CONSTRAINT___VALIDATE_BOOLEAN_VALUE__DIAGNOSTICCHAIN_MAP = INTERVAL_CONSTRAINT___VALIDATE_BOOLEAN_VALUE__DIAGNOSTICCHAIN_MAP;
+	int TIME_CONSTRAINT___VALIDATE_NOT_APPLY_TO_SELF__DIAGNOSTICCHAIN_MAP = INTERVAL_CONSTRAINT___VALIDATE_NOT_APPLY_TO_SELF__DIAGNOSTICCHAIN_MAP;
 
 	/**
 	 * The operation id for the '<em>Validate No Side Effects</em>' operation.
@@ -196309,13 +196317,13 @@
 	int TIME_CONSTRAINT___VALIDATE_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP = INTERVAL_CONSTRAINT___VALIDATE_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP;
 
 	/**
-	 * The operation id for the '<em>Validate Not Apply To Self</em>' operation.
+	 * The operation id for the '<em>Validate Boolean Value</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int TIME_CONSTRAINT___VALIDATE_NOT_APPLY_TO_SELF__DIAGNOSTICCHAIN_MAP = INTERVAL_CONSTRAINT___VALIDATE_NOT_APPLY_TO_SELF__DIAGNOSTICCHAIN_MAP;
+	int TIME_CONSTRAINT___VALIDATE_BOOLEAN_VALUE__DIAGNOSTICCHAIN_MAP = INTERVAL_CONSTRAINT___VALIDATE_BOOLEAN_VALUE__DIAGNOSTICCHAIN_MAP;
 
 	/**
 	 * The operation id for the '<em>Validate Value Specification Boolean</em>' operation.
@@ -196813,15 +196821,6 @@
 	int TIME_INTERVAL___MUST_BE_OWNED = INTERVAL___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TIME_INTERVAL___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = INTERVAL___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -196840,6 +196839,15 @@
 	int TIME_INTERVAL___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = INTERVAL___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TIME_INTERVAL___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = INTERVAL___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -197497,15 +197505,6 @@
 	int TIME_EXPRESSION___MUST_BE_OWNED = VALUE_SPECIFICATION___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TIME_EXPRESSION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = VALUE_SPECIFICATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -197524,6 +197523,15 @@
 	int TIME_EXPRESSION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = VALUE_SPECIFICATION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TIME_EXPRESSION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = VALUE_SPECIFICATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -198172,15 +198180,6 @@
 	int TIME_EVENT___MUST_BE_OWNED = EVENT___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TIME_EVENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = EVENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -198199,6 +198198,15 @@
 	int TIME_EVENT___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = EVENT___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TIME_EVENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = EVENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -198307,22 +198315,22 @@
 	int TIME_EVENT___IS_TEMPLATE_PARAMETER = EVENT___IS_TEMPLATE_PARAMETER;
 
 	/**
-	 * The operation id for the '<em>Validate When Non Negative</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TIME_EVENT___VALIDATE_WHEN_NON_NEGATIVE__DIAGNOSTICCHAIN_MAP = EVENT_OPERATION_COUNT + 0;
-
-	/**
 	 * The operation id for the '<em>Validate Starting Time</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int TIME_EVENT___VALIDATE_STARTING_TIME__DIAGNOSTICCHAIN_MAP = EVENT_OPERATION_COUNT + 1;
+	int TIME_EVENT___VALIDATE_STARTING_TIME__DIAGNOSTICCHAIN_MAP = EVENT_OPERATION_COUNT + 0;
+
+	/**
+	 * The operation id for the '<em>Validate When Non Negative</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TIME_EVENT___VALIDATE_WHEN_NON_NEGATIVE__DIAGNOSTICCHAIN_MAP = EVENT_OPERATION_COUNT + 1;
 
 	/**
 	 * The number of operations of the '<em>Time Event</em>' class.
@@ -198802,15 +198810,6 @@
 	int TIME_OBSERVATION___MUST_BE_OWNED = OBSERVATION___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TIME_OBSERVATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = OBSERVATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -198829,6 +198828,15 @@
 	int TIME_OBSERVATION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = OBSERVATION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int TIME_OBSERVATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = OBSERVATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -199063,7 +199071,7 @@
 	int UNMARSHALL_ACTION__REDEFINITION_CONTEXT = ACTION__REDEFINITION_CONTEXT;
 
 	/**
-	 * The feature id for the '<em><b>Activity</b></em>' container reference.
+	 * The feature id for the '<em><b>Activity</b></em>' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -199072,15 +199080,6 @@
 	int UNMARSHALL_ACTION__ACTIVITY = ACTION__ACTIVITY;
 
 	/**
-	 * The feature id for the '<em><b>In Group</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int UNMARSHALL_ACTION__IN_GROUP = ACTION__IN_GROUP;
-
-	/**
 	 * The feature id for the '<em><b>In Partition</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -199126,6 +199125,15 @@
 	int UNMARSHALL_ACTION__INCOMING = ACTION__INCOMING;
 
 	/**
+	 * The feature id for the '<em><b>In Group</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int UNMARSHALL_ACTION__IN_GROUP = ACTION__IN_GROUP;
+
+	/**
 	 * The feature id for the '<em><b>Redefined Node</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -199567,15 +199575,6 @@
 	int UNMARSHALL_ACTION___MUST_BE_OWNED = ACTION___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int UNMARSHALL_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -199594,6 +199593,15 @@
 	int UNMARSHALL_ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int UNMARSHALL_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -199756,31 +199764,31 @@
 	int UNMARSHALL_ACTION___GET_CONTEXT = ACTION___GET_CONTEXT;
 
 	/**
+	 * The operation id for the '<em>Validate Same Type</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int UNMARSHALL_ACTION___VALIDATE_SAME_TYPE__DIAGNOSTICCHAIN_MAP = ACTION_OPERATION_COUNT + 0;
+
+	/**
 	 * The operation id for the '<em>Validate Structural Feature</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int UNMARSHALL_ACTION___VALIDATE_STRUCTURAL_FEATURE__DIAGNOSTICCHAIN_MAP = ACTION_OPERATION_COUNT + 0;
+	int UNMARSHALL_ACTION___VALIDATE_STRUCTURAL_FEATURE__DIAGNOSTICCHAIN_MAP = ACTION_OPERATION_COUNT + 1;
 
 	/**
-	 * The operation id for the '<em>Validate Number Of Result</em>' operation.
+	 * The operation id for the '<em>Validate Multiplicity Of Object</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int UNMARSHALL_ACTION___VALIDATE_NUMBER_OF_RESULT__DIAGNOSTICCHAIN_MAP = ACTION_OPERATION_COUNT + 1;
-
-	/**
-	 * The operation id for the '<em>Validate Multiplicity Of Result</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int UNMARSHALL_ACTION___VALIDATE_MULTIPLICITY_OF_RESULT__DIAGNOSTICCHAIN_MAP = ACTION_OPERATION_COUNT + 2;
+	int UNMARSHALL_ACTION___VALIDATE_MULTIPLICITY_OF_OBJECT__DIAGNOSTICCHAIN_MAP = ACTION_OPERATION_COUNT + 2;
 
 	/**
 	 * The operation id for the '<em>Validate Type And Ordering</em>' operation.
@@ -199792,31 +199800,31 @@
 	int UNMARSHALL_ACTION___VALIDATE_TYPE_AND_ORDERING__DIAGNOSTICCHAIN_MAP = ACTION_OPERATION_COUNT + 3;
 
 	/**
+	 * The operation id for the '<em>Validate Number Of Result</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int UNMARSHALL_ACTION___VALIDATE_NUMBER_OF_RESULT__DIAGNOSTICCHAIN_MAP = ACTION_OPERATION_COUNT + 4;
+
+	/**
 	 * The operation id for the '<em>Validate Unmarshall Type Is Classifier</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int UNMARSHALL_ACTION___VALIDATE_UNMARSHALL_TYPE_IS_CLASSIFIER__DIAGNOSTICCHAIN_MAP = ACTION_OPERATION_COUNT + 4;
+	int UNMARSHALL_ACTION___VALIDATE_UNMARSHALL_TYPE_IS_CLASSIFIER__DIAGNOSTICCHAIN_MAP = ACTION_OPERATION_COUNT + 5;
 
 	/**
-	 * The operation id for the '<em>Validate Multiplicity Of Object</em>' operation.
+	 * The operation id for the '<em>Validate Multiplicity Of Result</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int UNMARSHALL_ACTION___VALIDATE_MULTIPLICITY_OF_OBJECT__DIAGNOSTICCHAIN_MAP = ACTION_OPERATION_COUNT + 5;
-
-	/**
-	 * The operation id for the '<em>Validate Same Type</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int UNMARSHALL_ACTION___VALIDATE_SAME_TYPE__DIAGNOSTICCHAIN_MAP = ACTION_OPERATION_COUNT + 6;
+	int UNMARSHALL_ACTION___VALIDATE_MULTIPLICITY_OF_RESULT__DIAGNOSTICCHAIN_MAP = ACTION_OPERATION_COUNT + 6;
 
 	/**
 	 * The number of operations of the '<em>Unmarshall Action</em>' class.
@@ -199945,7 +199953,7 @@
 	int VALUE_PIN__REDEFINITION_CONTEXT = INPUT_PIN__REDEFINITION_CONTEXT;
 
 	/**
-	 * The feature id for the '<em><b>Activity</b></em>' container reference.
+	 * The feature id for the '<em><b>Activity</b></em>' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -199954,15 +199962,6 @@
 	int VALUE_PIN__ACTIVITY = INPUT_PIN__ACTIVITY;
 
 	/**
-	 * The feature id for the '<em><b>In Group</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int VALUE_PIN__IN_GROUP = INPUT_PIN__IN_GROUP;
-
-	/**
 	 * The feature id for the '<em><b>In Partition</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -200008,6 +200007,15 @@
 	int VALUE_PIN__INCOMING = INPUT_PIN__INCOMING;
 
 	/**
+	 * The feature id for the '<em><b>In Group</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int VALUE_PIN__IN_GROUP = INPUT_PIN__IN_GROUP;
+
+	/**
 	 * The feature id for the '<em><b>Redefined Node</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -200485,15 +200493,6 @@
 	int VALUE_PIN___MUST_BE_OWNED = INPUT_PIN___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int VALUE_PIN___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = INPUT_PIN___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -200512,6 +200511,15 @@
 	int VALUE_PIN___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = INPUT_PIN___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int VALUE_PIN___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = INPUT_PIN___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -200665,13 +200673,13 @@
 	int VALUE_PIN___VALIDATE_OWNED_STRUCTURED_NODE__DIAGNOSTICCHAIN_MAP = INPUT_PIN___VALIDATE_OWNED_STRUCTURED_NODE__DIAGNOSTICCHAIN_MAP;
 
 	/**
-	 * The operation id for the '<em>Validate Input Output Parameter</em>' operation.
+	 * The operation id for the '<em>Validate Object Flow Edges</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int VALUE_PIN___VALIDATE_INPUT_OUTPUT_PARAMETER__DIAGNOSTICCHAIN_MAP = INPUT_PIN___VALIDATE_INPUT_OUTPUT_PARAMETER__DIAGNOSTICCHAIN_MAP;
+	int VALUE_PIN___VALIDATE_OBJECT_FLOW_EDGES__DIAGNOSTICCHAIN_MAP = INPUT_PIN___VALIDATE_OBJECT_FLOW_EDGES__DIAGNOSTICCHAIN_MAP;
 
 	/**
 	 * The operation id for the '<em>Validate Selection Behavior</em>' operation.
@@ -200683,22 +200691,13 @@
 	int VALUE_PIN___VALIDATE_SELECTION_BEHAVIOR__DIAGNOSTICCHAIN_MAP = INPUT_PIN___VALIDATE_SELECTION_BEHAVIOR__DIAGNOSTICCHAIN_MAP;
 
 	/**
-	 * The operation id for the '<em>Validate Object Flow Edges</em>' operation.
+	 * The operation id for the '<em>Validate Input Output Parameter</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int VALUE_PIN___VALIDATE_OBJECT_FLOW_EDGES__DIAGNOSTICCHAIN_MAP = INPUT_PIN___VALIDATE_OBJECT_FLOW_EDGES__DIAGNOSTICCHAIN_MAP;
-
-	/**
-	 * The operation id for the '<em>Validate Upper Ge Lower</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int VALUE_PIN___VALIDATE_UPPER_GE_LOWER__DIAGNOSTICCHAIN_MAP = INPUT_PIN___VALIDATE_UPPER_GE_LOWER__DIAGNOSTICCHAIN_MAP;
+	int VALUE_PIN___VALIDATE_INPUT_OUTPUT_PARAMETER__DIAGNOSTICCHAIN_MAP = INPUT_PIN___VALIDATE_INPUT_OUTPUT_PARAMETER__DIAGNOSTICCHAIN_MAP;
 
 	/**
 	 * The operation id for the '<em>Validate Lower Ge0</em>' operation.
@@ -200710,13 +200709,13 @@
 	int VALUE_PIN___VALIDATE_LOWER_GE0__DIAGNOSTICCHAIN_MAP = INPUT_PIN___VALIDATE_LOWER_GE0__DIAGNOSTICCHAIN_MAP;
 
 	/**
-	 * The operation id for the '<em>Validate Value Specification No Side Effects</em>' operation.
+	 * The operation id for the '<em>Validate Upper Ge Lower</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int VALUE_PIN___VALIDATE_VALUE_SPECIFICATION_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP = INPUT_PIN___VALIDATE_VALUE_SPECIFICATION_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP;
+	int VALUE_PIN___VALIDATE_UPPER_GE_LOWER__DIAGNOSTICCHAIN_MAP = INPUT_PIN___VALIDATE_UPPER_GE_LOWER__DIAGNOSTICCHAIN_MAP;
 
 	/**
 	 * The operation id for the '<em>Validate Value Specification Constant</em>' operation.
@@ -200728,6 +200727,15 @@
 	int VALUE_PIN___VALIDATE_VALUE_SPECIFICATION_CONSTANT__DIAGNOSTICCHAIN_MAP = INPUT_PIN___VALIDATE_VALUE_SPECIFICATION_CONSTANT__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Value Specification No Side Effects</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int VALUE_PIN___VALIDATE_VALUE_SPECIFICATION_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP = INPUT_PIN___VALIDATE_VALUE_SPECIFICATION_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Set Lower</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -200845,22 +200853,22 @@
 	int VALUE_PIN___VALIDATE_OUTGOING_EDGES_STRUCTURED_ONLY__DIAGNOSTICCHAIN_MAP = INPUT_PIN___VALIDATE_OUTGOING_EDGES_STRUCTURED_ONLY__DIAGNOSTICCHAIN_MAP;
 
 	/**
-	 * The operation id for the '<em>Validate No Incoming Edges</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int VALUE_PIN___VALIDATE_NO_INCOMING_EDGES__DIAGNOSTICCHAIN_MAP = INPUT_PIN_OPERATION_COUNT + 0;
-
-	/**
 	 * The operation id for the '<em>Validate Compatible Type</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int VALUE_PIN___VALIDATE_COMPATIBLE_TYPE__DIAGNOSTICCHAIN_MAP = INPUT_PIN_OPERATION_COUNT + 1;
+	int VALUE_PIN___VALIDATE_COMPATIBLE_TYPE__DIAGNOSTICCHAIN_MAP = INPUT_PIN_OPERATION_COUNT + 0;
+
+	/**
+	 * The operation id for the '<em>Validate No Incoming Edges</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int VALUE_PIN___VALIDATE_NO_INCOMING_EDGES__DIAGNOSTICCHAIN_MAP = INPUT_PIN_OPERATION_COUNT + 1;
 
 	/**
 	 * The number of operations of the '<em>Value Pin</em>' class.
@@ -200989,7 +200997,7 @@
 	int VALUE_SPECIFICATION_ACTION__REDEFINITION_CONTEXT = ACTION__REDEFINITION_CONTEXT;
 
 	/**
-	 * The feature id for the '<em><b>Activity</b></em>' container reference.
+	 * The feature id for the '<em><b>Activity</b></em>' reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -200998,15 +201006,6 @@
 	int VALUE_SPECIFICATION_ACTION__ACTIVITY = ACTION__ACTIVITY;
 
 	/**
-	 * The feature id for the '<em><b>In Group</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int VALUE_SPECIFICATION_ACTION__IN_GROUP = ACTION__IN_GROUP;
-
-	/**
 	 * The feature id for the '<em><b>In Partition</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -201052,6 +201051,15 @@
 	int VALUE_SPECIFICATION_ACTION__INCOMING = ACTION__INCOMING;
 
 	/**
+	 * The feature id for the '<em><b>In Group</b></em>' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int VALUE_SPECIFICATION_ACTION__IN_GROUP = ACTION__IN_GROUP;
+
+	/**
 	 * The feature id for the '<em><b>Redefined Node</b></em>' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -201484,15 +201492,6 @@
 	int VALUE_SPECIFICATION_ACTION___MUST_BE_OWNED = ACTION___MUST_BE_OWNED;
 
 	/**
-	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int VALUE_SPECIFICATION_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
-
-	/**
 	 * The operation id for the '<em>Validate Has Qualified Name</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -201511,6 +201510,15 @@
 	int VALUE_SPECIFICATION_ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP = ACTION___VALIDATE_HAS_NO_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP;
 
 	/**
+	 * The operation id for the '<em>Validate Visibility Needs Ownership</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int VALUE_SPECIFICATION_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP = ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP;
+
+	/**
 	 * The operation id for the '<em>Create Dependency</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -201727,7 +201735,7 @@
 	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getTransitionKind()
 	 * @generated
 	 */
-	int TRANSITION_KIND = 246;
+	int TRANSITION_KIND = 244;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.uml.PseudostateKind <em>Pseudostate Kind</em>}' enum.
@@ -201737,7 +201745,7 @@
 	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getPseudostateKind()
 	 * @generated
 	 */
-	int PSEUDOSTATE_KIND = 247;
+	int PSEUDOSTATE_KIND = 245;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.uml.AggregationKind <em>Aggregation Kind</em>}' enum.
@@ -201757,7 +201765,7 @@
 	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getParameterDirectionKind()
 	 * @generated
 	 */
-	int PARAMETER_DIRECTION_KIND = 244;
+	int PARAMETER_DIRECTION_KIND = 246;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.uml.ParameterEffectKind <em>Parameter Effect Kind</em>}' enum.
@@ -201767,7 +201775,7 @@
 	 * @see org.eclipse.uml2.uml.internal.impl.UMLPackageImpl#getParameterEffectKind()
 	 * @generated
 	 */
-	int PARAMETER_EFFECT_KIND = 245;
+	int PARAMETER_EFFECT_KIND = 247;
 
 	/**
 	 * The meta object id for the '{@link org.eclipse.uml2.uml.ConnectorKind <em>Connector Kind</em>}' enum.
@@ -211044,10 +211052,10 @@
 	EReference getActivityNode_InStructuredNode();
 
 	/**
-	 * Returns the meta object for the container reference '{@link org.eclipse.uml2.uml.ActivityNode#getActivity <em>Activity</em>}'.
+	 * Returns the meta object for the reference '{@link org.eclipse.uml2.uml.ActivityNode#getActivity <em>Activity</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @return the meta object for the container reference '<em>Activity</em>'.
+	 * @return the meta object for the reference '<em>Activity</em>'.
 	 * @see org.eclipse.uml2.uml.ActivityNode#getActivity()
 	 * @see #getActivityNode()
 	 * @generated
@@ -211268,6 +211276,17 @@
 	EClass getActivity();
 
 	/**
+	 * Returns the meta object for the containment reference list '{@link org.eclipse.uml2.uml.Activity#getOwnedGroups <em>Owned Group</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference list '<em>Owned Group</em>'.
+	 * @see org.eclipse.uml2.uml.Activity#getOwnedGroups()
+	 * @see #getActivity()
+	 * @generated
+	 */
+	EReference getActivity_OwnedGroup();
+
+	/**
 	 * Returns the meta object for the attribute '{@link org.eclipse.uml2.uml.Activity#isReadOnly <em>Is Read Only</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -211290,10 +211309,10 @@
 	EReference getActivity_Partition();
 
 	/**
-	 * Returns the meta object for the containment reference list '{@link org.eclipse.uml2.uml.Activity#getGroups <em>Group</em>}'.
+	 * Returns the meta object for the reference list '{@link org.eclipse.uml2.uml.Activity#getGroups <em>Group</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @return the meta object for the containment reference list '<em>Group</em>'.
+	 * @return the meta object for the reference list '<em>Group</em>'.
 	 * @see org.eclipse.uml2.uml.Activity#getGroups()
 	 * @see #getActivity()
 	 * @generated
@@ -211301,6 +211320,17 @@
 	EReference getActivity_Group();
 
 	/**
+	 * Returns the meta object for the containment reference list '{@link org.eclipse.uml2.uml.Activity#getOwnedNodes <em>Owned Node</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the containment reference list '<em>Owned Node</em>'.
+	 * @see org.eclipse.uml2.uml.Activity#getOwnedNodes()
+	 * @see #getActivity()
+	 * @generated
+	 */
+	EReference getActivity_OwnedNode();
+
+	/**
 	 * Returns the meta object for the '{@link org.eclipse.uml2.uml.Activity#validateNoSupergroups(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate No Supergroups</em>}' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -211321,16 +211351,6 @@
 	EOperation getActivity__ValidateActivityParameterNode__DiagnosticChain_Map();
 
 	/**
-	 * Returns the meta object for the '{@link org.eclipse.uml2.uml.Activity#getStructuredNodes() <em>Get Structured Nodes</em>}' operation.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the '<em>Get Structured Nodes</em>' operation.
-	 * @see org.eclipse.uml2.uml.Activity#getStructuredNodes()
-	 * @generated
-	 */
-	EOperation getActivity__GetStructuredNodes();
-
-	/**
 	 * Returns the meta object for the '{@link org.eclipse.uml2.uml.Activity#validateAutonomous(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Autonomous</em>}' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -211352,10 +211372,10 @@
 	EAttribute getActivity_IsSingleExecution();
 
 	/**
-	 * Returns the meta object for the reference list '{@link org.eclipse.uml2.uml.Activity#getStructuredNodes <em>Structured Node</em>}'.
+	 * Returns the meta object for the containment reference list '{@link org.eclipse.uml2.uml.Activity#getStructuredNodes <em>Structured Node</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @return the meta object for the reference list '<em>Structured Node</em>'.
+	 * @return the meta object for the containment reference list '<em>Structured Node</em>'.
 	 * @see org.eclipse.uml2.uml.Activity#getStructuredNodes()
 	 * @see #getActivity()
 	 * @generated
@@ -211374,10 +211394,10 @@
 	EReference getActivity_Variable();
 
 	/**
-	 * Returns the meta object for the containment reference list '{@link org.eclipse.uml2.uml.Activity#getNodes <em>Node</em>}'.
+	 * Returns the meta object for the reference list '{@link org.eclipse.uml2.uml.Activity#getNodes <em>Node</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @return the meta object for the containment reference list '<em>Node</em>'.
+	 * @return the meta object for the reference list '<em>Node</em>'.
 	 * @see org.eclipse.uml2.uml.Activity#getNodes()
 	 * @see #getActivity()
 	 * @generated
@@ -211596,10 +211616,10 @@
 	EOperation getActivityGroup__ValidateGroupOwned__DiagnosticChain_Map();
 
 	/**
-	 * Returns the meta object for the container reference '{@link org.eclipse.uml2.uml.ActivityGroup#getInActivity <em>In Activity</em>}'.
+	 * Returns the meta object for the reference '{@link org.eclipse.uml2.uml.ActivityGroup#getInActivity <em>In Activity</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @return the meta object for the container reference '<em>In Activity</em>'.
+	 * @return the meta object for the reference '<em>In Activity</em>'.
 	 * @see org.eclipse.uml2.uml.ActivityGroup#getInActivity()
 	 * @see #getActivityGroup()
 	 * @generated
@@ -225206,7 +225226,7 @@
 			.getActivityNode_InStructuredNode();
 
 		/**
-		 * The meta object literal for the '<em><b>Activity</b></em>' container reference feature.
+		 * The meta object literal for the '<em><b>Activity</b></em>' reference feature.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
 		 * @generated
@@ -225406,7 +225426,7 @@
 			.getActivityGroup_SuperGroup();
 
 		/**
-		 * The meta object literal for the '<em><b>In Activity</b></em>' container reference feature.
+		 * The meta object literal for the '<em><b>In Activity</b></em>' reference feature.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
 		 * @generated
@@ -225470,7 +225490,15 @@
 		EClass ACTIVITY = eINSTANCE.getActivity();
 
 		/**
-		 * The meta object literal for the '<em><b>Structured Node</b></em>' reference list feature.
+		 * The meta object literal for the '<em><b>Owned Group</b></em>' containment reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference ACTIVITY__OWNED_GROUP = eINSTANCE.getActivity_OwnedGroup();
+
+		/**
+		 * The meta object literal for the '<em><b>Structured Node</b></em>' containment reference list feature.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
 		 * @generated
@@ -225487,7 +225515,7 @@
 		EReference ACTIVITY__VARIABLE = eINSTANCE.getActivity_Variable();
 
 		/**
-		 * The meta object literal for the '<em><b>Node</b></em>' containment reference list feature.
+		 * The meta object literal for the '<em><b>Node</b></em>' reference list feature.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
 		 * @generated
@@ -225528,7 +225556,7 @@
 			.getActivity_IsSingleExecution();
 
 		/**
-		 * The meta object literal for the '<em><b>Group</b></em>' containment reference list feature.
+		 * The meta object literal for the '<em><b>Group</b></em>' reference list feature.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
 		 * @generated
@@ -225536,6 +225564,14 @@
 		EReference ACTIVITY__GROUP = eINSTANCE.getActivity_Group();
 
 		/**
+		 * The meta object literal for the '<em><b>Owned Node</b></em>' containment reference list feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference ACTIVITY__OWNED_NODE = eINSTANCE.getActivity_OwnedNode();
+
+		/**
 		 * The meta object literal for the '<em><b>Validate No Supergroups</b></em>' operation.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
@@ -225554,15 +225590,6 @@
 			.getActivity__ValidateActivityParameterNode__DiagnosticChain_Map();
 
 		/**
-		 * The meta object literal for the '<em><b>Get Structured Nodes</b></em>' operation.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EOperation ACTIVITY___GET_STRUCTURED_NODES = eINSTANCE
-			.getActivity__GetStructuredNodes();
-
-		/**
 		 * The meta object literal for the '<em><b>Validate Autonomous</b></em>' operation.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/AcceptCallActionImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/AcceptCallActionImpl.java
index 38edd77..1201dcc 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/AcceptCallActionImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/AcceptCallActionImpl.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: AcceptCallActionImpl.java,v 1.24 2010/09/28 21:02:14 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -297,8 +296,6 @@
 					.basicRemove(otherEnd, msgs);
 			case UMLPackage.ACCEPT_CALL_ACTION__NAME_EXPRESSION :
 				return basicSetNameExpression(null, msgs);
-			case UMLPackage.ACCEPT_CALL_ACTION__ACTIVITY :
-				return basicSetActivity(null, msgs);
 			case UMLPackage.ACCEPT_CALL_ACTION__IN_PARTITION :
 				return ((InternalEList<?>) getInPartitions()).basicRemove(
 					otherEnd, msgs);
@@ -378,8 +375,6 @@
 				if (resolve)
 					return getActivity();
 				return basicGetActivity();
-			case UMLPackage.ACCEPT_CALL_ACTION__IN_GROUP :
-				return getInGroups();
 			case UMLPackage.ACCEPT_CALL_ACTION__IN_PARTITION :
 				return getInPartitions();
 			case UMLPackage.ACCEPT_CALL_ACTION__IN_STRUCTURED_NODE :
@@ -392,6 +387,8 @@
 				return getOutgoings();
 			case UMLPackage.ACCEPT_CALL_ACTION__INCOMING :
 				return getIncomings();
+			case UMLPackage.ACCEPT_CALL_ACTION__IN_GROUP :
+				return getInGroups();
 			case UMLPackage.ACCEPT_CALL_ACTION__REDEFINED_NODE :
 				return getRedefinedNodes();
 			case UMLPackage.ACCEPT_CALL_ACTION__HANDLER :
@@ -645,8 +642,6 @@
 				return isSetRedefinitionContexts();
 			case UMLPackage.ACCEPT_CALL_ACTION__ACTIVITY :
 				return basicGetActivity() != null;
-			case UMLPackage.ACCEPT_CALL_ACTION__IN_GROUP :
-				return isSetInGroups();
 			case UMLPackage.ACCEPT_CALL_ACTION__IN_PARTITION :
 				return inPartitions != null && !inPartitions.isEmpty();
 			case UMLPackage.ACCEPT_CALL_ACTION__IN_STRUCTURED_NODE :
@@ -658,6 +653,8 @@
 				return outgoings != null && !outgoings.isEmpty();
 			case UMLPackage.ACCEPT_CALL_ACTION__INCOMING :
 				return incomings != null && !incomings.isEmpty();
+			case UMLPackage.ACCEPT_CALL_ACTION__IN_GROUP :
+				return isSetInGroups();
 			case UMLPackage.ACCEPT_CALL_ACTION__REDEFINED_NODE :
 				return redefinedNodes != null && !redefinedNodes.isEmpty();
 			case UMLPackage.ACCEPT_CALL_ACTION__HANDLER :
@@ -780,10 +777,6 @@
 				return allOwnedElements();
 			case UMLPackage.ACCEPT_CALL_ACTION___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.ACCEPT_CALL_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.ACCEPT_CALL_ACTION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -792,6 +785,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.ACCEPT_CALL_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.ACCEPT_CALL_ACTION___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.ACCEPT_CALL_ACTION___CREATE_USAGE__NAMEDELEMENT :
@@ -839,22 +836,19 @@
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.ACCEPT_CALL_ACTION___GET_CONTEXT :
 				return getContext();
-			case UMLPackage.ACCEPT_CALL_ACTION___VALIDATE_TRIGGER_EVENTS__DIAGNOSTICCHAIN_MAP :
-				return validateTriggerEvents(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.ACCEPT_CALL_ACTION___VALIDATE_NO_INPUT_PINS__DIAGNOSTICCHAIN_MAP :
 				return validateNoInputPins((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.ACCEPT_CALL_ACTION___VALIDATE_NO_OUTPUT_PINS__DIAGNOSTICCHAIN_MAP :
-				return validateNoOutputPins((DiagnosticChain) arguments.get(0),
+			case UMLPackage.ACCEPT_CALL_ACTION___VALIDATE_TRIGGER_EVENTS__DIAGNOSTICCHAIN_MAP :
+				return validateTriggerEvents(
+					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.ACCEPT_CALL_ACTION___VALIDATE_UNMARSHALL_SIGNAL_EVENTS__DIAGNOSTICCHAIN_MAP :
 				return validateUnmarshallSignalEvents(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.ACCEPT_CALL_ACTION___VALIDATE_RESULT_PINS__DIAGNOSTICCHAIN_MAP :
-				return validateResultPins((DiagnosticChain) arguments.get(0),
+			case UMLPackage.ACCEPT_CALL_ACTION___VALIDATE_NO_OUTPUT_PINS__DIAGNOSTICCHAIN_MAP :
+				return validateNoOutputPins((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.ACCEPT_CALL_ACTION___VALIDATE_TRIGGER_CALL_EVENT__DIAGNOSTICCHAIN_MAP :
 				return validateTriggerCallEvent(
@@ -863,6 +857,9 @@
 			case UMLPackage.ACCEPT_CALL_ACTION___VALIDATE_UNMARSHALL__DIAGNOSTICCHAIN_MAP :
 				return validateUnmarshall((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.ACCEPT_CALL_ACTION___VALIDATE_RESULT_PINS__DIAGNOSTICCHAIN_MAP :
+				return validateResultPins((DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 		}
 		return eDynamicInvoke(operationID, arguments);
 	}
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/AcceptEventActionImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/AcceptEventActionImpl.java
index 82dc16a..b46e779 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/AcceptEventActionImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/AcceptEventActionImpl.java
@@ -9,9 +9,8 @@
  *   IBM - initial API and implementation
  *   Kenn Hussey (Embarcadero Technologies) - 204200
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: AcceptEventActionImpl.java,v 1.31 2010/09/28 21:02:14 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -383,8 +382,6 @@
 					.basicRemove(otherEnd, msgs);
 			case UMLPackage.ACCEPT_EVENT_ACTION__NAME_EXPRESSION :
 				return basicSetNameExpression(null, msgs);
-			case UMLPackage.ACCEPT_EVENT_ACTION__ACTIVITY :
-				return basicSetActivity(null, msgs);
 			case UMLPackage.ACCEPT_EVENT_ACTION__IN_PARTITION :
 				return ((InternalEList<?>) getInPartitions()).basicRemove(
 					otherEnd, msgs);
@@ -462,8 +459,6 @@
 				if (resolve)
 					return getActivity();
 				return basicGetActivity();
-			case UMLPackage.ACCEPT_EVENT_ACTION__IN_GROUP :
-				return getInGroups();
 			case UMLPackage.ACCEPT_EVENT_ACTION__IN_PARTITION :
 				return getInPartitions();
 			case UMLPackage.ACCEPT_EVENT_ACTION__IN_STRUCTURED_NODE :
@@ -476,6 +471,8 @@
 				return getOutgoings();
 			case UMLPackage.ACCEPT_EVENT_ACTION__INCOMING :
 				return getIncomings();
+			case UMLPackage.ACCEPT_EVENT_ACTION__IN_GROUP :
+				return getInGroups();
 			case UMLPackage.ACCEPT_EVENT_ACTION__REDEFINED_NODE :
 				return getRedefinedNodes();
 			case UMLPackage.ACCEPT_EVENT_ACTION__HANDLER :
@@ -719,8 +716,6 @@
 				return isSetRedefinitionContexts();
 			case UMLPackage.ACCEPT_EVENT_ACTION__ACTIVITY :
 				return basicGetActivity() != null;
-			case UMLPackage.ACCEPT_EVENT_ACTION__IN_GROUP :
-				return isSetInGroups();
 			case UMLPackage.ACCEPT_EVENT_ACTION__IN_PARTITION :
 				return inPartitions != null && !inPartitions.isEmpty();
 			case UMLPackage.ACCEPT_EVENT_ACTION__IN_STRUCTURED_NODE :
@@ -732,6 +727,8 @@
 				return outgoings != null && !outgoings.isEmpty();
 			case UMLPackage.ACCEPT_EVENT_ACTION__INCOMING :
 				return incomings != null && !incomings.isEmpty();
+			case UMLPackage.ACCEPT_EVENT_ACTION__IN_GROUP :
+				return isSetInGroups();
 			case UMLPackage.ACCEPT_EVENT_ACTION__REDEFINED_NODE :
 				return redefinedNodes != null && !redefinedNodes.isEmpty();
 			case UMLPackage.ACCEPT_EVENT_ACTION__HANDLER :
@@ -852,10 +849,6 @@
 				return allOwnedElements();
 			case UMLPackage.ACCEPT_EVENT_ACTION___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.ACCEPT_EVENT_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.ACCEPT_EVENT_ACTION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -864,6 +857,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.ACCEPT_EVENT_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.ACCEPT_EVENT_ACTION___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.ACCEPT_EVENT_ACTION___CREATE_USAGE__NAMEDELEMENT :
@@ -911,20 +908,20 @@
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.ACCEPT_EVENT_ACTION___GET_CONTEXT :
 				return getContext();
+			case UMLPackage.ACCEPT_EVENT_ACTION___VALIDATE_NO_INPUT_PINS__DIAGNOSTICCHAIN_MAP :
+				return validateNoInputPins((DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.ACCEPT_EVENT_ACTION___VALIDATE_TRIGGER_EVENTS__DIAGNOSTICCHAIN_MAP :
 				return validateTriggerEvents(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.ACCEPT_EVENT_ACTION___VALIDATE_NO_INPUT_PINS__DIAGNOSTICCHAIN_MAP :
-				return validateNoInputPins((DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.ACCEPT_EVENT_ACTION___VALIDATE_NO_OUTPUT_PINS__DIAGNOSTICCHAIN_MAP :
-				return validateNoOutputPins((DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.ACCEPT_EVENT_ACTION___VALIDATE_UNMARSHALL_SIGNAL_EVENTS__DIAGNOSTICCHAIN_MAP :
 				return validateUnmarshallSignalEvents(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.ACCEPT_EVENT_ACTION___VALIDATE_NO_OUTPUT_PINS__DIAGNOSTICCHAIN_MAP :
+				return validateNoOutputPins((DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 		}
 		return eDynamicInvoke(operationID, arguments);
 	}
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ActionExecutionSpecificationImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ActionExecutionSpecificationImpl.java
index f89bbfe..baa7272 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ActionExecutionSpecificationImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ActionExecutionSpecificationImpl.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ActionExecutionSpecificationImpl.java,v 1.18 2010/09/28 21:02:13 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -461,10 +460,6 @@
 				return allOwnedElements();
 			case UMLPackage.ACTION_EXECUTION_SPECIFICATION___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.ACTION_EXECUTION_SPECIFICATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.ACTION_EXECUTION_SPECIFICATION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -473,6 +468,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.ACTION_EXECUTION_SPECIFICATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.ACTION_EXECUTION_SPECIFICATION___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.ACTION_EXECUTION_SPECIFICATION___CREATE_USAGE__NAMEDELEMENT :
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ActionImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ActionImpl.java
index 716438b..39200e8 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ActionImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ActionImpl.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ActionImpl.java,v 1.30 2009/01/07 15:55:31 jbruck Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -477,8 +476,6 @@
 					.basicRemove(otherEnd, msgs);
 			case UMLPackage.ACTION__NAME_EXPRESSION :
 				return basicSetNameExpression(null, msgs);
-			case UMLPackage.ACTION__ACTIVITY :
-				return basicSetActivity(null, msgs);
 			case UMLPackage.ACTION__IN_PARTITION :
 				return ((InternalEList<?>) getInPartitions()).basicRemove(
 					otherEnd, msgs);
@@ -550,8 +547,6 @@
 				if (resolve)
 					return getActivity();
 				return basicGetActivity();
-			case UMLPackage.ACTION__IN_GROUP :
-				return getInGroups();
 			case UMLPackage.ACTION__IN_PARTITION :
 				return getInPartitions();
 			case UMLPackage.ACTION__IN_STRUCTURED_NODE :
@@ -564,6 +559,8 @@
 				return getOutgoings();
 			case UMLPackage.ACTION__INCOMING :
 				return getIncomings();
+			case UMLPackage.ACTION__IN_GROUP :
+				return getInGroups();
 			case UMLPackage.ACTION__REDEFINED_NODE :
 				return getRedefinedNodes();
 			case UMLPackage.ACTION__HANDLER :
@@ -781,8 +778,6 @@
 				return isSetRedefinitionContexts();
 			case UMLPackage.ACTION__ACTIVITY :
 				return basicGetActivity() != null;
-			case UMLPackage.ACTION__IN_GROUP :
-				return isSetInGroups();
 			case UMLPackage.ACTION__IN_PARTITION :
 				return inPartitions != null && !inPartitions.isEmpty();
 			case UMLPackage.ACTION__IN_STRUCTURED_NODE :
@@ -794,6 +789,8 @@
 				return outgoings != null && !outgoings.isEmpty();
 			case UMLPackage.ACTION__INCOMING :
 				return incomings != null && !incomings.isEmpty();
+			case UMLPackage.ACTION__IN_GROUP :
+				return isSetInGroups();
 			case UMLPackage.ACTION__REDEFINED_NODE :
 				return redefinedNodes != null && !redefinedNodes.isEmpty();
 			case UMLPackage.ACTION__HANDLER :
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ActionInputPinImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ActionInputPinImpl.java
index 8581a8b..179d352 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ActionInputPinImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ActionInputPinImpl.java
@@ -9,9 +9,8 @@
  *   IBM - initial API and implementation
  *   Kenn Hussey (Embarcadero Technologies) - 204200
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ActionInputPinImpl.java,v 1.33 2010/09/28 21:02:14 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -292,8 +291,6 @@
 					.basicRemove(otherEnd, msgs);
 			case UMLPackage.ACTION_INPUT_PIN__NAME_EXPRESSION :
 				return basicSetNameExpression(null, msgs);
-			case UMLPackage.ACTION_INPUT_PIN__ACTIVITY :
-				return basicSetActivity(null, msgs);
 			case UMLPackage.ACTION_INPUT_PIN__IN_PARTITION :
 				return ((InternalEList<?>) getInPartitions()).basicRemove(
 					otherEnd, msgs);
@@ -364,8 +361,6 @@
 				if (resolve)
 					return getActivity();
 				return basicGetActivity();
-			case UMLPackage.ACTION_INPUT_PIN__IN_GROUP :
-				return getInGroups();
 			case UMLPackage.ACTION_INPUT_PIN__IN_PARTITION :
 				return getInPartitions();
 			case UMLPackage.ACTION_INPUT_PIN__IN_STRUCTURED_NODE :
@@ -378,6 +373,8 @@
 				return getOutgoings();
 			case UMLPackage.ACTION_INPUT_PIN__INCOMING :
 				return getIncomings();
+			case UMLPackage.ACTION_INPUT_PIN__IN_GROUP :
+				return getInGroups();
 			case UMLPackage.ACTION_INPUT_PIN__REDEFINED_NODE :
 				return getRedefinedNodes();
 			case UMLPackage.ACTION_INPUT_PIN__TYPE :
@@ -674,8 +671,6 @@
 				return isSetRedefinitionContexts();
 			case UMLPackage.ACTION_INPUT_PIN__ACTIVITY :
 				return basicGetActivity() != null;
-			case UMLPackage.ACTION_INPUT_PIN__IN_GROUP :
-				return isSetInGroups();
 			case UMLPackage.ACTION_INPUT_PIN__IN_PARTITION :
 				return inPartitions != null && !inPartitions.isEmpty();
 			case UMLPackage.ACTION_INPUT_PIN__IN_STRUCTURED_NODE :
@@ -687,6 +682,8 @@
 				return outgoings != null && !outgoings.isEmpty();
 			case UMLPackage.ACTION_INPUT_PIN__INCOMING :
 				return incomings != null && !incomings.isEmpty();
+			case UMLPackage.ACTION_INPUT_PIN__IN_GROUP :
+				return isSetInGroups();
 			case UMLPackage.ACTION_INPUT_PIN__REDEFINED_NODE :
 				return redefinedNodes != null && !redefinedNodes.isEmpty();
 			case UMLPackage.ACTION_INPUT_PIN__TYPE :
@@ -813,10 +810,6 @@
 				return allOwnedElements();
 			case UMLPackage.ACTION_INPUT_PIN___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.ACTION_INPUT_PIN___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.ACTION_INPUT_PIN___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -825,6 +818,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.ACTION_INPUT_PIN___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.ACTION_INPUT_PIN___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.ACTION_INPUT_PIN___CREATE_USAGE__NAMEDELEMENT :
@@ -870,32 +867,32 @@
 				return validateOwnedStructuredNode(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.ACTION_INPUT_PIN___VALIDATE_INPUT_OUTPUT_PARAMETER__DIAGNOSTICCHAIN_MAP :
-				return validateInputOutputParameter(
+			case UMLPackage.ACTION_INPUT_PIN___VALIDATE_OBJECT_FLOW_EDGES__DIAGNOSTICCHAIN_MAP :
+				return validateObjectFlowEdges(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.ACTION_INPUT_PIN___VALIDATE_SELECTION_BEHAVIOR__DIAGNOSTICCHAIN_MAP :
 				return validateSelectionBehavior(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.ACTION_INPUT_PIN___VALIDATE_OBJECT_FLOW_EDGES__DIAGNOSTICCHAIN_MAP :
-				return validateObjectFlowEdges(
+			case UMLPackage.ACTION_INPUT_PIN___VALIDATE_INPUT_OUTPUT_PARAMETER__DIAGNOSTICCHAIN_MAP :
+				return validateInputOutputParameter(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.ACTION_INPUT_PIN___VALIDATE_UPPER_GE_LOWER__DIAGNOSTICCHAIN_MAP :
-				return validateUpperGeLower((DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.ACTION_INPUT_PIN___VALIDATE_LOWER_GE0__DIAGNOSTICCHAIN_MAP :
 				return validateLowerGe0((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.ACTION_INPUT_PIN___VALIDATE_VALUE_SPECIFICATION_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP :
-				return validateValueSpecificationNoSideEffects(
-					(DiagnosticChain) arguments.get(0),
+			case UMLPackage.ACTION_INPUT_PIN___VALIDATE_UPPER_GE_LOWER__DIAGNOSTICCHAIN_MAP :
+				return validateUpperGeLower((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.ACTION_INPUT_PIN___VALIDATE_VALUE_SPECIFICATION_CONSTANT__DIAGNOSTICCHAIN_MAP :
 				return validateValueSpecificationConstant(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.ACTION_INPUT_PIN___VALIDATE_VALUE_SPECIFICATION_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP :
+				return validateValueSpecificationNoSideEffects(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.ACTION_INPUT_PIN___SET_LOWER__INT :
 				setLower((Integer) arguments.get(0));
 				return null;
@@ -932,13 +929,13 @@
 			case UMLPackage.ACTION_INPUT_PIN___VALIDATE_INPUT_PIN__DIAGNOSTICCHAIN_MAP :
 				return validateInputPin((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.ACTION_INPUT_PIN___VALIDATE_ONE_OUTPUT_PIN__DIAGNOSTICCHAIN_MAP :
-				return validateOneOutputPin((DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.ACTION_INPUT_PIN___VALIDATE_NO_CONTROL_OR_DATA_FLOW__DIAGNOSTICCHAIN_MAP :
 				return validateNoControlOrDataFlow(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.ACTION_INPUT_PIN___VALIDATE_ONE_OUTPUT_PIN__DIAGNOSTICCHAIN_MAP :
+				return validateOneOutputPin((DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 		}
 		return eDynamicInvoke(operationID, arguments);
 	}
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ActivityEdgeImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ActivityEdgeImpl.java
index f7f412f..857ae03 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ActivityEdgeImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ActivityEdgeImpl.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ActivityEdgeImpl.java,v 1.29 2010/09/28 21:02:13 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -70,10 +69,11 @@
  * <p>
  * The following features are implemented:
  * <ul>
+ *   <li>{@link org.eclipse.uml2.uml.internal.impl.ActivityEdgeImpl#getOwner <em>Owner</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.internal.impl.ActivityEdgeImpl#getOwnedElements <em>Owned Element</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.internal.impl.ActivityEdgeImpl#getInGroups <em>In Group</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.internal.impl.ActivityEdgeImpl#getOwner <em>Owner</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.internal.impl.ActivityEdgeImpl#getRedefinedElements <em>Redefined Element</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.internal.impl.ActivityEdgeImpl#getActivity <em>Activity</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.internal.impl.ActivityEdgeImpl#getGuard <em>Guard</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.internal.impl.ActivityEdgeImpl#getInPartitions <em>In Partition</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.internal.impl.ActivityEdgeImpl#getInStructuredNode <em>In Structured Node</em>}</li>
@@ -82,7 +82,6 @@
  *   <li>{@link org.eclipse.uml2.uml.internal.impl.ActivityEdgeImpl#getSource <em>Source</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.internal.impl.ActivityEdgeImpl#getTarget <em>Target</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.internal.impl.ActivityEdgeImpl#getWeight <em>Weight</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.internal.impl.ActivityEdgeImpl#getActivity <em>Activity</em>}</li>
  * </ul>
  * </p>
  *
@@ -932,6 +931,10 @@
 			case UMLPackage.ACTIVITY_EDGE__CLIENT_DEPENDENCY :
 				return ((InternalEList<InternalEObject>) (InternalEList<?>) getClientDependencies())
 					.basicAdd(otherEnd, msgs);
+			case UMLPackage.ACTIVITY_EDGE__ACTIVITY :
+				if (eInternalContainer() != null)
+					msgs = eBasicRemoveFromContainer(msgs);
+				return basicSetActivity((Activity) otherEnd, msgs);
 			case UMLPackage.ACTIVITY_EDGE__IN_PARTITION :
 				return ((InternalEList<InternalEObject>) (InternalEList<?>) getInPartitions())
 					.basicAdd(otherEnd, msgs);
@@ -961,10 +964,6 @@
 						UMLPackage.ACTIVITY_NODE__INCOMING, ActivityNode.class,
 						msgs);
 				return basicSetTarget((ActivityNode) otherEnd, msgs);
-			case UMLPackage.ACTIVITY_EDGE__ACTIVITY :
-				if (eInternalContainer() != null)
-					msgs = eBasicRemoveFromContainer(msgs);
-				return basicSetActivity((Activity) otherEnd, msgs);
 		}
 		return eDynamicInverseAdd(otherEnd, featureID, msgs);
 	}
@@ -989,6 +988,8 @@
 					.basicRemove(otherEnd, msgs);
 			case UMLPackage.ACTIVITY_EDGE__NAME_EXPRESSION :
 				return basicSetNameExpression(null, msgs);
+			case UMLPackage.ACTIVITY_EDGE__ACTIVITY :
+				return basicSetActivity(null, msgs);
 			case UMLPackage.ACTIVITY_EDGE__GUARD :
 				return basicSetGuard(null, msgs);
 			case UMLPackage.ACTIVITY_EDGE__IN_PARTITION :
@@ -1004,8 +1005,6 @@
 				return basicSetTarget(null, msgs);
 			case UMLPackage.ACTIVITY_EDGE__WEIGHT :
 				return basicSetWeight(null, msgs);
-			case UMLPackage.ACTIVITY_EDGE__ACTIVITY :
-				return basicSetActivity(null, msgs);
 		}
 		return eDynamicInverseRemove(otherEnd, featureID, msgs);
 	}
@@ -1019,13 +1018,13 @@
 	public NotificationChain eBasicRemoveFromContainerFeature(
 			NotificationChain msgs) {
 		switch (eContainerFeatureID()) {
+			case UMLPackage.ACTIVITY_EDGE__ACTIVITY :
+				return eInternalContainer().eInverseRemove(this,
+					UMLPackage.ACTIVITY__EDGE, Activity.class, msgs);
 			case UMLPackage.ACTIVITY_EDGE__IN_STRUCTURED_NODE :
 				return eInternalContainer().eInverseRemove(this,
 					UMLPackage.STRUCTURED_ACTIVITY_NODE__EDGE,
 					StructuredActivityNode.class, msgs);
-			case UMLPackage.ACTIVITY_EDGE__ACTIVITY :
-				return eInternalContainer().eInverseRemove(this,
-					UMLPackage.ACTIVITY__EDGE, Activity.class, msgs);
 		}
 		return eDynamicBasicRemoveFromContainer(msgs);
 	}
@@ -1070,12 +1069,14 @@
 				return getRedefinedElements();
 			case UMLPackage.ACTIVITY_EDGE__REDEFINITION_CONTEXT :
 				return getRedefinitionContexts();
+			case UMLPackage.ACTIVITY_EDGE__ACTIVITY :
+				if (resolve)
+					return getActivity();
+				return basicGetActivity();
 			case UMLPackage.ACTIVITY_EDGE__GUARD :
 				if (resolve)
 					return getGuard();
 				return basicGetGuard();
-			case UMLPackage.ACTIVITY_EDGE__IN_GROUP :
-				return getInGroups();
 			case UMLPackage.ACTIVITY_EDGE__IN_PARTITION :
 				return getInPartitions();
 			case UMLPackage.ACTIVITY_EDGE__IN_STRUCTURED_NODE :
@@ -1100,10 +1101,8 @@
 				if (resolve)
 					return getWeight();
 				return basicGetWeight();
-			case UMLPackage.ACTIVITY_EDGE__ACTIVITY :
-				if (resolve)
-					return getActivity();
-				return basicGetActivity();
+			case UMLPackage.ACTIVITY_EDGE__IN_GROUP :
+				return getInGroups();
 		}
 		return eDynamicGet(featureID, resolve, coreType);
 	}
@@ -1144,6 +1143,9 @@
 			case UMLPackage.ACTIVITY_EDGE__IS_LEAF :
 				setIsLeaf((Boolean) newValue);
 				return;
+			case UMLPackage.ACTIVITY_EDGE__ACTIVITY :
+				setActivity((Activity) newValue);
+				return;
 			case UMLPackage.ACTIVITY_EDGE__GUARD :
 				setGuard((ValueSpecification) newValue);
 				return;
@@ -1172,9 +1174,6 @@
 			case UMLPackage.ACTIVITY_EDGE__WEIGHT :
 				setWeight((ValueSpecification) newValue);
 				return;
-			case UMLPackage.ACTIVITY_EDGE__ACTIVITY :
-				setActivity((Activity) newValue);
-				return;
 		}
 		eDynamicSet(featureID, newValue);
 	}
@@ -1208,6 +1207,9 @@
 			case UMLPackage.ACTIVITY_EDGE__IS_LEAF :
 				setIsLeaf(IS_LEAF_EDEFAULT);
 				return;
+			case UMLPackage.ACTIVITY_EDGE__ACTIVITY :
+				setActivity((Activity) null);
+				return;
 			case UMLPackage.ACTIVITY_EDGE__GUARD :
 				setGuard((ValueSpecification) null);
 				return;
@@ -1232,9 +1234,6 @@
 			case UMLPackage.ACTIVITY_EDGE__WEIGHT :
 				setWeight((ValueSpecification) null);
 				return;
-			case UMLPackage.ACTIVITY_EDGE__ACTIVITY :
-				setActivity((Activity) null);
-				return;
 		}
 		eDynamicUnset(featureID);
 	}
@@ -1276,10 +1275,10 @@
 				return isSetRedefinedElements();
 			case UMLPackage.ACTIVITY_EDGE__REDEFINITION_CONTEXT :
 				return isSetRedefinitionContexts();
+			case UMLPackage.ACTIVITY_EDGE__ACTIVITY :
+				return basicGetActivity() != null;
 			case UMLPackage.ACTIVITY_EDGE__GUARD :
 				return guard != null;
-			case UMLPackage.ACTIVITY_EDGE__IN_GROUP :
-				return isSetInGroups();
 			case UMLPackage.ACTIVITY_EDGE__IN_PARTITION :
 				return inPartitions != null && !inPartitions.isEmpty();
 			case UMLPackage.ACTIVITY_EDGE__IN_STRUCTURED_NODE :
@@ -1294,8 +1293,8 @@
 				return target != null;
 			case UMLPackage.ACTIVITY_EDGE__WEIGHT :
 				return weight != null;
-			case UMLPackage.ACTIVITY_EDGE__ACTIVITY :
-				return basicGetActivity() != null;
+			case UMLPackage.ACTIVITY_EDGE__IN_GROUP :
+				return isSetInGroups();
 		}
 		return eDynamicIsSet(featureID);
 	}
@@ -1392,10 +1391,6 @@
 				return allOwnedElements();
 			case UMLPackage.ACTIVITY_EDGE___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.ACTIVITY_EDGE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.ACTIVITY_EDGE___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -1404,6 +1399,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.ACTIVITY_EDGE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.ACTIVITY_EDGE___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.ACTIVITY_EDGE___CREATE_USAGE__NAMEDELEMENT :
@@ -1464,14 +1463,14 @@
 	 */
 	@Override
 	public Element basicGetOwner() {
-		StructuredActivityNode inStructuredNode = basicGetInStructuredNode();
-		if (inStructuredNode != null) {
-			return inStructuredNode;
-		}
 		Activity activity = basicGetActivity();
 		if (activity != null) {
 			return activity;
 		}
+		StructuredActivityNode inStructuredNode = basicGetInStructuredNode();
+		if (inStructuredNode != null) {
+			return inStructuredNode;
+		}
 		return super.basicGetOwner();
 	}
 
@@ -1482,9 +1481,8 @@
 	 */
 	@Override
 	public boolean isSetOwner() {
-		return super.isSetOwner()
-			|| eIsSet(UMLPackage.ACTIVITY_EDGE__IN_STRUCTURED_NODE)
-			|| eIsSet(UMLPackage.ACTIVITY_EDGE__ACTIVITY);
+		return super.isSetOwner() || eIsSet(UMLPackage.ACTIVITY_EDGE__ACTIVITY)
+			|| eIsSet(UMLPackage.ACTIVITY_EDGE__IN_STRUCTURED_NODE);
 	}
 
 	/**
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ActivityGroupImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ActivityGroupImpl.java
index 2b1348d..828e6c2 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ActivityGroupImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ActivityGroupImpl.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ActivityGroupImpl.java,v 1.23 2010/09/28 21:02:13 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -62,12 +61,12 @@
  * <p>
  * The following features are implemented:
  * <ul>
+ *   <li>{@link org.eclipse.uml2.uml.internal.impl.ActivityGroupImpl#getContainedEdges <em>Contained Edge</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.internal.impl.ActivityGroupImpl#getContainedNodes <em>Contained Node</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.internal.impl.ActivityGroupImpl#getOwner <em>Owner</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.internal.impl.ActivityGroupImpl#getSubgroups <em>Subgroup</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.internal.impl.ActivityGroupImpl#getOwnedElements <em>Owned Element</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.internal.impl.ActivityGroupImpl#getSuperGroup <em>Super Group</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.internal.impl.ActivityGroupImpl#getContainedEdges <em>Contained Edge</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.internal.impl.ActivityGroupImpl#getInActivity <em>In Activity</em>}</li>
  * </ul>
  * </p>
@@ -297,42 +296,40 @@
 	 * @generated
 	 */
 	public Activity getInActivity() {
-		if (eContainerFeatureID() != UMLPackage.ACTIVITY_GROUP__IN_ACTIVITY)
-			return null;
-		return (Activity) eContainer();
+		Activity inActivity = basicGetInActivity();
+		return inActivity != null && inActivity.eIsProxy()
+			? (Activity) eResolveProxy((InternalEObject) inActivity)
+			: inActivity;
 	}
 
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @generated
+	 * @generated NOT
 	 */
 	public Activity basicGetInActivity() {
-		if (eContainerFeatureID() != UMLPackage.ACTIVITY_GROUP__IN_ACTIVITY)
-			return null;
-		return (Activity) eInternalContainer();
+		InternalEObject eInternalContainer = eInternalContainer();
+		return eInternalContainer instanceof Activity
+			? (Activity) eInternalContainer
+			: null;
+	}
+
+	public NotificationChain eBasicRemoveFromContainer(NotificationChain msgs) {
+		InternalEObject eInternalContainer = eInternalContainer();
+		if (eInternalContainer instanceof Activity) {
+			return ((InternalEList<ActivityGroup>) ((Activity) eInternalContainer)
+				.getGroups()).basicRemove(this, msgs);
+		}
+		return super.eBasicRemoveFromContainer(msgs);
 	}
 
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain basicSetInActivity(Activity newInActivity,
-			NotificationChain msgs) {
-		msgs = eBasicSetContainer((InternalEObject) newInActivity,
-			UMLPackage.ACTIVITY_GROUP__IN_ACTIVITY, msgs);
-		return msgs;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
+	 * @generated NOT
 	 */
 	public void setInActivity(Activity newInActivity) {
-		if (newInActivity != eInternalContainer()
-			|| (eContainerFeatureID() != UMLPackage.ACTIVITY_GROUP__IN_ACTIVITY && newInActivity != null)) {
+		if (newInActivity != eInternalContainer()) {
 			if (EcoreUtil.isAncestor(this, newInActivity))
 				throw new IllegalArgumentException(
 					"Recursive containment not allowed for " + toString()); //$NON-NLS-1$
@@ -340,9 +337,11 @@
 			if (eInternalContainer() != null)
 				msgs = eBasicRemoveFromContainer(msgs);
 			if (newInActivity != null)
-				msgs = ((InternalEObject) newInActivity).eInverseAdd(this,
-					UMLPackage.ACTIVITY__GROUP, Activity.class, msgs);
-			msgs = basicSetInActivity(newInActivity, msgs);
+				msgs = ((InternalEList<ActivityGroup>) newInActivity
+					.getOwnedGroups()).basicAdd(this, msgs);
+			msgs = eBasicSetContainer((InternalEObject) newInActivity,
+				InternalEObject.EOPPOSITE_FEATURE_BASE
+					- UMLPackage.ACTIVITY__OWNED_GROUP, msgs);
 			if (msgs != null)
 				msgs.dispatch();
 		} else if (eNotificationRequired())
@@ -389,72 +388,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@SuppressWarnings("unchecked")
-	@Override
-	public NotificationChain eInverseAdd(InternalEObject otherEnd,
-			int featureID, NotificationChain msgs) {
-		switch (featureID) {
-			case UMLPackage.ACTIVITY_GROUP__EANNOTATIONS :
-				return ((InternalEList<InternalEObject>) (InternalEList<?>) getEAnnotations())
-					.basicAdd(otherEnd, msgs);
-			case UMLPackage.ACTIVITY_GROUP__CLIENT_DEPENDENCY :
-				return ((InternalEList<InternalEObject>) (InternalEList<?>) getClientDependencies())
-					.basicAdd(otherEnd, msgs);
-			case UMLPackage.ACTIVITY_GROUP__IN_ACTIVITY :
-				if (eInternalContainer() != null)
-					msgs = eBasicRemoveFromContainer(msgs);
-				return basicSetInActivity((Activity) otherEnd, msgs);
-		}
-		return eDynamicInverseAdd(otherEnd, featureID, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public NotificationChain eInverseRemove(InternalEObject otherEnd,
-			int featureID, NotificationChain msgs) {
-		switch (featureID) {
-			case UMLPackage.ACTIVITY_GROUP__EANNOTATIONS :
-				return ((InternalEList<?>) getEAnnotations()).basicRemove(
-					otherEnd, msgs);
-			case UMLPackage.ACTIVITY_GROUP__OWNED_COMMENT :
-				return ((InternalEList<?>) getOwnedComments()).basicRemove(
-					otherEnd, msgs);
-			case UMLPackage.ACTIVITY_GROUP__CLIENT_DEPENDENCY :
-				return ((InternalEList<?>) getClientDependencies())
-					.basicRemove(otherEnd, msgs);
-			case UMLPackage.ACTIVITY_GROUP__NAME_EXPRESSION :
-				return basicSetNameExpression(null, msgs);
-			case UMLPackage.ACTIVITY_GROUP__IN_ACTIVITY :
-				return basicSetInActivity(null, msgs);
-		}
-		return eDynamicInverseRemove(otherEnd, featureID, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public NotificationChain eBasicRemoveFromContainerFeature(
-			NotificationChain msgs) {
-		switch (eContainerFeatureID()) {
-			case UMLPackage.ACTIVITY_GROUP__IN_ACTIVITY :
-				return eInternalContainer().eInverseRemove(this,
-					UMLPackage.ACTIVITY__GROUP, Activity.class, msgs);
-		}
-		return eDynamicBasicRemoveFromContainer(msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
 	@Override
 	public Object eGet(int featureID, boolean resolve, boolean coreType) {
 		switch (featureID) {
@@ -484,6 +417,8 @@
 				return getQualifiedName();
 			case UMLPackage.ACTIVITY_GROUP__VISIBILITY :
 				return getVisibility();
+			case UMLPackage.ACTIVITY_GROUP__CONTAINED_EDGE :
+				return getContainedEdges();
 			case UMLPackage.ACTIVITY_GROUP__CONTAINED_NODE :
 				return getContainedNodes();
 			case UMLPackage.ACTIVITY_GROUP__IN_ACTIVITY :
@@ -496,8 +431,6 @@
 				if (resolve)
 					return getSuperGroup();
 				return basicGetSuperGroup();
-			case UMLPackage.ACTIVITY_GROUP__CONTAINED_EDGE :
-				return getContainedEdges();
 		}
 		return eDynamicGet(featureID, resolve, coreType);
 	}
@@ -606,6 +539,8 @@
 					: !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
 			case UMLPackage.ACTIVITY_GROUP__VISIBILITY :
 				return isSetVisibility();
+			case UMLPackage.ACTIVITY_GROUP__CONTAINED_EDGE :
+				return isSetContainedEdges();
 			case UMLPackage.ACTIVITY_GROUP__CONTAINED_NODE :
 				return isSetContainedNodes();
 			case UMLPackage.ACTIVITY_GROUP__IN_ACTIVITY :
@@ -614,8 +549,6 @@
 				return isSetSubgroups();
 			case UMLPackage.ACTIVITY_GROUP__SUPER_GROUP :
 				return isSetSuperGroup();
-			case UMLPackage.ACTIVITY_GROUP__CONTAINED_EDGE :
-				return isSetContainedEdges();
 		}
 		return eDynamicIsSet(featureID);
 	}
@@ -712,10 +645,6 @@
 				return allOwnedElements();
 			case UMLPackage.ACTIVITY_GROUP___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.ACTIVITY_GROUP___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.ACTIVITY_GROUP___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -724,6 +653,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.ACTIVITY_GROUP___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.ACTIVITY_GROUP___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.ACTIVITY_GROUP___CREATE_USAGE__NAMEDELEMENT :
@@ -745,16 +678,16 @@
 				return getQualifiedName();
 			case UMLPackage.ACTIVITY_GROUP___SEPARATOR :
 				return separator();
-			case UMLPackage.ACTIVITY_GROUP___VALIDATE_NODES_AND_EDGES__DIAGNOSTICCHAIN_MAP :
-				return validateNodesAndEdges(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.ACTIVITY_GROUP___VALIDATE_GROUP_OWNED__DIAGNOSTICCHAIN_MAP :
 				return validateGroupOwned((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.ACTIVITY_GROUP___VALIDATE_NOT_CONTAINED__DIAGNOSTICCHAIN_MAP :
 				return validateNotContained((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.ACTIVITY_GROUP___VALIDATE_NODES_AND_EDGES__DIAGNOSTICCHAIN_MAP :
+				return validateNodesAndEdges(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 		}
 		return eDynamicInvoke(operationID, arguments);
 	}
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ActivityImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ActivityImpl.java
index 1be35f1..4a75095 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ActivityImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ActivityImpl.java
@@ -9,9 +9,8 @@
  *   IBM - initial API and implementation
  *   Kenn Hussey (Embarcadero Technologies) - 204200
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ActivityImpl.java,v 1.38 2010/09/28 21:02:14 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -34,13 +33,13 @@
 
 import org.eclipse.emf.ecore.resource.Resource;
 
+//import org.eclipse.emf.ecore.util.EObjectContainmentEList;
 import org.eclipse.emf.ecore.util.EObjectContainmentWithInverseEList;
 import org.eclipse.emf.ecore.util.InternalEList;
 
 import org.eclipse.uml2.common.util.CacheAdapter;
-import org.eclipse.uml2.common.util.DerivedEObjectEList;
 import org.eclipse.uml2.common.util.DerivedUnionEObjectEList;
-import org.eclipse.uml2.common.util.SubsetSupersetEObjectContainmentWithInverseEList;
+import org.eclipse.uml2.common.util.SubsetSupersetEObjectContainmentEList;
 import org.eclipse.uml2.common.util.SubsetSupersetEObjectResolvingEList;
 
 import org.eclipse.uml2.uml.Activity;
@@ -97,14 +96,16 @@
  * <ul>
  *   <li>{@link org.eclipse.uml2.uml.internal.impl.ActivityImpl#getOwnedElements <em>Owned Element</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.internal.impl.ActivityImpl#getOwnedMembers <em>Owned Member</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.internal.impl.ActivityImpl#getGroups <em>Group</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.internal.impl.ActivityImpl#getNodes <em>Node</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.internal.impl.ActivityImpl#getOwnedGroups <em>Owned Group</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.internal.impl.ActivityImpl#getEdges <em>Edge</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.internal.impl.ActivityImpl#getStructuredNodes <em>Structured Node</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.internal.impl.ActivityImpl#getVariables <em>Variable</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.internal.impl.ActivityImpl#getGroups <em>Group</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.internal.impl.ActivityImpl#getOwnedNodes <em>Owned Node</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.internal.impl.ActivityImpl#isReadOnly <em>Is Read Only</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.internal.impl.ActivityImpl#isSingleExecution <em>Is Single Execution</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.internal.impl.ActivityImpl#getPartitions <em>Partition</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.internal.impl.ActivityImpl#getStructuredNodes <em>Structured Node</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.internal.impl.ActivityImpl#getNodes <em>Node</em>}</li>
  * </ul>
  * </p>
  *
@@ -115,24 +116,24 @@
 		implements Activity {
 
 	/**
-	 * The cached value of the '{@link #getGroups() <em>Group</em>}' containment reference list.
+	 * The cached value of the '{@link #getGroups() <em>Group</em>}' reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @see #getGroups()
-	 * @generated
+	 * @generated NOT
 	 * @ordered
 	 */
 	protected EList<ActivityGroup> groups;
 
 	/**
-	 * The cached value of the '{@link #getNodes() <em>Node</em>}' containment reference list.
+	 * The cached value of the '{@link #getOwnedGroups() <em>Owned Group</em>}' containment reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @see #getNodes()
+	 * @see #getOwnedGroups()
 	 * @generated
 	 * @ordered
 	 */
-	protected EList<ActivityNode> nodes;
+	protected EList<ActivityGroup> ownedGroups;
 
 	/**
 	 * The cached value of the '{@link #getEdges() <em>Edge</em>}' containment reference list.
@@ -155,6 +156,26 @@
 	protected EList<Variable> variables;
 
 	/**
+	 * The cached value of the '{@link #getNodes() <em>Node</em>}' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getNodes()
+	 * @generated NOT
+	 * @ordered
+	 */
+	protected EList<ActivityNode> nodes;
+
+	/**
+	 * The cached value of the '{@link #getOwnedNodes() <em>Owned Node</em>}' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getOwnedNodes()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<ActivityNode> ownedNodes;
+
+	/**
 	 * The default value of the '{@link #isReadOnly() <em>Is Read Only</em>}' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -205,6 +226,16 @@
 	protected EList<ActivityPartition> partitions;
 
 	/**
+	 * The cached value of the '{@link #getStructuredNodes() <em>Structured Node</em>}' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getStructuredNodes()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<StructuredActivityNode> structuredNodes;
+
+	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -280,13 +311,13 @@
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @generated
+	 * @generated NOT
 	 */
 	public EList<ActivityGroup> getGroups() {
 		if (groups == null) {
-			groups = new SubsetSupersetEObjectContainmentWithInverseEList.Resolving<ActivityGroup>(
+			groups = new SubsetSupersetEObjectResolvingEList<ActivityGroup>(
 				ActivityGroup.class, this, UMLPackage.ACTIVITY__GROUP, null,
-				GROUP_ESUBSETS, UMLPackage.ACTIVITY_GROUP__IN_ACTIVITY);
+				GROUP_ESUBSETS);
 		}
 		return groups;
 	}
@@ -294,13 +325,13 @@
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @generated
+	 * @generated NOT
 	 */
 	public EList<ActivityNode> getNodes() {
 		if (nodes == null) {
-			nodes = new EObjectContainmentWithInverseEList.Resolving<ActivityNode>(
-				ActivityNode.class, this, UMLPackage.ACTIVITY__NODE,
-				UMLPackage.ACTIVITY_NODE__ACTIVITY);
+			nodes = new SubsetSupersetEObjectResolvingEList<ActivityNode>(
+				ActivityNode.class, this, UMLPackage.ACTIVITY__NODE, null,
+				NODE_ESUBSETS);
 		}
 		return nodes;
 	}
@@ -310,30 +341,16 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public ActivityNode createNode(String name, EClass eClass) {
-		ActivityNode newNode = (ActivityNode) create(eClass);
-		getNodes().add(newNode);
-		if (name != null)
-			newNode.setName(name);
-		return newNode;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
 	public ActivityNode getNode(String name) {
-		return getNode(name, false, null, false);
+		return getNode(name, false, null);
 	}
 
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @generated
+	 * @generated NOT
 	 */
-	public ActivityNode getNode(String name, boolean ignoreCase, EClass eClass,
-			boolean createOnDemand) {
+	public ActivityNode getNode(String name, boolean ignoreCase, EClass eClass) {
 		nodeLoop : for (ActivityNode node : getNodes()) {
 			if (eClass != null && !eClass.isInstance(node))
 				continue nodeLoop;
@@ -343,9 +360,7 @@
 				continue nodeLoop;
 			return node;
 		}
-		return createOnDemand && eClass != null
-			? createNode(name, eClass)
-			: null;
+		return null;
 	}
 
 	/**
@@ -405,29 +420,37 @@
 	 * @generated NOT
 	 */
 	public EList<StructuredActivityNode> getStructuredNodes() {
-		CacheAdapter cache = getCacheAdapter();
-		if (cache != null) {
-			Resource eResource = eResource();
-			@SuppressWarnings("unchecked")
-			EList<StructuredActivityNode> structuredNodes = (EList<StructuredActivityNode>) cache
-				.get(eResource, this,
-					UMLPackage.Literals.ACTIVITY__STRUCTURED_NODE);
-			if (structuredNodes == null) {
-				cache
-					.put(
-						eResource,
-						this,
-						UMLPackage.Literals.ACTIVITY__STRUCTURED_NODE,
-						structuredNodes = new DerivedEObjectEList<StructuredActivityNode>(
-							StructuredActivityNode.class, this,
-							UMLPackage.ACTIVITY__STRUCTURED_NODE,
-							STRUCTURED_NODE_ESUPERSETS));
-			}
-			return structuredNodes;
+		if (structuredNodes == null) {
+			structuredNodes = new SubsetSupersetEObjectContainmentEList.Resolving<StructuredActivityNode>(
+				StructuredActivityNode.class, this,
+				UMLPackage.ACTIVITY__STRUCTURED_NODE,
+				STRUCTURED_NODE_ESUPERSETS, null);
 		}
-		return new DerivedEObjectEList<StructuredActivityNode>(
-			StructuredActivityNode.class, this,
-			UMLPackage.ACTIVITY__STRUCTURED_NODE, STRUCTURED_NODE_ESUPERSETS);
+		return structuredNodes;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public StructuredActivityNode createStructuredNode(String name,
+			EClass eClass) {
+		StructuredActivityNode newStructuredNode = (StructuredActivityNode) create(eClass);
+		getStructuredNodes().add(newStructuredNode);
+		if (name != null)
+			newStructuredNode.setName(name);
+		return newStructuredNode;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public StructuredActivityNode createStructuredNode(String name) {
+		return createStructuredNode(name,
+			UMLPackage.Literals.STRUCTURED_ACTIVITY_NODE);
 	}
 
 	/**
@@ -669,15 +692,9 @@
 			case UMLPackage.ACTIVITY__EDGE :
 				return ((InternalEList<InternalEObject>) (InternalEList<?>) getEdges())
 					.basicAdd(otherEnd, msgs);
-			case UMLPackage.ACTIVITY__GROUP :
-				return ((InternalEList<InternalEObject>) (InternalEList<?>) getGroups())
-					.basicAdd(otherEnd, msgs);
 			case UMLPackage.ACTIVITY__VARIABLE :
 				return ((InternalEList<InternalEObject>) (InternalEList<?>) getVariables())
 					.basicAdd(otherEnd, msgs);
-			case UMLPackage.ACTIVITY__NODE :
-				return ((InternalEList<InternalEObject>) (InternalEList<?>) getNodes())
-					.basicAdd(otherEnd, msgs);
 		}
 		return eDynamicInverseAdd(otherEnd, featureID, msgs);
 	}
@@ -767,18 +784,21 @@
 					.basicRemove(otherEnd, msgs);
 			case UMLPackage.ACTIVITY__SPECIFICATION :
 				return basicSetSpecification(null, msgs);
+			case UMLPackage.ACTIVITY__OWNED_GROUP :
+				return ((InternalEList<?>) getOwnedGroups()).basicRemove(
+					otherEnd, msgs);
 			case UMLPackage.ACTIVITY__EDGE :
 				return ((InternalEList<?>) getEdges()).basicRemove(otherEnd,
 					msgs);
-			case UMLPackage.ACTIVITY__GROUP :
-				return ((InternalEList<?>) getGroups()).basicRemove(otherEnd,
-					msgs);
 			case UMLPackage.ACTIVITY__VARIABLE :
 				return ((InternalEList<?>) getVariables()).basicRemove(
 					otherEnd, msgs);
-			case UMLPackage.ACTIVITY__NODE :
-				return ((InternalEList<?>) getNodes()).basicRemove(otherEnd,
-					msgs);
+			case UMLPackage.ACTIVITY__OWNED_NODE :
+				return ((InternalEList<?>) getOwnedNodes()).basicRemove(
+					otherEnd, msgs);
+			case UMLPackage.ACTIVITY__STRUCTURED_NODE :
+				return ((InternalEList<?>) getStructuredNodes()).basicRemove(
+					otherEnd, msgs);
 		}
 		return eDynamicInverseRemove(otherEnd, featureID, msgs);
 	}
@@ -933,20 +953,24 @@
 				if (resolve)
 					return getSpecification();
 				return basicGetSpecification();
+			case UMLPackage.ACTIVITY__OWNED_GROUP :
+				return getOwnedGroups();
 			case UMLPackage.ACTIVITY__EDGE :
 				return getEdges();
-			case UMLPackage.ACTIVITY__GROUP :
-				return getGroups();
-			case UMLPackage.ACTIVITY__STRUCTURED_NODE :
-				return getStructuredNodes();
 			case UMLPackage.ACTIVITY__VARIABLE :
 				return getVariables();
+			case UMLPackage.ACTIVITY__GROUP :
+				return getGroups();
+			case UMLPackage.ACTIVITY__OWNED_NODE :
+				return getOwnedNodes();
 			case UMLPackage.ACTIVITY__IS_READ_ONLY :
 				return isReadOnly();
 			case UMLPackage.ACTIVITY__IS_SINGLE_EXECUTION :
 				return isSingleExecution();
 			case UMLPackage.ACTIVITY__PARTITION :
 				return getPartitions();
+			case UMLPackage.ACTIVITY__STRUCTURED_NODE :
+				return getStructuredNodes();
 			case UMLPackage.ACTIVITY__NODE :
 				return getNodes();
 		}
@@ -1147,20 +1171,30 @@
 			case UMLPackage.ACTIVITY__SPECIFICATION :
 				setSpecification((BehavioralFeature) newValue);
 				return;
+			case UMLPackage.ACTIVITY__OWNED_GROUP :
+				getOwnedGroups().clear();
+				getOwnedGroups().addAll(
+					(Collection<? extends ActivityGroup>) newValue);
+				return;
 			case UMLPackage.ACTIVITY__EDGE :
 				getEdges().clear();
 				getEdges()
 					.addAll((Collection<? extends ActivityEdge>) newValue);
 				return;
+			case UMLPackage.ACTIVITY__VARIABLE :
+				getVariables().clear();
+				getVariables()
+					.addAll((Collection<? extends Variable>) newValue);
+				return;
 			case UMLPackage.ACTIVITY__GROUP :
 				getGroups().clear();
 				getGroups().addAll(
 					(Collection<? extends ActivityGroup>) newValue);
 				return;
-			case UMLPackage.ACTIVITY__VARIABLE :
-				getVariables().clear();
-				getVariables()
-					.addAll((Collection<? extends Variable>) newValue);
+			case UMLPackage.ACTIVITY__OWNED_NODE :
+				getOwnedNodes().clear();
+				getOwnedNodes().addAll(
+					(Collection<? extends ActivityNode>) newValue);
 				return;
 			case UMLPackage.ACTIVITY__IS_READ_ONLY :
 				setIsReadOnly((Boolean) newValue);
@@ -1173,6 +1207,11 @@
 				getPartitions().addAll(
 					(Collection<? extends ActivityPartition>) newValue);
 				return;
+			case UMLPackage.ACTIVITY__STRUCTURED_NODE :
+				getStructuredNodes().clear();
+				getStructuredNodes().addAll(
+					(Collection<? extends StructuredActivityNode>) newValue);
+				return;
 			case UMLPackage.ACTIVITY__NODE :
 				getNodes().clear();
 				getNodes()
@@ -1319,14 +1358,20 @@
 			case UMLPackage.ACTIVITY__SPECIFICATION :
 				setSpecification((BehavioralFeature) null);
 				return;
+			case UMLPackage.ACTIVITY__OWNED_GROUP :
+				getOwnedGroups().clear();
+				return;
 			case UMLPackage.ACTIVITY__EDGE :
 				getEdges().clear();
 				return;
+			case UMLPackage.ACTIVITY__VARIABLE :
+				getVariables().clear();
+				return;
 			case UMLPackage.ACTIVITY__GROUP :
 				getGroups().clear();
 				return;
-			case UMLPackage.ACTIVITY__VARIABLE :
-				getVariables().clear();
+			case UMLPackage.ACTIVITY__OWNED_NODE :
+				getOwnedNodes().clear();
 				return;
 			case UMLPackage.ACTIVITY__IS_READ_ONLY :
 				setIsReadOnly(IS_READ_ONLY_EDEFAULT);
@@ -1337,6 +1382,9 @@
 			case UMLPackage.ACTIVITY__PARTITION :
 				getPartitions().clear();
 				return;
+			case UMLPackage.ACTIVITY__STRUCTURED_NODE :
+				getStructuredNodes().clear();
+				return;
 			case UMLPackage.ACTIVITY__NODE :
 				getNodes().clear();
 				return;
@@ -1481,22 +1529,26 @@
 					&& !redefinedBehaviors.isEmpty();
 			case UMLPackage.ACTIVITY__SPECIFICATION :
 				return specification != null;
+			case UMLPackage.ACTIVITY__OWNED_GROUP :
+				return ownedGroups != null && !ownedGroups.isEmpty();
 			case UMLPackage.ACTIVITY__EDGE :
 				return edges != null && !edges.isEmpty();
-			case UMLPackage.ACTIVITY__GROUP :
-				return groups != null && !groups.isEmpty();
-			case UMLPackage.ACTIVITY__STRUCTURED_NODE :
-				return !getStructuredNodes().isEmpty();
 			case UMLPackage.ACTIVITY__VARIABLE :
 				return variables != null && !variables.isEmpty();
+			case UMLPackage.ACTIVITY__GROUP :
+				return !getGroups().isEmpty();
+			case UMLPackage.ACTIVITY__OWNED_NODE :
+				return ownedNodes != null && !ownedNodes.isEmpty();
 			case UMLPackage.ACTIVITY__IS_READ_ONLY :
 				return ((eFlags & IS_READ_ONLY_EFLAG) != 0) != IS_READ_ONLY_EDEFAULT;
 			case UMLPackage.ACTIVITY__IS_SINGLE_EXECUTION :
 				return ((eFlags & IS_SINGLE_EXECUTION_EFLAG) != 0) != IS_SINGLE_EXECUTION_EDEFAULT;
 			case UMLPackage.ACTIVITY__PARTITION :
 				return partitions != null && !partitions.isEmpty();
+			case UMLPackage.ACTIVITY__STRUCTURED_NODE :
+				return structuredNodes != null && !structuredNodes.isEmpty();
 			case UMLPackage.ACTIVITY__NODE :
-				return nodes != null && !nodes.isEmpty();
+				return !getNodes().isEmpty();
 		}
 		return eDynamicIsSet(featureID);
 	}
@@ -1593,10 +1645,6 @@
 				return allOwnedElements();
 			case UMLPackage.ACTIVITY___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.ACTIVITY___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.ACTIVITY___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -1605,6 +1653,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.ACTIVITY___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.ACTIVITY___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.ACTIVITY___CREATE_USAGE__NAMEDELEMENT :
@@ -1694,14 +1746,6 @@
 				return isTemplate();
 			case UMLPackage.ACTIVITY___PARAMETERABLE_ELEMENTS :
 				return parameterableElements();
-			case UMLPackage.ACTIVITY___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP :
-				return validateSpecializeType(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.ACTIVITY___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP :
-				return validateMapsToGeneralizationSet(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.ACTIVITY___VALIDATE_NON_FINAL_PARENTS__DIAGNOSTICCHAIN_MAP :
 				return validateNonFinalParents(
 					(DiagnosticChain) arguments.get(0),
@@ -1710,6 +1754,14 @@
 				return validateNoCyclesInGeneralization(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.ACTIVITY___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP :
+				return validateSpecializeType(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.ACTIVITY___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP :
+				return validateMapsToGeneralizationSet(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.ACTIVITY___GET_ALL_ATTRIBUTES :
 				return getAllAttributes();
 			case UMLPackage.ACTIVITY___GET_ALL_OPERATIONS :
@@ -1781,13 +1833,6 @@
 				return getExtensions();
 			case UMLPackage.ACTIVITY___GET_SUPER_CLASSES :
 				return getSuperClasses();
-			case UMLPackage.ACTIVITY___VALIDATE_MOST_ONE_BEHAVIOUR__DIAGNOSTICCHAIN_MAP :
-				return validateMostOneBehaviour(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.ACTIVITY___VALIDATE_MUST_REALIZE__DIAGNOSTICCHAIN_MAP :
-				return validateMustRealize((DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.ACTIVITY___VALIDATE_PARAMETERS_MATCH__DIAGNOSTICCHAIN_MAP :
 				return validateParametersMatch(
 					(DiagnosticChain) arguments.get(0),
@@ -1796,8 +1841,19 @@
 				return validateFeatureOfContextClassifier(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.ACTIVITY___VALIDATE_MUST_REALIZE__DIAGNOSTICCHAIN_MAP :
+				return validateMustRealize((DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.ACTIVITY___VALIDATE_MOST_ONE_BEHAVIOUR__DIAGNOSTICCHAIN_MAP :
+				return validateMostOneBehaviour(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.ACTIVITY___GET_CONTEXT :
 				return getContext();
+			case UMLPackage.ACTIVITY___VALIDATE_ACTIVITY_PARAMETER_NODE__DIAGNOSTICCHAIN_MAP :
+				return validateActivityParameterNode(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.ACTIVITY___VALIDATE_AUTONOMOUS__DIAGNOSTICCHAIN_MAP :
 				return validateAutonomous((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
@@ -1805,12 +1861,6 @@
 				return validateNoSupergroups(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.ACTIVITY___VALIDATE_ACTIVITY_PARAMETER_NODE__DIAGNOSTICCHAIN_MAP :
-				return validateActivityParameterNode(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.ACTIVITY___GET_STRUCTURED_NODES :
-				return getStructuredNodes();
 		}
 		return eDynamicInvoke(operationID, arguments);
 	}
@@ -1897,22 +1947,42 @@
 		UMLPackage.ACTIVITY__OWNED_PARAMETER_SET, UMLPackage.ACTIVITY__VARIABLE};
 
 	/**
-	 * The array of subset feature identifiers for the '{@link #getGroups() <em>Group</em>}' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getGroups()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final int[] GROUP_ESUBSETS = new int[]{UMLPackage.ACTIVITY__PARTITION};
-
-	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated NOT
 	 */
-	public ActivityGroup createGroup(EClass eClass) {
-		return createGroup(null, eClass);
+	public EList<ActivityGroup> getOwnedGroups() {
+		if (ownedGroups == null) {
+			ownedGroups = new SubsetSupersetEObjectContainmentEList.Resolving<ActivityGroup>(
+				ActivityGroup.class, this, UMLPackage.ACTIVITY__OWNED_GROUP,
+				OWNED_GROUP_ESUPERSETS, OWNED_GROUP_ESUBSETS);
+		}
+		return ownedGroups;
+	}
+
+	/**
+	 * The array of subset feature identifiers for the '{@link #getOwnedGroups() <em>Owned Group</em>}' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getOwnedGroups()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final int[] OWNED_GROUP_ESUBSETS = new int[]{UMLPackage.ACTIVITY__PARTITION};
+
+	protected static final int[] OWNED_GROUP_ESUPERSETS = new int[]{UMLPackage.ACTIVITY__GROUP};
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ActivityGroup createOwnedGroup(String name, EClass eClass) {
+		ActivityGroup newOwnedGroup = (ActivityGroup) create(eClass);
+		getOwnedGroups().add(newOwnedGroup);
+		if (name != null)
+			newOwnedGroup.setName(name);
+		return newOwnedGroup;
 	}
 
 	/**
@@ -1920,12 +1990,8 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public ActivityGroup createGroup(String name, EClass eClass) {
-		ActivityGroup newGroup = (ActivityGroup) create(eClass);
-		getGroups().add(newGroup);
-		if (name != null)
-			newGroup.setName(name);
-		return newGroup;
+	public ActivityGroup getOwnedGroup(String name) {
+		return getOwnedGroup(name, false, null, false);
 	}
 
 	/**
@@ -1933,17 +1999,48 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	public ActivityGroup getOwnedGroup(String name, boolean ignoreCase,
+			EClass eClass, boolean createOnDemand) {
+		ownedGroupLoop : for (ActivityGroup ownedGroup : getOwnedGroups()) {
+			if (eClass != null && !eClass.isInstance(ownedGroup))
+				continue ownedGroupLoop;
+			if (name != null && !(ignoreCase
+				? name.equalsIgnoreCase(ownedGroup.getName())
+				: name.equals(ownedGroup.getName())))
+				continue ownedGroupLoop;
+			return ownedGroup;
+		}
+		return createOnDemand && eClass != null
+			? createOwnedGroup(name, eClass)
+			: null;
+	}
+
+	/**
+	 * The array of subset feature identifiers for the '{@link #getGroups() <em>Group</em>}' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getGroups()
+	 * @generated NOT
+	 * @ordered
+	 */
+	protected static final int[] GROUP_ESUBSETS = new int[]{
+		UMLPackage.ACTIVITY__OWNED_GROUP, UMLPackage.ACTIVITY__STRUCTURED_NODE};
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
 	public ActivityGroup getGroup(String name) {
-		return getGroup(name, false, null, false);
+		return getGroup(name, false, null);
 	}
 
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @generated
+	 * @generated NOT
 	 */
-	public ActivityGroup getGroup(String name, boolean ignoreCase,
-			EClass eClass, boolean createOnDemand) {
+	public ActivityGroup getGroup(String name, boolean ignoreCase, EClass eClass) {
 		groupLoop : for (ActivityGroup group : getGroups()) {
 			if (eClass != null && !eClass.isInstance(group))
 				continue groupLoop;
@@ -1953,9 +2050,7 @@
 				continue groupLoop;
 			return group;
 		}
-		return createOnDemand && eClass != null
-			? createGroup(name, eClass)
-			: null;
+		return null;
 	}
 
 	/**
@@ -1963,7 +2058,7 @@
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @see #getStructuredNodes()
-	 * @generated
+	 * @generated NOT
 	 * @ordered
 	 */
 	protected static final int[] STRUCTURED_NODE_ESUPERSETS = new int[]{
@@ -1972,10 +2067,79 @@
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
+	 * @generated NOT
+	 */
+	public EList<ActivityNode> getOwnedNodes() {
+		if (ownedNodes == null) {
+			ownedNodes = new SubsetSupersetEObjectContainmentEList.Resolving<ActivityNode>(
+				ActivityNode.class, this, UMLPackage.ACTIVITY__OWNED_NODE,
+				OWNED_NODE_ESUPERSETS, null);
+		}
+		return ownedNodes;
+	}
+
+	protected static final int[] OWNED_NODE_ESUPERSETS = new int[]{UMLPackage.ACTIVITY__NODE};
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ActivityNode createOwnedNode(String name, EClass eClass) {
+		ActivityNode newOwnedNode = (ActivityNode) create(eClass);
+		getOwnedNodes().add(newOwnedNode);
+		if (name != null)
+			newOwnedNode.setName(name);
+		return newOwnedNode;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ActivityNode getOwnedNode(String name) {
+		return getOwnedNode(name, false, null, false);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ActivityNode getOwnedNode(String name, boolean ignoreCase,
+			EClass eClass, boolean createOnDemand) {
+		ownedNodeLoop : for (ActivityNode ownedNode : getOwnedNodes()) {
+			if (eClass != null && !eClass.isInstance(ownedNode))
+				continue ownedNodeLoop;
+			if (name != null && !(ignoreCase
+				? name.equalsIgnoreCase(ownedNode.getName())
+				: name.equals(ownedNode.getName())))
+				continue ownedNodeLoop;
+			return ownedNode;
+		}
+		return createOnDemand && eClass != null
+			? createOwnedNode(name, eClass)
+			: null;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
 	 * @generated
 	 */
 	public StructuredActivityNode getStructuredNode(String name) {
-		return getStructuredNode(name, false, null);
+		return getStructuredNode(name, false, null, false);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated NOT
+	 */
+	public StructuredActivityNode getStructuredNode(String name,
+			boolean ignoreCase, EClass eClass) {
+		return getStructuredNode(name, ignoreCase, eClass, false);
 	}
 
 	/**
@@ -1984,7 +2148,7 @@
 	 * @generated
 	 */
 	public StructuredActivityNode getStructuredNode(String name,
-			boolean ignoreCase, EClass eClass) {
+			boolean ignoreCase, EClass eClass, boolean createOnDemand) {
 		structuredNodeLoop : for (StructuredActivityNode structuredNode : getStructuredNodes()) {
 			if (eClass != null && !eClass.isInstance(structuredNode))
 				continue structuredNodeLoop;
@@ -1994,7 +2158,9 @@
 				continue structuredNodeLoop;
 			return structuredNode;
 		}
-		return null;
+		return createOnDemand && eClass != null
+			? createStructuredNode(name, eClass)
+			: null;
 	}
 
 	/**
@@ -2005,7 +2171,18 @@
 	 * @generated
 	 * @ordered
 	 */
-	protected static final int[] PARTITION_ESUPERSETS = new int[]{UMLPackage.ACTIVITY__GROUP};
+	protected static final int[] PARTITION_ESUPERSETS = new int[]{UMLPackage.ACTIVITY__OWNED_GROUP};
+
+	/**
+	 * The array of subset feature identifiers for the '{@link #getNodes() <em>Node</em>}' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getNodes()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final int[] NODE_ESUBSETS = new int[]{
+		UMLPackage.ACTIVITY__OWNED_NODE, UMLPackage.ACTIVITY__STRUCTURED_NODE};
 
 	/**
 	 * <!-- begin-user-doc -->
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ActivityNodeImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ActivityNodeImpl.java
index 19fe41c..c21161a 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ActivityNodeImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ActivityNodeImpl.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey - 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ActivityNodeImpl.java,v 1.25 2010/09/28 21:02:13 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -363,42 +362,40 @@
 	 * @generated
 	 */
 	public Activity getActivity() {
-		if (eContainerFeatureID() != UMLPackage.ACTIVITY_NODE__ACTIVITY)
-			return null;
-		return (Activity) eContainer();
+		Activity activity = basicGetActivity();
+		return activity != null && activity.eIsProxy()
+			? (Activity) eResolveProxy((InternalEObject) activity)
+			: activity;
 	}
 
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @generated
+	 * @generated NOT
 	 */
 	public Activity basicGetActivity() {
-		if (eContainerFeatureID() != UMLPackage.ACTIVITY_NODE__ACTIVITY)
-			return null;
-		return (Activity) eInternalContainer();
+		InternalEObject eInternalContainer = eInternalContainer();
+		return eInternalContainer instanceof Activity
+			? (Activity) eInternalContainer
+			: null;
+	}
+
+	public NotificationChain eBasicRemoveFromContainer(NotificationChain msgs) {
+		InternalEObject eInternalContainer = eInternalContainer();
+		if (eInternalContainer instanceof Activity) {
+			return ((InternalEList<ActivityNode>) ((Activity) eInternalContainer)
+				.getNodes()).basicRemove(this, msgs);
+		}
+		return super.eBasicRemoveFromContainer(msgs);
 	}
 
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain basicSetActivity(Activity newActivity,
-			NotificationChain msgs) {
-		msgs = eBasicSetContainer((InternalEObject) newActivity,
-			UMLPackage.ACTIVITY_NODE__ACTIVITY, msgs);
-		return msgs;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
+	 * @generated NOT
 	 */
 	public void setActivity(Activity newActivity) {
-		if (newActivity != eInternalContainer()
-			|| (eContainerFeatureID() != UMLPackage.ACTIVITY_NODE__ACTIVITY && newActivity != null)) {
+		if (newActivity != eInternalContainer()) {
 			if (EcoreUtil.isAncestor(this, newActivity))
 				throw new IllegalArgumentException(
 					"Recursive containment not allowed for " + toString()); //$NON-NLS-1$
@@ -406,9 +403,11 @@
 			if (eInternalContainer() != null)
 				msgs = eBasicRemoveFromContainer(msgs);
 			if (newActivity != null)
-				msgs = ((InternalEObject) newActivity).eInverseAdd(this,
-					UMLPackage.ACTIVITY__NODE, Activity.class, msgs);
-			msgs = basicSetActivity(newActivity, msgs);
+				msgs = ((InternalEList<ActivityNode>) newActivity
+					.getOwnedNodes()).basicAdd(this, msgs);
+			msgs = eBasicSetContainer((InternalEObject) newActivity,
+				InternalEObject.EOPPOSITE_FEATURE_BASE
+					- UMLPackage.ACTIVITY__OWNED_NODE, msgs);
 			if (msgs != null)
 				msgs.dispatch();
 		} else if (eNotificationRequired())
@@ -578,10 +577,6 @@
 			case UMLPackage.ACTIVITY_NODE__CLIENT_DEPENDENCY :
 				return ((InternalEList<InternalEObject>) (InternalEList<?>) getClientDependencies())
 					.basicAdd(otherEnd, msgs);
-			case UMLPackage.ACTIVITY_NODE__ACTIVITY :
-				if (eInternalContainer() != null)
-					msgs = eBasicRemoveFromContainer(msgs);
-				return basicSetActivity((Activity) otherEnd, msgs);
 			case UMLPackage.ACTIVITY_NODE__IN_PARTITION :
 				return ((InternalEList<InternalEObject>) (InternalEList<?>) getInPartitions())
 					.basicAdd(otherEnd, msgs);
@@ -623,8 +618,6 @@
 					.basicRemove(otherEnd, msgs);
 			case UMLPackage.ACTIVITY_NODE__NAME_EXPRESSION :
 				return basicSetNameExpression(null, msgs);
-			case UMLPackage.ACTIVITY_NODE__ACTIVITY :
-				return basicSetActivity(null, msgs);
 			case UMLPackage.ACTIVITY_NODE__IN_PARTITION :
 				return ((InternalEList<?>) getInPartitions()).basicRemove(
 					otherEnd, msgs);
@@ -652,9 +645,6 @@
 	public NotificationChain eBasicRemoveFromContainerFeature(
 			NotificationChain msgs) {
 		switch (eContainerFeatureID()) {
-			case UMLPackage.ACTIVITY_NODE__ACTIVITY :
-				return eInternalContainer().eInverseRemove(this,
-					UMLPackage.ACTIVITY__NODE, Activity.class, msgs);
 			case UMLPackage.ACTIVITY_NODE__IN_STRUCTURED_NODE :
 				return eInternalContainer().eInverseRemove(this,
 					UMLPackage.STRUCTURED_ACTIVITY_NODE__NODE,
@@ -707,8 +697,6 @@
 				if (resolve)
 					return getActivity();
 				return basicGetActivity();
-			case UMLPackage.ACTIVITY_NODE__IN_GROUP :
-				return getInGroups();
 			case UMLPackage.ACTIVITY_NODE__IN_PARTITION :
 				return getInPartitions();
 			case UMLPackage.ACTIVITY_NODE__IN_STRUCTURED_NODE :
@@ -721,6 +709,8 @@
 				return getOutgoings();
 			case UMLPackage.ACTIVITY_NODE__INCOMING :
 				return getIncomings();
+			case UMLPackage.ACTIVITY_NODE__IN_GROUP :
+				return getInGroups();
 			case UMLPackage.ACTIVITY_NODE__REDEFINED_NODE :
 				return getRedefinedNodes();
 		}
@@ -892,8 +882,6 @@
 				return isSetRedefinitionContexts();
 			case UMLPackage.ACTIVITY_NODE__ACTIVITY :
 				return basicGetActivity() != null;
-			case UMLPackage.ACTIVITY_NODE__IN_GROUP :
-				return isSetInGroups();
 			case UMLPackage.ACTIVITY_NODE__IN_PARTITION :
 				return inPartitions != null && !inPartitions.isEmpty();
 			case UMLPackage.ACTIVITY_NODE__IN_STRUCTURED_NODE :
@@ -905,6 +893,8 @@
 				return outgoings != null && !outgoings.isEmpty();
 			case UMLPackage.ACTIVITY_NODE__INCOMING :
 				return incomings != null && !incomings.isEmpty();
+			case UMLPackage.ACTIVITY_NODE__IN_GROUP :
+				return isSetInGroups();
 			case UMLPackage.ACTIVITY_NODE__REDEFINED_NODE :
 				return redefinedNodes != null && !redefinedNodes.isEmpty();
 		}
@@ -1003,10 +993,6 @@
 				return allOwnedElements();
 			case UMLPackage.ACTIVITY_NODE___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.ACTIVITY_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.ACTIVITY_NODE___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -1015,6 +1001,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.ACTIVITY_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.ACTIVITY_NODE___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.ACTIVITY_NODE___CREATE_USAGE__NAMEDELEMENT :
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ActivityParameterNodeImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ActivityParameterNodeImpl.java
index 0568cbd..c9c268b 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ActivityParameterNodeImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ActivityParameterNodeImpl.java
@@ -9,9 +9,8 @@
  *   IBM - initial API and implementation
  *   Kenn Hussey (Embarcadero Technologies) - 204200
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ActivityParameterNodeImpl.java,v 1.23 2010/09/28 21:02:14 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -264,8 +263,6 @@
 				if (resolve)
 					return getActivity();
 				return basicGetActivity();
-			case UMLPackage.ACTIVITY_PARAMETER_NODE__IN_GROUP :
-				return getInGroups();
 			case UMLPackage.ACTIVITY_PARAMETER_NODE__IN_PARTITION :
 				return getInPartitions();
 			case UMLPackage.ACTIVITY_PARAMETER_NODE__IN_STRUCTURED_NODE :
@@ -278,6 +275,8 @@
 				return getOutgoings();
 			case UMLPackage.ACTIVITY_PARAMETER_NODE__INCOMING :
 				return getIncomings();
+			case UMLPackage.ACTIVITY_PARAMETER_NODE__IN_GROUP :
+				return getInGroups();
 			case UMLPackage.ACTIVITY_PARAMETER_NODE__REDEFINED_NODE :
 				return getRedefinedNodes();
 			case UMLPackage.ACTIVITY_PARAMETER_NODE__TYPE :
@@ -514,8 +513,6 @@
 				return isSetRedefinitionContexts();
 			case UMLPackage.ACTIVITY_PARAMETER_NODE__ACTIVITY :
 				return basicGetActivity() != null;
-			case UMLPackage.ACTIVITY_PARAMETER_NODE__IN_GROUP :
-				return isSetInGroups();
 			case UMLPackage.ACTIVITY_PARAMETER_NODE__IN_PARTITION :
 				return inPartitions != null && !inPartitions.isEmpty();
 			case UMLPackage.ACTIVITY_PARAMETER_NODE__IN_STRUCTURED_NODE :
@@ -527,6 +524,8 @@
 				return outgoings != null && !outgoings.isEmpty();
 			case UMLPackage.ACTIVITY_PARAMETER_NODE__INCOMING :
 				return incomings != null && !incomings.isEmpty();
+			case UMLPackage.ACTIVITY_PARAMETER_NODE__IN_GROUP :
+				return isSetInGroups();
 			case UMLPackage.ACTIVITY_PARAMETER_NODE__REDEFINED_NODE :
 				return redefinedNodes != null && !redefinedNodes.isEmpty();
 			case UMLPackage.ACTIVITY_PARAMETER_NODE__TYPE :
@@ -639,10 +638,6 @@
 				return allOwnedElements();
 			case UMLPackage.ACTIVITY_PARAMETER_NODE___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.ACTIVITY_PARAMETER_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.ACTIVITY_PARAMETER_NODE___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -651,6 +646,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.ACTIVITY_PARAMETER_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.ACTIVITY_PARAMETER_NODE___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.ACTIVITY_PARAMETER_NODE___CREATE_USAGE__NAMEDELEMENT :
@@ -696,43 +695,43 @@
 				return validateOwnedStructuredNode(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.ACTIVITY_PARAMETER_NODE___VALIDATE_INPUT_OUTPUT_PARAMETER__DIAGNOSTICCHAIN_MAP :
-				return validateInputOutputParameter(
+			case UMLPackage.ACTIVITY_PARAMETER_NODE___VALIDATE_OBJECT_FLOW_EDGES__DIAGNOSTICCHAIN_MAP :
+				return validateObjectFlowEdges(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.ACTIVITY_PARAMETER_NODE___VALIDATE_SELECTION_BEHAVIOR__DIAGNOSTICCHAIN_MAP :
 				return validateSelectionBehavior(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.ACTIVITY_PARAMETER_NODE___VALIDATE_OBJECT_FLOW_EDGES__DIAGNOSTICCHAIN_MAP :
-				return validateObjectFlowEdges(
+			case UMLPackage.ACTIVITY_PARAMETER_NODE___VALIDATE_INPUT_OUTPUT_PARAMETER__DIAGNOSTICCHAIN_MAP :
+				return validateInputOutputParameter(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.ACTIVITY_PARAMETER_NODE___VALIDATE_NO_OUTGOING_EDGES__DIAGNOSTICCHAIN_MAP :
-				return validateNoOutgoingEdges(
+			case UMLPackage.ACTIVITY_PARAMETER_NODE___VALIDATE_MAXIMUM_ONE_PARAMETER_NODE__DIAGNOSTICCHAIN_MAP :
+				return validateMaximumOneParameterNode(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.ACTIVITY_PARAMETER_NODE___VALIDATE_MAXIMUM_TWO_PARAMETER_NODES__DIAGNOSTICCHAIN_MAP :
 				return validateMaximumTwoParameterNodes(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.ACTIVITY_PARAMETER_NODE___VALIDATE_HAS_PARAMETERS__DIAGNOSTICCHAIN_MAP :
-				return validateHasParameters(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.ACTIVITY_PARAMETER_NODE___VALIDATE_SAME_TYPE__DIAGNOSTICCHAIN_MAP :
-				return validateSameType((DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.ACTIVITY_PARAMETER_NODE___VALIDATE_MAXIMUM_ONE_PARAMETER_NODE__DIAGNOSTICCHAIN_MAP :
-				return validateMaximumOneParameterNode(
-					(DiagnosticChain) arguments.get(0),
+			case UMLPackage.ACTIVITY_PARAMETER_NODE___VALIDATE_NO_EDGES__DIAGNOSTICCHAIN_MAP :
+				return validateNoEdges((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.ACTIVITY_PARAMETER_NODE___VALIDATE_NO_INCOMING_EDGES__DIAGNOSTICCHAIN_MAP :
 				return validateNoIncomingEdges(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.ACTIVITY_PARAMETER_NODE___VALIDATE_NO_EDGES__DIAGNOSTICCHAIN_MAP :
-				return validateNoEdges((DiagnosticChain) arguments.get(0),
+			case UMLPackage.ACTIVITY_PARAMETER_NODE___VALIDATE_NO_OUTGOING_EDGES__DIAGNOSTICCHAIN_MAP :
+				return validateNoOutgoingEdges(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.ACTIVITY_PARAMETER_NODE___VALIDATE_SAME_TYPE__DIAGNOSTICCHAIN_MAP :
+				return validateSameType((DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.ACTIVITY_PARAMETER_NODE___VALIDATE_HAS_PARAMETERS__DIAGNOSTICCHAIN_MAP :
+				return validateHasParameters(
+					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 		}
 		return eDynamicInvoke(operationID, arguments);
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ActivityPartitionImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ActivityPartitionImpl.java
index bebea7a..e0f5115 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ActivityPartitionImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ActivityPartitionImpl.java
@@ -9,9 +9,8 @@
  *   IBM - initial API and implementation
  *   Kenn Hussey (Embarcadero Technologies) - 204200
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ActivityPartitionImpl.java,v 1.31 2010/09/28 21:02:14 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -629,10 +628,6 @@
 			case UMLPackage.ACTIVITY_PARTITION__CLIENT_DEPENDENCY :
 				return ((InternalEList<InternalEObject>) (InternalEList<?>) getClientDependencies())
 					.basicAdd(otherEnd, msgs);
-			case UMLPackage.ACTIVITY_PARTITION__IN_ACTIVITY :
-				if (eInternalContainer() != null)
-					msgs = eBasicRemoveFromContainer(msgs);
-				return basicSetInActivity((Activity) otherEnd, msgs);
 			case UMLPackage.ACTIVITY_PARTITION__NODE :
 				return ((InternalEList<InternalEObject>) (InternalEList<?>) getNodes())
 					.basicAdd(otherEnd, msgs);
@@ -671,8 +666,6 @@
 					.basicRemove(otherEnd, msgs);
 			case UMLPackage.ACTIVITY_PARTITION__NAME_EXPRESSION :
 				return basicSetNameExpression(null, msgs);
-			case UMLPackage.ACTIVITY_PARTITION__IN_ACTIVITY :
-				return basicSetInActivity(null, msgs);
 			case UMLPackage.ACTIVITY_PARTITION__NODE :
 				return ((InternalEList<?>) getNodes()).basicRemove(otherEnd,
 					msgs);
@@ -697,9 +690,6 @@
 	public NotificationChain eBasicRemoveFromContainerFeature(
 			NotificationChain msgs) {
 		switch (eContainerFeatureID()) {
-			case UMLPackage.ACTIVITY_PARTITION__IN_ACTIVITY :
-				return eInternalContainer().eInverseRemove(this,
-					UMLPackage.ACTIVITY__GROUP, Activity.class, msgs);
 			case UMLPackage.ACTIVITY_PARTITION__SUPER_PARTITION :
 				return eInternalContainer().eInverseRemove(this,
 					UMLPackage.ACTIVITY_PARTITION__SUBPARTITION,
@@ -742,6 +732,8 @@
 				return getQualifiedName();
 			case UMLPackage.ACTIVITY_PARTITION__VISIBILITY :
 				return getVisibility();
+			case UMLPackage.ACTIVITY_PARTITION__CONTAINED_EDGE :
+				return getContainedEdges();
 			case UMLPackage.ACTIVITY_PARTITION__CONTAINED_NODE :
 				return getContainedNodes();
 			case UMLPackage.ACTIVITY_PARTITION__IN_ACTIVITY :
@@ -754,8 +746,6 @@
 				if (resolve)
 					return getSuperGroup();
 				return basicGetSuperGroup();
-			case UMLPackage.ACTIVITY_PARTITION__CONTAINED_EDGE :
-				return getContainedEdges();
 			case UMLPackage.ACTIVITY_PARTITION__IS_DIMENSION :
 				return isDimension();
 			case UMLPackage.ACTIVITY_PARTITION__IS_EXTERNAL :
@@ -930,6 +920,8 @@
 					: !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
 			case UMLPackage.ACTIVITY_PARTITION__VISIBILITY :
 				return isSetVisibility();
+			case UMLPackage.ACTIVITY_PARTITION__CONTAINED_EDGE :
+				return isSetContainedEdges();
 			case UMLPackage.ACTIVITY_PARTITION__CONTAINED_NODE :
 				return isSetContainedNodes();
 			case UMLPackage.ACTIVITY_PARTITION__IN_ACTIVITY :
@@ -938,8 +930,6 @@
 				return isSetSubgroups();
 			case UMLPackage.ACTIVITY_PARTITION__SUPER_GROUP :
 				return isSetSuperGroup();
-			case UMLPackage.ACTIVITY_PARTITION__CONTAINED_EDGE :
-				return isSetContainedEdges();
 			case UMLPackage.ACTIVITY_PARTITION__IS_DIMENSION :
 				return ((eFlags & IS_DIMENSION_EFLAG) != 0) != IS_DIMENSION_EDEFAULT;
 			case UMLPackage.ACTIVITY_PARTITION__IS_EXTERNAL :
@@ -1050,10 +1040,6 @@
 				return allOwnedElements();
 			case UMLPackage.ACTIVITY_PARTITION___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.ACTIVITY_PARTITION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.ACTIVITY_PARTITION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -1062,6 +1048,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.ACTIVITY_PARTITION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.ACTIVITY_PARTITION___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.ACTIVITY_PARTITION___CREATE_USAGE__NAMEDELEMENT :
@@ -1083,16 +1073,20 @@
 				return getQualifiedName();
 			case UMLPackage.ACTIVITY_PARTITION___SEPARATOR :
 				return separator();
-			case UMLPackage.ACTIVITY_PARTITION___VALIDATE_NODES_AND_EDGES__DIAGNOSTICCHAIN_MAP :
-				return validateNodesAndEdges(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.ACTIVITY_PARTITION___VALIDATE_GROUP_OWNED__DIAGNOSTICCHAIN_MAP :
 				return validateGroupOwned((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.ACTIVITY_PARTITION___VALIDATE_NOT_CONTAINED__DIAGNOSTICCHAIN_MAP :
 				return validateNotContained((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.ACTIVITY_PARTITION___VALIDATE_NODES_AND_EDGES__DIAGNOSTICCHAIN_MAP :
+				return validateNodesAndEdges(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.ACTIVITY_PARTITION___VALIDATE_REPRESENTS_PART__DIAGNOSTICCHAIN_MAP :
+				return validateRepresentsPart(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.ACTIVITY_PARTITION___VALIDATE_REPRESENTS_CLASSIFIER__DIAGNOSTICCHAIN_MAP :
 				return validateRepresentsClassifier(
 					(DiagnosticChain) arguments.get(0),
@@ -1101,10 +1095,6 @@
 				return validateRepresentsPartAndIsContained(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.ACTIVITY_PARTITION___VALIDATE_REPRESENTS_PART__DIAGNOSTICCHAIN_MAP :
-				return validateRepresentsPart(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.ACTIVITY_PARTITION___VALIDATE_DIMENSION_NOT_CONTAINED__DIAGNOSTICCHAIN_MAP :
 				return validateDimensionNotContained(
 					(DiagnosticChain) arguments.get(0),
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ActorImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ActorImpl.java
index be80646..93c1945 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ActorImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ActorImpl.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ActorImpl.java,v 1.5 2010/09/28 21:02:12 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -181,10 +180,6 @@
 				return allOwnedElements();
 			case UMLPackage.ACTOR___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.ACTOR___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.ACTOR___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -193,6 +188,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.ACTOR___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.ACTOR___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.ACTOR___CREATE_USAGE__NAMEDELEMENT :
@@ -282,14 +281,6 @@
 				return isTemplate();
 			case UMLPackage.ACTOR___PARAMETERABLE_ELEMENTS :
 				return parameterableElements();
-			case UMLPackage.ACTOR___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP :
-				return validateSpecializeType(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.ACTOR___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP :
-				return validateMapsToGeneralizationSet(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.ACTOR___VALIDATE_NON_FINAL_PARENTS__DIAGNOSTICCHAIN_MAP :
 				return validateNonFinalParents(
 					(DiagnosticChain) arguments.get(0),
@@ -298,6 +289,14 @@
 				return validateNoCyclesInGeneralization(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.ACTOR___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP :
+				return validateSpecializeType(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.ACTOR___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP :
+				return validateMapsToGeneralizationSet(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.ACTOR___GET_ALL_ATTRIBUTES :
 				return getAllAttributes();
 			case UMLPackage.ACTOR___GET_ALL_OPERATIONS :
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/AddStructuralFeatureValueActionImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/AddStructuralFeatureValueActionImpl.java
index 60ad63d..04b7b0f 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/AddStructuralFeatureValueActionImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/AddStructuralFeatureValueActionImpl.java
@@ -9,9 +9,8 @@
  *   IBM - initial API and implementation
  *   Kenn Hussey (Embarcadero Technologies) - 204200
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: AddStructuralFeatureValueActionImpl.java,v 1.31 2010/09/28 21:02:13 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -351,8 +350,6 @@
 					.basicRemove(otherEnd, msgs);
 			case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__NAME_EXPRESSION :
 				return basicSetNameExpression(null, msgs);
-			case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__ACTIVITY :
-				return basicSetActivity(null, msgs);
 			case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__IN_PARTITION :
 				return ((InternalEList<?>) getInPartitions()).basicRemove(
 					otherEnd, msgs);
@@ -432,8 +429,6 @@
 				if (resolve)
 					return getActivity();
 				return basicGetActivity();
-			case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__IN_GROUP :
-				return getInGroups();
 			case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__IN_PARTITION :
 				return getInPartitions();
 			case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__IN_STRUCTURED_NODE :
@@ -446,6 +441,8 @@
 				return getOutgoings();
 			case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__INCOMING :
 				return getIncomings();
+			case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__IN_GROUP :
+				return getInGroups();
 			case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__REDEFINED_NODE :
 				return getRedefinedNodes();
 			case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__HANDLER :
@@ -721,8 +718,6 @@
 				return isSetRedefinitionContexts();
 			case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__ACTIVITY :
 				return basicGetActivity() != null;
-			case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__IN_GROUP :
-				return isSetInGroups();
 			case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__IN_PARTITION :
 				return inPartitions != null && !inPartitions.isEmpty();
 			case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__IN_STRUCTURED_NODE :
@@ -734,6 +729,8 @@
 				return outgoings != null && !outgoings.isEmpty();
 			case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__INCOMING :
 				return incomings != null && !incomings.isEmpty();
+			case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__IN_GROUP :
+				return isSetInGroups();
 			case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__REDEFINED_NODE :
 				return redefinedNodes != null && !redefinedNodes.isEmpty();
 			case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__HANDLER :
@@ -860,10 +857,6 @@
 				return allOwnedElements();
 			case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -872,6 +865,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION___CREATE_USAGE__NAMEDELEMENT :
@@ -919,15 +916,12 @@
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION___GET_CONTEXT :
 				return getContext();
-			case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION___VALIDATE_MULTIPLICITY__DIAGNOSTICCHAIN_MAP :
-				return validateMultiplicity((DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION___VALIDATE_SAME_TYPE__DIAGNOSTICCHAIN_MAP :
-				return validateSameType((DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION___VALIDATE_VISIBILITY__DIAGNOSTICCHAIN_MAP :
 				return validateVisibility((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION___VALIDATE_MULTIPLICITY__DIAGNOSTICCHAIN_MAP :
+				return validateMultiplicity((DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION___VALIDATE_NOT_STATIC__DIAGNOSTICCHAIN_MAP :
 				return validateNotStatic((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
@@ -935,9 +929,8 @@
 				return validateOneFeaturingClassifier(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION___VALIDATE_MULTIPLICITY_OF_RESULT__DIAGNOSTICCHAIN_MAP :
-				return validateMultiplicityOfResult(
-					(DiagnosticChain) arguments.get(0),
+			case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION___VALIDATE_SAME_TYPE__DIAGNOSTICCHAIN_MAP :
+				return validateSameType((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION___VALIDATE_INPUT_PIN__DIAGNOSTICCHAIN_MAP :
 				return validateInputPin((DiagnosticChain) arguments.get(0),
@@ -945,14 +938,18 @@
 			case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION___VALIDATE_TYPE_OF_RESULT__DIAGNOSTICCHAIN_MAP :
 				return validateTypeOfResult((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION___VALIDATE_REQUIRED_VALUE__DIAGNOSTICCHAIN_MAP :
-				return validateRequiredValue(
+			case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION___VALIDATE_MULTIPLICITY_OF_RESULT__DIAGNOSTICCHAIN_MAP :
+				return validateMultiplicityOfResult(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION___VALIDATE_UNLIMITED_NATURAL_AND_MULTIPLICITY__DIAGNOSTICCHAIN_MAP :
 				return validateUnlimitedNaturalAndMultiplicity(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.ADD_STRUCTURAL_FEATURE_VALUE_ACTION___VALIDATE_REQUIRED_VALUE__DIAGNOSTICCHAIN_MAP :
+				return validateRequiredValue(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 		}
 		return eDynamicInvoke(operationID, arguments);
 	}
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/AddVariableValueActionImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/AddVariableValueActionImpl.java
index 14ff52e..f0251c0 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/AddVariableValueActionImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/AddVariableValueActionImpl.java
@@ -9,9 +9,8 @@
  *   IBM - initial API and implementation
  *   Kenn Hussey (Embarcadero Technologies) - 204200
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: AddVariableValueActionImpl.java,v 1.30 2010/09/28 21:02:13 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -338,8 +337,6 @@
 					.basicRemove(otherEnd, msgs);
 			case UMLPackage.ADD_VARIABLE_VALUE_ACTION__NAME_EXPRESSION :
 				return basicSetNameExpression(null, msgs);
-			case UMLPackage.ADD_VARIABLE_VALUE_ACTION__ACTIVITY :
-				return basicSetActivity(null, msgs);
 			case UMLPackage.ADD_VARIABLE_VALUE_ACTION__IN_PARTITION :
 				return ((InternalEList<?>) getInPartitions()).basicRemove(
 					otherEnd, msgs);
@@ -415,8 +412,6 @@
 				if (resolve)
 					return getActivity();
 				return basicGetActivity();
-			case UMLPackage.ADD_VARIABLE_VALUE_ACTION__IN_GROUP :
-				return getInGroups();
 			case UMLPackage.ADD_VARIABLE_VALUE_ACTION__IN_PARTITION :
 				return getInPartitions();
 			case UMLPackage.ADD_VARIABLE_VALUE_ACTION__IN_STRUCTURED_NODE :
@@ -429,6 +424,8 @@
 				return getOutgoings();
 			case UMLPackage.ADD_VARIABLE_VALUE_ACTION__INCOMING :
 				return getIncomings();
+			case UMLPackage.ADD_VARIABLE_VALUE_ACTION__IN_GROUP :
+				return getInGroups();
 			case UMLPackage.ADD_VARIABLE_VALUE_ACTION__REDEFINED_NODE :
 				return getRedefinedNodes();
 			case UMLPackage.ADD_VARIABLE_VALUE_ACTION__HANDLER :
@@ -684,8 +681,6 @@
 				return isSetRedefinitionContexts();
 			case UMLPackage.ADD_VARIABLE_VALUE_ACTION__ACTIVITY :
 				return basicGetActivity() != null;
-			case UMLPackage.ADD_VARIABLE_VALUE_ACTION__IN_GROUP :
-				return isSetInGroups();
 			case UMLPackage.ADD_VARIABLE_VALUE_ACTION__IN_PARTITION :
 				return inPartitions != null && !inPartitions.isEmpty();
 			case UMLPackage.ADD_VARIABLE_VALUE_ACTION__IN_STRUCTURED_NODE :
@@ -697,6 +692,8 @@
 				return outgoings != null && !outgoings.isEmpty();
 			case UMLPackage.ADD_VARIABLE_VALUE_ACTION__INCOMING :
 				return incomings != null && !incomings.isEmpty();
+			case UMLPackage.ADD_VARIABLE_VALUE_ACTION__IN_GROUP :
+				return isSetInGroups();
 			case UMLPackage.ADD_VARIABLE_VALUE_ACTION__REDEFINED_NODE :
 				return redefinedNodes != null && !redefinedNodes.isEmpty();
 			case UMLPackage.ADD_VARIABLE_VALUE_ACTION__HANDLER :
@@ -819,10 +816,6 @@
 				return allOwnedElements();
 			case UMLPackage.ADD_VARIABLE_VALUE_ACTION___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.ADD_VARIABLE_VALUE_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.ADD_VARIABLE_VALUE_ACTION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -831,6 +824,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.ADD_VARIABLE_VALUE_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.ADD_VARIABLE_VALUE_ACTION___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.ADD_VARIABLE_VALUE_ACTION___CREATE_USAGE__NAMEDELEMENT :
@@ -882,12 +879,12 @@
 				return validateScopeOfVariable(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.ADD_VARIABLE_VALUE_ACTION___VALIDATE_SAME_TYPE__DIAGNOSTICCHAIN_MAP :
-				return validateSameType((DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.ADD_VARIABLE_VALUE_ACTION___VALIDATE_MULTIPLICITY__DIAGNOSTICCHAIN_MAP :
 				return validateMultiplicity((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.ADD_VARIABLE_VALUE_ACTION___VALIDATE_SAME_TYPE__DIAGNOSTICCHAIN_MAP :
+				return validateSameType((DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.ADD_VARIABLE_VALUE_ACTION___VALIDATE_REQUIRED_VALUE__DIAGNOSTICCHAIN_MAP :
 				return validateRequiredValue(
 					(DiagnosticChain) arguments.get(0),
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ArtifactImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ArtifactImpl.java
index 7cb7d5e..79ff868 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ArtifactImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ArtifactImpl.java
@@ -9,9 +9,8 @@
  *   IBM - initial API and implementation
  *   Kenn Hussey (Embarcadero Technologies) - 204200
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ArtifactImpl.java,v 1.34 2010/09/28 21:02:14 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -1323,10 +1322,6 @@
 				return allOwnedElements();
 			case UMLPackage.ARTIFACT___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.ARTIFACT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.ARTIFACT___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -1335,6 +1330,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.ARTIFACT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.ARTIFACT___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.ARTIFACT___CREATE_USAGE__NAMEDELEMENT :
@@ -1424,14 +1423,6 @@
 				return isTemplate();
 			case UMLPackage.ARTIFACT___PARAMETERABLE_ELEMENTS :
 				return parameterableElements();
-			case UMLPackage.ARTIFACT___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP :
-				return validateSpecializeType(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.ARTIFACT___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP :
-				return validateMapsToGeneralizationSet(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.ARTIFACT___VALIDATE_NON_FINAL_PARENTS__DIAGNOSTICCHAIN_MAP :
 				return validateNonFinalParents(
 					(DiagnosticChain) arguments.get(0),
@@ -1440,6 +1431,14 @@
 				return validateNoCyclesInGeneralization(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.ARTIFACT___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP :
+				return validateSpecializeType(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.ARTIFACT___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP :
+				return validateMapsToGeneralizationSet(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.ARTIFACT___GET_ALL_ATTRIBUTES :
 				return getAllAttributes();
 			case UMLPackage.ARTIFACT___GET_ALL_OPERATIONS :
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/AssociationClassImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/AssociationClassImpl.java
index 70907b3..02a0b27 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/AssociationClassImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/AssociationClassImpl.java
@@ -9,9 +9,8 @@
  *   IBM - initial API and implementation
  *   Kenn Hussey (Embarcadero Technologies) - 204200
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: AssociationClassImpl.java,v 1.35 2010/09/28 21:02:13 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -1328,12 +1327,12 @@
 			switch (baseOperationID) {
 				case UMLPackage.ASSOCIATION___VALIDATE_SPECIALIZED_END_NUMBER__DIAGNOSTICCHAIN_MAP :
 					return UMLPackage.ASSOCIATION_CLASS___VALIDATE_SPECIALIZED_END_NUMBER__DIAGNOSTICCHAIN_MAP;
-				case UMLPackage.ASSOCIATION___VALIDATE_SPECIALIZED_END_TYPES__DIAGNOSTICCHAIN_MAP :
-					return UMLPackage.ASSOCIATION_CLASS___VALIDATE_SPECIALIZED_END_TYPES__DIAGNOSTICCHAIN_MAP;
-				case UMLPackage.ASSOCIATION___VALIDATE_BINARY_ASSOCIATIONS__DIAGNOSTICCHAIN_MAP :
-					return UMLPackage.ASSOCIATION_CLASS___VALIDATE_BINARY_ASSOCIATIONS__DIAGNOSTICCHAIN_MAP;
 				case UMLPackage.ASSOCIATION___VALIDATE_ASSOCIATION_ENDS__DIAGNOSTICCHAIN_MAP :
 					return UMLPackage.ASSOCIATION_CLASS___VALIDATE_ASSOCIATION_ENDS__DIAGNOSTICCHAIN_MAP;
+				case UMLPackage.ASSOCIATION___VALIDATE_BINARY_ASSOCIATIONS__DIAGNOSTICCHAIN_MAP :
+					return UMLPackage.ASSOCIATION_CLASS___VALIDATE_BINARY_ASSOCIATIONS__DIAGNOSTICCHAIN_MAP;
+				case UMLPackage.ASSOCIATION___VALIDATE_SPECIALIZED_END_TYPES__DIAGNOSTICCHAIN_MAP :
+					return UMLPackage.ASSOCIATION_CLASS___VALIDATE_SPECIALIZED_END_TYPES__DIAGNOSTICCHAIN_MAP;
 				case UMLPackage.ASSOCIATION___IS_BINARY :
 					return UMLPackage.ASSOCIATION_CLASS___IS_BINARY;
 				case UMLPackage.ASSOCIATION___GET_END_TYPES :
@@ -1437,10 +1436,6 @@
 				return allOwnedElements();
 			case UMLPackage.ASSOCIATION_CLASS___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.ASSOCIATION_CLASS___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.ASSOCIATION_CLASS___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -1449,6 +1444,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.ASSOCIATION_CLASS___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.ASSOCIATION_CLASS___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.ASSOCIATION_CLASS___CREATE_USAGE__NAMEDELEMENT :
@@ -1538,14 +1537,6 @@
 				return isTemplate();
 			case UMLPackage.ASSOCIATION_CLASS___PARAMETERABLE_ELEMENTS :
 				return parameterableElements();
-			case UMLPackage.ASSOCIATION_CLASS___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP :
-				return validateSpecializeType(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.ASSOCIATION_CLASS___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP :
-				return validateMapsToGeneralizationSet(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.ASSOCIATION_CLASS___VALIDATE_NON_FINAL_PARENTS__DIAGNOSTICCHAIN_MAP :
 				return validateNonFinalParents(
 					(DiagnosticChain) arguments.get(0),
@@ -1554,6 +1545,14 @@
 				return validateNoCyclesInGeneralization(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.ASSOCIATION_CLASS___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP :
+				return validateSpecializeType(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.ASSOCIATION_CLASS___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP :
+				return validateMapsToGeneralizationSet(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.ASSOCIATION_CLASS___GET_ALL_ATTRIBUTES :
 				return getAllAttributes();
 			case UMLPackage.ASSOCIATION_CLASS___GET_ALL_OPERATIONS :
@@ -1629,30 +1628,30 @@
 				return validateSpecializedEndNumber(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.ASSOCIATION_CLASS___VALIDATE_SPECIALIZED_END_TYPES__DIAGNOSTICCHAIN_MAP :
-				return validateSpecializedEndTypes(
+			case UMLPackage.ASSOCIATION_CLASS___VALIDATE_ASSOCIATION_ENDS__DIAGNOSTICCHAIN_MAP :
+				return validateAssociationEnds(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.ASSOCIATION_CLASS___VALIDATE_BINARY_ASSOCIATIONS__DIAGNOSTICCHAIN_MAP :
 				return validateBinaryAssociations(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.ASSOCIATION_CLASS___VALIDATE_ASSOCIATION_ENDS__DIAGNOSTICCHAIN_MAP :
-				return validateAssociationEnds(
+			case UMLPackage.ASSOCIATION_CLASS___VALIDATE_SPECIALIZED_END_TYPES__DIAGNOSTICCHAIN_MAP :
+				return validateSpecializedEndTypes(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.ASSOCIATION_CLASS___IS_BINARY :
 				return isBinary();
 			case UMLPackage.ASSOCIATION_CLASS___GET_END_TYPES :
 				return getEndTypes();
-			case UMLPackage.ASSOCIATION_CLASS___VALIDATE_CANNOT_BE_DEFINED__DIAGNOSTICCHAIN_MAP :
-				return validateCannotBeDefined(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.ASSOCIATION_CLASS___VALIDATE_DISJOINT_ATTRIBUTES_ENDS__DIAGNOSTICCHAIN_MAP :
 				return validateDisjointAttributesEnds(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.ASSOCIATION_CLASS___VALIDATE_CANNOT_BE_DEFINED__DIAGNOSTICCHAIN_MAP :
+				return validateCannotBeDefined(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 		}
 		return eDynamicInvoke(operationID, arguments);
 	}
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/AssociationImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/AssociationImpl.java
index 4f8893f..9656899 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/AssociationImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/AssociationImpl.java
@@ -9,9 +9,8 @@
  *   IBM - initial API and implementation
  *   Kenn Hussey (Embarcadero Technologies) - 204200
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: AssociationImpl.java,v 1.35 2010/09/28 21:02:13 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -1171,10 +1170,6 @@
 				return allOwnedElements();
 			case UMLPackage.ASSOCIATION___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.ASSOCIATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.ASSOCIATION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -1183,6 +1178,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.ASSOCIATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.ASSOCIATION___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.ASSOCIATION___CREATE_USAGE__NAMEDELEMENT :
@@ -1272,14 +1271,6 @@
 				return isTemplate();
 			case UMLPackage.ASSOCIATION___PARAMETERABLE_ELEMENTS :
 				return parameterableElements();
-			case UMLPackage.ASSOCIATION___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP :
-				return validateSpecializeType(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.ASSOCIATION___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP :
-				return validateMapsToGeneralizationSet(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.ASSOCIATION___VALIDATE_NON_FINAL_PARENTS__DIAGNOSTICCHAIN_MAP :
 				return validateNonFinalParents(
 					(DiagnosticChain) arguments.get(0),
@@ -1288,6 +1279,14 @@
 				return validateNoCyclesInGeneralization(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.ASSOCIATION___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP :
+				return validateSpecializeType(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.ASSOCIATION___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP :
+				return validateMapsToGeneralizationSet(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.ASSOCIATION___GET_ALL_ATTRIBUTES :
 				return getAllAttributes();
 			case UMLPackage.ASSOCIATION___GET_ALL_OPERATIONS :
@@ -1330,16 +1329,16 @@
 				return validateSpecializedEndNumber(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.ASSOCIATION___VALIDATE_SPECIALIZED_END_TYPES__DIAGNOSTICCHAIN_MAP :
-				return validateSpecializedEndTypes(
+			case UMLPackage.ASSOCIATION___VALIDATE_ASSOCIATION_ENDS__DIAGNOSTICCHAIN_MAP :
+				return validateAssociationEnds(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.ASSOCIATION___VALIDATE_BINARY_ASSOCIATIONS__DIAGNOSTICCHAIN_MAP :
 				return validateBinaryAssociations(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.ASSOCIATION___VALIDATE_ASSOCIATION_ENDS__DIAGNOSTICCHAIN_MAP :
-				return validateAssociationEnds(
+			case UMLPackage.ASSOCIATION___VALIDATE_SPECIALIZED_END_TYPES__DIAGNOSTICCHAIN_MAP :
+				return validateSpecializedEndTypes(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.ASSOCIATION___IS_BINARY :
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/BehaviorImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/BehaviorImpl.java
index a699cb4..a876606 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/BehaviorImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/BehaviorImpl.java
@@ -9,9 +9,8 @@
  *   IBM - initial API and implementation
  *   Kenn Hussey (Embarcadero Technologies) - 204200
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: BehaviorImpl.java,v 1.37 2010/09/28 21:02:13 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -1548,10 +1547,6 @@
 				return allOwnedElements();
 			case UMLPackage.BEHAVIOR___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.BEHAVIOR___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.BEHAVIOR___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -1560,6 +1555,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.BEHAVIOR___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.BEHAVIOR___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.BEHAVIOR___CREATE_USAGE__NAMEDELEMENT :
@@ -1649,14 +1648,6 @@
 				return isTemplate();
 			case UMLPackage.BEHAVIOR___PARAMETERABLE_ELEMENTS :
 				return parameterableElements();
-			case UMLPackage.BEHAVIOR___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP :
-				return validateSpecializeType(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.BEHAVIOR___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP :
-				return validateMapsToGeneralizationSet(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.BEHAVIOR___VALIDATE_NON_FINAL_PARENTS__DIAGNOSTICCHAIN_MAP :
 				return validateNonFinalParents(
 					(DiagnosticChain) arguments.get(0),
@@ -1665,6 +1656,14 @@
 				return validateNoCyclesInGeneralization(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.BEHAVIOR___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP :
+				return validateSpecializeType(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.BEHAVIOR___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP :
+				return validateMapsToGeneralizationSet(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.BEHAVIOR___GET_ALL_ATTRIBUTES :
 				return getAllAttributes();
 			case UMLPackage.BEHAVIOR___GET_ALL_OPERATIONS :
@@ -1736,13 +1735,6 @@
 				return getExtensions();
 			case UMLPackage.BEHAVIOR___GET_SUPER_CLASSES :
 				return getSuperClasses();
-			case UMLPackage.BEHAVIOR___VALIDATE_MOST_ONE_BEHAVIOUR__DIAGNOSTICCHAIN_MAP :
-				return validateMostOneBehaviour(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.BEHAVIOR___VALIDATE_MUST_REALIZE__DIAGNOSTICCHAIN_MAP :
-				return validateMustRealize((DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.BEHAVIOR___VALIDATE_PARAMETERS_MATCH__DIAGNOSTICCHAIN_MAP :
 				return validateParametersMatch(
 					(DiagnosticChain) arguments.get(0),
@@ -1751,6 +1743,13 @@
 				return validateFeatureOfContextClassifier(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.BEHAVIOR___VALIDATE_MUST_REALIZE__DIAGNOSTICCHAIN_MAP :
+				return validateMustRealize((DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.BEHAVIOR___VALIDATE_MOST_ONE_BEHAVIOUR__DIAGNOSTICCHAIN_MAP :
+				return validateMostOneBehaviour(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.BEHAVIOR___GET_CONTEXT :
 				return getContext();
 		}
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/BehavioralFeatureImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/BehavioralFeatureImpl.java
index 60dd7fb..4678c7e 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/BehavioralFeatureImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/BehavioralFeatureImpl.java
@@ -9,9 +9,8 @@
  *   IBM - initial API and implementation
  *   Kenn Hussey (Embarcadero Technologies) - 204200
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: BehavioralFeatureImpl.java,v 1.28 2010/09/28 21:02:13 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -1471,10 +1470,6 @@
 				return allOwnedElements();
 			case UMLPackage.BEHAVIORAL_FEATURE___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.BEHAVIORAL_FEATURE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.BEHAVIORAL_FEATURE___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -1483,6 +1478,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.BEHAVIORAL_FEATURE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.BEHAVIORAL_FEATURE___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.BEHAVIORAL_FEATURE___CREATE_USAGE__NAMEDELEMENT :
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/BehavioredClassifierImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/BehavioredClassifierImpl.java
index 8fa4c30..14f2d13 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/BehavioredClassifierImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/BehavioredClassifierImpl.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: BehavioredClassifierImpl.java,v 1.35 2010/09/28 21:02:13 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -1047,10 +1046,6 @@
 				return allOwnedElements();
 			case UMLPackage.BEHAVIORED_CLASSIFIER___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.BEHAVIORED_CLASSIFIER___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.BEHAVIORED_CLASSIFIER___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -1059,6 +1054,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.BEHAVIORED_CLASSIFIER___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.BEHAVIORED_CLASSIFIER___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.BEHAVIORED_CLASSIFIER___CREATE_USAGE__NAMEDELEMENT :
@@ -1148,14 +1147,6 @@
 				return isTemplate();
 			case UMLPackage.BEHAVIORED_CLASSIFIER___PARAMETERABLE_ELEMENTS :
 				return parameterableElements();
-			case UMLPackage.BEHAVIORED_CLASSIFIER___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP :
-				return validateSpecializeType(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.BEHAVIORED_CLASSIFIER___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP :
-				return validateMapsToGeneralizationSet(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.BEHAVIORED_CLASSIFIER___VALIDATE_NON_FINAL_PARENTS__DIAGNOSTICCHAIN_MAP :
 				return validateNonFinalParents(
 					(DiagnosticChain) arguments.get(0),
@@ -1164,6 +1155,14 @@
 				return validateNoCyclesInGeneralization(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.BEHAVIORED_CLASSIFIER___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP :
+				return validateSpecializeType(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.BEHAVIORED_CLASSIFIER___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP :
+				return validateMapsToGeneralizationSet(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.BEHAVIORED_CLASSIFIER___GET_ALL_ATTRIBUTES :
 				return getAllAttributes();
 			case UMLPackage.BEHAVIORED_CLASSIFIER___GET_ALL_OPERATIONS :
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/BroadcastSignalActionImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/BroadcastSignalActionImpl.java
index 39c6c3a..3ff3394 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/BroadcastSignalActionImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/BroadcastSignalActionImpl.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: BroadcastSignalActionImpl.java,v 1.20 2010/09/28 21:02:14 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -206,8 +205,6 @@
 				if (resolve)
 					return getActivity();
 				return basicGetActivity();
-			case UMLPackage.BROADCAST_SIGNAL_ACTION__IN_GROUP :
-				return getInGroups();
 			case UMLPackage.BROADCAST_SIGNAL_ACTION__IN_PARTITION :
 				return getInPartitions();
 			case UMLPackage.BROADCAST_SIGNAL_ACTION__IN_STRUCTURED_NODE :
@@ -220,6 +217,8 @@
 				return getOutgoings();
 			case UMLPackage.BROADCAST_SIGNAL_ACTION__INCOMING :
 				return getIncomings();
+			case UMLPackage.BROADCAST_SIGNAL_ACTION__IN_GROUP :
+				return getInGroups();
 			case UMLPackage.BROADCAST_SIGNAL_ACTION__REDEFINED_NODE :
 				return getRedefinedNodes();
 			case UMLPackage.BROADCAST_SIGNAL_ACTION__HANDLER :
@@ -467,8 +466,6 @@
 				return isSetRedefinitionContexts();
 			case UMLPackage.BROADCAST_SIGNAL_ACTION__ACTIVITY :
 				return basicGetActivity() != null;
-			case UMLPackage.BROADCAST_SIGNAL_ACTION__IN_GROUP :
-				return isSetInGroups();
 			case UMLPackage.BROADCAST_SIGNAL_ACTION__IN_PARTITION :
 				return inPartitions != null && !inPartitions.isEmpty();
 			case UMLPackage.BROADCAST_SIGNAL_ACTION__IN_STRUCTURED_NODE :
@@ -480,6 +477,8 @@
 				return outgoings != null && !outgoings.isEmpty();
 			case UMLPackage.BROADCAST_SIGNAL_ACTION__INCOMING :
 				return incomings != null && !incomings.isEmpty();
+			case UMLPackage.BROADCAST_SIGNAL_ACTION__IN_GROUP :
+				return isSetInGroups();
 			case UMLPackage.BROADCAST_SIGNAL_ACTION__REDEFINED_NODE :
 				return redefinedNodes != null && !redefinedNodes.isEmpty();
 			case UMLPackage.BROADCAST_SIGNAL_ACTION__HANDLER :
@@ -600,10 +599,6 @@
 				return allOwnedElements();
 			case UMLPackage.BROADCAST_SIGNAL_ACTION___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.BROADCAST_SIGNAL_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.BROADCAST_SIGNAL_ACTION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -612,6 +607,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.BROADCAST_SIGNAL_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.BROADCAST_SIGNAL_ACTION___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.BROADCAST_SIGNAL_ACTION___CREATE_USAGE__NAMEDELEMENT :
@@ -663,14 +662,14 @@
 				return validateOnPortReceiver(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.BROADCAST_SIGNAL_ACTION___VALIDATE_NUMBER_AND_ORDER__DIAGNOSTICCHAIN_MAP :
-				return validateNumberAndOrder(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.BROADCAST_SIGNAL_ACTION___VALIDATE_TYPE_ORDERING_MULTIPLICITY__DIAGNOSTICCHAIN_MAP :
 				return validateTypeOrderingMultiplicity(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.BROADCAST_SIGNAL_ACTION___VALIDATE_NUMBER_AND_ORDER__DIAGNOSTICCHAIN_MAP :
+				return validateNumberAndOrder(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 		}
 		return eDynamicInvoke(operationID, arguments);
 	}
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/CallActionImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/CallActionImpl.java
index e04b628..ee82b0e 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/CallActionImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/CallActionImpl.java
@@ -9,9 +9,8 @@
  *   IBM - initial API and implementation
  *   Kenn Hussey (Embarcadero Technologies) - 204200
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: CallActionImpl.java,v 1.30 2010/09/28 21:02:12 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -296,8 +295,6 @@
 					.basicRemove(otherEnd, msgs);
 			case UMLPackage.CALL_ACTION__NAME_EXPRESSION :
 				return basicSetNameExpression(null, msgs);
-			case UMLPackage.CALL_ACTION__ACTIVITY :
-				return basicSetActivity(null, msgs);
 			case UMLPackage.CALL_ACTION__IN_PARTITION :
 				return ((InternalEList<?>) getInPartitions()).basicRemove(
 					otherEnd, msgs);
@@ -375,8 +372,6 @@
 				if (resolve)
 					return getActivity();
 				return basicGetActivity();
-			case UMLPackage.CALL_ACTION__IN_GROUP :
-				return getInGroups();
 			case UMLPackage.CALL_ACTION__IN_PARTITION :
 				return getInPartitions();
 			case UMLPackage.CALL_ACTION__IN_STRUCTURED_NODE :
@@ -389,6 +384,8 @@
 				return getOutgoings();
 			case UMLPackage.CALL_ACTION__INCOMING :
 				return getIncomings();
+			case UMLPackage.CALL_ACTION__IN_GROUP :
+				return getInGroups();
 			case UMLPackage.CALL_ACTION__REDEFINED_NODE :
 				return getRedefinedNodes();
 			case UMLPackage.CALL_ACTION__HANDLER :
@@ -643,8 +640,6 @@
 				return isSetRedefinitionContexts();
 			case UMLPackage.CALL_ACTION__ACTIVITY :
 				return basicGetActivity() != null;
-			case UMLPackage.CALL_ACTION__IN_GROUP :
-				return isSetInGroups();
 			case UMLPackage.CALL_ACTION__IN_PARTITION :
 				return inPartitions != null && !inPartitions.isEmpty();
 			case UMLPackage.CALL_ACTION__IN_STRUCTURED_NODE :
@@ -656,6 +651,8 @@
 				return outgoings != null && !outgoings.isEmpty();
 			case UMLPackage.CALL_ACTION__INCOMING :
 				return incomings != null && !incomings.isEmpty();
+			case UMLPackage.CALL_ACTION__IN_GROUP :
+				return isSetInGroups();
 			case UMLPackage.CALL_ACTION__REDEFINED_NODE :
 				return redefinedNodes != null && !redefinedNodes.isEmpty();
 			case UMLPackage.CALL_ACTION__HANDLER :
@@ -778,10 +775,6 @@
 				return allOwnedElements();
 			case UMLPackage.CALL_ACTION___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.CALL_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.CALL_ACTION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -790,6 +783,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.CALL_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.CALL_ACTION___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.CALL_ACTION___CREATE_USAGE__NAMEDELEMENT :
@@ -841,16 +838,16 @@
 				return validateOnPortReceiver(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.CALL_ACTION___VALIDATE_TYPE_ORDERING_MULTIPLICITY__DIAGNOSTICCHAIN_MAP :
-				return validateTypeOrderingMultiplicity(
+			case UMLPackage.CALL_ACTION___VALIDATE_SYNCHRONOUS_CALL__DIAGNOSTICCHAIN_MAP :
+				return validateSynchronousCall(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.CALL_ACTION___VALIDATE_NUMBER_AND_ORDER__DIAGNOSTICCHAIN_MAP :
 				return validateNumberAndOrder(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.CALL_ACTION___VALIDATE_SYNCHRONOUS_CALL__DIAGNOSTICCHAIN_MAP :
-				return validateSynchronousCall(
+			case UMLPackage.CALL_ACTION___VALIDATE_TYPE_ORDERING_MULTIPLICITY__DIAGNOSTICCHAIN_MAP :
+				return validateTypeOrderingMultiplicity(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 		}
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/CallBehaviorActionImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/CallBehaviorActionImpl.java
index 6d597dc..52d56a0 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/CallBehaviorActionImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/CallBehaviorActionImpl.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: CallBehaviorActionImpl.java,v 1.21 2010/09/28 21:02:13 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -220,8 +219,6 @@
 				if (resolve)
 					return getActivity();
 				return basicGetActivity();
-			case UMLPackage.CALL_BEHAVIOR_ACTION__IN_GROUP :
-				return getInGroups();
 			case UMLPackage.CALL_BEHAVIOR_ACTION__IN_PARTITION :
 				return getInPartitions();
 			case UMLPackage.CALL_BEHAVIOR_ACTION__IN_STRUCTURED_NODE :
@@ -234,6 +231,8 @@
 				return getOutgoings();
 			case UMLPackage.CALL_BEHAVIOR_ACTION__INCOMING :
 				return getIncomings();
+			case UMLPackage.CALL_BEHAVIOR_ACTION__IN_GROUP :
+				return getInGroups();
 			case UMLPackage.CALL_BEHAVIOR_ACTION__REDEFINED_NODE :
 				return getRedefinedNodes();
 			case UMLPackage.CALL_BEHAVIOR_ACTION__HANDLER :
@@ -498,8 +497,6 @@
 				return isSetRedefinitionContexts();
 			case UMLPackage.CALL_BEHAVIOR_ACTION__ACTIVITY :
 				return basicGetActivity() != null;
-			case UMLPackage.CALL_BEHAVIOR_ACTION__IN_GROUP :
-				return isSetInGroups();
 			case UMLPackage.CALL_BEHAVIOR_ACTION__IN_PARTITION :
 				return inPartitions != null && !inPartitions.isEmpty();
 			case UMLPackage.CALL_BEHAVIOR_ACTION__IN_STRUCTURED_NODE :
@@ -511,6 +508,8 @@
 				return outgoings != null && !outgoings.isEmpty();
 			case UMLPackage.CALL_BEHAVIOR_ACTION__INCOMING :
 				return incomings != null && !incomings.isEmpty();
+			case UMLPackage.CALL_BEHAVIOR_ACTION__IN_GROUP :
+				return isSetInGroups();
 			case UMLPackage.CALL_BEHAVIOR_ACTION__REDEFINED_NODE :
 				return redefinedNodes != null && !redefinedNodes.isEmpty();
 			case UMLPackage.CALL_BEHAVIOR_ACTION__HANDLER :
@@ -635,10 +634,6 @@
 				return allOwnedElements();
 			case UMLPackage.CALL_BEHAVIOR_ACTION___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.CALL_BEHAVIOR_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.CALL_BEHAVIOR_ACTION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -647,6 +642,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.CALL_BEHAVIOR_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.CALL_BEHAVIOR_ACTION___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.CALL_BEHAVIOR_ACTION___CREATE_USAGE__NAMEDELEMENT :
@@ -698,16 +697,16 @@
 				return validateOnPortReceiver(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.CALL_BEHAVIOR_ACTION___VALIDATE_TYPE_ORDERING_MULTIPLICITY__DIAGNOSTICCHAIN_MAP :
-				return validateTypeOrderingMultiplicity(
+			case UMLPackage.CALL_BEHAVIOR_ACTION___VALIDATE_SYNCHRONOUS_CALL__DIAGNOSTICCHAIN_MAP :
+				return validateSynchronousCall(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.CALL_BEHAVIOR_ACTION___VALIDATE_NUMBER_AND_ORDER__DIAGNOSTICCHAIN_MAP :
 				return validateNumberAndOrder(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.CALL_BEHAVIOR_ACTION___VALIDATE_SYNCHRONOUS_CALL__DIAGNOSTICCHAIN_MAP :
-				return validateSynchronousCall(
+			case UMLPackage.CALL_BEHAVIOR_ACTION___VALIDATE_TYPE_ORDERING_MULTIPLICITY__DIAGNOSTICCHAIN_MAP :
+				return validateTypeOrderingMultiplicity(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.CALL_BEHAVIOR_ACTION___VALIDATE_RESULT_PIN_EQUAL_PARAMETER__DIAGNOSTICCHAIN_MAP :
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/CallOperationActionImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/CallOperationActionImpl.java
index 5030896..0fb3730 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/CallOperationActionImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/CallOperationActionImpl.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: CallOperationActionImpl.java,v 1.29 2010/09/28 21:02:14 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -363,8 +362,6 @@
 					.basicRemove(otherEnd, msgs);
 			case UMLPackage.CALL_OPERATION_ACTION__NAME_EXPRESSION :
 				return basicSetNameExpression(null, msgs);
-			case UMLPackage.CALL_OPERATION_ACTION__ACTIVITY :
-				return basicSetActivity(null, msgs);
 			case UMLPackage.CALL_OPERATION_ACTION__IN_PARTITION :
 				return ((InternalEList<?>) getInPartitions()).basicRemove(
 					otherEnd, msgs);
@@ -444,8 +441,6 @@
 				if (resolve)
 					return getActivity();
 				return basicGetActivity();
-			case UMLPackage.CALL_OPERATION_ACTION__IN_GROUP :
-				return getInGroups();
 			case UMLPackage.CALL_OPERATION_ACTION__IN_PARTITION :
 				return getInPartitions();
 			case UMLPackage.CALL_OPERATION_ACTION__IN_STRUCTURED_NODE :
@@ -458,6 +453,8 @@
 				return getOutgoings();
 			case UMLPackage.CALL_OPERATION_ACTION__INCOMING :
 				return getIncomings();
+			case UMLPackage.CALL_OPERATION_ACTION__IN_GROUP :
+				return getInGroups();
 			case UMLPackage.CALL_OPERATION_ACTION__REDEFINED_NODE :
 				return getRedefinedNodes();
 			case UMLPackage.CALL_OPERATION_ACTION__HANDLER :
@@ -732,8 +729,6 @@
 				return isSetRedefinitionContexts();
 			case UMLPackage.CALL_OPERATION_ACTION__ACTIVITY :
 				return basicGetActivity() != null;
-			case UMLPackage.CALL_OPERATION_ACTION__IN_GROUP :
-				return isSetInGroups();
 			case UMLPackage.CALL_OPERATION_ACTION__IN_PARTITION :
 				return inPartitions != null && !inPartitions.isEmpty();
 			case UMLPackage.CALL_OPERATION_ACTION__IN_STRUCTURED_NODE :
@@ -745,6 +740,8 @@
 				return outgoings != null && !outgoings.isEmpty();
 			case UMLPackage.CALL_OPERATION_ACTION__INCOMING :
 				return incomings != null && !incomings.isEmpty();
+			case UMLPackage.CALL_OPERATION_ACTION__IN_GROUP :
+				return isSetInGroups();
 			case UMLPackage.CALL_OPERATION_ACTION__REDEFINED_NODE :
 				return redefinedNodes != null && !redefinedNodes.isEmpty();
 			case UMLPackage.CALL_OPERATION_ACTION__HANDLER :
@@ -871,10 +868,6 @@
 				return allOwnedElements();
 			case UMLPackage.CALL_OPERATION_ACTION___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.CALL_OPERATION_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.CALL_OPERATION_ACTION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -883,6 +876,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.CALL_OPERATION_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.CALL_OPERATION_ACTION___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.CALL_OPERATION_ACTION___CREATE_USAGE__NAMEDELEMENT :
@@ -934,20 +931,16 @@
 				return validateOnPortReceiver(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.CALL_OPERATION_ACTION___VALIDATE_TYPE_ORDERING_MULTIPLICITY__DIAGNOSTICCHAIN_MAP :
-				return validateTypeOrderingMultiplicity(
+			case UMLPackage.CALL_OPERATION_ACTION___VALIDATE_SYNCHRONOUS_CALL__DIAGNOSTICCHAIN_MAP :
+				return validateSynchronousCall(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.CALL_OPERATION_ACTION___VALIDATE_NUMBER_AND_ORDER__DIAGNOSTICCHAIN_MAP :
 				return validateNumberAndOrder(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.CALL_OPERATION_ACTION___VALIDATE_SYNCHRONOUS_CALL__DIAGNOSTICCHAIN_MAP :
-				return validateSynchronousCall(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.CALL_OPERATION_ACTION___VALIDATE_TYPE_TARGET_PIN__DIAGNOSTICCHAIN_MAP :
-				return validateTypeTargetPin(
+			case UMLPackage.CALL_OPERATION_ACTION___VALIDATE_TYPE_ORDERING_MULTIPLICITY__DIAGNOSTICCHAIN_MAP :
+				return validateTypeOrderingMultiplicity(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.CALL_OPERATION_ACTION___VALIDATE_ARGUMENT_PIN_EQUAL_PARAMETER__DIAGNOSTICCHAIN_MAP :
@@ -958,6 +951,10 @@
 				return validateResultPinEqualParameter(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.CALL_OPERATION_ACTION___VALIDATE_TYPE_TARGET_PIN__DIAGNOSTICCHAIN_MAP :
+				return validateTypeTargetPin(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 		}
 		return eDynamicInvoke(operationID, arguments);
 	}
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ClassImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ClassImpl.java
index 8f228b9..5d7f24f 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ClassImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ClassImpl.java
@@ -9,9 +9,8 @@
  *   IBM - initial API and implementation
  *   Kenn Hussey (Embarcadero Technologies) - 204200
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ClassImpl.java,v 1.45 2010/09/28 21:02:14 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -1944,10 +1943,6 @@
 				return allOwnedElements();
 			case UMLPackage.CLASS___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.CLASS___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.CLASS___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -1956,6 +1951,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.CLASS___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.CLASS___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.CLASS___CREATE_USAGE__NAMEDELEMENT :
@@ -2045,14 +2044,6 @@
 				return isTemplate();
 			case UMLPackage.CLASS___PARAMETERABLE_ELEMENTS :
 				return parameterableElements();
-			case UMLPackage.CLASS___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP :
-				return validateSpecializeType(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.CLASS___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP :
-				return validateMapsToGeneralizationSet(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.CLASS___VALIDATE_NON_FINAL_PARENTS__DIAGNOSTICCHAIN_MAP :
 				return validateNonFinalParents(
 					(DiagnosticChain) arguments.get(0),
@@ -2061,6 +2052,14 @@
 				return validateNoCyclesInGeneralization(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.CLASS___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP :
+				return validateSpecializeType(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.CLASS___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP :
+				return validateMapsToGeneralizationSet(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.CLASS___GET_ALL_ATTRIBUTES :
 				return getAllAttributes();
 			case UMLPackage.CLASS___GET_ALL_OPERATIONS :
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ClassifierImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ClassifierImpl.java
index f7b88dc..bf587ea 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ClassifierImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ClassifierImpl.java
@@ -9,9 +9,8 @@
  *   IBM - initial API and implementation
  *   Kenn Hussey (Embarcadero Technologies) - 204200
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ClassifierImpl.java,v 1.47 2010/09/28 21:02:14 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -2854,10 +2853,6 @@
 				return allOwnedElements();
 			case UMLPackage.CLASSIFIER___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.CLASSIFIER___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.CLASSIFIER___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -2866,6 +2861,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.CLASSIFIER___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.CLASSIFIER___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.CLASSIFIER___CREATE_USAGE__NAMEDELEMENT :
@@ -2955,14 +2954,6 @@
 				return isTemplate();
 			case UMLPackage.CLASSIFIER___PARAMETERABLE_ELEMENTS :
 				return parameterableElements();
-			case UMLPackage.CLASSIFIER___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP :
-				return validateSpecializeType(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.CLASSIFIER___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP :
-				return validateMapsToGeneralizationSet(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.CLASSIFIER___VALIDATE_NON_FINAL_PARENTS__DIAGNOSTICCHAIN_MAP :
 				return validateNonFinalParents(
 					(DiagnosticChain) arguments.get(0),
@@ -2971,6 +2962,14 @@
 				return validateNoCyclesInGeneralization(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.CLASSIFIER___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP :
+				return validateSpecializeType(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.CLASSIFIER___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP :
+				return validateMapsToGeneralizationSet(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.CLASSIFIER___GET_ALL_ATTRIBUTES :
 				return getAllAttributes();
 			case UMLPackage.CLASSIFIER___GET_ALL_OPERATIONS :
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ClassifierTemplateParameterImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ClassifierTemplateParameterImpl.java
index 47d7f0a..21a4559 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ClassifierTemplateParameterImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ClassifierTemplateParameterImpl.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ClassifierTemplateParameterImpl.java,v 1.25 2010/09/28 21:02:14 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -328,6 +327,10 @@
 				if (resolve)
 					return getDefault();
 				return basicGetDefault();
+			case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER__OWNED_DEFAULT :
+				if (resolve)
+					return getOwnedDefault();
+				return basicGetOwnedDefault();
 			case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT :
 				if (resolve)
 					return getOwnedParameteredElement();
@@ -336,10 +339,6 @@
 				if (resolve)
 					return getParameteredElement();
 				return basicGetParameteredElement();
-			case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER__OWNED_DEFAULT :
-				if (resolve)
-					return getOwnedDefault();
-				return basicGetOwnedDefault();
 			case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER__SIGNATURE :
 				if (resolve)
 					return getSignature();
@@ -374,15 +373,15 @@
 			case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER__DEFAULT :
 				setDefault((ParameterableElement) newValue);
 				return;
+			case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER__OWNED_DEFAULT :
+				setOwnedDefault((ParameterableElement) newValue);
+				return;
 			case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT :
 				setOwnedParameteredElement((ParameterableElement) newValue);
 				return;
 			case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER__PARAMETERED_ELEMENT :
 				setParameteredElement((ParameterableElement) newValue);
 				return;
-			case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER__OWNED_DEFAULT :
-				setOwnedDefault((ParameterableElement) newValue);
-				return;
 			case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER__SIGNATURE :
 				setSignature((TemplateSignature) newValue);
 				return;
@@ -415,15 +414,15 @@
 			case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER__DEFAULT :
 				setDefault((ParameterableElement) null);
 				return;
+			case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER__OWNED_DEFAULT :
+				setOwnedDefault((ParameterableElement) null);
+				return;
 			case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT :
 				setOwnedParameteredElement((ParameterableElement) null);
 				return;
 			case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER__PARAMETERED_ELEMENT :
 				setParameteredElement((ParameterableElement) null);
 				return;
-			case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER__OWNED_DEFAULT :
-				setOwnedDefault((ParameterableElement) null);
-				return;
 			case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER__SIGNATURE :
 				setSignature((TemplateSignature) null);
 				return;
@@ -455,12 +454,12 @@
 				return isSetOwner();
 			case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER__DEFAULT :
 				return default_ != null;
+			case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER__OWNED_DEFAULT :
+				return ownedDefault != null;
 			case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT :
 				return ownedParameteredElement != null;
 			case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER__PARAMETERED_ELEMENT :
 				return isSetParameteredElement();
-			case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER__OWNED_DEFAULT :
-				return ownedDefault != null;
 			case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER__SIGNATURE :
 				return basicGetSignature() != null;
 			case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER__ALLOW_SUBSTITUTABLE :
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ClauseImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ClauseImpl.java
index ae3ebbf..a064af2 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ClauseImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ClauseImpl.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ClauseImpl.java,v 1.17 2010/09/28 21:02:14 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -662,6 +661,9 @@
 				return allOwnedElements();
 			case UMLPackage.CLAUSE___MUST_BE_OWNED :
 				return mustBeOwned();
+			case UMLPackage.CLAUSE___VALIDATE_TEST_AND_BODY__DIAGNOSTICCHAIN_MAP :
+				return validateTestAndBody((DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.CLAUSE___VALIDATE_BODY_OUTPUT_PINS__DIAGNOSTICCHAIN_MAP :
 				return validateBodyOutputPins(
 					(DiagnosticChain) arguments.get(0),
@@ -670,9 +672,6 @@
 				return validateDeciderOutput(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.CLAUSE___VALIDATE_TEST_AND_BODY__DIAGNOSTICCHAIN_MAP :
-				return validateTestAndBody((DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 		}
 		return eDynamicInvoke(operationID, arguments);
 	}
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ClearAssociationActionImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ClearAssociationActionImpl.java
index 4385e0b..5c3faeb 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ClearAssociationActionImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ClearAssociationActionImpl.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ClearAssociationActionImpl.java,v 1.29 2010/09/28 21:02:13 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -342,8 +341,6 @@
 					.basicRemove(otherEnd, msgs);
 			case UMLPackage.CLEAR_ASSOCIATION_ACTION__NAME_EXPRESSION :
 				return basicSetNameExpression(null, msgs);
-			case UMLPackage.CLEAR_ASSOCIATION_ACTION__ACTIVITY :
-				return basicSetActivity(null, msgs);
 			case UMLPackage.CLEAR_ASSOCIATION_ACTION__IN_PARTITION :
 				return ((InternalEList<?>) getInPartitions()).basicRemove(
 					otherEnd, msgs);
@@ -417,8 +414,6 @@
 				if (resolve)
 					return getActivity();
 				return basicGetActivity();
-			case UMLPackage.CLEAR_ASSOCIATION_ACTION__IN_GROUP :
-				return getInGroups();
 			case UMLPackage.CLEAR_ASSOCIATION_ACTION__IN_PARTITION :
 				return getInPartitions();
 			case UMLPackage.CLEAR_ASSOCIATION_ACTION__IN_STRUCTURED_NODE :
@@ -431,6 +426,8 @@
 				return getOutgoings();
 			case UMLPackage.CLEAR_ASSOCIATION_ACTION__INCOMING :
 				return getIncomings();
+			case UMLPackage.CLEAR_ASSOCIATION_ACTION__IN_GROUP :
+				return getInGroups();
 			case UMLPackage.CLEAR_ASSOCIATION_ACTION__REDEFINED_NODE :
 				return getRedefinedNodes();
 			case UMLPackage.CLEAR_ASSOCIATION_ACTION__HANDLER :
@@ -668,8 +665,6 @@
 				return isSetRedefinitionContexts();
 			case UMLPackage.CLEAR_ASSOCIATION_ACTION__ACTIVITY :
 				return basicGetActivity() != null;
-			case UMLPackage.CLEAR_ASSOCIATION_ACTION__IN_GROUP :
-				return isSetInGroups();
 			case UMLPackage.CLEAR_ASSOCIATION_ACTION__IN_PARTITION :
 				return inPartitions != null && !inPartitions.isEmpty();
 			case UMLPackage.CLEAR_ASSOCIATION_ACTION__IN_STRUCTURED_NODE :
@@ -681,6 +676,8 @@
 				return outgoings != null && !outgoings.isEmpty();
 			case UMLPackage.CLEAR_ASSOCIATION_ACTION__INCOMING :
 				return incomings != null && !incomings.isEmpty();
+			case UMLPackage.CLEAR_ASSOCIATION_ACTION__IN_GROUP :
+				return isSetInGroups();
 			case UMLPackage.CLEAR_ASSOCIATION_ACTION__REDEFINED_NODE :
 				return redefinedNodes != null && !redefinedNodes.isEmpty();
 			case UMLPackage.CLEAR_ASSOCIATION_ACTION__HANDLER :
@@ -799,10 +796,6 @@
 				return allOwnedElements();
 			case UMLPackage.CLEAR_ASSOCIATION_ACTION___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.CLEAR_ASSOCIATION_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.CLEAR_ASSOCIATION_ACTION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -811,6 +804,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.CLEAR_ASSOCIATION_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.CLEAR_ASSOCIATION_ACTION___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.CLEAR_ASSOCIATION_ACTION___CREATE_USAGE__NAMEDELEMENT :
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ClearStructuralFeatureActionImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ClearStructuralFeatureActionImpl.java
index 49a8f9c..1d61dec 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ClearStructuralFeatureActionImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ClearStructuralFeatureActionImpl.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ClearStructuralFeatureActionImpl.java,v 1.7 2010/09/28 21:02:13 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -283,8 +282,6 @@
 					.basicRemove(otherEnd, msgs);
 			case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__NAME_EXPRESSION :
 				return basicSetNameExpression(null, msgs);
-			case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__ACTIVITY :
-				return basicSetActivity(null, msgs);
 			case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__IN_PARTITION :
 				return ((InternalEList<?>) getInPartitions()).basicRemove(
 					otherEnd, msgs);
@@ -360,8 +357,6 @@
 				if (resolve)
 					return getActivity();
 				return basicGetActivity();
-			case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__IN_GROUP :
-				return getInGroups();
 			case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__IN_PARTITION :
 				return getInPartitions();
 			case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__IN_STRUCTURED_NODE :
@@ -374,6 +369,8 @@
 				return getOutgoings();
 			case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__INCOMING :
 				return getIncomings();
+			case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__IN_GROUP :
+				return getInGroups();
 			case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__REDEFINED_NODE :
 				return getRedefinedNodes();
 			case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__HANDLER :
@@ -621,8 +618,6 @@
 				return isSetRedefinitionContexts();
 			case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__ACTIVITY :
 				return basicGetActivity() != null;
-			case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__IN_GROUP :
-				return isSetInGroups();
 			case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__IN_PARTITION :
 				return inPartitions != null && !inPartitions.isEmpty();
 			case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__IN_STRUCTURED_NODE :
@@ -634,6 +629,8 @@
 				return outgoings != null && !outgoings.isEmpty();
 			case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__INCOMING :
 				return incomings != null && !incomings.isEmpty();
+			case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__IN_GROUP :
+				return isSetInGroups();
 			case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__REDEFINED_NODE :
 				return redefinedNodes != null && !redefinedNodes.isEmpty();
 			case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION__HANDLER :
@@ -754,10 +751,6 @@
 				return allOwnedElements();
 			case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -766,6 +759,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION___CREATE_USAGE__NAMEDELEMENT :
@@ -813,15 +810,12 @@
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION___GET_CONTEXT :
 				return getContext();
-			case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION___VALIDATE_MULTIPLICITY__DIAGNOSTICCHAIN_MAP :
-				return validateMultiplicity((DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION___VALIDATE_SAME_TYPE__DIAGNOSTICCHAIN_MAP :
-				return validateSameType((DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION___VALIDATE_VISIBILITY__DIAGNOSTICCHAIN_MAP :
 				return validateVisibility((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION___VALIDATE_MULTIPLICITY__DIAGNOSTICCHAIN_MAP :
+				return validateMultiplicity((DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION___VALIDATE_NOT_STATIC__DIAGNOSTICCHAIN_MAP :
 				return validateNotStatic((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
@@ -829,13 +823,16 @@
 				return validateOneFeaturingClassifier(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION___VALIDATE_TYPE_OF_RESULT__DIAGNOSTICCHAIN_MAP :
-				return validateTypeOfResult((DiagnosticChain) arguments.get(0),
+			case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION___VALIDATE_SAME_TYPE__DIAGNOSTICCHAIN_MAP :
+				return validateSameType((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION___VALIDATE_MULTIPLICITY_OF_RESULT__DIAGNOSTICCHAIN_MAP :
 				return validateMultiplicityOfResult(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.CLEAR_STRUCTURAL_FEATURE_ACTION___VALIDATE_TYPE_OF_RESULT__DIAGNOSTICCHAIN_MAP :
+				return validateTypeOfResult((DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 		}
 		return eDynamicInvoke(operationID, arguments);
 	}
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/CollaborationImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/CollaborationImpl.java
index 6db8d38..c6368a5 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/CollaborationImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/CollaborationImpl.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: CollaborationImpl.java,v 1.33 2010/09/28 21:02:14 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -1191,10 +1190,6 @@
 				return allOwnedElements();
 			case UMLPackage.COLLABORATION___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.COLLABORATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.COLLABORATION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -1203,6 +1198,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.COLLABORATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.COLLABORATION___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.COLLABORATION___CREATE_USAGE__NAMEDELEMENT :
@@ -1292,14 +1291,6 @@
 				return isTemplate();
 			case UMLPackage.COLLABORATION___PARAMETERABLE_ELEMENTS :
 				return parameterableElements();
-			case UMLPackage.COLLABORATION___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP :
-				return validateSpecializeType(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.COLLABORATION___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP :
-				return validateMapsToGeneralizationSet(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.COLLABORATION___VALIDATE_NON_FINAL_PARENTS__DIAGNOSTICCHAIN_MAP :
 				return validateNonFinalParents(
 					(DiagnosticChain) arguments.get(0),
@@ -1308,6 +1299,14 @@
 				return validateNoCyclesInGeneralization(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.COLLABORATION___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP :
+				return validateSpecializeType(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.COLLABORATION___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP :
+				return validateMapsToGeneralizationSet(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.COLLABORATION___GET_ALL_ATTRIBUTES :
 				return getAllAttributes();
 			case UMLPackage.COLLABORATION___GET_ALL_OPERATIONS :
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/CollaborationUseImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/CollaborationUseImpl.java
index 4b64a22..3d7fef4 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/CollaborationUseImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/CollaborationUseImpl.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: CollaborationUseImpl.java,v 1.24 2010/09/28 21:02:12 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -560,10 +559,6 @@
 				return allOwnedElements();
 			case UMLPackage.COLLABORATION_USE___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.COLLABORATION_USE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.COLLABORATION_USE___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -572,6 +567,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.COLLABORATION_USE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.COLLABORATION_USE___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.COLLABORATION_USE___CREATE_USAGE__NAMEDELEMENT :
@@ -593,15 +592,15 @@
 				return getQualifiedName();
 			case UMLPackage.COLLABORATION_USE___SEPARATOR :
 				return separator();
-			case UMLPackage.COLLABORATION_USE___VALIDATE_CLIENT_ELEMENTS__DIAGNOSTICCHAIN_MAP :
-				return validateClientElements(
-					(DiagnosticChain) arguments.get(0),
+			case UMLPackage.COLLABORATION_USE___VALIDATE_CONNECTORS__DIAGNOSTICCHAIN_MAP :
+				return validateConnectors((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.COLLABORATION_USE___VALIDATE_EVERY_ROLE__DIAGNOSTICCHAIN_MAP :
 				return validateEveryRole((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.COLLABORATION_USE___VALIDATE_CONNECTORS__DIAGNOSTICCHAIN_MAP :
-				return validateConnectors((DiagnosticChain) arguments.get(0),
+			case UMLPackage.COLLABORATION_USE___VALIDATE_CLIENT_ELEMENTS__DIAGNOSTICCHAIN_MAP :
+				return validateClientElements(
+					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 		}
 		return eDynamicInvoke(operationID, arguments);
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/CombinedFragmentImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/CombinedFragmentImpl.java
index d8d06d5..6ed435d 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/CombinedFragmentImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/CombinedFragmentImpl.java
@@ -9,9 +9,8 @@
  *   IBM - initial API and implementation
  *   Kenn Hussey (Embarcadero Technologies) - 204200
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: CombinedFragmentImpl.java,v 1.26 2010/09/28 21:02:13 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -728,10 +727,6 @@
 				return allOwnedElements();
 			case UMLPackage.COMBINED_FRAGMENT___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.COMBINED_FRAGMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.COMBINED_FRAGMENT___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -740,6 +735,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.COMBINED_FRAGMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.COMBINED_FRAGMENT___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.COMBINED_FRAGMENT___CREATE_USAGE__NAMEDELEMENT :
@@ -761,19 +760,19 @@
 				return getQualifiedName();
 			case UMLPackage.COMBINED_FRAGMENT___SEPARATOR :
 				return separator();
-			case UMLPackage.COMBINED_FRAGMENT___VALIDATE_MININT_AND_MAXINT__DIAGNOSTICCHAIN_MAP :
-				return validateMinintAndMaxint(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.COMBINED_FRAGMENT___VALIDATE_BREAK__DIAGNOSTICCHAIN_MAP :
 				return validateBreak((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.COMBINED_FRAGMENT___VALIDATE_OPT_LOOP_BREAK_NEG__DIAGNOSTICCHAIN_MAP :
+				return validateOptLoopBreakNeg(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.COMBINED_FRAGMENT___VALIDATE_CONSIDER_AND_IGNORE__DIAGNOSTICCHAIN_MAP :
 				return validateConsiderAndIgnore(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.COMBINED_FRAGMENT___VALIDATE_OPT_LOOP_BREAK_NEG__DIAGNOSTICCHAIN_MAP :
-				return validateOptLoopBreakNeg(
+			case UMLPackage.COMBINED_FRAGMENT___VALIDATE_MININT_AND_MAXINT__DIAGNOSTICCHAIN_MAP :
+				return validateMinintAndMaxint(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 		}
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/CommunicationPathImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/CommunicationPathImpl.java
index e2342c7..5c08b6d 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/CommunicationPathImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/CommunicationPathImpl.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: CommunicationPathImpl.java,v 1.6 2010/09/28 21:02:13 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -173,10 +172,6 @@
 				return allOwnedElements();
 			case UMLPackage.COMMUNICATION_PATH___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.COMMUNICATION_PATH___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.COMMUNICATION_PATH___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -185,6 +180,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.COMMUNICATION_PATH___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.COMMUNICATION_PATH___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.COMMUNICATION_PATH___CREATE_USAGE__NAMEDELEMENT :
@@ -274,14 +273,6 @@
 				return isTemplate();
 			case UMLPackage.COMMUNICATION_PATH___PARAMETERABLE_ELEMENTS :
 				return parameterableElements();
-			case UMLPackage.COMMUNICATION_PATH___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP :
-				return validateSpecializeType(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.COMMUNICATION_PATH___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP :
-				return validateMapsToGeneralizationSet(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.COMMUNICATION_PATH___VALIDATE_NON_FINAL_PARENTS__DIAGNOSTICCHAIN_MAP :
 				return validateNonFinalParents(
 					(DiagnosticChain) arguments.get(0),
@@ -290,6 +281,14 @@
 				return validateNoCyclesInGeneralization(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.COMMUNICATION_PATH___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP :
+				return validateSpecializeType(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.COMMUNICATION_PATH___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP :
+				return validateMapsToGeneralizationSet(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.COMMUNICATION_PATH___GET_ALL_ATTRIBUTES :
 				return getAllAttributes();
 			case UMLPackage.COMMUNICATION_PATH___GET_ALL_OPERATIONS :
@@ -332,16 +331,16 @@
 				return validateSpecializedEndNumber(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.COMMUNICATION_PATH___VALIDATE_SPECIALIZED_END_TYPES__DIAGNOSTICCHAIN_MAP :
-				return validateSpecializedEndTypes(
+			case UMLPackage.COMMUNICATION_PATH___VALIDATE_ASSOCIATION_ENDS__DIAGNOSTICCHAIN_MAP :
+				return validateAssociationEnds(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.COMMUNICATION_PATH___VALIDATE_BINARY_ASSOCIATIONS__DIAGNOSTICCHAIN_MAP :
 				return validateBinaryAssociations(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.COMMUNICATION_PATH___VALIDATE_ASSOCIATION_ENDS__DIAGNOSTICCHAIN_MAP :
-				return validateAssociationEnds(
+			case UMLPackage.COMMUNICATION_PATH___VALIDATE_SPECIALIZED_END_TYPES__DIAGNOSTICCHAIN_MAP :
+				return validateSpecializedEndTypes(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.COMMUNICATION_PATH___IS_BINARY :
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ComponentImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ComponentImpl.java
index 5a90ed9..e99ccf0 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ComponentImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ComponentImpl.java
@@ -9,9 +9,8 @@
  *   IBM - initial API and implementation
  *   Kenn Hussey (Embarcadero Technologies) - 204200
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ComponentImpl.java,v 1.37 2010/09/28 21:02:14 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -1361,10 +1360,6 @@
 				return allOwnedElements();
 			case UMLPackage.COMPONENT___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.COMPONENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.COMPONENT___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -1373,6 +1368,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.COMPONENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.COMPONENT___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.COMPONENT___CREATE_USAGE__NAMEDELEMENT :
@@ -1462,14 +1461,6 @@
 				return isTemplate();
 			case UMLPackage.COMPONENT___PARAMETERABLE_ELEMENTS :
 				return parameterableElements();
-			case UMLPackage.COMPONENT___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP :
-				return validateSpecializeType(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.COMPONENT___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP :
-				return validateMapsToGeneralizationSet(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.COMPONENT___VALIDATE_NON_FINAL_PARENTS__DIAGNOSTICCHAIN_MAP :
 				return validateNonFinalParents(
 					(DiagnosticChain) arguments.get(0),
@@ -1478,6 +1469,14 @@
 				return validateNoCyclesInGeneralization(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.COMPONENT___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP :
+				return validateSpecializeType(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.COMPONENT___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP :
+				return validateMapsToGeneralizationSet(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.COMPONENT___GET_ALL_ATTRIBUTES :
 				return getAllAttributes();
 			case UMLPackage.COMPONENT___GET_ALL_OPERATIONS :
@@ -1549,14 +1548,14 @@
 				return getExtensions();
 			case UMLPackage.COMPONENT___GET_SUPER_CLASSES :
 				return getSuperClasses();
-			case UMLPackage.COMPONENT___VALIDATE_NO_NESTED_CLASSIFIERS__DIAGNOSTICCHAIN_MAP :
-				return validateNoNestedClassifiers(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.COMPONENT___VALIDATE_NO_PACKAGED_ELEMENTS__DIAGNOSTICCHAIN_MAP :
 				return validateNoPackagedElements(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.COMPONENT___VALIDATE_NO_NESTED_CLASSIFIERS__DIAGNOSTICCHAIN_MAP :
+				return validateNoNestedClassifiers(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.COMPONENT___CREATE_OWNED_CLASS__STRING_BOOLEAN :
 				return createOwnedClass((String) arguments.get(0),
 					(Boolean) arguments.get(1));
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ConditionalNodeImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ConditionalNodeImpl.java
index 1763ce9..4e1f4a8 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ConditionalNodeImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ConditionalNodeImpl.java
@@ -9,9 +9,8 @@
  *   IBM - initial API and implementation
  *   Kenn Hussey (Embarcadero Technologies) - 204200
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ConditionalNodeImpl.java,v 1.29 2010/09/28 21:02:13 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -426,8 +425,6 @@
 					.basicRemove(otherEnd, msgs);
 			case UMLPackage.CONDITIONAL_NODE__NAME_EXPRESSION :
 				return basicSetNameExpression(null, msgs);
-			case UMLPackage.CONDITIONAL_NODE__ACTIVITY :
-				return basicSetActivity(null, msgs);
 			case UMLPackage.CONDITIONAL_NODE__IN_PARTITION :
 				return ((InternalEList<?>) getInPartitions()).basicRemove(
 					otherEnd, msgs);
@@ -460,8 +457,6 @@
 			case UMLPackage.CONDITIONAL_NODE__OWNED_RULE :
 				return ((InternalEList<?>) getOwnedRules()).basicRemove(
 					otherEnd, msgs);
-			case UMLPackage.CONDITIONAL_NODE__IN_ACTIVITY :
-				return basicSetInActivity(null, msgs);
 			case UMLPackage.CONDITIONAL_NODE__NODE :
 				return ((InternalEList<?>) getNodes()).basicRemove(otherEnd,
 					msgs);
@@ -531,8 +526,6 @@
 				if (resolve)
 					return getActivity();
 				return basicGetActivity();
-			case UMLPackage.CONDITIONAL_NODE__IN_GROUP :
-				return getInGroups();
 			case UMLPackage.CONDITIONAL_NODE__IN_PARTITION :
 				return getInPartitions();
 			case UMLPackage.CONDITIONAL_NODE__IN_STRUCTURED_NODE :
@@ -545,6 +538,8 @@
 				return getOutgoings();
 			case UMLPackage.CONDITIONAL_NODE__INCOMING :
 				return getIncomings();
+			case UMLPackage.CONDITIONAL_NODE__IN_GROUP :
+				return getInGroups();
 			case UMLPackage.CONDITIONAL_NODE__REDEFINED_NODE :
 				return getRedefinedNodes();
 			case UMLPackage.CONDITIONAL_NODE__HANDLER :
@@ -575,6 +570,8 @@
 				return getImportedMembers();
 			case UMLPackage.CONDITIONAL_NODE__MEMBER :
 				return getMembers();
+			case UMLPackage.CONDITIONAL_NODE__CONTAINED_EDGE :
+				return getContainedEdges();
 			case UMLPackage.CONDITIONAL_NODE__CONTAINED_NODE :
 				return getContainedNodes();
 			case UMLPackage.CONDITIONAL_NODE__IN_ACTIVITY :
@@ -587,8 +584,6 @@
 				if (resolve)
 					return getSuperGroup();
 				return basicGetSuperGroup();
-			case UMLPackage.CONDITIONAL_NODE__CONTAINED_EDGE :
-				return getContainedEdges();
 			case UMLPackage.CONDITIONAL_NODE__MUST_ISOLATE :
 				return isMustIsolate();
 			case UMLPackage.CONDITIONAL_NODE__NODE :
@@ -910,8 +905,6 @@
 				return isSetRedefinitionContexts();
 			case UMLPackage.CONDITIONAL_NODE__ACTIVITY :
 				return isSetActivity();
-			case UMLPackage.CONDITIONAL_NODE__IN_GROUP :
-				return isSetInGroups();
 			case UMLPackage.CONDITIONAL_NODE__IN_PARTITION :
 				return inPartitions != null && !inPartitions.isEmpty();
 			case UMLPackage.CONDITIONAL_NODE__IN_STRUCTURED_NODE :
@@ -923,6 +916,8 @@
 				return outgoings != null && !outgoings.isEmpty();
 			case UMLPackage.CONDITIONAL_NODE__INCOMING :
 				return incomings != null && !incomings.isEmpty();
+			case UMLPackage.CONDITIONAL_NODE__IN_GROUP :
+				return isSetInGroups();
 			case UMLPackage.CONDITIONAL_NODE__REDEFINED_NODE :
 				return redefinedNodes != null && !redefinedNodes.isEmpty();
 			case UMLPackage.CONDITIONAL_NODE__HANDLER :
@@ -953,6 +948,8 @@
 				return !getImportedMembers().isEmpty();
 			case UMLPackage.CONDITIONAL_NODE__MEMBER :
 				return isSetMembers();
+			case UMLPackage.CONDITIONAL_NODE__CONTAINED_EDGE :
+				return isSetContainedEdges();
 			case UMLPackage.CONDITIONAL_NODE__CONTAINED_NODE :
 				return isSetContainedNodes();
 			case UMLPackage.CONDITIONAL_NODE__IN_ACTIVITY :
@@ -961,8 +958,6 @@
 				return isSetSubgroups();
 			case UMLPackage.CONDITIONAL_NODE__SUPER_GROUP :
 				return isSetSuperGroup();
-			case UMLPackage.CONDITIONAL_NODE__CONTAINED_EDGE :
-				return isSetContainedEdges();
 			case UMLPackage.CONDITIONAL_NODE__MUST_ISOLATE :
 				return ((eFlags & MUST_ISOLATE_EFLAG) != 0) != MUST_ISOLATE_EDEFAULT;
 			case UMLPackage.CONDITIONAL_NODE__NODE :
@@ -1080,10 +1075,6 @@
 				return allOwnedElements();
 			case UMLPackage.CONDITIONAL_NODE___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.CONDITIONAL_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.CONDITIONAL_NODE___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -1092,6 +1083,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.CONDITIONAL_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.CONDITIONAL_NODE___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.CONDITIONAL_NODE___CREATE_USAGE__NAMEDELEMENT :
@@ -1169,40 +1164,25 @@
 				return membersAreDistinguishable();
 			case UMLPackage.CONDITIONAL_NODE___GET_OWNED_MEMBERS :
 				return getOwnedMembers();
-			case UMLPackage.CONDITIONAL_NODE___VALIDATE_NODES_AND_EDGES__DIAGNOSTICCHAIN_MAP :
-				return validateNodesAndEdges(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.CONDITIONAL_NODE___VALIDATE_GROUP_OWNED__DIAGNOSTICCHAIN_MAP :
 				return validateGroupOwned((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.CONDITIONAL_NODE___VALIDATE_NOT_CONTAINED__DIAGNOSTICCHAIN_MAP :
 				return validateNotContained((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.CONDITIONAL_NODE___VALIDATE_OUTPUT_PIN_EDGES__DIAGNOSTICCHAIN_MAP :
-				return validateOutputPinEdges(
+			case UMLPackage.CONDITIONAL_NODE___VALIDATE_NODES_AND_EDGES__DIAGNOSTICCHAIN_MAP :
+				return validateNodesAndEdges(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.CONDITIONAL_NODE___VALIDATE_EDGES__DIAGNOSTICCHAIN_MAP :
-				return validateEdges((DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.CONDITIONAL_NODE___VALIDATE_INPUT_PIN_EDGES__DIAGNOSTICCHAIN_MAP :
 				return validateInputPinEdges(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.CONDITIONAL_NODE___VALIDATE_RESULT_NO_INCOMING__DIAGNOSTICCHAIN_MAP :
-				return validateResultNoIncoming(
-					(DiagnosticChain) arguments.get(0),
+			case UMLPackage.CONDITIONAL_NODE___VALIDATE_EDGES__DIAGNOSTICCHAIN_MAP :
+				return validateEdges((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.CONDITIONAL_NODE___VALIDATE_NO_INPUT_PINS__DIAGNOSTICCHAIN_MAP :
-				return validateNoInputPins((DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.CONDITIONAL_NODE___VALIDATE_ONE_CLAUSE_WITH_EXECUTABLE_NODE__DIAGNOSTICCHAIN_MAP :
-				return validateOneClauseWithExecutableNode(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.CONDITIONAL_NODE___VALIDATE_MATCHING_OUTPUT_PINS__DIAGNOSTICCHAIN_MAP :
-				return validateMatchingOutputPins(
+			case UMLPackage.CONDITIONAL_NODE___VALIDATE_OUTPUT_PIN_EDGES__DIAGNOSTICCHAIN_MAP :
+				return validateOutputPinEdges(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.CONDITIONAL_NODE___VALIDATE_EXECUTABLE_NODES__DIAGNOSTICCHAIN_MAP :
@@ -1213,6 +1193,21 @@
 				return validateClauseNoPredecessor(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.CONDITIONAL_NODE___VALIDATE_MATCHING_OUTPUT_PINS__DIAGNOSTICCHAIN_MAP :
+				return validateMatchingOutputPins(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.CONDITIONAL_NODE___VALIDATE_ONE_CLAUSE_WITH_EXECUTABLE_NODE__DIAGNOSTICCHAIN_MAP :
+				return validateOneClauseWithExecutableNode(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.CONDITIONAL_NODE___VALIDATE_RESULT_NO_INCOMING__DIAGNOSTICCHAIN_MAP :
+				return validateResultNoIncoming(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.CONDITIONAL_NODE___VALIDATE_NO_INPUT_PINS__DIAGNOSTICCHAIN_MAP :
+				return validateNoInputPins((DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 		}
 		return eDynamicInvoke(operationID, arguments);
 	}
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ConnectableElementImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ConnectableElementImpl.java
index 99eb556..7cffb85 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ConnectableElementImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ConnectableElementImpl.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ConnectableElementImpl.java,v 1.24 2010/09/28 21:02:13 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -735,10 +734,6 @@
 				return allOwnedElements();
 			case UMLPackage.CONNECTABLE_ELEMENT___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.CONNECTABLE_ELEMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.CONNECTABLE_ELEMENT___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -747,6 +742,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.CONNECTABLE_ELEMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.CONNECTABLE_ELEMENT___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.CONNECTABLE_ELEMENT___CREATE_USAGE__NAMEDELEMENT :
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ConnectionPointReferenceImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ConnectionPointReferenceImpl.java
index 085195f..b7d0ff3 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ConnectionPointReferenceImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ConnectionPointReferenceImpl.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ConnectionPointReferenceImpl.java,v 1.25 2010/09/28 21:02:14 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -642,10 +641,6 @@
 				return allOwnedElements();
 			case UMLPackage.CONNECTION_POINT_REFERENCE___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.CONNECTION_POINT_REFERENCE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.CONNECTION_POINT_REFERENCE___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -654,6 +649,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.CONNECTION_POINT_REFERENCE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.CONNECTION_POINT_REFERENCE___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.CONNECTION_POINT_REFERENCE___CREATE_USAGE__NAMEDELEMENT :
@@ -681,14 +680,14 @@
 				return getIncomings();
 			case UMLPackage.CONNECTION_POINT_REFERENCE___GET_OUTGOINGS :
 				return getOutgoings();
-			case UMLPackage.CONNECTION_POINT_REFERENCE___VALIDATE_EXIT_PSEUDOSTATES__DIAGNOSTICCHAIN_MAP :
-				return validateExitPseudostates(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.CONNECTION_POINT_REFERENCE___VALIDATE_ENTRY_PSEUDOSTATES__DIAGNOSTICCHAIN_MAP :
 				return validateEntryPseudostates(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.CONNECTION_POINT_REFERENCE___VALIDATE_EXIT_PSEUDOSTATES__DIAGNOSTICCHAIN_MAP :
+				return validateExitPseudostates(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 		}
 		return eDynamicInvoke(operationID, arguments);
 	}
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ConnectorEndImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ConnectorEndImpl.java
index 33ad6ea..e2d514b 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ConnectorEndImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ConnectorEndImpl.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ConnectorEndImpl.java,v 1.22 2010/09/28 21:02:14 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -514,20 +513,20 @@
 				return allOwnedElements();
 			case UMLPackage.CONNECTOR_END___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.CONNECTOR_END___VALIDATE_UPPER_GE_LOWER__DIAGNOSTICCHAIN_MAP :
-				return validateUpperGeLower((DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.CONNECTOR_END___VALIDATE_LOWER_GE0__DIAGNOSTICCHAIN_MAP :
 				return validateLowerGe0((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.CONNECTOR_END___VALIDATE_VALUE_SPECIFICATION_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP :
-				return validateValueSpecificationNoSideEffects(
-					(DiagnosticChain) arguments.get(0),
+			case UMLPackage.CONNECTOR_END___VALIDATE_UPPER_GE_LOWER__DIAGNOSTICCHAIN_MAP :
+				return validateUpperGeLower((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.CONNECTOR_END___VALIDATE_VALUE_SPECIFICATION_CONSTANT__DIAGNOSTICCHAIN_MAP :
 				return validateValueSpecificationConstant(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.CONNECTOR_END___VALIDATE_VALUE_SPECIFICATION_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP :
+				return validateValueSpecificationNoSideEffects(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.CONNECTOR_END___SET_LOWER__INT :
 				setLower((Integer) arguments.get(0));
 				return null;
@@ -558,15 +557,15 @@
 				return validateRoleAndPartWithPort(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.CONNECTOR_END___VALIDATE_PART_WITH_PORT_EMPTY__DIAGNOSTICCHAIN_MAP :
-				return validatePartWithPortEmpty(
+			case UMLPackage.CONNECTOR_END___VALIDATE_SELF_PART_WITH_PORT__DIAGNOSTICCHAIN_MAP :
+				return validateSelfPartWithPort(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.CONNECTOR_END___VALIDATE_MULTIPLICITY__DIAGNOSTICCHAIN_MAP :
 				return validateMultiplicity((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.CONNECTOR_END___VALIDATE_SELF_PART_WITH_PORT__DIAGNOSTICCHAIN_MAP :
-				return validateSelfPartWithPort(
+			case UMLPackage.CONNECTOR_END___VALIDATE_PART_WITH_PORT_EMPTY__DIAGNOSTICCHAIN_MAP :
+				return validatePartWithPortEmpty(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.CONNECTOR_END___GET_DEFINING_END :
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ConnectorImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ConnectorImpl.java
index 5fb94e0..e55d014 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ConnectorImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ConnectorImpl.java
@@ -9,9 +9,8 @@
  *   IBM - initial API and implementation
  *   Kenn Hussey (Embarcadero Technologies) - 204200
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ConnectorImpl.java,v 1.23 2010/09/28 21:02:14 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -747,10 +746,6 @@
 				return allOwnedElements();
 			case UMLPackage.CONNECTOR___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.CONNECTOR___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.CONNECTOR___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -759,6 +754,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.CONNECTOR___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.CONNECTOR___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.CONNECTOR___CREATE_USAGE__NAMEDELEMENT :
@@ -797,8 +796,8 @@
 			case UMLPackage.CONNECTOR___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
 				return isRedefinitionContextValid((RedefinableElement) arguments
 					.get(0));
-			case UMLPackage.CONNECTOR___VALIDATE_TYPES__DIAGNOSTICCHAIN_MAP :
-				return validateTypes((DiagnosticChain) arguments.get(0),
+			case UMLPackage.CONNECTOR___VALIDATE_COMPATIBLE__DIAGNOSTICCHAIN_MAP :
+				return validateCompatible((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.CONNECTOR___VALIDATE_ROLES__DIAGNOSTICCHAIN_MAP :
 				return validateRoles((DiagnosticChain) arguments.get(0),
@@ -807,8 +806,8 @@
 				return validateBetweenInterfacesPorts(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.CONNECTOR___VALIDATE_COMPATIBLE__DIAGNOSTICCHAIN_MAP :
-				return validateCompatible((DiagnosticChain) arguments.get(0),
+			case UMLPackage.CONNECTOR___VALIDATE_TYPES__DIAGNOSTICCHAIN_MAP :
+				return validateTypes((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.CONNECTOR___GET_KIND :
 				return getKind();
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ConsiderIgnoreFragmentImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ConsiderIgnoreFragmentImpl.java
index 05cc476..73bf0db 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ConsiderIgnoreFragmentImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ConsiderIgnoreFragmentImpl.java
@@ -9,9 +9,8 @@
  *   IBM - initial API and implementation
  *   Kenn Hussey (Embarcadero Technologies) - 204200
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ConsiderIgnoreFragmentImpl.java,v 1.18 2010/09/28 21:02:13 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -480,10 +479,6 @@
 				return allOwnedElements();
 			case UMLPackage.CONSIDER_IGNORE_FRAGMENT___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.CONSIDER_IGNORE_FRAGMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.CONSIDER_IGNORE_FRAGMENT___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -492,6 +487,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.CONSIDER_IGNORE_FRAGMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.CONSIDER_IGNORE_FRAGMENT___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.CONSIDER_IGNORE_FRAGMENT___CREATE_USAGE__NAMEDELEMENT :
@@ -513,28 +512,28 @@
 				return getQualifiedName();
 			case UMLPackage.CONSIDER_IGNORE_FRAGMENT___SEPARATOR :
 				return separator();
-			case UMLPackage.CONSIDER_IGNORE_FRAGMENT___VALIDATE_MININT_AND_MAXINT__DIAGNOSTICCHAIN_MAP :
-				return validateMinintAndMaxint(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.CONSIDER_IGNORE_FRAGMENT___VALIDATE_BREAK__DIAGNOSTICCHAIN_MAP :
 				return validateBreak((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.CONSIDER_IGNORE_FRAGMENT___VALIDATE_CONSIDER_AND_IGNORE__DIAGNOSTICCHAIN_MAP :
-				return validateConsiderAndIgnore(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.CONSIDER_IGNORE_FRAGMENT___VALIDATE_OPT_LOOP_BREAK_NEG__DIAGNOSTICCHAIN_MAP :
 				return validateOptLoopBreakNeg(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.CONSIDER_IGNORE_FRAGMENT___VALIDATE_CONSIDER_OR_IGNORE__DIAGNOSTICCHAIN_MAP :
-				return validateConsiderOrIgnore(
+			case UMLPackage.CONSIDER_IGNORE_FRAGMENT___VALIDATE_CONSIDER_AND_IGNORE__DIAGNOSTICCHAIN_MAP :
+				return validateConsiderAndIgnore(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.CONSIDER_IGNORE_FRAGMENT___VALIDATE_MININT_AND_MAXINT__DIAGNOSTICCHAIN_MAP :
+				return validateMinintAndMaxint(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.CONSIDER_IGNORE_FRAGMENT___VALIDATE_TYPE__DIAGNOSTICCHAIN_MAP :
 				return validateType((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.CONSIDER_IGNORE_FRAGMENT___VALIDATE_CONSIDER_OR_IGNORE__DIAGNOSTICCHAIN_MAP :
+				return validateConsiderOrIgnore(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 		}
 		return eDynamicInvoke(operationID, arguments);
 	}
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ConstraintImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ConstraintImpl.java
index 25b37b5..3632d31 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ConstraintImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ConstraintImpl.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ConstraintImpl.java,v 1.26 2010/09/28 21:02:14 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -743,10 +742,6 @@
 				return allOwnedElements();
 			case UMLPackage.CONSTRAINT___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.CONSTRAINT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.CONSTRAINT___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -755,6 +750,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.CONSTRAINT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.CONSTRAINT___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.CONSTRAINT___CREATE_USAGE__NAMEDELEMENT :
@@ -780,16 +779,16 @@
 				return isCompatibleWith((ParameterableElement) arguments.get(0));
 			case UMLPackage.CONSTRAINT___IS_TEMPLATE_PARAMETER :
 				return isTemplateParameter();
-			case UMLPackage.CONSTRAINT___VALIDATE_BOOLEAN_VALUE__DIAGNOSTICCHAIN_MAP :
-				return validateBooleanValue((DiagnosticChain) arguments.get(0),
+			case UMLPackage.CONSTRAINT___VALIDATE_NOT_APPLY_TO_SELF__DIAGNOSTICCHAIN_MAP :
+				return validateNotApplyToSelf(
+					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.CONSTRAINT___VALIDATE_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP :
 				return validateNoSideEffects(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.CONSTRAINT___VALIDATE_NOT_APPLY_TO_SELF__DIAGNOSTICCHAIN_MAP :
-				return validateNotApplyToSelf(
-					(DiagnosticChain) arguments.get(0),
+			case UMLPackage.CONSTRAINT___VALIDATE_BOOLEAN_VALUE__DIAGNOSTICCHAIN_MAP :
+				return validateBooleanValue((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.CONSTRAINT___VALIDATE_VALUE_SPECIFICATION_BOOLEAN__DIAGNOSTICCHAIN_MAP :
 				return validateValueSpecificationBoolean(
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ContinuationImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ContinuationImpl.java
index a3a0288..42b3118 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ContinuationImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ContinuationImpl.java
@@ -9,9 +9,8 @@
  *   IBM - initial API and implementation
  *   Kenn Hussey (Embarcadero Technologies) - 204200
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ContinuationImpl.java,v 1.19 2010/09/28 21:02:13 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -448,10 +447,6 @@
 				return allOwnedElements();
 			case UMLPackage.CONTINUATION___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.CONTINUATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.CONTINUATION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -460,6 +455,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.CONTINUATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.CONTINUATION___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.CONTINUATION___CREATE_USAGE__NAMEDELEMENT :
@@ -481,13 +480,13 @@
 				return getQualifiedName();
 			case UMLPackage.CONTINUATION___SEPARATOR :
 				return separator();
+			case UMLPackage.CONTINUATION___VALIDATE_SAME_NAME__DIAGNOSTICCHAIN_MAP :
+				return validateSameName((DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.CONTINUATION___VALIDATE_FIRST_OR_LAST_INTERACTION_FRAGMENT__DIAGNOSTICCHAIN_MAP :
 				return validateFirstOrLastInteractionFragment(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.CONTINUATION___VALIDATE_SAME_NAME__DIAGNOSTICCHAIN_MAP :
-				return validateSameName((DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.CONTINUATION___VALIDATE_GLOBAL__DIAGNOSTICCHAIN_MAP :
 				return validateGlobal((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ControlFlowImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ControlFlowImpl.java
index d44bec2..7b4cf7e 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ControlFlowImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ControlFlowImpl.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ControlFlowImpl.java,v 1.5 2010/09/28 21:02:14 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -166,10 +165,6 @@
 				return allOwnedElements();
 			case UMLPackage.CONTROL_FLOW___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.CONTROL_FLOW___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.CONTROL_FLOW___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -178,6 +173,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.CONTROL_FLOW___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.CONTROL_FLOW___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.CONTROL_FLOW___CREATE_USAGE__NAMEDELEMENT :
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/CreateLinkActionImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/CreateLinkActionImpl.java
index 54a4762..bbbf0fb 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/CreateLinkActionImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/CreateLinkActionImpl.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: CreateLinkActionImpl.java,v 1.20 2010/09/28 21:02:13 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -210,10 +209,6 @@
 				return allOwnedElements();
 			case UMLPackage.CREATE_LINK_ACTION___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.CREATE_LINK_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.CREATE_LINK_ACTION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -222,6 +217,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.CREATE_LINK_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.CREATE_LINK_ACTION___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.CREATE_LINK_ACTION___CREATE_USAGE__NAMEDELEMENT :
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/CreateLinkObjectActionImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/CreateLinkObjectActionImpl.java
index 6e2bba4..524e087 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/CreateLinkObjectActionImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/CreateLinkObjectActionImpl.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: CreateLinkObjectActionImpl.java,v 1.28 2010/09/28 21:02:13 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -292,8 +291,6 @@
 					.basicRemove(otherEnd, msgs);
 			case UMLPackage.CREATE_LINK_OBJECT_ACTION__NAME_EXPRESSION :
 				return basicSetNameExpression(null, msgs);
-			case UMLPackage.CREATE_LINK_OBJECT_ACTION__ACTIVITY :
-				return basicSetActivity(null, msgs);
 			case UMLPackage.CREATE_LINK_OBJECT_ACTION__IN_PARTITION :
 				return ((InternalEList<?>) getInPartitions()).basicRemove(
 					otherEnd, msgs);
@@ -373,8 +370,6 @@
 				if (resolve)
 					return getActivity();
 				return basicGetActivity();
-			case UMLPackage.CREATE_LINK_OBJECT_ACTION__IN_GROUP :
-				return getInGroups();
 			case UMLPackage.CREATE_LINK_OBJECT_ACTION__IN_PARTITION :
 				return getInPartitions();
 			case UMLPackage.CREATE_LINK_OBJECT_ACTION__IN_STRUCTURED_NODE :
@@ -387,6 +382,8 @@
 				return getOutgoings();
 			case UMLPackage.CREATE_LINK_OBJECT_ACTION__INCOMING :
 				return getIncomings();
+			case UMLPackage.CREATE_LINK_OBJECT_ACTION__IN_GROUP :
+				return getInGroups();
 			case UMLPackage.CREATE_LINK_OBJECT_ACTION__REDEFINED_NODE :
 				return getRedefinedNodes();
 			case UMLPackage.CREATE_LINK_OBJECT_ACTION__HANDLER :
@@ -634,8 +631,6 @@
 				return isSetRedefinitionContexts();
 			case UMLPackage.CREATE_LINK_OBJECT_ACTION__ACTIVITY :
 				return basicGetActivity() != null;
-			case UMLPackage.CREATE_LINK_OBJECT_ACTION__IN_GROUP :
-				return isSetInGroups();
 			case UMLPackage.CREATE_LINK_OBJECT_ACTION__IN_PARTITION :
 				return inPartitions != null && !inPartitions.isEmpty();
 			case UMLPackage.CREATE_LINK_OBJECT_ACTION__IN_STRUCTURED_NODE :
@@ -647,6 +642,8 @@
 				return outgoings != null && !outgoings.isEmpty();
 			case UMLPackage.CREATE_LINK_OBJECT_ACTION__INCOMING :
 				return incomings != null && !incomings.isEmpty();
+			case UMLPackage.CREATE_LINK_OBJECT_ACTION__IN_GROUP :
+				return isSetInGroups();
 			case UMLPackage.CREATE_LINK_OBJECT_ACTION__REDEFINED_NODE :
 				return redefinedNodes != null && !redefinedNodes.isEmpty();
 			case UMLPackage.CREATE_LINK_OBJECT_ACTION__HANDLER :
@@ -767,10 +764,6 @@
 				return allOwnedElements();
 			case UMLPackage.CREATE_LINK_OBJECT_ACTION___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.CREATE_LINK_OBJECT_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.CREATE_LINK_OBJECT_ACTION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -779,6 +772,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.CREATE_LINK_OBJECT_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.CREATE_LINK_OBJECT_ACTION___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.CREATE_LINK_OBJECT_ACTION___CREATE_USAGE__NAMEDELEMENT :
@@ -845,15 +842,15 @@
 				return validateAssociationNotAbstract(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.CREATE_LINK_OBJECT_ACTION___VALIDATE_MULTIPLICITY__DIAGNOSTICCHAIN_MAP :
-				return validateMultiplicity((DiagnosticChain) arguments.get(0),
+			case UMLPackage.CREATE_LINK_OBJECT_ACTION___VALIDATE_ASSOCIATION_CLASS__DIAGNOSTICCHAIN_MAP :
+				return validateAssociationClass(
+					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.CREATE_LINK_OBJECT_ACTION___VALIDATE_TYPE_OF_RESULT__DIAGNOSTICCHAIN_MAP :
 				return validateTypeOfResult((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.CREATE_LINK_OBJECT_ACTION___VALIDATE_ASSOCIATION_CLASS__DIAGNOSTICCHAIN_MAP :
-				return validateAssociationClass(
-					(DiagnosticChain) arguments.get(0),
+			case UMLPackage.CREATE_LINK_OBJECT_ACTION___VALIDATE_MULTIPLICITY__DIAGNOSTICCHAIN_MAP :
+				return validateMultiplicity((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 		}
 		return eDynamicInvoke(operationID, arguments);
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/CreateObjectActionImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/CreateObjectActionImpl.java
index e00b19e..13ea8cf 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/CreateObjectActionImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/CreateObjectActionImpl.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: CreateObjectActionImpl.java,v 1.28 2010/09/28 21:02:13 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -350,8 +349,6 @@
 					.basicRemove(otherEnd, msgs);
 			case UMLPackage.CREATE_OBJECT_ACTION__NAME_EXPRESSION :
 				return basicSetNameExpression(null, msgs);
-			case UMLPackage.CREATE_OBJECT_ACTION__ACTIVITY :
-				return basicSetActivity(null, msgs);
 			case UMLPackage.CREATE_OBJECT_ACTION__IN_PARTITION :
 				return ((InternalEList<?>) getInPartitions()).basicRemove(
 					otherEnd, msgs);
@@ -425,8 +422,6 @@
 				if (resolve)
 					return getActivity();
 				return basicGetActivity();
-			case UMLPackage.CREATE_OBJECT_ACTION__IN_GROUP :
-				return getInGroups();
 			case UMLPackage.CREATE_OBJECT_ACTION__IN_PARTITION :
 				return getInPartitions();
 			case UMLPackage.CREATE_OBJECT_ACTION__IN_STRUCTURED_NODE :
@@ -439,6 +434,8 @@
 				return getOutgoings();
 			case UMLPackage.CREATE_OBJECT_ACTION__INCOMING :
 				return getIncomings();
+			case UMLPackage.CREATE_OBJECT_ACTION__IN_GROUP :
+				return getInGroups();
 			case UMLPackage.CREATE_OBJECT_ACTION__REDEFINED_NODE :
 				return getRedefinedNodes();
 			case UMLPackage.CREATE_OBJECT_ACTION__HANDLER :
@@ -676,8 +673,6 @@
 				return isSetRedefinitionContexts();
 			case UMLPackage.CREATE_OBJECT_ACTION__ACTIVITY :
 				return basicGetActivity() != null;
-			case UMLPackage.CREATE_OBJECT_ACTION__IN_GROUP :
-				return isSetInGroups();
 			case UMLPackage.CREATE_OBJECT_ACTION__IN_PARTITION :
 				return inPartitions != null && !inPartitions.isEmpty();
 			case UMLPackage.CREATE_OBJECT_ACTION__IN_STRUCTURED_NODE :
@@ -689,6 +684,8 @@
 				return outgoings != null && !outgoings.isEmpty();
 			case UMLPackage.CREATE_OBJECT_ACTION__INCOMING :
 				return incomings != null && !incomings.isEmpty();
+			case UMLPackage.CREATE_OBJECT_ACTION__IN_GROUP :
+				return isSetInGroups();
 			case UMLPackage.CREATE_OBJECT_ACTION__REDEFINED_NODE :
 				return redefinedNodes != null && !redefinedNodes.isEmpty();
 			case UMLPackage.CREATE_OBJECT_ACTION__HANDLER :
@@ -807,10 +804,6 @@
 				return allOwnedElements();
 			case UMLPackage.CREATE_OBJECT_ACTION___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.CREATE_OBJECT_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.CREATE_OBJECT_ACTION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -819,6 +812,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.CREATE_OBJECT_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.CREATE_OBJECT_ACTION___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.CREATE_OBJECT_ACTION___CREATE_USAGE__NAMEDELEMENT :
@@ -866,20 +863,20 @@
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.CREATE_OBJECT_ACTION___GET_CONTEXT :
 				return getContext();
-			case UMLPackage.CREATE_OBJECT_ACTION___VALIDATE_CLASSIFIER_NOT_ABSTRACT__DIAGNOSTICCHAIN_MAP :
-				return validateClassifierNotAbstract(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.CREATE_OBJECT_ACTION___VALIDATE_MULTIPLICITY__DIAGNOSTICCHAIN_MAP :
-				return validateMultiplicity((DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.CREATE_OBJECT_ACTION___VALIDATE_CLASSIFIER_NOT_ASSOCIATION_CLASS__DIAGNOSTICCHAIN_MAP :
 				return validateClassifierNotAssociationClass(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.CREATE_OBJECT_ACTION___VALIDATE_CLASSIFIER_NOT_ABSTRACT__DIAGNOSTICCHAIN_MAP :
+				return validateClassifierNotAbstract(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.CREATE_OBJECT_ACTION___VALIDATE_SAME_TYPE__DIAGNOSTICCHAIN_MAP :
 				return validateSameType((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.CREATE_OBJECT_ACTION___VALIDATE_MULTIPLICITY__DIAGNOSTICCHAIN_MAP :
+				return validateMultiplicity((DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 		}
 		return eDynamicInvoke(operationID, arguments);
 	}
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/DataTypeImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/DataTypeImpl.java
index bfe1531..8cb9bfa 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/DataTypeImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/DataTypeImpl.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: DataTypeImpl.java,v 1.32 2010/09/28 21:02:13 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -74,8 +73,8 @@
  * <p>
  * The following features are implemented:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.internal.impl.DataTypeImpl#getAttributes <em>Attribute</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.internal.impl.DataTypeImpl#getOwnedMembers <em>Owned Member</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.internal.impl.DataTypeImpl#getAttributes <em>Attribute</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.internal.impl.DataTypeImpl#getFeatures <em>Feature</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.internal.impl.DataTypeImpl#getOwnedAttributes <em>Owned Attribute</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.internal.impl.DataTypeImpl#getOwnedOperations <em>Owned Operation</em>}</li>
@@ -1068,10 +1067,6 @@
 				return allOwnedElements();
 			case UMLPackage.DATA_TYPE___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.DATA_TYPE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.DATA_TYPE___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -1080,6 +1075,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.DATA_TYPE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.DATA_TYPE___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.DATA_TYPE___CREATE_USAGE__NAMEDELEMENT :
@@ -1169,14 +1168,6 @@
 				return isTemplate();
 			case UMLPackage.DATA_TYPE___PARAMETERABLE_ELEMENTS :
 				return parameterableElements();
-			case UMLPackage.DATA_TYPE___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP :
-				return validateSpecializeType(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.DATA_TYPE___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP :
-				return validateMapsToGeneralizationSet(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.DATA_TYPE___VALIDATE_NON_FINAL_PARENTS__DIAGNOSTICCHAIN_MAP :
 				return validateNonFinalParents(
 					(DiagnosticChain) arguments.get(0),
@@ -1185,6 +1176,14 @@
 				return validateNoCyclesInGeneralization(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.DATA_TYPE___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP :
+				return validateSpecializeType(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.DATA_TYPE___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP :
+				return validateMapsToGeneralizationSet(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.DATA_TYPE___GET_ALL_ATTRIBUTES :
 				return getAllAttributes();
 			case UMLPackage.DATA_TYPE___GET_ALL_OPERATIONS :
@@ -1236,16 +1235,6 @@
 	}
 
 	/**
-	 * The array of subset feature identifiers for the '{@link #getAttributes() <em>Attribute</em>}' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getAttributes()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final int[] ATTRIBUTE_ESUBSETS = new int[]{UMLPackage.DATA_TYPE__OWNED_ATTRIBUTE};
-
-	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -1270,6 +1259,16 @@
 		UMLPackage.DATA_TYPE__OWNED_OPERATION};
 
 	/**
+	 * The array of subset feature identifiers for the '{@link #getAttributes() <em>Attribute</em>}' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getAttributes()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final int[] ATTRIBUTE_ESUBSETS = new int[]{UMLPackage.DATA_TYPE__OWNED_ATTRIBUTE};
+
+	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/DecisionNodeImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/DecisionNodeImpl.java
index 21d0a2f..6b4ebb4 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/DecisionNodeImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/DecisionNodeImpl.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: DecisionNodeImpl.java,v 1.21 2010/09/28 21:02:13 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -322,8 +321,6 @@
 				if (resolve)
 					return getActivity();
 				return basicGetActivity();
-			case UMLPackage.DECISION_NODE__IN_GROUP :
-				return getInGroups();
 			case UMLPackage.DECISION_NODE__IN_PARTITION :
 				return getInPartitions();
 			case UMLPackage.DECISION_NODE__IN_STRUCTURED_NODE :
@@ -336,6 +333,8 @@
 				return getOutgoings();
 			case UMLPackage.DECISION_NODE__INCOMING :
 				return getIncomings();
+			case UMLPackage.DECISION_NODE__IN_GROUP :
+				return getInGroups();
 			case UMLPackage.DECISION_NODE__REDEFINED_NODE :
 				return getRedefinedNodes();
 			case UMLPackage.DECISION_NODE__DECISION_INPUT :
@@ -527,8 +526,6 @@
 				return isSetRedefinitionContexts();
 			case UMLPackage.DECISION_NODE__ACTIVITY :
 				return basicGetActivity() != null;
-			case UMLPackage.DECISION_NODE__IN_GROUP :
-				return isSetInGroups();
 			case UMLPackage.DECISION_NODE__IN_PARTITION :
 				return inPartitions != null && !inPartitions.isEmpty();
 			case UMLPackage.DECISION_NODE__IN_STRUCTURED_NODE :
@@ -540,6 +537,8 @@
 				return outgoings != null && !outgoings.isEmpty();
 			case UMLPackage.DECISION_NODE__INCOMING :
 				return incomings != null && !incomings.isEmpty();
+			case UMLPackage.DECISION_NODE__IN_GROUP :
+				return isSetInGroups();
 			case UMLPackage.DECISION_NODE__REDEFINED_NODE :
 				return redefinedNodes != null && !redefinedNodes.isEmpty();
 			case UMLPackage.DECISION_NODE__DECISION_INPUT :
@@ -642,10 +641,6 @@
 				return allOwnedElements();
 			case UMLPackage.DECISION_NODE___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.DECISION_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.DECISION_NODE___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -654,6 +649,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.DECISION_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.DECISION_NODE___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.DECISION_NODE___CREATE_USAGE__NAMEDELEMENT :
@@ -699,19 +698,11 @@
 				return validateOwnedStructuredNode(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.DECISION_NODE___VALIDATE_ZERO_INPUT_PARAMETERS__DIAGNOSTICCHAIN_MAP :
-				return validateZeroInputParameters(
-					(DiagnosticChain) arguments.get(0),
+			case UMLPackage.DECISION_NODE___VALIDATE_PARAMETERS__DIAGNOSTICCHAIN_MAP :
+				return validateParameters((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.DECISION_NODE___VALIDATE_EDGES__DIAGNOSTICCHAIN_MAP :
-				return validateEdges((DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.DECISION_NODE___VALIDATE_DECISION_INPUT_FLOW_INCOMING__DIAGNOSTICCHAIN_MAP :
-				return validateDecisionInputFlowIncoming(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.DECISION_NODE___VALIDATE_TWO_INPUT_PARAMETERS__DIAGNOSTICCHAIN_MAP :
-				return validateTwoInputParameters(
+			case UMLPackage.DECISION_NODE___VALIDATE_INCOMING_OBJECT_ONE_INPUT_PARAMETER__DIAGNOSTICCHAIN_MAP :
+				return validateIncomingObjectOneInputParameter(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.DECISION_NODE___VALIDATE_INCOMING_OUTGOING_EDGES__DIAGNOSTICCHAIN_MAP :
@@ -722,13 +713,21 @@
 				return validateIncomingControlOneInputParameter(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.DECISION_NODE___VALIDATE_PARAMETERS__DIAGNOSTICCHAIN_MAP :
-				return validateParameters((DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.DECISION_NODE___VALIDATE_INCOMING_OBJECT_ONE_INPUT_PARAMETER__DIAGNOSTICCHAIN_MAP :
-				return validateIncomingObjectOneInputParameter(
+			case UMLPackage.DECISION_NODE___VALIDATE_TWO_INPUT_PARAMETERS__DIAGNOSTICCHAIN_MAP :
+				return validateTwoInputParameters(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.DECISION_NODE___VALIDATE_DECISION_INPUT_FLOW_INCOMING__DIAGNOSTICCHAIN_MAP :
+				return validateDecisionInputFlowIncoming(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.DECISION_NODE___VALIDATE_ZERO_INPUT_PARAMETERS__DIAGNOSTICCHAIN_MAP :
+				return validateZeroInputParameters(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.DECISION_NODE___VALIDATE_EDGES__DIAGNOSTICCHAIN_MAP :
+				return validateEdges((DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 		}
 		return eDynamicInvoke(operationID, arguments);
 	}
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/DeploymentSpecificationImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/DeploymentSpecificationImpl.java
index 781d247..1df1e8c 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/DeploymentSpecificationImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/DeploymentSpecificationImpl.java
@@ -9,9 +9,8 @@
  *   IBM - initial API and implementation
  *   Kenn Hussey (Embarcadero Technologies) - 204200
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: DeploymentSpecificationImpl.java,v 1.25 2010/09/28 21:02:14 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -1135,10 +1134,6 @@
 				return allOwnedElements();
 			case UMLPackage.DEPLOYMENT_SPECIFICATION___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.DEPLOYMENT_SPECIFICATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.DEPLOYMENT_SPECIFICATION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -1147,6 +1142,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.DEPLOYMENT_SPECIFICATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.DEPLOYMENT_SPECIFICATION___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.DEPLOYMENT_SPECIFICATION___CREATE_USAGE__NAMEDELEMENT :
@@ -1236,14 +1235,6 @@
 				return isTemplate();
 			case UMLPackage.DEPLOYMENT_SPECIFICATION___PARAMETERABLE_ELEMENTS :
 				return parameterableElements();
-			case UMLPackage.DEPLOYMENT_SPECIFICATION___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP :
-				return validateSpecializeType(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.DEPLOYMENT_SPECIFICATION___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP :
-				return validateMapsToGeneralizationSet(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.DEPLOYMENT_SPECIFICATION___VALIDATE_NON_FINAL_PARENTS__DIAGNOSTICCHAIN_MAP :
 				return validateNonFinalParents(
 					(DiagnosticChain) arguments.get(0),
@@ -1252,6 +1243,14 @@
 				return validateNoCyclesInGeneralization(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.DEPLOYMENT_SPECIFICATION___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP :
+				return validateSpecializeType(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.DEPLOYMENT_SPECIFICATION___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP :
+				return validateMapsToGeneralizationSet(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.DEPLOYMENT_SPECIFICATION___GET_ALL_ATTRIBUTES :
 				return getAllAttributes();
 			case UMLPackage.DEPLOYMENT_SPECIFICATION___GET_ALL_OPERATIONS :
@@ -1298,14 +1297,14 @@
 				return createOwnedOperation((String) arguments.get(0),
 					(EList<String>) arguments.get(1),
 					(EList<Type>) arguments.get(2), (Type) arguments.get(3));
-			case UMLPackage.DEPLOYMENT_SPECIFICATION___VALIDATE_DEPLOYMENT_TARGET__DIAGNOSTICCHAIN_MAP :
-				return validateDeploymentTarget(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.DEPLOYMENT_SPECIFICATION___VALIDATE_DEPLOYED_ELEMENTS__DIAGNOSTICCHAIN_MAP :
 				return validateDeployedElements(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.DEPLOYMENT_SPECIFICATION___VALIDATE_DEPLOYMENT_TARGET__DIAGNOSTICCHAIN_MAP :
+				return validateDeploymentTarget(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 		}
 		return eDynamicInvoke(operationID, arguments);
 	}
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/DestroyObjectActionImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/DestroyObjectActionImpl.java
index 7cdd176..f62e0d2 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/DestroyObjectActionImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/DestroyObjectActionImpl.java
@@ -9,9 +9,8 @@
  *   IBM - initial API and implementation
  *   Kenn Hussey (Embarcadero Technologies) - 204200
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: DestroyObjectActionImpl.java,v 1.30 2010/09/28 21:02:13 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -379,8 +378,6 @@
 					.basicRemove(otherEnd, msgs);
 			case UMLPackage.DESTROY_OBJECT_ACTION__NAME_EXPRESSION :
 				return basicSetNameExpression(null, msgs);
-			case UMLPackage.DESTROY_OBJECT_ACTION__ACTIVITY :
-				return basicSetActivity(null, msgs);
 			case UMLPackage.DESTROY_OBJECT_ACTION__IN_PARTITION :
 				return ((InternalEList<?>) getInPartitions()).basicRemove(
 					otherEnd, msgs);
@@ -454,8 +451,6 @@
 				if (resolve)
 					return getActivity();
 				return basicGetActivity();
-			case UMLPackage.DESTROY_OBJECT_ACTION__IN_GROUP :
-				return getInGroups();
 			case UMLPackage.DESTROY_OBJECT_ACTION__IN_PARTITION :
 				return getInPartitions();
 			case UMLPackage.DESTROY_OBJECT_ACTION__IN_STRUCTURED_NODE :
@@ -468,6 +463,8 @@
 				return getOutgoings();
 			case UMLPackage.DESTROY_OBJECT_ACTION__INCOMING :
 				return getIncomings();
+			case UMLPackage.DESTROY_OBJECT_ACTION__IN_GROUP :
+				return getInGroups();
 			case UMLPackage.DESTROY_OBJECT_ACTION__REDEFINED_NODE :
 				return getRedefinedNodes();
 			case UMLPackage.DESTROY_OBJECT_ACTION__HANDLER :
@@ -711,8 +708,6 @@
 				return isSetRedefinitionContexts();
 			case UMLPackage.DESTROY_OBJECT_ACTION__ACTIVITY :
 				return basicGetActivity() != null;
-			case UMLPackage.DESTROY_OBJECT_ACTION__IN_GROUP :
-				return isSetInGroups();
 			case UMLPackage.DESTROY_OBJECT_ACTION__IN_PARTITION :
 				return inPartitions != null && !inPartitions.isEmpty();
 			case UMLPackage.DESTROY_OBJECT_ACTION__IN_STRUCTURED_NODE :
@@ -724,6 +719,8 @@
 				return outgoings != null && !outgoings.isEmpty();
 			case UMLPackage.DESTROY_OBJECT_ACTION__INCOMING :
 				return incomings != null && !incomings.isEmpty();
+			case UMLPackage.DESTROY_OBJECT_ACTION__IN_GROUP :
+				return isSetInGroups();
 			case UMLPackage.DESTROY_OBJECT_ACTION__REDEFINED_NODE :
 				return redefinedNodes != null && !redefinedNodes.isEmpty();
 			case UMLPackage.DESTROY_OBJECT_ACTION__HANDLER :
@@ -844,10 +841,6 @@
 				return allOwnedElements();
 			case UMLPackage.DESTROY_OBJECT_ACTION___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.DESTROY_OBJECT_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.DESTROY_OBJECT_ACTION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -856,6 +849,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.DESTROY_OBJECT_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.DESTROY_OBJECT_ACTION___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.DESTROY_OBJECT_ACTION___CREATE_USAGE__NAMEDELEMENT :
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/DestructionOccurrenceSpecificationImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/DestructionOccurrenceSpecificationImpl.java
index 432b674..73fbe6a 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/DestructionOccurrenceSpecificationImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/DestructionOccurrenceSpecificationImpl.java
@@ -7,6 +7,7 @@
  *
  * Contributors:
  *   CEA - initial API and implementation
+ *   Kenn Hussey (CEA) - 351774
  *
  */
 package org.eclipse.uml2.uml.internal.impl;
@@ -163,10 +164,6 @@
 				return allOwnedElements();
 			case UMLPackage.DESTRUCTION_OCCURRENCE_SPECIFICATION___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.DESTRUCTION_OCCURRENCE_SPECIFICATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.DESTRUCTION_OCCURRENCE_SPECIFICATION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -175,6 +172,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.DESTRUCTION_OCCURRENCE_SPECIFICATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.DESTRUCTION_OCCURRENCE_SPECIFICATION___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.DESTRUCTION_OCCURRENCE_SPECIFICATION___CREATE_USAGE__NAMEDELEMENT :
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/DurationConstraintImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/DurationConstraintImpl.java
index 2cff0f9..040e5d3 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/DurationConstraintImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/DurationConstraintImpl.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: DurationConstraintImpl.java,v 1.25 2010/09/28 21:02:13 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -560,10 +559,6 @@
 				return allOwnedElements();
 			case UMLPackage.DURATION_CONSTRAINT___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.DURATION_CONSTRAINT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.DURATION_CONSTRAINT___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -572,6 +567,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.DURATION_CONSTRAINT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.DURATION_CONSTRAINT___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.DURATION_CONSTRAINT___CREATE_USAGE__NAMEDELEMENT :
@@ -597,16 +596,16 @@
 				return isCompatibleWith((ParameterableElement) arguments.get(0));
 			case UMLPackage.DURATION_CONSTRAINT___IS_TEMPLATE_PARAMETER :
 				return isTemplateParameter();
-			case UMLPackage.DURATION_CONSTRAINT___VALIDATE_BOOLEAN_VALUE__DIAGNOSTICCHAIN_MAP :
-				return validateBooleanValue((DiagnosticChain) arguments.get(0),
+			case UMLPackage.DURATION_CONSTRAINT___VALIDATE_NOT_APPLY_TO_SELF__DIAGNOSTICCHAIN_MAP :
+				return validateNotApplyToSelf(
+					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.DURATION_CONSTRAINT___VALIDATE_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP :
 				return validateNoSideEffects(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.DURATION_CONSTRAINT___VALIDATE_NOT_APPLY_TO_SELF__DIAGNOSTICCHAIN_MAP :
-				return validateNotApplyToSelf(
-					(DiagnosticChain) arguments.get(0),
+			case UMLPackage.DURATION_CONSTRAINT___VALIDATE_BOOLEAN_VALUE__DIAGNOSTICCHAIN_MAP :
+				return validateBooleanValue((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.DURATION_CONSTRAINT___VALIDATE_VALUE_SPECIFICATION_BOOLEAN__DIAGNOSTICCHAIN_MAP :
 				return validateValueSpecificationBoolean(
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/DurationImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/DurationImpl.java
index c1815d0..69d293e 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/DurationImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/DurationImpl.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: DurationImpl.java,v 1.21 2010/09/28 21:02:14 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -619,10 +618,6 @@
 				return allOwnedElements();
 			case UMLPackage.DURATION___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.DURATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.DURATION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -631,6 +626,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.DURATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.DURATION___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.DURATION___CREATE_USAGE__NAMEDELEMENT :
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/DurationObservationImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/DurationObservationImpl.java
index 669741a..1260ef5 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/DurationObservationImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/DurationObservationImpl.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: DurationObservationImpl.java,v 1.9 2010/09/28 21:02:13 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -443,10 +442,6 @@
 				return allOwnedElements();
 			case UMLPackage.DURATION_OBSERVATION___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.DURATION_OBSERVATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.DURATION_OBSERVATION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -455,6 +450,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.DURATION_OBSERVATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.DURATION_OBSERVATION___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.DURATION_OBSERVATION___CREATE_USAGE__NAMEDELEMENT :
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ElementImportImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ElementImportImpl.java
index e50f535..de3d493 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ElementImportImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ElementImportImpl.java
@@ -9,9 +9,8 @@
  *   IBM - initial API and implementation
  *   Kenn Hussey (Embarcadero Technologies) - 204200
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ElementImportImpl.java,v 1.22 2010/09/28 21:02:14 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -59,8 +58,8 @@
  * The following features are implemented:
  * <ul>
  *   <li>{@link org.eclipse.uml2.uml.internal.impl.ElementImportImpl#getTargets <em>Target</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.internal.impl.ElementImportImpl#getSources <em>Source</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.internal.impl.ElementImportImpl#getOwner <em>Owner</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.internal.impl.ElementImportImpl#getSources <em>Source</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.internal.impl.ElementImportImpl#getAlias <em>Alias</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.internal.impl.ElementImportImpl#getImportedElement <em>Imported Element</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.internal.impl.ElementImportImpl#getImportingNamespace <em>Importing Namespace</em>}</li>
@@ -733,14 +732,14 @@
 				return allOwnedElements();
 			case UMLPackage.ELEMENT_IMPORT___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.ELEMENT_IMPORT___VALIDATE_IMPORTED_ELEMENT_IS_PUBLIC__DIAGNOSTICCHAIN_MAP :
-				return validateImportedElementIsPublic(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.ELEMENT_IMPORT___VALIDATE_VISIBILITY_PUBLIC_OR_PRIVATE__DIAGNOSTICCHAIN_MAP :
 				return validateVisibilityPublicOrPrivate(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.ELEMENT_IMPORT___VALIDATE_IMPORTED_ELEMENT_IS_PUBLIC__DIAGNOSTICCHAIN_MAP :
+				return validateImportedElementIsPublic(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.ELEMENT_IMPORT___GET_NAME :
 				return getName();
 		}
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/EnumerationLiteralImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/EnumerationLiteralImpl.java
index d9adb9d..c91f8e7 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/EnumerationLiteralImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/EnumerationLiteralImpl.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: EnumerationLiteralImpl.java,v 1.19 2009/01/07 15:55:25 jbruck Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -659,10 +658,6 @@
 				return allOwnedElements();
 			case UMLPackage.ENUMERATION_LITERAL___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.ENUMERATION_LITERAL___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.ENUMERATION_LITERAL___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -671,6 +666,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.ENUMERATION_LITERAL___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.ENUMERATION_LITERAL___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.ENUMERATION_LITERAL___CREATE_USAGE__NAMEDELEMENT :
@@ -698,10 +697,6 @@
 				return isCompatibleWith((ParameterableElement) arguments.get(0));
 			case UMLPackage.ENUMERATION_LITERAL___IS_TEMPLATE_PARAMETER :
 				return isTemplateParameter();
-			case UMLPackage.ENUMERATION_LITERAL___VALIDATE_DEPLOYMENT_ARTIFACT__DIAGNOSTICCHAIN_MAP :
-				return validateDeploymentArtifact(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.ENUMERATION_LITERAL___VALIDATE_STRUCTURAL_FEATURE__DIAGNOSTICCHAIN_MAP :
 				return validateStructuralFeature(
 					(DiagnosticChain) arguments.get(0),
@@ -714,6 +709,10 @@
 				return validateDeploymentTarget(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.ENUMERATION_LITERAL___VALIDATE_DEPLOYMENT_ARTIFACT__DIAGNOSTICCHAIN_MAP :
+				return validateDeploymentArtifact(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.ENUMERATION_LITERAL___VALIDATE_CLASSIFIER_EQUALS_OWNING_ENUMERATION__DIAGNOSTICCHAIN_MAP :
 				return validateClassifierEqualsOwningEnumeration(
 					(DiagnosticChain) arguments.get(0),
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ExceptionHandlerImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ExceptionHandlerImpl.java
index 76459d5..84dd675 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ExceptionHandlerImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ExceptionHandlerImpl.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ExceptionHandlerImpl.java,v 1.21 2010/09/28 21:02:14 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -642,13 +641,6 @@
 				return allOwnedElements();
 			case UMLPackage.EXCEPTION_HANDLER___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.EXCEPTION_HANDLER___VALIDATE_EXCEPTION_BODY__DIAGNOSTICCHAIN_MAP :
-				return validateExceptionBody(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.EXCEPTION_HANDLER___VALIDATE_RESULT_PINS__DIAGNOSTICCHAIN_MAP :
-				return validateResultPins((DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.EXCEPTION_HANDLER___VALIDATE_ONE_INPUT__DIAGNOSTICCHAIN_MAP :
 				return validateOneInput((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
@@ -656,6 +648,13 @@
 				return validateEdgeSourceTarget(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.EXCEPTION_HANDLER___VALIDATE_RESULT_PINS__DIAGNOSTICCHAIN_MAP :
+				return validateResultPins((DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.EXCEPTION_HANDLER___VALIDATE_EXCEPTION_BODY__DIAGNOSTICCHAIN_MAP :
+				return validateExceptionBody(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 		}
 		return eDynamicInvoke(operationID, arguments);
 	}
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ExecutableNodeImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ExecutableNodeImpl.java
index 1beff37..51c6565 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ExecutableNodeImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ExecutableNodeImpl.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ExecutableNodeImpl.java,v 1.23 2009/01/07 15:55:31 jbruck Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -161,10 +160,6 @@
 			case UMLPackage.EXECUTABLE_NODE__CLIENT_DEPENDENCY :
 				return ((InternalEList<InternalEObject>) (InternalEList<?>) getClientDependencies())
 					.basicAdd(otherEnd, msgs);
-			case UMLPackage.EXECUTABLE_NODE__ACTIVITY :
-				if (eInternalContainer() != null)
-					msgs = eBasicRemoveFromContainer(msgs);
-				return basicSetActivity((Activity) otherEnd, msgs);
 			case UMLPackage.EXECUTABLE_NODE__IN_PARTITION :
 				return ((InternalEList<InternalEObject>) (InternalEList<?>) getInPartitions())
 					.basicAdd(otherEnd, msgs);
@@ -209,8 +204,6 @@
 					.basicRemove(otherEnd, msgs);
 			case UMLPackage.EXECUTABLE_NODE__NAME_EXPRESSION :
 				return basicSetNameExpression(null, msgs);
-			case UMLPackage.EXECUTABLE_NODE__ACTIVITY :
-				return basicSetActivity(null, msgs);
 			case UMLPackage.EXECUTABLE_NODE__IN_PARTITION :
 				return ((InternalEList<?>) getInPartitions()).basicRemove(
 					otherEnd, msgs);
@@ -276,8 +269,6 @@
 				if (resolve)
 					return getActivity();
 				return basicGetActivity();
-			case UMLPackage.EXECUTABLE_NODE__IN_GROUP :
-				return getInGroups();
 			case UMLPackage.EXECUTABLE_NODE__IN_PARTITION :
 				return getInPartitions();
 			case UMLPackage.EXECUTABLE_NODE__IN_STRUCTURED_NODE :
@@ -290,6 +281,8 @@
 				return getOutgoings();
 			case UMLPackage.EXECUTABLE_NODE__INCOMING :
 				return getIncomings();
+			case UMLPackage.EXECUTABLE_NODE__IN_GROUP :
+				return getInGroups();
 			case UMLPackage.EXECUTABLE_NODE__REDEFINED_NODE :
 				return getRedefinedNodes();
 			case UMLPackage.EXECUTABLE_NODE__HANDLER :
@@ -471,8 +464,6 @@
 				return isSetRedefinitionContexts();
 			case UMLPackage.EXECUTABLE_NODE__ACTIVITY :
 				return basicGetActivity() != null;
-			case UMLPackage.EXECUTABLE_NODE__IN_GROUP :
-				return isSetInGroups();
 			case UMLPackage.EXECUTABLE_NODE__IN_PARTITION :
 				return inPartitions != null && !inPartitions.isEmpty();
 			case UMLPackage.EXECUTABLE_NODE__IN_STRUCTURED_NODE :
@@ -484,6 +475,8 @@
 				return outgoings != null && !outgoings.isEmpty();
 			case UMLPackage.EXECUTABLE_NODE__INCOMING :
 				return incomings != null && !incomings.isEmpty();
+			case UMLPackage.EXECUTABLE_NODE__IN_GROUP :
+				return isSetInGroups();
 			case UMLPackage.EXECUTABLE_NODE__REDEFINED_NODE :
 				return redefinedNodes != null && !redefinedNodes.isEmpty();
 			case UMLPackage.EXECUTABLE_NODE__HANDLER :
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ExecutionSpecificationImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ExecutionSpecificationImpl.java
index 7c2adf2..9e9a7ae 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ExecutionSpecificationImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ExecutionSpecificationImpl.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ExecutionSpecificationImpl.java,v 1.18 2010/09/28 21:02:13 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -499,10 +498,6 @@
 				return allOwnedElements();
 			case UMLPackage.EXECUTION_SPECIFICATION___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.EXECUTION_SPECIFICATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.EXECUTION_SPECIFICATION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -511,6 +506,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.EXECUTION_SPECIFICATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.EXECUTION_SPECIFICATION___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.EXECUTION_SPECIFICATION___CREATE_USAGE__NAMEDELEMENT :
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ExpansionNodeImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ExpansionNodeImpl.java
index c5b7b74..4733f7b 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ExpansionNodeImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ExpansionNodeImpl.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey (Embarcadero Technologies) - 204200
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ExpansionNodeImpl.java,v 1.21 2009/01/07 15:55:30 jbruck Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -286,10 +285,6 @@
 			case UMLPackage.EXPANSION_NODE__CLIENT_DEPENDENCY :
 				return ((InternalEList<InternalEObject>) (InternalEList<?>) getClientDependencies())
 					.basicAdd(otherEnd, msgs);
-			case UMLPackage.EXPANSION_NODE__ACTIVITY :
-				if (eInternalContainer() != null)
-					msgs = eBasicRemoveFromContainer(msgs);
-				return basicSetActivity((Activity) otherEnd, msgs);
 			case UMLPackage.EXPANSION_NODE__IN_PARTITION :
 				return ((InternalEList<InternalEObject>) (InternalEList<?>) getInPartitions())
 					.basicAdd(otherEnd, msgs);
@@ -343,8 +338,6 @@
 					.basicRemove(otherEnd, msgs);
 			case UMLPackage.EXPANSION_NODE__NAME_EXPRESSION :
 				return basicSetNameExpression(null, msgs);
-			case UMLPackage.EXPANSION_NODE__ACTIVITY :
-				return basicSetActivity(null, msgs);
 			case UMLPackage.EXPANSION_NODE__IN_PARTITION :
 				return ((InternalEList<?>) getInPartitions()).basicRemove(
 					otherEnd, msgs);
@@ -413,8 +406,6 @@
 				if (resolve)
 					return getActivity();
 				return basicGetActivity();
-			case UMLPackage.EXPANSION_NODE__IN_GROUP :
-				return getInGroups();
 			case UMLPackage.EXPANSION_NODE__IN_PARTITION :
 				return getInPartitions();
 			case UMLPackage.EXPANSION_NODE__IN_STRUCTURED_NODE :
@@ -427,6 +418,8 @@
 				return getOutgoings();
 			case UMLPackage.EXPANSION_NODE__INCOMING :
 				return getIncomings();
+			case UMLPackage.EXPANSION_NODE__IN_GROUP :
+				return getInGroups();
 			case UMLPackage.EXPANSION_NODE__REDEFINED_NODE :
 				return getRedefinedNodes();
 			case UMLPackage.EXPANSION_NODE__TYPE :
@@ -673,8 +666,6 @@
 				return isSetRedefinitionContexts();
 			case UMLPackage.EXPANSION_NODE__ACTIVITY :
 				return basicGetActivity() != null;
-			case UMLPackage.EXPANSION_NODE__IN_GROUP :
-				return isSetInGroups();
 			case UMLPackage.EXPANSION_NODE__IN_PARTITION :
 				return inPartitions != null && !inPartitions.isEmpty();
 			case UMLPackage.EXPANSION_NODE__IN_STRUCTURED_NODE :
@@ -686,6 +677,8 @@
 				return outgoings != null && !outgoings.isEmpty();
 			case UMLPackage.EXPANSION_NODE__INCOMING :
 				return incomings != null && !incomings.isEmpty();
+			case UMLPackage.EXPANSION_NODE__IN_GROUP :
+				return isSetInGroups();
 			case UMLPackage.EXPANSION_NODE__REDEFINED_NODE :
 				return redefinedNodes != null && !redefinedNodes.isEmpty();
 			case UMLPackage.EXPANSION_NODE__TYPE :
@@ -800,10 +793,6 @@
 				return allOwnedElements();
 			case UMLPackage.EXPANSION_NODE___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.EXPANSION_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.EXPANSION_NODE___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -812,6 +801,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.EXPANSION_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.EXPANSION_NODE___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.EXPANSION_NODE___CREATE_USAGE__NAMEDELEMENT :
@@ -857,16 +850,16 @@
 				return validateOwnedStructuredNode(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.EXPANSION_NODE___VALIDATE_INPUT_OUTPUT_PARAMETER__DIAGNOSTICCHAIN_MAP :
-				return validateInputOutputParameter(
+			case UMLPackage.EXPANSION_NODE___VALIDATE_OBJECT_FLOW_EDGES__DIAGNOSTICCHAIN_MAP :
+				return validateObjectFlowEdges(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.EXPANSION_NODE___VALIDATE_SELECTION_BEHAVIOR__DIAGNOSTICCHAIN_MAP :
 				return validateSelectionBehavior(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.EXPANSION_NODE___VALIDATE_OBJECT_FLOW_EDGES__DIAGNOSTICCHAIN_MAP :
-				return validateObjectFlowEdges(
+			case UMLPackage.EXPANSION_NODE___VALIDATE_INPUT_OUTPUT_PARAMETER__DIAGNOSTICCHAIN_MAP :
+				return validateInputOutputParameter(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.EXPANSION_NODE___VALIDATE_REGION_AS_INPUT_OR_OUTPUT__DIAGNOSTICCHAIN_MAP :
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ExpansionRegionImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ExpansionRegionImpl.java
index 1a5891c..cf4ce70 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ExpansionRegionImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ExpansionRegionImpl.java
@@ -9,9 +9,8 @@
  *   IBM - initial API and implementation
  *   Kenn Hussey (Embarcadero Technologies) - 204200
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ExpansionRegionImpl.java,v 1.24 2010/09/28 21:02:14 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -309,10 +308,6 @@
 			case UMLPackage.EXPANSION_REGION__CLIENT_DEPENDENCY :
 				return ((InternalEList<InternalEObject>) (InternalEList<?>) getClientDependencies())
 					.basicAdd(otherEnd, msgs);
-			case UMLPackage.EXPANSION_REGION__ACTIVITY :
-				if (eInternalContainer() != null)
-					msgs = eBasicRemoveFromContainer(msgs);
-				return basicSetActivity((Activity) otherEnd, msgs);
 			case UMLPackage.EXPANSION_REGION__IN_PARTITION :
 				return ((InternalEList<InternalEObject>) (InternalEList<?>) getInPartitions())
 					.basicAdd(otherEnd, msgs);
@@ -342,10 +337,6 @@
 			case UMLPackage.EXPANSION_REGION__OWNED_RULE :
 				return ((InternalEList<InternalEObject>) (InternalEList<?>) getOwnedRules())
 					.basicAdd(otherEnd, msgs);
-			case UMLPackage.EXPANSION_REGION__IN_ACTIVITY :
-				if (eInternalContainer() != null)
-					msgs = eBasicRemoveFromContainer(msgs);
-				return basicSetInActivity((Activity) otherEnd, msgs);
 			case UMLPackage.EXPANSION_REGION__NODE :
 				return ((InternalEList<InternalEObject>) (InternalEList<?>) getNodes())
 					.basicAdd(otherEnd, msgs);
@@ -385,8 +376,6 @@
 					.basicRemove(otherEnd, msgs);
 			case UMLPackage.EXPANSION_REGION__NAME_EXPRESSION :
 				return basicSetNameExpression(null, msgs);
-			case UMLPackage.EXPANSION_REGION__ACTIVITY :
-				return basicSetActivity(null, msgs);
 			case UMLPackage.EXPANSION_REGION__IN_PARTITION :
 				return ((InternalEList<?>) getInPartitions()).basicRemove(
 					otherEnd, msgs);
@@ -419,8 +408,6 @@
 			case UMLPackage.EXPANSION_REGION__OWNED_RULE :
 				return ((InternalEList<?>) getOwnedRules()).basicRemove(
 					otherEnd, msgs);
-			case UMLPackage.EXPANSION_REGION__IN_ACTIVITY :
-				return basicSetInActivity(null, msgs);
 			case UMLPackage.EXPANSION_REGION__NODE :
 				return ((InternalEList<?>) getNodes()).basicRemove(otherEnd,
 					msgs);
@@ -490,8 +477,6 @@
 				if (resolve)
 					return getActivity();
 				return basicGetActivity();
-			case UMLPackage.EXPANSION_REGION__IN_GROUP :
-				return getInGroups();
 			case UMLPackage.EXPANSION_REGION__IN_PARTITION :
 				return getInPartitions();
 			case UMLPackage.EXPANSION_REGION__IN_STRUCTURED_NODE :
@@ -504,6 +489,8 @@
 				return getOutgoings();
 			case UMLPackage.EXPANSION_REGION__INCOMING :
 				return getIncomings();
+			case UMLPackage.EXPANSION_REGION__IN_GROUP :
+				return getInGroups();
 			case UMLPackage.EXPANSION_REGION__REDEFINED_NODE :
 				return getRedefinedNodes();
 			case UMLPackage.EXPANSION_REGION__HANDLER :
@@ -534,6 +521,8 @@
 				return getImportedMembers();
 			case UMLPackage.EXPANSION_REGION__MEMBER :
 				return getMembers();
+			case UMLPackage.EXPANSION_REGION__CONTAINED_EDGE :
+				return getContainedEdges();
 			case UMLPackage.EXPANSION_REGION__CONTAINED_NODE :
 				return getContainedNodes();
 			case UMLPackage.EXPANSION_REGION__IN_ACTIVITY :
@@ -546,8 +535,6 @@
 				if (resolve)
 					return getSuperGroup();
 				return basicGetSuperGroup();
-			case UMLPackage.EXPANSION_REGION__CONTAINED_EDGE :
-				return getContainedEdges();
 			case UMLPackage.EXPANSION_REGION__MUST_ISOLATE :
 				return isMustIsolate();
 			case UMLPackage.EXPANSION_REGION__NODE :
@@ -863,8 +850,6 @@
 				return isSetRedefinitionContexts();
 			case UMLPackage.EXPANSION_REGION__ACTIVITY :
 				return isSetActivity();
-			case UMLPackage.EXPANSION_REGION__IN_GROUP :
-				return isSetInGroups();
 			case UMLPackage.EXPANSION_REGION__IN_PARTITION :
 				return inPartitions != null && !inPartitions.isEmpty();
 			case UMLPackage.EXPANSION_REGION__IN_STRUCTURED_NODE :
@@ -876,6 +861,8 @@
 				return outgoings != null && !outgoings.isEmpty();
 			case UMLPackage.EXPANSION_REGION__INCOMING :
 				return incomings != null && !incomings.isEmpty();
+			case UMLPackage.EXPANSION_REGION__IN_GROUP :
+				return isSetInGroups();
 			case UMLPackage.EXPANSION_REGION__REDEFINED_NODE :
 				return redefinedNodes != null && !redefinedNodes.isEmpty();
 			case UMLPackage.EXPANSION_REGION__HANDLER :
@@ -906,6 +893,8 @@
 				return !getImportedMembers().isEmpty();
 			case UMLPackage.EXPANSION_REGION__MEMBER :
 				return isSetMembers();
+			case UMLPackage.EXPANSION_REGION__CONTAINED_EDGE :
+				return isSetContainedEdges();
 			case UMLPackage.EXPANSION_REGION__CONTAINED_NODE :
 				return isSetContainedNodes();
 			case UMLPackage.EXPANSION_REGION__IN_ACTIVITY :
@@ -914,8 +903,6 @@
 				return isSetSubgroups();
 			case UMLPackage.EXPANSION_REGION__SUPER_GROUP :
 				return isSetSuperGroup();
-			case UMLPackage.EXPANSION_REGION__CONTAINED_EDGE :
-				return isSetContainedEdges();
 			case UMLPackage.EXPANSION_REGION__MUST_ISOLATE :
 				return ((eFlags & MUST_ISOLATE_EFLAG) != 0) != MUST_ISOLATE_EDEFAULT;
 			case UMLPackage.EXPANSION_REGION__NODE :
@@ -1032,10 +1019,6 @@
 				return allOwnedElements();
 			case UMLPackage.EXPANSION_REGION___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.EXPANSION_REGION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.EXPANSION_REGION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -1044,6 +1027,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.EXPANSION_REGION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.EXPANSION_REGION___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.EXPANSION_REGION___CREATE_USAGE__NAMEDELEMENT :
@@ -1121,25 +1108,25 @@
 				return membersAreDistinguishable();
 			case UMLPackage.EXPANSION_REGION___GET_OWNED_MEMBERS :
 				return getOwnedMembers();
-			case UMLPackage.EXPANSION_REGION___VALIDATE_NODES_AND_EDGES__DIAGNOSTICCHAIN_MAP :
-				return validateNodesAndEdges(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.EXPANSION_REGION___VALIDATE_GROUP_OWNED__DIAGNOSTICCHAIN_MAP :
 				return validateGroupOwned((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.EXPANSION_REGION___VALIDATE_NOT_CONTAINED__DIAGNOSTICCHAIN_MAP :
 				return validateNotContained((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.EXPANSION_REGION___VALIDATE_OUTPUT_PIN_EDGES__DIAGNOSTICCHAIN_MAP :
-				return validateOutputPinEdges(
+			case UMLPackage.EXPANSION_REGION___VALIDATE_NODES_AND_EDGES__DIAGNOSTICCHAIN_MAP :
+				return validateNodesAndEdges(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.EXPANSION_REGION___VALIDATE_INPUT_PIN_EDGES__DIAGNOSTICCHAIN_MAP :
+				return validateInputPinEdges(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.EXPANSION_REGION___VALIDATE_EDGES__DIAGNOSTICCHAIN_MAP :
 				return validateEdges((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.EXPANSION_REGION___VALIDATE_INPUT_PIN_EDGES__DIAGNOSTICCHAIN_MAP :
-				return validateInputPinEdges(
+			case UMLPackage.EXPANSION_REGION___VALIDATE_OUTPUT_PIN_EDGES__DIAGNOSTICCHAIN_MAP :
+				return validateOutputPinEdges(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.EXPANSION_REGION___VALIDATE_EXPANSION_NODES__DIAGNOSTICCHAIN_MAP :
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ExtendImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ExtendImpl.java
index b4ce5b1..8892835 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ExtendImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ExtendImpl.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ExtendImpl.java,v 1.27 2010/09/28 21:02:14 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -907,10 +906,6 @@
 				return allOwnedElements();
 			case UMLPackage.EXTEND___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.EXTEND___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.EXTEND___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -919,6 +914,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.EXTEND___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.EXTEND___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.EXTEND___CREATE_USAGE__NAMEDELEMENT :
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ExtensionEndImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ExtensionEndImpl.java
index c63c490..489a199 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ExtensionEndImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ExtensionEndImpl.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ExtensionEndImpl.java,v 1.26 2010/09/28 21:02:14 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -282,10 +281,6 @@
 				return allOwnedElements();
 			case UMLPackage.EXTENSION_END___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.EXTENSION_END___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.EXTENSION_END___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -294,6 +289,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.EXTENSION_END___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.EXTENSION_END___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.EXTENSION_END___CREATE_USAGE__NAMEDELEMENT :
@@ -332,20 +331,20 @@
 			case UMLPackage.EXTENSION_END___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
 				return isRedefinitionContextValid((RedefinableElement) arguments
 					.get(0));
-			case UMLPackage.EXTENSION_END___VALIDATE_UPPER_GE_LOWER__DIAGNOSTICCHAIN_MAP :
-				return validateUpperGeLower((DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.EXTENSION_END___VALIDATE_LOWER_GE0__DIAGNOSTICCHAIN_MAP :
 				return validateLowerGe0((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.EXTENSION_END___VALIDATE_VALUE_SPECIFICATION_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP :
-				return validateValueSpecificationNoSideEffects(
-					(DiagnosticChain) arguments.get(0),
+			case UMLPackage.EXTENSION_END___VALIDATE_UPPER_GE_LOWER__DIAGNOSTICCHAIN_MAP :
+				return validateUpperGeLower((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.EXTENSION_END___VALIDATE_VALUE_SPECIFICATION_CONSTANT__DIAGNOSTICCHAIN_MAP :
 				return validateValueSpecificationConstant(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.EXTENSION_END___VALIDATE_VALUE_SPECIFICATION_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP :
+				return validateValueSpecificationNoSideEffects(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.EXTENSION_END___SET_LOWER__INT :
 				setLower((Integer) arguments.get(0));
 				return null;
@@ -380,40 +379,40 @@
 				return getEnds();
 			case UMLPackage.EXTENSION_END___GET_DEPLOYED_ELEMENTS :
 				return getDeployedElements();
-			case UMLPackage.EXTENSION_END___VALIDATE_SUBSETTING_CONTEXT_CONFORMS__DIAGNOSTICCHAIN_MAP :
-				return validateSubsettingContextConforms(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.EXTENSION_END___VALIDATE_DERIVED_UNION_IS_READ_ONLY__DIAGNOSTICCHAIN_MAP :
-				return validateDerivedUnionIsReadOnly(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.EXTENSION_END___VALIDATE_MULTIPLICITY_OF_COMPOSITE__DIAGNOSTICCHAIN_MAP :
-				return validateMultiplicityOfComposite(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.EXTENSION_END___VALIDATE_REDEFINED_PROPERTY_INHERITED__DIAGNOSTICCHAIN_MAP :
-				return validateRedefinedPropertyInherited(
+			case UMLPackage.EXTENSION_END___VALIDATE_SUBSETTED_PROPERTY_NAMES__DIAGNOSTICCHAIN_MAP :
+				return validateSubsettedPropertyNames(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.EXTENSION_END___VALIDATE_SUBSETTING_RULES__DIAGNOSTICCHAIN_MAP :
 				return validateSubsettingRules(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.EXTENSION_END___VALIDATE_MULTIPLICITY_OF_COMPOSITE__DIAGNOSTICCHAIN_MAP :
+				return validateMultiplicityOfComposite(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.EXTENSION_END___VALIDATE_BINDING_TO_ATTRIBUTE__DIAGNOSTICCHAIN_MAP :
 				return validateBindingToAttribute(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.EXTENSION_END___VALIDATE_DERIVED_UNION_IS_DERIVED__DIAGNOSTICCHAIN_MAP :
-				return validateDerivedUnionIsDerived(
+			case UMLPackage.EXTENSION_END___VALIDATE_REDEFINED_PROPERTY_INHERITED__DIAGNOSTICCHAIN_MAP :
+				return validateRedefinedPropertyInherited(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.EXTENSION_END___VALIDATE_SUBSETTING_CONTEXT_CONFORMS__DIAGNOSTICCHAIN_MAP :
+				return validateSubsettingContextConforms(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.EXTENSION_END___VALIDATE_DEPLOYMENT_TARGET__DIAGNOSTICCHAIN_MAP :
 				return validateDeploymentTarget(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.EXTENSION_END___VALIDATE_SUBSETTED_PROPERTY_NAMES__DIAGNOSTICCHAIN_MAP :
-				return validateSubsettedPropertyNames(
+			case UMLPackage.EXTENSION_END___VALIDATE_DERIVED_UNION_IS_DERIVED__DIAGNOSTICCHAIN_MAP :
+				return validateDerivedUnionIsDerived(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.EXTENSION_END___VALIDATE_DERIVED_UNION_IS_READ_ONLY__DIAGNOSTICCHAIN_MAP :
+				return validateDerivedUnionIsReadOnly(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.EXTENSION_END___GET_OTHER_END :
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ExtensionImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ExtensionImpl.java
index 2be3fdf..1f761b6 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ExtensionImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ExtensionImpl.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ExtensionImpl.java,v 1.31 2010/09/28 21:02:14 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -573,10 +572,6 @@
 				return allOwnedElements();
 			case UMLPackage.EXTENSION___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.EXTENSION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.EXTENSION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -585,6 +580,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.EXTENSION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.EXTENSION___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.EXTENSION___CREATE_USAGE__NAMEDELEMENT :
@@ -674,14 +673,6 @@
 				return isTemplate();
 			case UMLPackage.EXTENSION___PARAMETERABLE_ELEMENTS :
 				return parameterableElements();
-			case UMLPackage.EXTENSION___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP :
-				return validateSpecializeType(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.EXTENSION___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP :
-				return validateMapsToGeneralizationSet(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.EXTENSION___VALIDATE_NON_FINAL_PARENTS__DIAGNOSTICCHAIN_MAP :
 				return validateNonFinalParents(
 					(DiagnosticChain) arguments.get(0),
@@ -690,6 +681,14 @@
 				return validateNoCyclesInGeneralization(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.EXTENSION___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP :
+				return validateSpecializeType(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.EXTENSION___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP :
+				return validateMapsToGeneralizationSet(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.EXTENSION___GET_ALL_ATTRIBUTES :
 				return getAllAttributes();
 			case UMLPackage.EXTENSION___GET_ALL_OPERATIONS :
@@ -732,16 +731,16 @@
 				return validateSpecializedEndNumber(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.EXTENSION___VALIDATE_SPECIALIZED_END_TYPES__DIAGNOSTICCHAIN_MAP :
-				return validateSpecializedEndTypes(
+			case UMLPackage.EXTENSION___VALIDATE_ASSOCIATION_ENDS__DIAGNOSTICCHAIN_MAP :
+				return validateAssociationEnds(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.EXTENSION___VALIDATE_BINARY_ASSOCIATIONS__DIAGNOSTICCHAIN_MAP :
 				return validateBinaryAssociations(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.EXTENSION___VALIDATE_ASSOCIATION_ENDS__DIAGNOSTICCHAIN_MAP :
-				return validateAssociationEnds(
+			case UMLPackage.EXTENSION___VALIDATE_SPECIALIZED_END_TYPES__DIAGNOSTICCHAIN_MAP :
+				return validateSpecializedEndTypes(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.EXTENSION___IS_BINARY :
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ExtensionPointImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ExtensionPointImpl.java
index 199e5ab..80adb00 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ExtensionPointImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ExtensionPointImpl.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ExtensionPointImpl.java,v 1.19 2010/09/28 21:02:14 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -509,10 +508,6 @@
 				return allOwnedElements();
 			case UMLPackage.EXTENSION_POINT___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.EXTENSION_POINT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.EXTENSION_POINT___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -521,6 +516,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.EXTENSION_POINT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.EXTENSION_POINT___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.EXTENSION_POINT___CREATE_USAGE__NAMEDELEMENT :
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/FinalNodeImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/FinalNodeImpl.java
index be1aa2a..7ae8433 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/FinalNodeImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/FinalNodeImpl.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: FinalNodeImpl.java,v 1.5 2010/09/28 21:02:14 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -166,10 +165,6 @@
 				return allOwnedElements();
 			case UMLPackage.FINAL_NODE___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.FINAL_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.FINAL_NODE___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -178,6 +173,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.FINAL_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.FINAL_NODE___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.FINAL_NODE___CREATE_USAGE__NAMEDELEMENT :
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/FinalStateImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/FinalStateImpl.java
index d50b7a3..0085170 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/FinalStateImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/FinalStateImpl.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: FinalStateImpl.java,v 1.6 2010/09/28 21:02:14 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -224,10 +223,6 @@
 				return allOwnedElements();
 			case UMLPackage.FINAL_STATE___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.FINAL_STATE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.FINAL_STATE___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -236,6 +231,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.FINAL_STATE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.FINAL_STATE___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.FINAL_STATE___CREATE_USAGE__NAMEDELEMENT :
@@ -313,10 +312,6 @@
 			case UMLPackage.FINAL_STATE___VALIDATE_ENTRY_OR_EXIT__DIAGNOSTICCHAIN_MAP :
 				return validateEntryOrExit((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.FINAL_STATE___VALIDATE_SUBMACHINE_STATES__DIAGNOSTICCHAIN_MAP :
-				return validateSubmachineStates(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.FINAL_STATE___VALIDATE_COMPOSITE_STATES__DIAGNOSTICCHAIN_MAP :
 				return validateCompositeStates(
 					(DiagnosticChain) arguments.get(0),
@@ -329,6 +324,10 @@
 				return validateSubmachineOrRegions(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.FINAL_STATE___VALIDATE_SUBMACHINE_STATES__DIAGNOSTICCHAIN_MAP :
+				return validateSubmachineStates(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.FINAL_STATE___IS_COMPOSITE :
 				return isComposite();
 			case UMLPackage.FINAL_STATE___IS_ORTHOGONAL :
@@ -341,21 +340,18 @@
 				return isSubmachineState();
 			case UMLPackage.FINAL_STATE___REDEFINITION_CONTEXT :
 				return redefinitionContext();
-			case UMLPackage.FINAL_STATE___VALIDATE_NO_EXIT_BEHAVIOR__DIAGNOSTICCHAIN_MAP :
-				return validateNoExitBehavior(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.FINAL_STATE___VALIDATE_NO_OUTGOING_TRANSITIONS__DIAGNOSTICCHAIN_MAP :
 				return validateNoOutgoingTransitions(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.FINAL_STATE___VALIDATE_NO_REGIONS__DIAGNOSTICCHAIN_MAP :
-				return validateNoRegions((DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.FINAL_STATE___VALIDATE_CANNOT_REFERENCE_SUBMACHINE__DIAGNOSTICCHAIN_MAP :
 				return validateCannotReferenceSubmachine(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.FINAL_STATE___VALIDATE_NO_EXIT_BEHAVIOR__DIAGNOSTICCHAIN_MAP :
+				return validateNoExitBehavior(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.FINAL_STATE___VALIDATE_NO_ENTRY_BEHAVIOR__DIAGNOSTICCHAIN_MAP :
 				return validateNoEntryBehavior(
 					(DiagnosticChain) arguments.get(0),
@@ -364,6 +360,9 @@
 				return validateNoStateBehavior(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.FINAL_STATE___VALIDATE_NO_REGIONS__DIAGNOSTICCHAIN_MAP :
+				return validateNoRegions((DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 		}
 		return eDynamicInvoke(operationID, arguments);
 	}
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ForkNodeImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ForkNodeImpl.java
index 2198ebb..406c174 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ForkNodeImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ForkNodeImpl.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ForkNodeImpl.java,v 1.5 2010/09/28 21:02:13 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -176,10 +175,6 @@
 				return allOwnedElements();
 			case UMLPackage.FORK_NODE___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.FORK_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.FORK_NODE___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -188,6 +183,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.FORK_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.FORK_NODE___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.FORK_NODE___CREATE_USAGE__NAMEDELEMENT :
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/FunctionBehaviorImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/FunctionBehaviorImpl.java
index cf54d1e..8d6c129 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/FunctionBehaviorImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/FunctionBehaviorImpl.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: FunctionBehaviorImpl.java,v 1.5 2010/09/28 21:02:13 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -183,10 +182,6 @@
 				return allOwnedElements();
 			case UMLPackage.FUNCTION_BEHAVIOR___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.FUNCTION_BEHAVIOR___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.FUNCTION_BEHAVIOR___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -195,6 +190,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.FUNCTION_BEHAVIOR___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.FUNCTION_BEHAVIOR___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.FUNCTION_BEHAVIOR___CREATE_USAGE__NAMEDELEMENT :
@@ -284,14 +283,6 @@
 				return isTemplate();
 			case UMLPackage.FUNCTION_BEHAVIOR___PARAMETERABLE_ELEMENTS :
 				return parameterableElements();
-			case UMLPackage.FUNCTION_BEHAVIOR___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP :
-				return validateSpecializeType(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.FUNCTION_BEHAVIOR___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP :
-				return validateMapsToGeneralizationSet(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.FUNCTION_BEHAVIOR___VALIDATE_NON_FINAL_PARENTS__DIAGNOSTICCHAIN_MAP :
 				return validateNonFinalParents(
 					(DiagnosticChain) arguments.get(0),
@@ -300,6 +291,14 @@
 				return validateNoCyclesInGeneralization(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.FUNCTION_BEHAVIOR___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP :
+				return validateSpecializeType(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.FUNCTION_BEHAVIOR___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP :
+				return validateMapsToGeneralizationSet(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.FUNCTION_BEHAVIOR___GET_ALL_ATTRIBUTES :
 				return getAllAttributes();
 			case UMLPackage.FUNCTION_BEHAVIOR___GET_ALL_OPERATIONS :
@@ -371,13 +370,6 @@
 				return getExtensions();
 			case UMLPackage.FUNCTION_BEHAVIOR___GET_SUPER_CLASSES :
 				return getSuperClasses();
-			case UMLPackage.FUNCTION_BEHAVIOR___VALIDATE_MOST_ONE_BEHAVIOUR__DIAGNOSTICCHAIN_MAP :
-				return validateMostOneBehaviour(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.FUNCTION_BEHAVIOR___VALIDATE_MUST_REALIZE__DIAGNOSTICCHAIN_MAP :
-				return validateMustRealize((DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.FUNCTION_BEHAVIOR___VALIDATE_PARAMETERS_MATCH__DIAGNOSTICCHAIN_MAP :
 				return validateParametersMatch(
 					(DiagnosticChain) arguments.get(0),
@@ -386,6 +378,13 @@
 				return validateFeatureOfContextClassifier(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.FUNCTION_BEHAVIOR___VALIDATE_MUST_REALIZE__DIAGNOSTICCHAIN_MAP :
+				return validateMustRealize((DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.FUNCTION_BEHAVIOR___VALIDATE_MOST_ONE_BEHAVIOUR__DIAGNOSTICCHAIN_MAP :
+				return validateMostOneBehaviour(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.FUNCTION_BEHAVIOR___GET_CONTEXT :
 				return getContext();
 			case UMLPackage.FUNCTION_BEHAVIOR___VALIDATE_ONE_OUTPUT_PARAMETER__DIAGNOSTICCHAIN_MAP :
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/GateImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/GateImpl.java
index a7083d2..5555c70 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/GateImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/GateImpl.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: GateImpl.java,v 1.5 2010/09/28 21:02:14 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -176,10 +175,6 @@
 				return allOwnedElements();
 			case UMLPackage.GATE___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.GATE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.GATE___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -188,6 +183,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.GATE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.GATE___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.GATE___CREATE_USAGE__NAMEDELEMENT :
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/GeneralOrderingImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/GeneralOrderingImpl.java
index b39e86e..1c264db 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/GeneralOrderingImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/GeneralOrderingImpl.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: GeneralOrderingImpl.java,v 1.15 2007/04/25 17:47:02 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -569,10 +568,6 @@
 				return allOwnedElements();
 			case UMLPackage.GENERAL_ORDERING___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.GENERAL_ORDERING___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.GENERAL_ORDERING___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -581,6 +576,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.GENERAL_ORDERING___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.GENERAL_ORDERING___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.GENERAL_ORDERING___CREATE_USAGE__NAMEDELEMENT :
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/GeneralizationImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/GeneralizationImpl.java
index 9b447ed..a1d91e6 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/GeneralizationImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/GeneralizationImpl.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: GeneralizationImpl.java,v 1.23 2010/09/28 21:02:14 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -58,8 +57,8 @@
  * The following features are implemented:
  * <ul>
  *   <li>{@link org.eclipse.uml2.uml.internal.impl.GeneralizationImpl#getTargets <em>Target</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.internal.impl.GeneralizationImpl#getSources <em>Source</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.internal.impl.GeneralizationImpl#getOwner <em>Owner</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.internal.impl.GeneralizationImpl#getSources <em>Source</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.internal.impl.GeneralizationImpl#getGeneral <em>General</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.internal.impl.GeneralizationImpl#getGeneralizationSets <em>Generalization Set</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.internal.impl.GeneralizationImpl#isSubstitutable <em>Is Substitutable</em>}</li>
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/GeneralizationSetImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/GeneralizationSetImpl.java
index 540431c..d4aa4bc 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/GeneralizationSetImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/GeneralizationSetImpl.java
@@ -9,9 +9,8 @@
  *   IBM - initial API and implementation
  *   Kenn Hussey (Embarcadero Technologies) - 204200
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: GeneralizationSetImpl.java,v 1.21 2010/09/28 21:02:13 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -702,10 +701,6 @@
 				return allOwnedElements();
 			case UMLPackage.GENERALIZATION_SET___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.GENERALIZATION_SET___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.GENERALIZATION_SET___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -714,6 +709,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.GENERALIZATION_SET___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.GENERALIZATION_SET___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.GENERALIZATION_SET___CREATE_USAGE__NAMEDELEMENT :
@@ -739,14 +738,14 @@
 				return isCompatibleWith((ParameterableElement) arguments.get(0));
 			case UMLPackage.GENERALIZATION_SET___IS_TEMPLATE_PARAMETER :
 				return isTemplateParameter();
-			case UMLPackage.GENERALIZATION_SET___VALIDATE_GENERALIZATION_SAME_CLASSIFIER__DIAGNOSTICCHAIN_MAP :
-				return validateGeneralizationSameClassifier(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.GENERALIZATION_SET___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP :
 				return validateMapsToGeneralizationSet(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.GENERALIZATION_SET___VALIDATE_GENERALIZATION_SAME_CLASSIFIER__DIAGNOSTICCHAIN_MAP :
+				return validateGeneralizationSameClassifier(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 		}
 		return eDynamicInvoke(operationID, arguments);
 	}
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/InformationFlowImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/InformationFlowImpl.java
index 6936f38..476f66a 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/InformationFlowImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/InformationFlowImpl.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: InformationFlowImpl.java,v 1.18 2010/09/28 21:02:13 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -949,10 +948,6 @@
 				return allOwnedElements();
 			case UMLPackage.INFORMATION_FLOW___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.INFORMATION_FLOW___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.INFORMATION_FLOW___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -961,6 +956,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.INFORMATION_FLOW___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.INFORMATION_FLOW___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.INFORMATION_FLOW___CREATE_USAGE__NAMEDELEMENT :
@@ -986,13 +985,13 @@
 				return isCompatibleWith((ParameterableElement) arguments.get(0));
 			case UMLPackage.INFORMATION_FLOW___IS_TEMPLATE_PARAMETER :
 				return isTemplateParameter();
-			case UMLPackage.INFORMATION_FLOW___VALIDATE_MUST_CONFORM__DIAGNOSTICCHAIN_MAP :
-				return validateMustConform((DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.INFORMATION_FLOW___VALIDATE_SOURCES_AND_TARGETS_KIND__DIAGNOSTICCHAIN_MAP :
 				return validateSourcesAndTargetsKind(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.INFORMATION_FLOW___VALIDATE_MUST_CONFORM__DIAGNOSTICCHAIN_MAP :
+				return validateMustConform((DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.INFORMATION_FLOW___VALIDATE_CONVEY_CLASSIFIERS__DIAGNOSTICCHAIN_MAP :
 				return validateConveyClassifiers(
 					(DiagnosticChain) arguments.get(0),
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/InformationItemImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/InformationItemImpl.java
index 33a196e..5d601df 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/InformationItemImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/InformationItemImpl.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: InformationItemImpl.java,v 1.21 2010/09/28 21:02:14 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -687,10 +686,6 @@
 				return allOwnedElements();
 			case UMLPackage.INFORMATION_ITEM___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.INFORMATION_ITEM___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.INFORMATION_ITEM___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -699,6 +694,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.INFORMATION_ITEM___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.INFORMATION_ITEM___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.INFORMATION_ITEM___CREATE_USAGE__NAMEDELEMENT :
@@ -788,14 +787,6 @@
 				return isTemplate();
 			case UMLPackage.INFORMATION_ITEM___PARAMETERABLE_ELEMENTS :
 				return parameterableElements();
-			case UMLPackage.INFORMATION_ITEM___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP :
-				return validateSpecializeType(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.INFORMATION_ITEM___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP :
-				return validateMapsToGeneralizationSet(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.INFORMATION_ITEM___VALIDATE_NON_FINAL_PARENTS__DIAGNOSTICCHAIN_MAP :
 				return validateNonFinalParents(
 					(DiagnosticChain) arguments.get(0),
@@ -804,6 +795,14 @@
 				return validateNoCyclesInGeneralization(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.INFORMATION_ITEM___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP :
+				return validateSpecializeType(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.INFORMATION_ITEM___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP :
+				return validateMapsToGeneralizationSet(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.INFORMATION_ITEM___GET_ALL_ATTRIBUTES :
 				return getAllAttributes();
 			case UMLPackage.INFORMATION_ITEM___GET_ALL_OPERATIONS :
@@ -842,10 +841,6 @@
 				return maySpecializeType((Classifier) arguments.get(0));
 			case UMLPackage.INFORMATION_ITEM___PARENTS :
 				return parents();
-			case UMLPackage.INFORMATION_ITEM___VALIDATE_SOURCES_AND_TARGETS__DIAGNOSTICCHAIN_MAP :
-				return validateSourcesAndTargets(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.INFORMATION_ITEM___VALIDATE_HAS_NO__DIAGNOSTICCHAIN_MAP :
 				return validateHasNo((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
@@ -853,6 +848,10 @@
 				return validateNotInstantiable(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.INFORMATION_ITEM___VALIDATE_SOURCES_AND_TARGETS__DIAGNOSTICCHAIN_MAP :
+				return validateSourcesAndTargets(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 		}
 		return eDynamicInvoke(operationID, arguments);
 	}
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/InitialNodeImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/InitialNodeImpl.java
index 1bc608b..e6fd7d9 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/InitialNodeImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/InitialNodeImpl.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: InitialNodeImpl.java,v 1.5 2010/09/28 21:02:14 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -177,10 +176,6 @@
 				return allOwnedElements();
 			case UMLPackage.INITIAL_NODE___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.INITIAL_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.INITIAL_NODE___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -189,6 +184,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.INITIAL_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.INITIAL_NODE___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.INITIAL_NODE___CREATE_USAGE__NAMEDELEMENT :
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/InputPinImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/InputPinImpl.java
index 8069b04..cb3a05b 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/InputPinImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/InputPinImpl.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: InputPinImpl.java,v 1.6 2010/09/28 21:02:13 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -167,10 +166,6 @@
 				return allOwnedElements();
 			case UMLPackage.INPUT_PIN___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.INPUT_PIN___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.INPUT_PIN___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -179,6 +174,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.INPUT_PIN___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.INPUT_PIN___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.INPUT_PIN___CREATE_USAGE__NAMEDELEMENT :
@@ -224,32 +223,32 @@
 				return validateOwnedStructuredNode(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.INPUT_PIN___VALIDATE_INPUT_OUTPUT_PARAMETER__DIAGNOSTICCHAIN_MAP :
-				return validateInputOutputParameter(
+			case UMLPackage.INPUT_PIN___VALIDATE_OBJECT_FLOW_EDGES__DIAGNOSTICCHAIN_MAP :
+				return validateObjectFlowEdges(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.INPUT_PIN___VALIDATE_SELECTION_BEHAVIOR__DIAGNOSTICCHAIN_MAP :
 				return validateSelectionBehavior(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.INPUT_PIN___VALIDATE_OBJECT_FLOW_EDGES__DIAGNOSTICCHAIN_MAP :
-				return validateObjectFlowEdges(
+			case UMLPackage.INPUT_PIN___VALIDATE_INPUT_OUTPUT_PARAMETER__DIAGNOSTICCHAIN_MAP :
+				return validateInputOutputParameter(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.INPUT_PIN___VALIDATE_UPPER_GE_LOWER__DIAGNOSTICCHAIN_MAP :
-				return validateUpperGeLower((DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.INPUT_PIN___VALIDATE_LOWER_GE0__DIAGNOSTICCHAIN_MAP :
 				return validateLowerGe0((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.INPUT_PIN___VALIDATE_VALUE_SPECIFICATION_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP :
-				return validateValueSpecificationNoSideEffects(
-					(DiagnosticChain) arguments.get(0),
+			case UMLPackage.INPUT_PIN___VALIDATE_UPPER_GE_LOWER__DIAGNOSTICCHAIN_MAP :
+				return validateUpperGeLower((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.INPUT_PIN___VALIDATE_VALUE_SPECIFICATION_CONSTANT__DIAGNOSTICCHAIN_MAP :
 				return validateValueSpecificationConstant(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.INPUT_PIN___VALIDATE_VALUE_SPECIFICATION_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP :
+				return validateValueSpecificationNoSideEffects(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.INPUT_PIN___SET_LOWER__INT :
 				setLower((Integer) arguments.get(0));
 				return null;
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/InstanceSpecificationImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/InstanceSpecificationImpl.java
index 6d87485..32397a5 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/InstanceSpecificationImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/InstanceSpecificationImpl.java
@@ -9,9 +9,8 @@
  *   IBM - initial API and implementation
  *   Kenn Hussey (Embarcadero Technologies) - 204200
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: InstanceSpecificationImpl.java,v 1.26 2010/09/28 21:02:13 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -1112,10 +1111,6 @@
 				return allOwnedElements();
 			case UMLPackage.INSTANCE_SPECIFICATION___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.INSTANCE_SPECIFICATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.INSTANCE_SPECIFICATION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -1124,6 +1119,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.INSTANCE_SPECIFICATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.INSTANCE_SPECIFICATION___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.INSTANCE_SPECIFICATION___CREATE_USAGE__NAMEDELEMENT :
@@ -1151,10 +1150,6 @@
 				return isCompatibleWith((ParameterableElement) arguments.get(0));
 			case UMLPackage.INSTANCE_SPECIFICATION___IS_TEMPLATE_PARAMETER :
 				return isTemplateParameter();
-			case UMLPackage.INSTANCE_SPECIFICATION___VALIDATE_DEPLOYMENT_ARTIFACT__DIAGNOSTICCHAIN_MAP :
-				return validateDeploymentArtifact(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.INSTANCE_SPECIFICATION___VALIDATE_STRUCTURAL_FEATURE__DIAGNOSTICCHAIN_MAP :
 				return validateStructuralFeature(
 					(DiagnosticChain) arguments.get(0),
@@ -1167,6 +1162,10 @@
 				return validateDeploymentTarget(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.INSTANCE_SPECIFICATION___VALIDATE_DEPLOYMENT_ARTIFACT__DIAGNOSTICCHAIN_MAP :
+				return validateDeploymentArtifact(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 		}
 		return eDynamicInvoke(operationID, arguments);
 	}
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/InstanceValueImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/InstanceValueImpl.java
index b071f4b..a032fc0 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/InstanceValueImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/InstanceValueImpl.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: InstanceValueImpl.java,v 1.18 2010/09/28 21:02:14 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -420,10 +419,6 @@
 				return allOwnedElements();
 			case UMLPackage.INSTANCE_VALUE___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.INSTANCE_VALUE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.INSTANCE_VALUE___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -432,6 +427,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.INSTANCE_VALUE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.INSTANCE_VALUE___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.INSTANCE_VALUE___CREATE_USAGE__NAMEDELEMENT :
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/InteractionConstraintImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/InteractionConstraintImpl.java
index 024d57d..56f98b7 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/InteractionConstraintImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/InteractionConstraintImpl.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: InteractionConstraintImpl.java,v 1.26 2010/09/28 21:02:14 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -760,10 +759,6 @@
 				return allOwnedElements();
 			case UMLPackage.INTERACTION_CONSTRAINT___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.INTERACTION_CONSTRAINT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.INTERACTION_CONSTRAINT___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -772,6 +767,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.INTERACTION_CONSTRAINT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.INTERACTION_CONSTRAINT___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.INTERACTION_CONSTRAINT___CREATE_USAGE__NAMEDELEMENT :
@@ -797,21 +796,25 @@
 				return isCompatibleWith((ParameterableElement) arguments.get(0));
 			case UMLPackage.INTERACTION_CONSTRAINT___IS_TEMPLATE_PARAMETER :
 				return isTemplateParameter();
-			case UMLPackage.INTERACTION_CONSTRAINT___VALIDATE_BOOLEAN_VALUE__DIAGNOSTICCHAIN_MAP :
-				return validateBooleanValue((DiagnosticChain) arguments.get(0),
+			case UMLPackage.INTERACTION_CONSTRAINT___VALIDATE_NOT_APPLY_TO_SELF__DIAGNOSTICCHAIN_MAP :
+				return validateNotApplyToSelf(
+					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.INTERACTION_CONSTRAINT___VALIDATE_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP :
 				return validateNoSideEffects(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.INTERACTION_CONSTRAINT___VALIDATE_NOT_APPLY_TO_SELF__DIAGNOSTICCHAIN_MAP :
-				return validateNotApplyToSelf(
-					(DiagnosticChain) arguments.get(0),
+			case UMLPackage.INTERACTION_CONSTRAINT___VALIDATE_BOOLEAN_VALUE__DIAGNOSTICCHAIN_MAP :
+				return validateBooleanValue((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.INTERACTION_CONSTRAINT___VALIDATE_VALUE_SPECIFICATION_BOOLEAN__DIAGNOSTICCHAIN_MAP :
 				return validateValueSpecificationBoolean(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.INTERACTION_CONSTRAINT___VALIDATE_MAXINT_POSITIVE__DIAGNOSTICCHAIN_MAP :
+				return validateMaxintPositive(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.INTERACTION_CONSTRAINT___VALIDATE_MININT_MAXINT__DIAGNOSTICCHAIN_MAP :
 				return validateMinintMaxint((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
@@ -819,14 +822,6 @@
 				return validateMinintNonNegative(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.INTERACTION_CONSTRAINT___VALIDATE_MAXINT_POSITIVE__DIAGNOSTICCHAIN_MAP :
-				return validateMaxintPositive(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.INTERACTION_CONSTRAINT___VALIDATE_DYNAMIC_VARIABLES__DIAGNOSTICCHAIN_MAP :
-				return validateDynamicVariables(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.INTERACTION_CONSTRAINT___VALIDATE_GLOBAL_DATA__DIAGNOSTICCHAIN_MAP :
 				return validateGlobalData((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
@@ -834,6 +829,10 @@
 				return validateMaxintGreaterEqualMinint(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.INTERACTION_CONSTRAINT___VALIDATE_DYNAMIC_VARIABLES__DIAGNOSTICCHAIN_MAP :
+				return validateDynamicVariables(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 		}
 		return eDynamicInvoke(operationID, arguments);
 	}
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/InteractionOperandImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/InteractionOperandImpl.java
index 57e285e..edd9504 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/InteractionOperandImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/InteractionOperandImpl.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: InteractionOperandImpl.java,v 1.27 2010/09/28 21:02:14 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -1107,10 +1106,6 @@
 				return allOwnedElements();
 			case UMLPackage.INTERACTION_OPERAND___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.INTERACTION_OPERAND___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.INTERACTION_OPERAND___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -1119,6 +1114,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.INTERACTION_OPERAND___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.INTERACTION_OPERAND___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.INTERACTION_OPERAND___CREATE_USAGE__NAMEDELEMENT :
@@ -1170,14 +1169,14 @@
 				return membersAreDistinguishable();
 			case UMLPackage.INTERACTION_OPERAND___GET_OWNED_MEMBERS :
 				return getOwnedMembers();
-			case UMLPackage.INTERACTION_OPERAND___VALIDATE_GUARD_CONTAIN_REFERENCES__DIAGNOSTICCHAIN_MAP :
-				return validateGuardContainReferences(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.INTERACTION_OPERAND___VALIDATE_GUARD_DIRECTLY_PRIOR__DIAGNOSTICCHAIN_MAP :
 				return validateGuardDirectlyPrior(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.INTERACTION_OPERAND___VALIDATE_GUARD_CONTAIN_REFERENCES__DIAGNOSTICCHAIN_MAP :
+				return validateGuardContainReferences(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 		}
 		return eDynamicInvoke(operationID, arguments);
 	}
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/InteractionUseImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/InteractionUseImpl.java
index 63a1b01..e53f252 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/InteractionUseImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/InteractionUseImpl.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: InteractionUseImpl.java,v 1.27 2010/09/28 21:02:14 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -926,10 +925,6 @@
 				return allOwnedElements();
 			case UMLPackage.INTERACTION_USE___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.INTERACTION_USE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.INTERACTION_USE___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -938,6 +933,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.INTERACTION_USE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.INTERACTION_USE___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.INTERACTION_USE___CREATE_USAGE__NAMEDELEMENT :
@@ -959,12 +958,8 @@
 				return getQualifiedName();
 			case UMLPackage.INTERACTION_USE___SEPARATOR :
 				return separator();
-			case UMLPackage.INTERACTION_USE___VALIDATE_GATES_MATCH__DIAGNOSTICCHAIN_MAP :
-				return validateGatesMatch((DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.INTERACTION_USE___VALIDATE_ARGUMENTS_ARE_CONSTANTS__DIAGNOSTICCHAIN_MAP :
-				return validateArgumentsAreConstants(
-					(DiagnosticChain) arguments.get(0),
+			case UMLPackage.INTERACTION_USE___VALIDATE_ALL_LIFELINES__DIAGNOSTICCHAIN_MAP :
+				return validateAllLifelines((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.INTERACTION_USE___VALIDATE_RETURN_VALUE_RECIPIENT_COVERAGE__DIAGNOSTICCHAIN_MAP :
 				return validateReturnValueRecipientCoverage(
@@ -974,13 +969,17 @@
 				return validateArgumentsCorrespondToParameters(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.INTERACTION_USE___VALIDATE_GATES_MATCH__DIAGNOSTICCHAIN_MAP :
+				return validateGatesMatch((DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.INTERACTION_USE___VALIDATE_ARGUMENTS_ARE_CONSTANTS__DIAGNOSTICCHAIN_MAP :
+				return validateArgumentsAreConstants(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.INTERACTION_USE___VALIDATE_RETURN_VALUE_TYPE_RECIPIENT_CORRESPONDENCE__DIAGNOSTICCHAIN_MAP :
 				return validateReturnValueTypeRecipientCorrespondence(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.INTERACTION_USE___VALIDATE_ALL_LIFELINES__DIAGNOSTICCHAIN_MAP :
-				return validateAllLifelines((DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 		}
 		return eDynamicInvoke(operationID, arguments);
 	}
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/InterfaceImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/InterfaceImpl.java
index 8fbd93a..4f4d35f 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/InterfaceImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/InterfaceImpl.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: InterfaceImpl.java,v 1.32 2010/09/28 21:02:13 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -89,10 +88,10 @@
  *   <li>{@link org.eclipse.uml2.uml.internal.impl.InterfaceImpl#getRedefinedClassifiers <em>Redefined Classifier</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.internal.impl.InterfaceImpl#getNestedClassifiers <em>Nested Classifier</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.internal.impl.InterfaceImpl#getOwnedAttributes <em>Owned Attribute</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.internal.impl.InterfaceImpl#getOwnedOperations <em>Owned Operation</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.internal.impl.InterfaceImpl#getOwnedReceptions <em>Owned Reception</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.internal.impl.InterfaceImpl#getProtocol <em>Protocol</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.internal.impl.InterfaceImpl#getRedefinedInterfaces <em>Redefined Interface</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.internal.impl.InterfaceImpl#getOwnedOperations <em>Owned Operation</em>}</li>
  * </ul>
  * </p>
  *
@@ -123,6 +122,16 @@
 	protected EList<Property> ownedAttributes;
 
 	/**
+	 * The cached value of the '{@link #getOwnedOperations() <em>Owned Operation</em>}' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getOwnedOperations()
+	 * @generated
+	 * @ordered
+	 */
+	protected EList<Operation> ownedOperations;
+
+	/**
 	 * The cached value of the '{@link #getOwnedReceptions() <em>Owned Reception</em>}' containment reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -153,16 +162,6 @@
 	protected EList<Interface> redefinedInterfaces;
 
 	/**
-	 * The cached value of the '{@link #getOwnedOperations() <em>Owned Operation</em>}' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getOwnedOperations()
-	 * @generated
-	 * @ordered
-	 */
-	protected EList<Operation> ownedOperations;
-
-	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -860,14 +859,14 @@
 			case UMLPackage.INTERFACE__OWNED_ATTRIBUTE :
 				return ((InternalEList<?>) getOwnedAttributes()).basicRemove(
 					otherEnd, msgs);
+			case UMLPackage.INTERFACE__OWNED_OPERATION :
+				return ((InternalEList<?>) getOwnedOperations()).basicRemove(
+					otherEnd, msgs);
 			case UMLPackage.INTERFACE__OWNED_RECEPTION :
 				return ((InternalEList<?>) getOwnedReceptions()).basicRemove(
 					otherEnd, msgs);
 			case UMLPackage.INTERFACE__PROTOCOL :
 				return basicSetProtocol(null, msgs);
-			case UMLPackage.INTERFACE__OWNED_OPERATION :
-				return ((InternalEList<?>) getOwnedOperations()).basicRemove(
-					otherEnd, msgs);
 		}
 		return eDynamicInverseRemove(otherEnd, featureID, msgs);
 	}
@@ -976,6 +975,8 @@
 				return getNestedClassifiers();
 			case UMLPackage.INTERFACE__OWNED_ATTRIBUTE :
 				return getOwnedAttributes();
+			case UMLPackage.INTERFACE__OWNED_OPERATION :
+				return getOwnedOperations();
 			case UMLPackage.INTERFACE__OWNED_RECEPTION :
 				return getOwnedReceptions();
 			case UMLPackage.INTERFACE__PROTOCOL :
@@ -984,8 +985,6 @@
 				return basicGetProtocol();
 			case UMLPackage.INTERFACE__REDEFINED_INTERFACE :
 				return getRedefinedInterfaces();
-			case UMLPackage.INTERFACE__OWNED_OPERATION :
-				return getOwnedOperations();
 		}
 		return eDynamicGet(featureID, resolve, coreType);
 	}
@@ -1116,6 +1115,11 @@
 				getOwnedAttributes().addAll(
 					(Collection<? extends Property>) newValue);
 				return;
+			case UMLPackage.INTERFACE__OWNED_OPERATION :
+				getOwnedOperations().clear();
+				getOwnedOperations().addAll(
+					(Collection<? extends Operation>) newValue);
+				return;
 			case UMLPackage.INTERFACE__OWNED_RECEPTION :
 				getOwnedReceptions().clear();
 				getOwnedReceptions().addAll(
@@ -1129,11 +1133,6 @@
 				getRedefinedInterfaces().addAll(
 					(Collection<? extends Interface>) newValue);
 				return;
-			case UMLPackage.INTERFACE__OWNED_OPERATION :
-				getOwnedOperations().clear();
-				getOwnedOperations().addAll(
-					(Collection<? extends Operation>) newValue);
-				return;
 		}
 		eDynamicSet(featureID, newValue);
 	}
@@ -1230,6 +1229,9 @@
 			case UMLPackage.INTERFACE__OWNED_ATTRIBUTE :
 				getOwnedAttributes().clear();
 				return;
+			case UMLPackage.INTERFACE__OWNED_OPERATION :
+				getOwnedOperations().clear();
+				return;
 			case UMLPackage.INTERFACE__OWNED_RECEPTION :
 				getOwnedReceptions().clear();
 				return;
@@ -1239,9 +1241,6 @@
 			case UMLPackage.INTERFACE__REDEFINED_INTERFACE :
 				getRedefinedInterfaces().clear();
 				return;
-			case UMLPackage.INTERFACE__OWNED_OPERATION :
-				getOwnedOperations().clear();
-				return;
 		}
 		eDynamicUnset(featureID);
 	}
@@ -1340,6 +1339,8 @@
 					&& !nestedClassifiers.isEmpty();
 			case UMLPackage.INTERFACE__OWNED_ATTRIBUTE :
 				return ownedAttributes != null && !ownedAttributes.isEmpty();
+			case UMLPackage.INTERFACE__OWNED_OPERATION :
+				return ownedOperations != null && !ownedOperations.isEmpty();
 			case UMLPackage.INTERFACE__OWNED_RECEPTION :
 				return ownedReceptions != null && !ownedReceptions.isEmpty();
 			case UMLPackage.INTERFACE__PROTOCOL :
@@ -1347,8 +1348,6 @@
 			case UMLPackage.INTERFACE__REDEFINED_INTERFACE :
 				return redefinedInterfaces != null
 					&& !redefinedInterfaces.isEmpty();
-			case UMLPackage.INTERFACE__OWNED_OPERATION :
-				return ownedOperations != null && !ownedOperations.isEmpty();
 		}
 		return eDynamicIsSet(featureID);
 	}
@@ -1445,10 +1444,6 @@
 				return allOwnedElements();
 			case UMLPackage.INTERFACE___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.INTERFACE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.INTERFACE___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -1457,6 +1452,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.INTERFACE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.INTERFACE___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.INTERFACE___CREATE_USAGE__NAMEDELEMENT :
@@ -1546,14 +1545,6 @@
 				return isTemplate();
 			case UMLPackage.INTERFACE___PARAMETERABLE_ELEMENTS :
 				return parameterableElements();
-			case UMLPackage.INTERFACE___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP :
-				return validateSpecializeType(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.INTERFACE___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP :
-				return validateMapsToGeneralizationSet(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.INTERFACE___VALIDATE_NON_FINAL_PARENTS__DIAGNOSTICCHAIN_MAP :
 				return validateNonFinalParents(
 					(DiagnosticChain) arguments.get(0),
@@ -1562,6 +1553,14 @@
 				return validateNoCyclesInGeneralization(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.INTERFACE___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP :
+				return validateSpecializeType(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.INTERFACE___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP :
+				return validateMapsToGeneralizationSet(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.INTERFACE___GET_ALL_ATTRIBUTES :
 				return getAllAttributes();
 			case UMLPackage.INTERFACE___GET_ALL_OPERATIONS :
@@ -1638,8 +1637,8 @@
 		UMLPackage.INTERFACE__OWNED_RULE, UMLPackage.INTERFACE__OWNED_USE_CASE,
 		UMLPackage.INTERFACE__NESTED_CLASSIFIER,
 		UMLPackage.INTERFACE__OWNED_ATTRIBUTE,
-		UMLPackage.INTERFACE__OWNED_RECEPTION, UMLPackage.INTERFACE__PROTOCOL,
-		UMLPackage.INTERFACE__OWNED_OPERATION};
+		UMLPackage.INTERFACE__OWNED_OPERATION,
+		UMLPackage.INTERFACE__OWNED_RECEPTION, UMLPackage.INTERFACE__PROTOCOL};
 
 	/**
 	 * The array of subset feature identifiers for the '{@link #getAttributes() <em>Attribute</em>}' reference list.
@@ -1661,9 +1660,9 @@
 		return super.isSetOwnedMembers()
 			|| eIsSet(UMLPackage.INTERFACE__NESTED_CLASSIFIER)
 			|| eIsSet(UMLPackage.INTERFACE__OWNED_ATTRIBUTE)
+			|| eIsSet(UMLPackage.INTERFACE__OWNED_OPERATION)
 			|| eIsSet(UMLPackage.INTERFACE__OWNED_RECEPTION)
-			|| eIsSet(UMLPackage.INTERFACE__PROTOCOL)
-			|| eIsSet(UMLPackage.INTERFACE__OWNED_OPERATION);
+			|| eIsSet(UMLPackage.INTERFACE__PROTOCOL);
 	}
 
 	/**
@@ -1675,8 +1674,8 @@
 	 * @ordered
 	 */
 	protected static final int[] FEATURE_ESUBSETS = new int[]{
-		UMLPackage.INTERFACE__ATTRIBUTE, UMLPackage.INTERFACE__OWNED_RECEPTION,
-		UMLPackage.INTERFACE__OWNED_OPERATION};
+		UMLPackage.INTERFACE__ATTRIBUTE, UMLPackage.INTERFACE__OWNED_OPERATION,
+		UMLPackage.INTERFACE__OWNED_RECEPTION};
 
 	/**
 	 * <!-- begin-user-doc -->
@@ -1747,8 +1746,8 @@
 	@Override
 	public boolean isSetFeatures() {
 		return super.isSetFeatures()
-			|| eIsSet(UMLPackage.INTERFACE__OWNED_RECEPTION)
-			|| eIsSet(UMLPackage.INTERFACE__OWNED_OPERATION);
+			|| eIsSet(UMLPackage.INTERFACE__OWNED_OPERATION)
+			|| eIsSet(UMLPackage.INTERFACE__OWNED_RECEPTION);
 	}
 
 } //InterfaceImpl
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/InterruptibleActivityRegionImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/InterruptibleActivityRegionImpl.java
index 6503a1b..e9a8474 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/InterruptibleActivityRegionImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/InterruptibleActivityRegionImpl.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: InterruptibleActivityRegionImpl.java,v 1.22 2010/09/28 21:02:14 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -254,10 +253,6 @@
 			case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION__CLIENT_DEPENDENCY :
 				return ((InternalEList<InternalEObject>) (InternalEList<?>) getClientDependencies())
 					.basicAdd(otherEnd, msgs);
-			case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION__IN_ACTIVITY :
-				if (eInternalContainer() != null)
-					msgs = eBasicRemoveFromContainer(msgs);
-				return basicSetInActivity((Activity) otherEnd, msgs);
 			case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION__NODE :
 				return ((InternalEList<InternalEObject>) (InternalEList<?>) getNodes())
 					.basicAdd(otherEnd, msgs);
@@ -288,8 +283,6 @@
 					.basicRemove(otherEnd, msgs);
 			case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION__NAME_EXPRESSION :
 				return basicSetNameExpression(null, msgs);
-			case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION__IN_ACTIVITY :
-				return basicSetInActivity(null, msgs);
 			case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION__NODE :
 				return ((InternalEList<?>) getNodes()).basicRemove(otherEnd,
 					msgs);
@@ -334,6 +327,8 @@
 				return getQualifiedName();
 			case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION__VISIBILITY :
 				return getVisibility();
+			case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION__CONTAINED_EDGE :
+				return getContainedEdges();
 			case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION__CONTAINED_NODE :
 				return getContainedNodes();
 			case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION__IN_ACTIVITY :
@@ -346,8 +341,6 @@
 				if (resolve)
 					return getSuperGroup();
 				return basicGetSuperGroup();
-			case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION__CONTAINED_EDGE :
-				return getContainedEdges();
 			case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION__NODE :
 				return getNodes();
 			case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION__INTERRUPTING_EDGE :
@@ -476,6 +469,8 @@
 					: !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
 			case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION__VISIBILITY :
 				return isSetVisibility();
+			case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION__CONTAINED_EDGE :
+				return isSetContainedEdges();
 			case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION__CONTAINED_NODE :
 				return isSetContainedNodes();
 			case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION__IN_ACTIVITY :
@@ -484,8 +479,6 @@
 				return isSetSubgroups();
 			case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION__SUPER_GROUP :
 				return isSetSuperGroup();
-			case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION__CONTAINED_EDGE :
-				return isSetContainedEdges();
 			case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION__NODE :
 				return nodes != null && !nodes.isEmpty();
 			case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION__INTERRUPTING_EDGE :
@@ -587,10 +580,6 @@
 				return allOwnedElements();
 			case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -599,6 +588,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION___CREATE_USAGE__NAMEDELEMENT :
@@ -620,16 +613,16 @@
 				return getQualifiedName();
 			case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION___SEPARATOR :
 				return separator();
-			case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION___VALIDATE_NODES_AND_EDGES__DIAGNOSTICCHAIN_MAP :
-				return validateNodesAndEdges(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION___VALIDATE_GROUP_OWNED__DIAGNOSTICCHAIN_MAP :
 				return validateGroupOwned((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION___VALIDATE_NOT_CONTAINED__DIAGNOSTICCHAIN_MAP :
 				return validateNotContained((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION___VALIDATE_NODES_AND_EDGES__DIAGNOSTICCHAIN_MAP :
+				return validateNodesAndEdges(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.INTERRUPTIBLE_ACTIVITY_REGION___VALIDATE_INTERRUPTING_EDGES__DIAGNOSTICCHAIN_MAP :
 				return validateInterruptingEdges(
 					(DiagnosticChain) arguments.get(0),
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/InvocationActionImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/InvocationActionImpl.java
index db93cc4..516ee56 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/InvocationActionImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/InvocationActionImpl.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: InvocationActionImpl.java,v 1.30 2010/09/28 21:02:14 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -287,8 +286,6 @@
 					.basicRemove(otherEnd, msgs);
 			case UMLPackage.INVOCATION_ACTION__NAME_EXPRESSION :
 				return basicSetNameExpression(null, msgs);
-			case UMLPackage.INVOCATION_ACTION__ACTIVITY :
-				return basicSetActivity(null, msgs);
 			case UMLPackage.INVOCATION_ACTION__IN_PARTITION :
 				return ((InternalEList<?>) getInPartitions()).basicRemove(
 					otherEnd, msgs);
@@ -363,8 +360,6 @@
 				if (resolve)
 					return getActivity();
 				return basicGetActivity();
-			case UMLPackage.INVOCATION_ACTION__IN_GROUP :
-				return getInGroups();
 			case UMLPackage.INVOCATION_ACTION__IN_PARTITION :
 				return getInPartitions();
 			case UMLPackage.INVOCATION_ACTION__IN_STRUCTURED_NODE :
@@ -377,6 +372,8 @@
 				return getOutgoings();
 			case UMLPackage.INVOCATION_ACTION__INCOMING :
 				return getIncomings();
+			case UMLPackage.INVOCATION_ACTION__IN_GROUP :
+				return getInGroups();
 			case UMLPackage.INVOCATION_ACTION__REDEFINED_NODE :
 				return getRedefinedNodes();
 			case UMLPackage.INVOCATION_ACTION__HANDLER :
@@ -614,8 +611,6 @@
 				return isSetRedefinitionContexts();
 			case UMLPackage.INVOCATION_ACTION__ACTIVITY :
 				return basicGetActivity() != null;
-			case UMLPackage.INVOCATION_ACTION__IN_GROUP :
-				return isSetInGroups();
 			case UMLPackage.INVOCATION_ACTION__IN_PARTITION :
 				return inPartitions != null && !inPartitions.isEmpty();
 			case UMLPackage.INVOCATION_ACTION__IN_STRUCTURED_NODE :
@@ -627,6 +622,8 @@
 				return outgoings != null && !outgoings.isEmpty();
 			case UMLPackage.INVOCATION_ACTION__INCOMING :
 				return incomings != null && !incomings.isEmpty();
+			case UMLPackage.INVOCATION_ACTION__IN_GROUP :
+				return isSetInGroups();
 			case UMLPackage.INVOCATION_ACTION__REDEFINED_NODE :
 				return redefinedNodes != null && !redefinedNodes.isEmpty();
 			case UMLPackage.INVOCATION_ACTION__HANDLER :
@@ -745,10 +742,6 @@
 				return allOwnedElements();
 			case UMLPackage.INVOCATION_ACTION___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.INVOCATION_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.INVOCATION_ACTION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -757,6 +750,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.INVOCATION_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.INVOCATION_ACTION___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.INVOCATION_ACTION___CREATE_USAGE__NAMEDELEMENT :
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/JoinNodeImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/JoinNodeImpl.java
index 026872e..40c6ba5 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/JoinNodeImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/JoinNodeImpl.java
@@ -9,9 +9,8 @@
  *   IBM - initial API and implementation
  *   Kenn Hussey (Embarcadero Technologies) - 204200
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: JoinNodeImpl.java,v 1.30 2010/09/28 21:02:14 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -323,8 +322,6 @@
 					.basicRemove(otherEnd, msgs);
 			case UMLPackage.JOIN_NODE__NAME_EXPRESSION :
 				return basicSetNameExpression(null, msgs);
-			case UMLPackage.JOIN_NODE__ACTIVITY :
-				return basicSetActivity(null, msgs);
 			case UMLPackage.JOIN_NODE__IN_PARTITION :
 				return ((InternalEList<?>) getInPartitions()).basicRemove(
 					otherEnd, msgs);
@@ -389,8 +386,6 @@
 				if (resolve)
 					return getActivity();
 				return basicGetActivity();
-			case UMLPackage.JOIN_NODE__IN_GROUP :
-				return getInGroups();
 			case UMLPackage.JOIN_NODE__IN_PARTITION :
 				return getInPartitions();
 			case UMLPackage.JOIN_NODE__IN_STRUCTURED_NODE :
@@ -403,6 +398,8 @@
 				return getOutgoings();
 			case UMLPackage.JOIN_NODE__INCOMING :
 				return getIncomings();
+			case UMLPackage.JOIN_NODE__IN_GROUP :
+				return getInGroups();
 			case UMLPackage.JOIN_NODE__REDEFINED_NODE :
 				return getRedefinedNodes();
 			case UMLPackage.JOIN_NODE__IS_COMBINE_DUPLICATE :
@@ -592,8 +589,6 @@
 				return isSetRedefinitionContexts();
 			case UMLPackage.JOIN_NODE__ACTIVITY :
 				return basicGetActivity() != null;
-			case UMLPackage.JOIN_NODE__IN_GROUP :
-				return isSetInGroups();
 			case UMLPackage.JOIN_NODE__IN_PARTITION :
 				return inPartitions != null && !inPartitions.isEmpty();
 			case UMLPackage.JOIN_NODE__IN_STRUCTURED_NODE :
@@ -605,6 +600,8 @@
 				return outgoings != null && !outgoings.isEmpty();
 			case UMLPackage.JOIN_NODE__INCOMING :
 				return incomings != null && !incomings.isEmpty();
+			case UMLPackage.JOIN_NODE__IN_GROUP :
+				return isSetInGroups();
 			case UMLPackage.JOIN_NODE__REDEFINED_NODE :
 				return redefinedNodes != null && !redefinedNodes.isEmpty();
 			case UMLPackage.JOIN_NODE__IS_COMBINE_DUPLICATE :
@@ -707,10 +704,6 @@
 				return allOwnedElements();
 			case UMLPackage.JOIN_NODE___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.JOIN_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.JOIN_NODE___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -719,6 +712,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.JOIN_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.JOIN_NODE___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.JOIN_NODE___CREATE_USAGE__NAMEDELEMENT :
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/LifelineImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/LifelineImpl.java
index 455fcee..02bdab6 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/LifelineImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/LifelineImpl.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: LifelineImpl.java,v 1.26 2010/09/28 21:02:13 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -864,10 +863,6 @@
 				return allOwnedElements();
 			case UMLPackage.LIFELINE___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.LIFELINE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.LIFELINE___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -876,6 +871,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.LIFELINE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.LIFELINE___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.LIFELINE___CREATE_USAGE__NAMEDELEMENT :
@@ -897,10 +896,6 @@
 				return getQualifiedName();
 			case UMLPackage.LIFELINE___SEPARATOR :
 				return separator();
-			case UMLPackage.LIFELINE___VALIDATE_SELECTOR_SPECIFIED__DIAGNOSTICCHAIN_MAP :
-				return validateSelectorSpecified(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.LIFELINE___VALIDATE_INTERACTION_USES_SHARE_LIFELINE__DIAGNOSTICCHAIN_MAP :
 				return validateInteractionUsesShareLifeline(
 					(DiagnosticChain) arguments.get(0),
@@ -909,6 +904,10 @@
 				return validateSameClassifier(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.LIFELINE___VALIDATE_SELECTOR_SPECIFIED__DIAGNOSTICCHAIN_MAP :
+				return validateSelectorSpecified(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 		}
 		return eDynamicInvoke(operationID, arguments);
 	}
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/LinkActionImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/LinkActionImpl.java
index 9778608..d66fd7e 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/LinkActionImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/LinkActionImpl.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: LinkActionImpl.java,v 1.29 2010/09/28 21:02:12 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -353,8 +352,6 @@
 					.basicRemove(otherEnd, msgs);
 			case UMLPackage.LINK_ACTION__NAME_EXPRESSION :
 				return basicSetNameExpression(null, msgs);
-			case UMLPackage.LINK_ACTION__ACTIVITY :
-				return basicSetActivity(null, msgs);
 			case UMLPackage.LINK_ACTION__IN_PARTITION :
 				return ((InternalEList<?>) getInPartitions()).basicRemove(
 					otherEnd, msgs);
@@ -432,8 +429,6 @@
 				if (resolve)
 					return getActivity();
 				return basicGetActivity();
-			case UMLPackage.LINK_ACTION__IN_GROUP :
-				return getInGroups();
 			case UMLPackage.LINK_ACTION__IN_PARTITION :
 				return getInPartitions();
 			case UMLPackage.LINK_ACTION__IN_STRUCTURED_NODE :
@@ -446,6 +441,8 @@
 				return getOutgoings();
 			case UMLPackage.LINK_ACTION__INCOMING :
 				return getIncomings();
+			case UMLPackage.LINK_ACTION__IN_GROUP :
+				return getInGroups();
 			case UMLPackage.LINK_ACTION__REDEFINED_NODE :
 				return getRedefinedNodes();
 			case UMLPackage.LINK_ACTION__HANDLER :
@@ -683,8 +680,6 @@
 				return isSetRedefinitionContexts();
 			case UMLPackage.LINK_ACTION__ACTIVITY :
 				return basicGetActivity() != null;
-			case UMLPackage.LINK_ACTION__IN_GROUP :
-				return isSetInGroups();
 			case UMLPackage.LINK_ACTION__IN_PARTITION :
 				return inPartitions != null && !inPartitions.isEmpty();
 			case UMLPackage.LINK_ACTION__IN_STRUCTURED_NODE :
@@ -696,6 +691,8 @@
 				return outgoings != null && !outgoings.isEmpty();
 			case UMLPackage.LINK_ACTION__INCOMING :
 				return incomings != null && !incomings.isEmpty();
+			case UMLPackage.LINK_ACTION__IN_GROUP :
+				return isSetInGroups();
 			case UMLPackage.LINK_ACTION__REDEFINED_NODE :
 				return redefinedNodes != null && !redefinedNodes.isEmpty();
 			case UMLPackage.LINK_ACTION__HANDLER :
@@ -814,10 +811,6 @@
 				return allOwnedElements();
 			case UMLPackage.LINK_ACTION___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.LINK_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.LINK_ACTION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -826,6 +819,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.LINK_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.LINK_ACTION___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.LINK_ACTION___CREATE_USAGE__NAMEDELEMENT :
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/LinkEndCreationDataImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/LinkEndCreationDataImpl.java
index 51532e2..ff2003d 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/LinkEndCreationDataImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/LinkEndCreationDataImpl.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: LinkEndCreationDataImpl.java,v 1.15 2010/09/28 21:02:13 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -429,31 +428,31 @@
 				return allOwnedElements();
 			case UMLPackage.LINK_END_CREATION_DATA___MUST_BE_OWNED :
 				return mustBeOwned();
+			case UMLPackage.LINK_END_CREATION_DATA___VALIDATE_PROPERTY_IS_ASSOCIATION_END__DIAGNOSTICCHAIN_MAP :
+				return validatePropertyIsAssociationEnd(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.LINK_END_CREATION_DATA___VALIDATE_END_OBJECT_INPUT_PIN__DIAGNOSTICCHAIN_MAP :
+				return validateEndObjectInputPin(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.LINK_END_CREATION_DATA___VALIDATE_SAME_TYPE__DIAGNOSTICCHAIN_MAP :
 				return validateSameType((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.LINK_END_CREATION_DATA___VALIDATE_MULTIPLICITY__DIAGNOSTICCHAIN_MAP :
 				return validateMultiplicity((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.LINK_END_CREATION_DATA___VALIDATE_END_OBJECT_INPUT_PIN__DIAGNOSTICCHAIN_MAP :
-				return validateEndObjectInputPin(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.LINK_END_CREATION_DATA___VALIDATE_PROPERTY_IS_ASSOCIATION_END__DIAGNOSTICCHAIN_MAP :
-				return validatePropertyIsAssociationEnd(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.LINK_END_CREATION_DATA___VALIDATE_QUALIFIERS__DIAGNOSTICCHAIN_MAP :
 				return validateQualifiers((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.LINK_END_CREATION_DATA___VALIDATE_SINGLE_INPUT_PIN__DIAGNOSTICCHAIN_MAP :
-				return validateSingleInputPin(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.LINK_END_CREATION_DATA___VALIDATE_CREATE_LINK_ACTION__DIAGNOSTICCHAIN_MAP :
 				return validateCreateLinkAction(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.LINK_END_CREATION_DATA___VALIDATE_SINGLE_INPUT_PIN__DIAGNOSTICCHAIN_MAP :
+				return validateSingleInputPin(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 		}
 		return eDynamicInvoke(operationID, arguments);
 	}
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/LinkEndDataImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/LinkEndDataImpl.java
index 860c06e..6b36998 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/LinkEndDataImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/LinkEndDataImpl.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: LinkEndDataImpl.java,v 1.17 2010/09/28 21:02:13 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -548,19 +547,19 @@
 				return allOwnedElements();
 			case UMLPackage.LINK_END_DATA___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.LINK_END_DATA___VALIDATE_SAME_TYPE__DIAGNOSTICCHAIN_MAP :
-				return validateSameType((DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.LINK_END_DATA___VALIDATE_MULTIPLICITY__DIAGNOSTICCHAIN_MAP :
-				return validateMultiplicity((DiagnosticChain) arguments.get(0),
+			case UMLPackage.LINK_END_DATA___VALIDATE_PROPERTY_IS_ASSOCIATION_END__DIAGNOSTICCHAIN_MAP :
+				return validatePropertyIsAssociationEnd(
+					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.LINK_END_DATA___VALIDATE_END_OBJECT_INPUT_PIN__DIAGNOSTICCHAIN_MAP :
 				return validateEndObjectInputPin(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.LINK_END_DATA___VALIDATE_PROPERTY_IS_ASSOCIATION_END__DIAGNOSTICCHAIN_MAP :
-				return validatePropertyIsAssociationEnd(
-					(DiagnosticChain) arguments.get(0),
+			case UMLPackage.LINK_END_DATA___VALIDATE_SAME_TYPE__DIAGNOSTICCHAIN_MAP :
+				return validateSameType((DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.LINK_END_DATA___VALIDATE_MULTIPLICITY__DIAGNOSTICCHAIN_MAP :
+				return validateMultiplicity((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.LINK_END_DATA___VALIDATE_QUALIFIERS__DIAGNOSTICCHAIN_MAP :
 				return validateQualifiers((DiagnosticChain) arguments.get(0),
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/LinkEndDestructionDataImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/LinkEndDestructionDataImpl.java
index 61356d4..5f39143 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/LinkEndDestructionDataImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/LinkEndDestructionDataImpl.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: LinkEndDestructionDataImpl.java,v 1.15 2010/09/28 21:02:14 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -429,31 +428,31 @@
 				return allOwnedElements();
 			case UMLPackage.LINK_END_DESTRUCTION_DATA___MUST_BE_OWNED :
 				return mustBeOwned();
+			case UMLPackage.LINK_END_DESTRUCTION_DATA___VALIDATE_PROPERTY_IS_ASSOCIATION_END__DIAGNOSTICCHAIN_MAP :
+				return validatePropertyIsAssociationEnd(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.LINK_END_DESTRUCTION_DATA___VALIDATE_END_OBJECT_INPUT_PIN__DIAGNOSTICCHAIN_MAP :
+				return validateEndObjectInputPin(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.LINK_END_DESTRUCTION_DATA___VALIDATE_SAME_TYPE__DIAGNOSTICCHAIN_MAP :
 				return validateSameType((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.LINK_END_DESTRUCTION_DATA___VALIDATE_MULTIPLICITY__DIAGNOSTICCHAIN_MAP :
 				return validateMultiplicity((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.LINK_END_DESTRUCTION_DATA___VALIDATE_END_OBJECT_INPUT_PIN__DIAGNOSTICCHAIN_MAP :
-				return validateEndObjectInputPin(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.LINK_END_DESTRUCTION_DATA___VALIDATE_PROPERTY_IS_ASSOCIATION_END__DIAGNOSTICCHAIN_MAP :
-				return validatePropertyIsAssociationEnd(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.LINK_END_DESTRUCTION_DATA___VALIDATE_QUALIFIERS__DIAGNOSTICCHAIN_MAP :
 				return validateQualifiers((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.LINK_END_DESTRUCTION_DATA___VALIDATE_UNLIMITED_NATURAL_AND_MULTIPLICITY__DIAGNOSTICCHAIN_MAP :
-				return validateUnlimitedNaturalAndMultiplicity(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.LINK_END_DESTRUCTION_DATA___VALIDATE_DESTROY_LINK_ACTION__DIAGNOSTICCHAIN_MAP :
 				return validateDestroyLinkAction(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.LINK_END_DESTRUCTION_DATA___VALIDATE_UNLIMITED_NATURAL_AND_MULTIPLICITY__DIAGNOSTICCHAIN_MAP :
+				return validateUnlimitedNaturalAndMultiplicity(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 		}
 		return eDynamicInvoke(operationID, arguments);
 	}
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/LiteralBooleanImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/LiteralBooleanImpl.java
index cb5b95f..dd09360 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/LiteralBooleanImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/LiteralBooleanImpl.java
@@ -9,9 +9,8 @@
  *   IBM - initial API and implementation
  *   Kenn Hussey (Embarcadero Technologies) - 204200
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: LiteralBooleanImpl.java,v 1.20 2010/09/28 21:02:14 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -430,10 +429,6 @@
 				return allOwnedElements();
 			case UMLPackage.LITERAL_BOOLEAN___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.LITERAL_BOOLEAN___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.LITERAL_BOOLEAN___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -442,6 +437,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.LITERAL_BOOLEAN___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.LITERAL_BOOLEAN___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.LITERAL_BOOLEAN___CREATE_USAGE__NAMEDELEMENT :
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/LiteralIntegerImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/LiteralIntegerImpl.java
index 8f7582a..9daa708 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/LiteralIntegerImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/LiteralIntegerImpl.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: LiteralIntegerImpl.java,v 1.19 2010/09/28 21:02:13 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -426,10 +425,6 @@
 				return allOwnedElements();
 			case UMLPackage.LITERAL_INTEGER___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.LITERAL_INTEGER___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.LITERAL_INTEGER___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -438,6 +433,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.LITERAL_INTEGER___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.LITERAL_INTEGER___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.LITERAL_INTEGER___CREATE_USAGE__NAMEDELEMENT :
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/LiteralNullImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/LiteralNullImpl.java
index 6c7e688..d84432b 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/LiteralNullImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/LiteralNullImpl.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: LiteralNullImpl.java,v 1.6 2010/09/28 21:02:14 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -173,10 +172,6 @@
 				return allOwnedElements();
 			case UMLPackage.LITERAL_NULL___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.LITERAL_NULL___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.LITERAL_NULL___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -185,6 +180,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.LITERAL_NULL___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.LITERAL_NULL___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.LITERAL_NULL___CREATE_USAGE__NAMEDELEMENT :
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/LiteralRealImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/LiteralRealImpl.java
index 2271a41..5cccd08 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/LiteralRealImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/LiteralRealImpl.java
@@ -7,6 +7,7 @@
  *
  * Contributors:
  *   CEA - initial API and implementation
+ *   Kenn Hussey (CEA) - 351774
  *
  */
 package org.eclipse.uml2.uml.internal.impl;
@@ -427,10 +428,6 @@
 				return allOwnedElements();
 			case UMLPackage.LITERAL_REAL___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.LITERAL_REAL___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.LITERAL_REAL___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -439,6 +436,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.LITERAL_REAL___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.LITERAL_REAL___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.LITERAL_REAL___CREATE_USAGE__NAMEDELEMENT :
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/LiteralStringImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/LiteralStringImpl.java
index 85b2101..ee67d73 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/LiteralStringImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/LiteralStringImpl.java
@@ -9,9 +9,8 @@
  *   IBM - initial API and implementation
  *   Kenn Hussey (Embarcadero Technologies) - 204200
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: LiteralStringImpl.java,v 1.19 2010/09/28 21:02:13 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -474,10 +473,6 @@
 				return allOwnedElements();
 			case UMLPackage.LITERAL_STRING___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.LITERAL_STRING___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.LITERAL_STRING___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -486,6 +481,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.LITERAL_STRING___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.LITERAL_STRING___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.LITERAL_STRING___CREATE_USAGE__NAMEDELEMENT :
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/LiteralUnlimitedNaturalImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/LiteralUnlimitedNaturalImpl.java
index 24e2646..74ad857 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/LiteralUnlimitedNaturalImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/LiteralUnlimitedNaturalImpl.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: LiteralUnlimitedNaturalImpl.java,v 1.19 2010/09/28 21:02:14 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -426,10 +425,6 @@
 				return allOwnedElements();
 			case UMLPackage.LITERAL_UNLIMITED_NATURAL___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.LITERAL_UNLIMITED_NATURAL___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.LITERAL_UNLIMITED_NATURAL___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -438,6 +433,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.LITERAL_UNLIMITED_NATURAL___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.LITERAL_UNLIMITED_NATURAL___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.LITERAL_UNLIMITED_NATURAL___CREATE_USAGE__NAMEDELEMENT :
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/LoopNodeImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/LoopNodeImpl.java
index a141534..b01feac 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/LoopNodeImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/LoopNodeImpl.java
@@ -9,9 +9,8 @@
  *   IBM - initial API and implementation
  *   Kenn Hussey (Embarcadero Technologies) - 204200
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: LoopNodeImpl.java,v 1.32 2010/09/28 21:02:13 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -688,8 +687,6 @@
 					.basicRemove(otherEnd, msgs);
 			case UMLPackage.LOOP_NODE__NAME_EXPRESSION :
 				return basicSetNameExpression(null, msgs);
-			case UMLPackage.LOOP_NODE__ACTIVITY :
-				return basicSetActivity(null, msgs);
 			case UMLPackage.LOOP_NODE__IN_PARTITION :
 				return ((InternalEList<?>) getInPartitions()).basicRemove(
 					otherEnd, msgs);
@@ -722,8 +719,6 @@
 			case UMLPackage.LOOP_NODE__OWNED_RULE :
 				return ((InternalEList<?>) getOwnedRules()).basicRemove(
 					otherEnd, msgs);
-			case UMLPackage.LOOP_NODE__IN_ACTIVITY :
-				return basicSetInActivity(null, msgs);
 			case UMLPackage.LOOP_NODE__NODE :
 				return ((InternalEList<?>) getNodes()).basicRemove(otherEnd,
 					msgs);
@@ -793,8 +788,6 @@
 				if (resolve)
 					return getActivity();
 				return basicGetActivity();
-			case UMLPackage.LOOP_NODE__IN_GROUP :
-				return getInGroups();
 			case UMLPackage.LOOP_NODE__IN_PARTITION :
 				return getInPartitions();
 			case UMLPackage.LOOP_NODE__IN_STRUCTURED_NODE :
@@ -807,6 +800,8 @@
 				return getOutgoings();
 			case UMLPackage.LOOP_NODE__INCOMING :
 				return getIncomings();
+			case UMLPackage.LOOP_NODE__IN_GROUP :
+				return getInGroups();
 			case UMLPackage.LOOP_NODE__REDEFINED_NODE :
 				return getRedefinedNodes();
 			case UMLPackage.LOOP_NODE__HANDLER :
@@ -837,6 +832,8 @@
 				return getImportedMembers();
 			case UMLPackage.LOOP_NODE__MEMBER :
 				return getMembers();
+			case UMLPackage.LOOP_NODE__CONTAINED_EDGE :
+				return getContainedEdges();
 			case UMLPackage.LOOP_NODE__CONTAINED_NODE :
 				return getContainedNodes();
 			case UMLPackage.LOOP_NODE__IN_ACTIVITY :
@@ -849,8 +846,6 @@
 				if (resolve)
 					return getSuperGroup();
 				return basicGetSuperGroup();
-			case UMLPackage.LOOP_NODE__CONTAINED_EDGE :
-				return getContainedEdges();
 			case UMLPackage.LOOP_NODE__MUST_ISOLATE :
 				return isMustIsolate();
 			case UMLPackage.LOOP_NODE__NODE :
@@ -1225,8 +1220,6 @@
 				return isSetRedefinitionContexts();
 			case UMLPackage.LOOP_NODE__ACTIVITY :
 				return isSetActivity();
-			case UMLPackage.LOOP_NODE__IN_GROUP :
-				return isSetInGroups();
 			case UMLPackage.LOOP_NODE__IN_PARTITION :
 				return inPartitions != null && !inPartitions.isEmpty();
 			case UMLPackage.LOOP_NODE__IN_STRUCTURED_NODE :
@@ -1238,6 +1231,8 @@
 				return outgoings != null && !outgoings.isEmpty();
 			case UMLPackage.LOOP_NODE__INCOMING :
 				return incomings != null && !incomings.isEmpty();
+			case UMLPackage.LOOP_NODE__IN_GROUP :
+				return isSetInGroups();
 			case UMLPackage.LOOP_NODE__REDEFINED_NODE :
 				return redefinedNodes != null && !redefinedNodes.isEmpty();
 			case UMLPackage.LOOP_NODE__HANDLER :
@@ -1268,6 +1263,8 @@
 				return !getImportedMembers().isEmpty();
 			case UMLPackage.LOOP_NODE__MEMBER :
 				return isSetMembers();
+			case UMLPackage.LOOP_NODE__CONTAINED_EDGE :
+				return isSetContainedEdges();
 			case UMLPackage.LOOP_NODE__CONTAINED_NODE :
 				return isSetContainedNodes();
 			case UMLPackage.LOOP_NODE__IN_ACTIVITY :
@@ -1276,8 +1273,6 @@
 				return isSetSubgroups();
 			case UMLPackage.LOOP_NODE__SUPER_GROUP :
 				return isSetSuperGroup();
-			case UMLPackage.LOOP_NODE__CONTAINED_EDGE :
-				return isSetContainedEdges();
 			case UMLPackage.LOOP_NODE__MUST_ISOLATE :
 				return ((eFlags & MUST_ISOLATE_EFLAG) != 0) != MUST_ISOLATE_EDEFAULT;
 			case UMLPackage.LOOP_NODE__NODE :
@@ -1404,10 +1399,6 @@
 				return allOwnedElements();
 			case UMLPackage.LOOP_NODE___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.LOOP_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.LOOP_NODE___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -1416,6 +1407,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.LOOP_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.LOOP_NODE___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.LOOP_NODE___CREATE_USAGE__NAMEDELEMENT :
@@ -1493,33 +1488,26 @@
 				return membersAreDistinguishable();
 			case UMLPackage.LOOP_NODE___GET_OWNED_MEMBERS :
 				return getOwnedMembers();
-			case UMLPackage.LOOP_NODE___VALIDATE_NODES_AND_EDGES__DIAGNOSTICCHAIN_MAP :
-				return validateNodesAndEdges(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.LOOP_NODE___VALIDATE_GROUP_OWNED__DIAGNOSTICCHAIN_MAP :
 				return validateGroupOwned((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.LOOP_NODE___VALIDATE_NOT_CONTAINED__DIAGNOSTICCHAIN_MAP :
 				return validateNotContained((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.LOOP_NODE___VALIDATE_OUTPUT_PIN_EDGES__DIAGNOSTICCHAIN_MAP :
-				return validateOutputPinEdges(
+			case UMLPackage.LOOP_NODE___VALIDATE_NODES_AND_EDGES__DIAGNOSTICCHAIN_MAP :
+				return validateNodesAndEdges(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.LOOP_NODE___VALIDATE_EDGES__DIAGNOSTICCHAIN_MAP :
-				return validateEdges((DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.LOOP_NODE___VALIDATE_INPUT_PIN_EDGES__DIAGNOSTICCHAIN_MAP :
 				return validateInputPinEdges(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.LOOP_NODE___VALIDATE_RESULT_NO_INCOMING__DIAGNOSTICCHAIN_MAP :
-				return validateResultNoIncoming(
-					(DiagnosticChain) arguments.get(0),
+			case UMLPackage.LOOP_NODE___VALIDATE_EDGES__DIAGNOSTICCHAIN_MAP :
+				return validateEdges((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.LOOP_NODE___VALIDATE_INPUT_EDGES__DIAGNOSTICCHAIN_MAP :
-				return validateInputEdges((DiagnosticChain) arguments.get(0),
+			case UMLPackage.LOOP_NODE___VALIDATE_OUTPUT_PIN_EDGES__DIAGNOSTICCHAIN_MAP :
+				return validateOutputPinEdges(
+					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.LOOP_NODE___VALIDATE_EXECUTABLE_NODES__DIAGNOSTICCHAIN_MAP :
 				return validateExecutableNodes(
@@ -1529,6 +1517,13 @@
 				return validateBodyOutputPins(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.LOOP_NODE___VALIDATE_RESULT_NO_INCOMING__DIAGNOSTICCHAIN_MAP :
+				return validateResultNoIncoming(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.LOOP_NODE___VALIDATE_INPUT_EDGES__DIAGNOSTICCHAIN_MAP :
+				return validateInputEdges((DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 		}
 		return eDynamicInvoke(operationID, arguments);
 	}
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/MergeNodeImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/MergeNodeImpl.java
index db002f1..ff07229 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/MergeNodeImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/MergeNodeImpl.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: MergeNodeImpl.java,v 1.5 2010/09/28 21:02:14 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -176,10 +175,6 @@
 				return allOwnedElements();
 			case UMLPackage.MERGE_NODE___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.MERGE_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.MERGE_NODE___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -188,6 +183,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.MERGE_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.MERGE_NODE___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.MERGE_NODE___CREATE_USAGE__NAMEDELEMENT :
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/MessageImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/MessageImpl.java
index d6c9d5d..66b4080 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/MessageImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/MessageImpl.java
@@ -9,9 +9,8 @@
  *   IBM - initial API and implementation
  *   Kenn Hussey (Embarcadero Technologies) - 204200
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: MessageImpl.java,v 1.29 2010/09/28 21:02:13 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -1034,10 +1033,6 @@
 				return allOwnedElements();
 			case UMLPackage.MESSAGE___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.MESSAGE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.MESSAGE___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -1046,6 +1041,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.MESSAGE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.MESSAGE___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.MESSAGE___CREATE_USAGE__NAMEDELEMENT :
@@ -1071,6 +1070,18 @@
 				return validateSendingReceivingMessageEvent(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.MESSAGE___VALIDATE_OCCURRENCE_SPECIFICATIONS__DIAGNOSTICCHAIN_MAP :
+				return validateOccurrenceSpecifications(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.MESSAGE___VALIDATE_SIGNATURE_IS_SIGNAL__DIAGNOSTICCHAIN_MAP :
+				return validateSignatureIsSignal(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.MESSAGE___VALIDATE_SIGNATURE_IS_OPERATION__DIAGNOSTICCHAIN_MAP :
+				return validateSignatureIsOperation(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.MESSAGE___VALIDATE_ARGUMENTS__DIAGNOSTICCHAIN_MAP :
 				return validateArguments((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
@@ -1078,22 +1089,10 @@
 				return validateCannotCrossBoundaries(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.MESSAGE___VALIDATE_SIGNATURE_IS_SIGNAL__DIAGNOSTICCHAIN_MAP :
-				return validateSignatureIsSignal(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.MESSAGE___VALIDATE_OCCURRENCE_SPECIFICATIONS__DIAGNOSTICCHAIN_MAP :
-				return validateOccurrenceSpecifications(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.MESSAGE___VALIDATE_SIGNATURE_REFER_TO__DIAGNOSTICCHAIN_MAP :
 				return validateSignatureReferTo(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.MESSAGE___VALIDATE_SIGNATURE_IS_OPERATION__DIAGNOSTICCHAIN_MAP :
-				return validateSignatureIsOperation(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.MESSAGE___GET_MESSAGE_KIND :
 				return getMessageKind();
 		}
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ModelImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ModelImpl.java
index 454d1ce..f3fe62f 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ModelImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ModelImpl.java
@@ -9,9 +9,8 @@
  *   IBM - initial API and implementation
  *   Kenn Hussey (Embarcadero Technologies) - 204200
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ModelImpl.java,v 1.17 2010/09/28 21:02:14 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -601,10 +600,6 @@
 				return allOwnedElements();
 			case UMLPackage.MODEL___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.MODEL___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.MODEL___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -613,6 +608,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.MODEL___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.MODEL___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.MODEL___CREATE_USAGE__NAMEDELEMENT :
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/MultiplicityElementImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/MultiplicityElementImpl.java
index e0bd7a9..4209522 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/MultiplicityElementImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/MultiplicityElementImpl.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: MultiplicityElementImpl.java,v 1.31 2010/09/28 21:02:13 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -866,20 +865,20 @@
 				return allOwnedElements();
 			case UMLPackage.MULTIPLICITY_ELEMENT___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.MULTIPLICITY_ELEMENT___VALIDATE_UPPER_GE_LOWER__DIAGNOSTICCHAIN_MAP :
-				return validateUpperGeLower((DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.MULTIPLICITY_ELEMENT___VALIDATE_LOWER_GE0__DIAGNOSTICCHAIN_MAP :
 				return validateLowerGe0((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.MULTIPLICITY_ELEMENT___VALIDATE_VALUE_SPECIFICATION_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP :
-				return validateValueSpecificationNoSideEffects(
-					(DiagnosticChain) arguments.get(0),
+			case UMLPackage.MULTIPLICITY_ELEMENT___VALIDATE_UPPER_GE_LOWER__DIAGNOSTICCHAIN_MAP :
+				return validateUpperGeLower((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.MULTIPLICITY_ELEMENT___VALIDATE_VALUE_SPECIFICATION_CONSTANT__DIAGNOSTICCHAIN_MAP :
 				return validateValueSpecificationConstant(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.MULTIPLICITY_ELEMENT___VALIDATE_VALUE_SPECIFICATION_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP :
+				return validateValueSpecificationNoSideEffects(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.MULTIPLICITY_ELEMENT___SET_LOWER__INT :
 				setLower((Integer) arguments.get(0));
 				return null;
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/NamedElementImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/NamedElementImpl.java
index 6bb95d2..9de65831 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/NamedElementImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/NamedElementImpl.java
@@ -10,9 +10,8 @@
  *   Kenn Hussey (Embarcadero Technologies) - 204200
  *   Sergey Boyko (Borland) - 282440
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: NamedElementImpl.java,v 1.36 2010/09/28 21:02:14 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -908,10 +907,6 @@
 				return allOwnedElements();
 			case UMLPackage.NAMED_ELEMENT___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.NAMED_ELEMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.NAMED_ELEMENT___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -920,6 +915,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.NAMED_ELEMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.NAMED_ELEMENT___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.NAMED_ELEMENT___CREATE_USAGE__NAMEDELEMENT :
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/NamespaceImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/NamespaceImpl.java
index c00e7d1..51b7106 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/NamespaceImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/NamespaceImpl.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: NamespaceImpl.java,v 1.27 2010/09/28 21:02:13 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -885,10 +884,6 @@
 				return allOwnedElements();
 			case UMLPackage.NAMESPACE___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.NAMESPACE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.NAMESPACE___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -897,6 +892,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.NAMESPACE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.NAMESPACE___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.NAMESPACE___CREATE_USAGE__NAMEDELEMENT :
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/NodeImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/NodeImpl.java
index d4b0bf0..e919b36 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/NodeImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/NodeImpl.java
@@ -9,9 +9,8 @@
  *   IBM - initial API and implementation
  *   Kenn Hussey (Embarcadero Technologies) - 205188
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: NodeImpl.java,v 1.34 2010/09/28 21:02:13 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -1249,10 +1248,6 @@
 				return allOwnedElements();
 			case UMLPackage.NODE___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.NODE___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -1261,6 +1256,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.NODE___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.NODE___CREATE_USAGE__NAMEDELEMENT :
@@ -1350,14 +1349,6 @@
 				return isTemplate();
 			case UMLPackage.NODE___PARAMETERABLE_ELEMENTS :
 				return parameterableElements();
-			case UMLPackage.NODE___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP :
-				return validateSpecializeType(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.NODE___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP :
-				return validateMapsToGeneralizationSet(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.NODE___VALIDATE_NON_FINAL_PARENTS__DIAGNOSTICCHAIN_MAP :
 				return validateNonFinalParents(
 					(DiagnosticChain) arguments.get(0),
@@ -1366,6 +1357,14 @@
 				return validateNoCyclesInGeneralization(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.NODE___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP :
+				return validateSpecializeType(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.NODE___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP :
+				return validateMapsToGeneralizationSet(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.NODE___GET_ALL_ATTRIBUTES :
 				return getAllAttributes();
 			case UMLPackage.NODE___GET_ALL_OPERATIONS :
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ObjectFlowImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ObjectFlowImpl.java
index 7e33de4..71d31a8 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ObjectFlowImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ObjectFlowImpl.java
@@ -9,9 +9,8 @@
  *   IBM - initial API and implementation
  *   Kenn Hussey (Embarcadero Technologies) - 204200
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ObjectFlowImpl.java,v 1.21 2010/09/28 21:02:13 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -412,12 +411,14 @@
 				return getRedefinedElements();
 			case UMLPackage.OBJECT_FLOW__REDEFINITION_CONTEXT :
 				return getRedefinitionContexts();
+			case UMLPackage.OBJECT_FLOW__ACTIVITY :
+				if (resolve)
+					return getActivity();
+				return basicGetActivity();
 			case UMLPackage.OBJECT_FLOW__GUARD :
 				if (resolve)
 					return getGuard();
 				return basicGetGuard();
-			case UMLPackage.OBJECT_FLOW__IN_GROUP :
-				return getInGroups();
 			case UMLPackage.OBJECT_FLOW__IN_PARTITION :
 				return getInPartitions();
 			case UMLPackage.OBJECT_FLOW__IN_STRUCTURED_NODE :
@@ -442,10 +443,8 @@
 				if (resolve)
 					return getWeight();
 				return basicGetWeight();
-			case UMLPackage.OBJECT_FLOW__ACTIVITY :
-				if (resolve)
-					return getActivity();
-				return basicGetActivity();
+			case UMLPackage.OBJECT_FLOW__IN_GROUP :
+				return getInGroups();
 			case UMLPackage.OBJECT_FLOW__IS_MULTICAST :
 				return isMulticast();
 			case UMLPackage.OBJECT_FLOW__IS_MULTIRECEIVE :
@@ -498,6 +497,9 @@
 			case UMLPackage.OBJECT_FLOW__IS_LEAF :
 				setIsLeaf((Boolean) newValue);
 				return;
+			case UMLPackage.OBJECT_FLOW__ACTIVITY :
+				setActivity((Activity) newValue);
+				return;
 			case UMLPackage.OBJECT_FLOW__GUARD :
 				setGuard((ValueSpecification) newValue);
 				return;
@@ -526,9 +528,6 @@
 			case UMLPackage.OBJECT_FLOW__WEIGHT :
 				setWeight((ValueSpecification) newValue);
 				return;
-			case UMLPackage.OBJECT_FLOW__ACTIVITY :
-				setActivity((Activity) newValue);
-				return;
 			case UMLPackage.OBJECT_FLOW__IS_MULTICAST :
 				setIsMulticast((Boolean) newValue);
 				return;
@@ -574,6 +573,9 @@
 			case UMLPackage.OBJECT_FLOW__IS_LEAF :
 				setIsLeaf(IS_LEAF_EDEFAULT);
 				return;
+			case UMLPackage.OBJECT_FLOW__ACTIVITY :
+				setActivity((Activity) null);
+				return;
 			case UMLPackage.OBJECT_FLOW__GUARD :
 				setGuard((ValueSpecification) null);
 				return;
@@ -598,9 +600,6 @@
 			case UMLPackage.OBJECT_FLOW__WEIGHT :
 				setWeight((ValueSpecification) null);
 				return;
-			case UMLPackage.OBJECT_FLOW__ACTIVITY :
-				setActivity((Activity) null);
-				return;
 			case UMLPackage.OBJECT_FLOW__IS_MULTICAST :
 				setIsMulticast(IS_MULTICAST_EDEFAULT);
 				return;
@@ -654,10 +653,10 @@
 				return isSetRedefinedElements();
 			case UMLPackage.OBJECT_FLOW__REDEFINITION_CONTEXT :
 				return isSetRedefinitionContexts();
+			case UMLPackage.OBJECT_FLOW__ACTIVITY :
+				return basicGetActivity() != null;
 			case UMLPackage.OBJECT_FLOW__GUARD :
 				return guard != null;
-			case UMLPackage.OBJECT_FLOW__IN_GROUP :
-				return isSetInGroups();
 			case UMLPackage.OBJECT_FLOW__IN_PARTITION :
 				return inPartitions != null && !inPartitions.isEmpty();
 			case UMLPackage.OBJECT_FLOW__IN_STRUCTURED_NODE :
@@ -672,8 +671,8 @@
 				return target != null;
 			case UMLPackage.OBJECT_FLOW__WEIGHT :
 				return weight != null;
-			case UMLPackage.OBJECT_FLOW__ACTIVITY :
-				return basicGetActivity() != null;
+			case UMLPackage.OBJECT_FLOW__IN_GROUP :
+				return isSetInGroups();
 			case UMLPackage.OBJECT_FLOW__IS_MULTICAST :
 				return ((eFlags & IS_MULTICAST_EFLAG) != 0) != IS_MULTICAST_EDEFAULT;
 			case UMLPackage.OBJECT_FLOW__IS_MULTIRECEIVE :
@@ -778,10 +777,6 @@
 				return allOwnedElements();
 			case UMLPackage.OBJECT_FLOW___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.OBJECT_FLOW___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.OBJECT_FLOW___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -790,6 +785,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.OBJECT_FLOW___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.OBJECT_FLOW___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.OBJECT_FLOW___CREATE_USAGE__NAMEDELEMENT :
@@ -839,15 +838,8 @@
 				return validateStructuredNode(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.OBJECT_FLOW___VALIDATE_INPUT_AND_OUTPUT_PARAMETER__DIAGNOSTICCHAIN_MAP :
-				return validateInputAndOutputParameter(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.OBJECT_FLOW___VALIDATE_NO_ACTIONS__DIAGNOSTICCHAIN_MAP :
-				return validateNoActions((DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.OBJECT_FLOW___VALIDATE_TRANSFORMATION_BEHAVIOUR__DIAGNOSTICCHAIN_MAP :
-				return validateTransformationBehaviour(
+			case UMLPackage.OBJECT_FLOW___VALIDATE_IS_MULTICAST_OR_IS_MULTIRECEIVE__DIAGNOSTICCHAIN_MAP :
+				return validateIsMulticastOrIsMultireceive(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.OBJECT_FLOW___VALIDATE_SELECTION_BEHAVIOUR__DIAGNOSTICCHAIN_MAP :
@@ -858,15 +850,22 @@
 				return validateCompatibleTypes(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.OBJECT_FLOW___VALIDATE_SAME_UPPER_BOUNDS__DIAGNOSTICCHAIN_MAP :
-				return validateSameUpperBounds(
+			case UMLPackage.OBJECT_FLOW___VALIDATE_NO_ACTIONS__DIAGNOSTICCHAIN_MAP :
+				return validateNoActions((DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.OBJECT_FLOW___VALIDATE_INPUT_AND_OUTPUT_PARAMETER__DIAGNOSTICCHAIN_MAP :
+				return validateInputAndOutputParameter(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.OBJECT_FLOW___VALIDATE_TRANSFORMATION_BEHAVIOUR__DIAGNOSTICCHAIN_MAP :
+				return validateTransformationBehaviour(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.OBJECT_FLOW___VALIDATE_TARGET__DIAGNOSTICCHAIN_MAP :
 				return validateTarget((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.OBJECT_FLOW___VALIDATE_IS_MULTICAST_OR_IS_MULTIRECEIVE__DIAGNOSTICCHAIN_MAP :
-				return validateIsMulticastOrIsMultireceive(
+			case UMLPackage.OBJECT_FLOW___VALIDATE_SAME_UPPER_BOUNDS__DIAGNOSTICCHAIN_MAP :
+				return validateSameUpperBounds(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 		}
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ObjectNodeImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ObjectNodeImpl.java
index 69c5cb2..e257456 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ObjectNodeImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ObjectNodeImpl.java
@@ -9,9 +9,8 @@
  *   IBM - initial API and implementation
  *   Kenn Hussey (Embarcadero Technologies) - 204200
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ObjectNodeImpl.java,v 1.29 2010/09/28 21:02:14 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -571,8 +570,6 @@
 					.basicRemove(otherEnd, msgs);
 			case UMLPackage.OBJECT_NODE__NAME_EXPRESSION :
 				return basicSetNameExpression(null, msgs);
-			case UMLPackage.OBJECT_NODE__ACTIVITY :
-				return basicSetActivity(null, msgs);
 			case UMLPackage.OBJECT_NODE__IN_PARTITION :
 				return ((InternalEList<?>) getInPartitions()).basicRemove(
 					otherEnd, msgs);
@@ -637,8 +634,6 @@
 				if (resolve)
 					return getActivity();
 				return basicGetActivity();
-			case UMLPackage.OBJECT_NODE__IN_GROUP :
-				return getInGroups();
 			case UMLPackage.OBJECT_NODE__IN_PARTITION :
 				return getInPartitions();
 			case UMLPackage.OBJECT_NODE__IN_STRUCTURED_NODE :
@@ -651,6 +646,8 @@
 				return getOutgoings();
 			case UMLPackage.OBJECT_NODE__INCOMING :
 				return getIncomings();
+			case UMLPackage.OBJECT_NODE__IN_GROUP :
+				return getInGroups();
 			case UMLPackage.OBJECT_NODE__REDEFINED_NODE :
 				return getRedefinedNodes();
 			case UMLPackage.OBJECT_NODE__TYPE :
@@ -877,8 +874,6 @@
 				return isSetRedefinitionContexts();
 			case UMLPackage.OBJECT_NODE__ACTIVITY :
 				return basicGetActivity() != null;
-			case UMLPackage.OBJECT_NODE__IN_GROUP :
-				return isSetInGroups();
 			case UMLPackage.OBJECT_NODE__IN_PARTITION :
 				return inPartitions != null && !inPartitions.isEmpty();
 			case UMLPackage.OBJECT_NODE__IN_STRUCTURED_NODE :
@@ -890,6 +885,8 @@
 				return outgoings != null && !outgoings.isEmpty();
 			case UMLPackage.OBJECT_NODE__INCOMING :
 				return incomings != null && !incomings.isEmpty();
+			case UMLPackage.OBJECT_NODE__IN_GROUP :
+				return isSetInGroups();
 			case UMLPackage.OBJECT_NODE__REDEFINED_NODE :
 				return redefinedNodes != null && !redefinedNodes.isEmpty();
 			case UMLPackage.OBJECT_NODE__TYPE :
@@ -1036,10 +1033,6 @@
 				return allOwnedElements();
 			case UMLPackage.OBJECT_NODE___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.OBJECT_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.OBJECT_NODE___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -1048,6 +1041,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.OBJECT_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.OBJECT_NODE___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.OBJECT_NODE___CREATE_USAGE__NAMEDELEMENT :
@@ -1093,16 +1090,16 @@
 				return validateOwnedStructuredNode(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.OBJECT_NODE___VALIDATE_INPUT_OUTPUT_PARAMETER__DIAGNOSTICCHAIN_MAP :
-				return validateInputOutputParameter(
+			case UMLPackage.OBJECT_NODE___VALIDATE_OBJECT_FLOW_EDGES__DIAGNOSTICCHAIN_MAP :
+				return validateObjectFlowEdges(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.OBJECT_NODE___VALIDATE_SELECTION_BEHAVIOR__DIAGNOSTICCHAIN_MAP :
 				return validateSelectionBehavior(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.OBJECT_NODE___VALIDATE_OBJECT_FLOW_EDGES__DIAGNOSTICCHAIN_MAP :
-				return validateObjectFlowEdges(
+			case UMLPackage.OBJECT_NODE___VALIDATE_INPUT_OUTPUT_PARAMETER__DIAGNOSTICCHAIN_MAP :
+				return validateInputOutputParameter(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 		}
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/OpaqueActionImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/OpaqueActionImpl.java
index 1dbe01f..37af275 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/OpaqueActionImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/OpaqueActionImpl.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: OpaqueActionImpl.java,v 1.25 2009/01/07 15:55:30 jbruck Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -413,8 +412,6 @@
 					.basicRemove(otherEnd, msgs);
 			case UMLPackage.OPAQUE_ACTION__NAME_EXPRESSION :
 				return basicSetNameExpression(null, msgs);
-			case UMLPackage.OPAQUE_ACTION__ACTIVITY :
-				return basicSetActivity(null, msgs);
 			case UMLPackage.OPAQUE_ACTION__IN_PARTITION :
 				return ((InternalEList<?>) getInPartitions()).basicRemove(
 					otherEnd, msgs);
@@ -492,8 +489,6 @@
 				if (resolve)
 					return getActivity();
 				return basicGetActivity();
-			case UMLPackage.OPAQUE_ACTION__IN_GROUP :
-				return getInGroups();
 			case UMLPackage.OPAQUE_ACTION__IN_PARTITION :
 				return getInPartitions();
 			case UMLPackage.OPAQUE_ACTION__IN_STRUCTURED_NODE :
@@ -506,6 +501,8 @@
 				return getOutgoings();
 			case UMLPackage.OPAQUE_ACTION__INCOMING :
 				return getIncomings();
+			case UMLPackage.OPAQUE_ACTION__IN_GROUP :
+				return getInGroups();
 			case UMLPackage.OPAQUE_ACTION__REDEFINED_NODE :
 				return getRedefinedNodes();
 			case UMLPackage.OPAQUE_ACTION__HANDLER :
@@ -761,8 +758,6 @@
 				return isSetRedefinitionContexts();
 			case UMLPackage.OPAQUE_ACTION__ACTIVITY :
 				return basicGetActivity() != null;
-			case UMLPackage.OPAQUE_ACTION__IN_GROUP :
-				return isSetInGroups();
 			case UMLPackage.OPAQUE_ACTION__IN_PARTITION :
 				return inPartitions != null && !inPartitions.isEmpty();
 			case UMLPackage.OPAQUE_ACTION__IN_STRUCTURED_NODE :
@@ -774,6 +769,8 @@
 				return outgoings != null && !outgoings.isEmpty();
 			case UMLPackage.OPAQUE_ACTION__INCOMING :
 				return incomings != null && !incomings.isEmpty();
+			case UMLPackage.OPAQUE_ACTION__IN_GROUP :
+				return isSetInGroups();
 			case UMLPackage.OPAQUE_ACTION__REDEFINED_NODE :
 				return redefinedNodes != null && !redefinedNodes.isEmpty();
 			case UMLPackage.OPAQUE_ACTION__HANDLER :
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/OpaqueExpressionImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/OpaqueExpressionImpl.java
index ead43c7..9134a1c 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/OpaqueExpressionImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/OpaqueExpressionImpl.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: OpaqueExpressionImpl.java,v 1.24 2010/09/28 21:02:14 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -634,10 +633,6 @@
 				return allOwnedElements();
 			case UMLPackage.OPAQUE_EXPRESSION___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.OPAQUE_EXPRESSION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.OPAQUE_EXPRESSION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -646,6 +641,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.OPAQUE_EXPRESSION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.OPAQUE_EXPRESSION___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.OPAQUE_EXPRESSION___CREATE_USAGE__NAMEDELEMENT :
@@ -685,16 +684,16 @@
 				return stringValue();
 			case UMLPackage.OPAQUE_EXPRESSION___UNLIMITED_VALUE :
 				return unlimitedValue();
-			case UMLPackage.OPAQUE_EXPRESSION___VALIDATE_LANGUAGE_BODY_SIZE__DIAGNOSTICCHAIN_MAP :
-				return validateLanguageBodySize(
+			case UMLPackage.OPAQUE_EXPRESSION___VALIDATE_ONLY_RETURN_RESULT_PARAMETERS__DIAGNOSTICCHAIN_MAP :
+				return validateOnlyReturnResultParameters(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.OPAQUE_EXPRESSION___VALIDATE_ONE_RETURN_RESULT_PARAMETER__DIAGNOSTICCHAIN_MAP :
 				return validateOneReturnResultParameter(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.OPAQUE_EXPRESSION___VALIDATE_ONLY_RETURN_RESULT_PARAMETERS__DIAGNOSTICCHAIN_MAP :
-				return validateOnlyReturnResultParameters(
+			case UMLPackage.OPAQUE_EXPRESSION___VALIDATE_LANGUAGE_BODY_SIZE__DIAGNOSTICCHAIN_MAP :
+				return validateLanguageBodySize(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.OPAQUE_EXPRESSION___IS_INTEGRAL :
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/OperationImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/OperationImpl.java
index e67d713..3ba1f0b 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/OperationImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/OperationImpl.java
@@ -9,9 +9,8 @@
  *   IBM - initial API and implementation
  *   Kenn Hussey (Embarcadero Technologies) - 204200
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: OperationImpl.java,v 1.39 2010/09/28 21:02:14 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -93,14 +92,14 @@
  *   <li>{@link org.eclipse.uml2.uml.internal.impl.OperationImpl#getOwnedTemplateSignature <em>Owned Template Signature</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.internal.impl.OperationImpl#getTemplateBindings <em>Template Binding</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.internal.impl.OperationImpl#getFeaturingClassifiers <em>Featuring Classifier</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.internal.impl.OperationImpl#getNamespace <em>Namespace</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.internal.impl.OperationImpl#getRedefinitionContexts <em>Redefinition Context</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.internal.impl.OperationImpl#getNamespace <em>Namespace</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.internal.impl.OperationImpl#getRedefinedElements <em>Redefined Element</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.internal.impl.OperationImpl#getOwnedRules <em>Owned Rule</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.internal.impl.OperationImpl#getInterface <em>Interface</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.internal.impl.OperationImpl#getBodyCondition <em>Body Condition</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.internal.impl.OperationImpl#getClass_ <em>Class</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.internal.impl.OperationImpl#getDatatype <em>Datatype</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.internal.impl.OperationImpl#getInterface <em>Interface</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.internal.impl.OperationImpl#isOrdered <em>Is Ordered</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.internal.impl.OperationImpl#isQuery <em>Is Query</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.internal.impl.OperationImpl#isUnique <em>Is Unique</em>}</li>
@@ -1527,6 +1526,10 @@
 			case UMLPackage.OPERATION__TEMPLATE_BINDING :
 				return ((InternalEList<InternalEObject>) (InternalEList<?>) getTemplateBindings())
 					.basicAdd(otherEnd, msgs);
+			case UMLPackage.OPERATION__INTERFACE :
+				if (eInternalContainer() != null)
+					msgs = eBasicRemoveFromContainer(msgs);
+				return basicSetInterface((Interface) otherEnd, msgs);
 			case UMLPackage.OPERATION__CLASS :
 				if (eInternalContainer() != null)
 					msgs = eBasicRemoveFromContainer(msgs);
@@ -1536,10 +1539,6 @@
 				if (eInternalContainer() != null)
 					msgs = eBasicRemoveFromContainer(msgs);
 				return basicSetDatatype((DataType) otherEnd, msgs);
-			case UMLPackage.OPERATION__INTERFACE :
-				if (eInternalContainer() != null)
-					msgs = eBasicRemoveFromContainer(msgs);
-				return basicSetInterface((Interface) otherEnd, msgs);
 		}
 		return eDynamicInverseAdd(otherEnd, featureID, msgs);
 	}
@@ -1591,12 +1590,12 @@
 			case UMLPackage.OPERATION__TEMPLATE_BINDING :
 				return ((InternalEList<?>) getTemplateBindings()).basicRemove(
 					otherEnd, msgs);
+			case UMLPackage.OPERATION__INTERFACE :
+				return basicSetInterface(null, msgs);
 			case UMLPackage.OPERATION__CLASS :
 				return basicSetClass_(null, msgs);
 			case UMLPackage.OPERATION__DATATYPE :
 				return basicSetDatatype(null, msgs);
-			case UMLPackage.OPERATION__INTERFACE :
-				return basicSetInterface(null, msgs);
 		}
 		return eDynamicInverseRemove(otherEnd, featureID, msgs);
 	}
@@ -1614,6 +1613,10 @@
 				return eInternalContainer().eInverseRemove(this,
 					UMLPackage.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
 					TemplateParameter.class, msgs);
+			case UMLPackage.OPERATION__INTERFACE :
+				return eInternalContainer().eInverseRemove(this,
+					UMLPackage.INTERFACE__OWNED_OPERATION, Interface.class,
+					msgs);
 			case UMLPackage.OPERATION__CLASS :
 				return eInternalContainer().eInverseRemove(this,
 					UMLPackage.CLASS__OWNED_OPERATION,
@@ -1623,10 +1626,6 @@
 					.eInverseRemove(this,
 						UMLPackage.DATA_TYPE__OWNED_OPERATION, DataType.class,
 						msgs);
-			case UMLPackage.OPERATION__INTERFACE :
-				return eInternalContainer().eInverseRemove(this,
-					UMLPackage.INTERFACE__OWNED_OPERATION, Interface.class,
-					msgs);
 		}
 		return eDynamicBasicRemoveFromContainer(msgs);
 	}
@@ -1713,6 +1712,10 @@
 				return basicGetOwnedTemplateSignature();
 			case UMLPackage.OPERATION__TEMPLATE_BINDING :
 				return getTemplateBindings();
+			case UMLPackage.OPERATION__INTERFACE :
+				if (resolve)
+					return getInterface();
+				return basicGetInterface();
 			case UMLPackage.OPERATION__BODY_CONDITION :
 				if (resolve)
 					return getBodyCondition();
@@ -1725,10 +1728,6 @@
 				if (resolve)
 					return getDatatype();
 				return basicGetDatatype();
-			case UMLPackage.OPERATION__INTERFACE :
-				if (resolve)
-					return getInterface();
-				return basicGetInterface();
 			case UMLPackage.OPERATION__IS_ORDERED :
 				return isOrdered();
 			case UMLPackage.OPERATION__IS_QUERY :
@@ -1846,6 +1845,9 @@
 				getTemplateBindings().addAll(
 					(Collection<? extends TemplateBinding>) newValue);
 				return;
+			case UMLPackage.OPERATION__INTERFACE :
+				setInterface((Interface) newValue);
+				return;
 			case UMLPackage.OPERATION__BODY_CONDITION :
 				setBodyCondition((Constraint) newValue);
 				return;
@@ -1855,9 +1857,6 @@
 			case UMLPackage.OPERATION__DATATYPE :
 				setDatatype((DataType) newValue);
 				return;
-			case UMLPackage.OPERATION__INTERFACE :
-				setInterface((Interface) newValue);
-				return;
 			case UMLPackage.OPERATION__IS_QUERY :
 				setIsQuery((Boolean) newValue);
 				return;
@@ -1951,6 +1950,9 @@
 			case UMLPackage.OPERATION__TEMPLATE_BINDING :
 				getTemplateBindings().clear();
 				return;
+			case UMLPackage.OPERATION__INTERFACE :
+				setInterface((Interface) null);
+				return;
 			case UMLPackage.OPERATION__BODY_CONDITION :
 				setBodyCondition((Constraint) null);
 				return;
@@ -1960,9 +1962,6 @@
 			case UMLPackage.OPERATION__DATATYPE :
 				setDatatype((DataType) null);
 				return;
-			case UMLPackage.OPERATION__INTERFACE :
-				setInterface((Interface) null);
-				return;
 			case UMLPackage.OPERATION__IS_QUERY :
 				setIsQuery(IS_QUERY_EDEFAULT);
 				return;
@@ -2053,14 +2052,14 @@
 				return ownedTemplateSignature != null;
 			case UMLPackage.OPERATION__TEMPLATE_BINDING :
 				return templateBindings != null && !templateBindings.isEmpty();
+			case UMLPackage.OPERATION__INTERFACE :
+				return basicGetInterface() != null;
 			case UMLPackage.OPERATION__BODY_CONDITION :
 				return bodyCondition != null;
 			case UMLPackage.OPERATION__CLASS :
 				return basicGetClass_() != null;
 			case UMLPackage.OPERATION__DATATYPE :
 				return basicGetDatatype() != null;
-			case UMLPackage.OPERATION__INTERFACE :
-				return basicGetInterface() != null;
 			case UMLPackage.OPERATION__IS_ORDERED :
 				return isOrdered() != IS_ORDERED_EDEFAULT;
 			case UMLPackage.OPERATION__IS_QUERY :
@@ -2266,10 +2265,6 @@
 				return allOwnedElements();
 			case UMLPackage.OPERATION___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.OPERATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.OPERATION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -2278,6 +2273,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.OPERATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.OPERATION___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.OPERATION___CREATE_USAGE__NAMEDELEMENT :
@@ -2490,9 +2489,9 @@
 	@Override
 	public boolean isSetRedefinitionContexts() {
 		return super.isSetRedefinitionContexts()
+			|| eIsSet(UMLPackage.OPERATION__INTERFACE)
 			|| eIsSet(UMLPackage.OPERATION__CLASS)
-			|| eIsSet(UMLPackage.OPERATION__DATATYPE)
-			|| eIsSet(UMLPackage.OPERATION__INTERFACE);
+			|| eIsSet(UMLPackage.OPERATION__DATATYPE);
 	}
 
 	/**
@@ -2502,6 +2501,10 @@
 	 */
 	@Override
 	public Namespace basicGetNamespace() {
+		Interface interface_ = basicGetInterface();
+		if (interface_ != null) {
+			return interface_;
+		}
 		org.eclipse.uml2.uml.Class class_ = basicGetClass_();
 		if (class_ != null) {
 			return class_;
@@ -2510,10 +2513,6 @@
 		if (datatype != null) {
 			return datatype;
 		}
-		Interface interface_ = basicGetInterface();
-		if (interface_ != null) {
-			return interface_;
-		}
 		return super.basicGetNamespace();
 	}
 
@@ -2524,9 +2523,10 @@
 	 */
 	@Override
 	public boolean isSetNamespace() {
-		return super.isSetNamespace() || eIsSet(UMLPackage.OPERATION__CLASS)
-			|| eIsSet(UMLPackage.OPERATION__DATATYPE)
-			|| eIsSet(UMLPackage.OPERATION__INTERFACE);
+		return super.isSetNamespace()
+			|| eIsSet(UMLPackage.OPERATION__INTERFACE)
+			|| eIsSet(UMLPackage.OPERATION__CLASS)
+			|| eIsSet(UMLPackage.OPERATION__DATATYPE);
 	}
 
 	/**
@@ -2538,8 +2538,8 @@
 	 * @ordered
 	 */
 	protected static final int[] FEATURING_CLASSIFIER_ESUBSETS = new int[]{
-		UMLPackage.OPERATION__CLASS, UMLPackage.OPERATION__DATATYPE,
-		UMLPackage.OPERATION__INTERFACE};
+		UMLPackage.OPERATION__INTERFACE, UMLPackage.OPERATION__CLASS,
+		UMLPackage.OPERATION__DATATYPE};
 
 	/**
 	 * The array of subset feature identifiers for the '{@link #getRedefinitionContexts() <em>Redefinition Context</em>}' reference list.
@@ -2550,8 +2550,8 @@
 	 * @ordered
 	 */
 	protected static final int[] REDEFINITION_CONTEXT_ESUBSETS = new int[]{
-		UMLPackage.OPERATION__CLASS, UMLPackage.OPERATION__DATATYPE,
-		UMLPackage.OPERATION__INTERFACE};
+		UMLPackage.OPERATION__INTERFACE, UMLPackage.OPERATION__CLASS,
+		UMLPackage.OPERATION__DATATYPE};
 
 	/**
 	 * <!-- begin-user-doc -->
@@ -2561,9 +2561,9 @@
 	@Override
 	public boolean isSetFeaturingClassifiers() {
 		return super.isSetFeaturingClassifiers()
+			|| eIsSet(UMLPackage.OPERATION__INTERFACE)
 			|| eIsSet(UMLPackage.OPERATION__CLASS)
-			|| eIsSet(UMLPackage.OPERATION__DATATYPE)
-			|| eIsSet(UMLPackage.OPERATION__INTERFACE);
+			|| eIsSet(UMLPackage.OPERATION__DATATYPE);
 	}
 
 	/**
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/OutputPinImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/OutputPinImpl.java
index 4212327..02550dd 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/OutputPinImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/OutputPinImpl.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: OutputPinImpl.java,v 1.6 2010/09/28 21:02:14 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -167,10 +166,6 @@
 				return allOwnedElements();
 			case UMLPackage.OUTPUT_PIN___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.OUTPUT_PIN___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.OUTPUT_PIN___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -179,6 +174,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.OUTPUT_PIN___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.OUTPUT_PIN___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.OUTPUT_PIN___CREATE_USAGE__NAMEDELEMENT :
@@ -224,32 +223,32 @@
 				return validateOwnedStructuredNode(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.OUTPUT_PIN___VALIDATE_INPUT_OUTPUT_PARAMETER__DIAGNOSTICCHAIN_MAP :
-				return validateInputOutputParameter(
+			case UMLPackage.OUTPUT_PIN___VALIDATE_OBJECT_FLOW_EDGES__DIAGNOSTICCHAIN_MAP :
+				return validateObjectFlowEdges(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.OUTPUT_PIN___VALIDATE_SELECTION_BEHAVIOR__DIAGNOSTICCHAIN_MAP :
 				return validateSelectionBehavior(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.OUTPUT_PIN___VALIDATE_OBJECT_FLOW_EDGES__DIAGNOSTICCHAIN_MAP :
-				return validateObjectFlowEdges(
+			case UMLPackage.OUTPUT_PIN___VALIDATE_INPUT_OUTPUT_PARAMETER__DIAGNOSTICCHAIN_MAP :
+				return validateInputOutputParameter(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.OUTPUT_PIN___VALIDATE_UPPER_GE_LOWER__DIAGNOSTICCHAIN_MAP :
-				return validateUpperGeLower((DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.OUTPUT_PIN___VALIDATE_LOWER_GE0__DIAGNOSTICCHAIN_MAP :
 				return validateLowerGe0((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.OUTPUT_PIN___VALIDATE_VALUE_SPECIFICATION_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP :
-				return validateValueSpecificationNoSideEffects(
-					(DiagnosticChain) arguments.get(0),
+			case UMLPackage.OUTPUT_PIN___VALIDATE_UPPER_GE_LOWER__DIAGNOSTICCHAIN_MAP :
+				return validateUpperGeLower((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.OUTPUT_PIN___VALIDATE_VALUE_SPECIFICATION_CONSTANT__DIAGNOSTICCHAIN_MAP :
 				return validateValueSpecificationConstant(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.OUTPUT_PIN___VALIDATE_VALUE_SPECIFICATION_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP :
+				return validateValueSpecificationNoSideEffects(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.OUTPUT_PIN___SET_LOWER__INT :
 				setLower((Integer) arguments.get(0));
 				return null;
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/PackageImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/PackageImpl.java
index bed83e3..64383f9 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/PackageImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/PackageImpl.java
@@ -9,9 +9,8 @@
  *   IBM - initial API and implementation
  *   Kenn Hussey (Embarcadero Technologies) - 204200
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: PackageImpl.java,v 1.41 2010/09/28 21:02:12 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -1923,10 +1922,6 @@
 				return allOwnedElements();
 			case UMLPackage.PACKAGE___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.PACKAGE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.PACKAGE___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -1935,6 +1930,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.PACKAGE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.PACKAGE___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.PACKAGE___CREATE_USAGE__NAMEDELEMENT :
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/PackageImportImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/PackageImportImpl.java
index 92805ab..89fc2f6 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/PackageImportImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/PackageImportImpl.java
@@ -9,9 +9,8 @@
  *   IBM - initial API and implementation
  *   Kenn Hussey (Embarcadero Technologies) - 204200
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: PackageImportImpl.java,v 1.22 2010/09/28 21:02:14 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -58,8 +57,8 @@
  * The following features are implemented:
  * <ul>
  *   <li>{@link org.eclipse.uml2.uml.internal.impl.PackageImportImpl#getTargets <em>Target</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.internal.impl.PackageImportImpl#getSources <em>Source</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.internal.impl.PackageImportImpl#getOwner <em>Owner</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.internal.impl.PackageImportImpl#getSources <em>Source</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.internal.impl.PackageImportImpl#getImportedPackage <em>Imported Package</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.internal.impl.PackageImportImpl#getImportingNamespace <em>Importing Namespace</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.internal.impl.PackageImportImpl#getVisibility <em>Visibility</em>}</li>
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/PackageMergeImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/PackageMergeImpl.java
index 40add47..18267bd 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/PackageMergeImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/PackageMergeImpl.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: PackageMergeImpl.java,v 1.18 2009/01/07 15:55:26 jbruck Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -46,8 +45,8 @@
  * The following features are implemented:
  * <ul>
  *   <li>{@link org.eclipse.uml2.uml.internal.impl.PackageMergeImpl#getTargets <em>Target</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.internal.impl.PackageMergeImpl#getSources <em>Source</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.internal.impl.PackageMergeImpl#getOwner <em>Owner</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.internal.impl.PackageMergeImpl#getSources <em>Source</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.internal.impl.PackageMergeImpl#getMergedPackage <em>Merged Package</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.internal.impl.PackageMergeImpl#getReceivingPackage <em>Receiving Package</em>}</li>
  * </ul>
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/PackageableElementImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/PackageableElementImpl.java
index ec15a19..272c282 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/PackageableElementImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/PackageableElementImpl.java
@@ -9,9 +9,8 @@
  *   IBM - initial API and implementation
  *   Kenn Hussey (Embarcadero Technologies) - 204200
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: PackageableElementImpl.java,v 1.22 2010/09/28 21:02:13 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -716,10 +715,6 @@
 				return allOwnedElements();
 			case UMLPackage.PACKAGEABLE_ELEMENT___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.PACKAGEABLE_ELEMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.PACKAGEABLE_ELEMENT___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -728,6 +723,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.PACKAGEABLE_ELEMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.PACKAGEABLE_ELEMENT___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.PACKAGEABLE_ELEMENT___CREATE_USAGE__NAMEDELEMENT :
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ParameterImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ParameterImpl.java
index edbfa5d..7d72cb5 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ParameterImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ParameterImpl.java
@@ -9,9 +9,8 @@
  *   IBM - initial API and implementation
  *   Kenn Hussey (Embarcadero Technologies) - 204200
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ParameterImpl.java,v 1.44 2010/09/28 21:02:13 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -1755,14 +1754,14 @@
 	public int eDerivedOperationID(int baseOperationID, Class<?> baseClass) {
 		if (baseClass == MultiplicityElement.class) {
 			switch (baseOperationID) {
-				case UMLPackage.MULTIPLICITY_ELEMENT___VALIDATE_UPPER_GE_LOWER__DIAGNOSTICCHAIN_MAP :
-					return UMLPackage.PARAMETER___VALIDATE_UPPER_GE_LOWER__DIAGNOSTICCHAIN_MAP;
 				case UMLPackage.MULTIPLICITY_ELEMENT___VALIDATE_LOWER_GE0__DIAGNOSTICCHAIN_MAP :
 					return UMLPackage.PARAMETER___VALIDATE_LOWER_GE0__DIAGNOSTICCHAIN_MAP;
-				case UMLPackage.MULTIPLICITY_ELEMENT___VALIDATE_VALUE_SPECIFICATION_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP :
-					return UMLPackage.PARAMETER___VALIDATE_VALUE_SPECIFICATION_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP;
+				case UMLPackage.MULTIPLICITY_ELEMENT___VALIDATE_UPPER_GE_LOWER__DIAGNOSTICCHAIN_MAP :
+					return UMLPackage.PARAMETER___VALIDATE_UPPER_GE_LOWER__DIAGNOSTICCHAIN_MAP;
 				case UMLPackage.MULTIPLICITY_ELEMENT___VALIDATE_VALUE_SPECIFICATION_CONSTANT__DIAGNOSTICCHAIN_MAP :
 					return UMLPackage.PARAMETER___VALIDATE_VALUE_SPECIFICATION_CONSTANT__DIAGNOSTICCHAIN_MAP;
+				case UMLPackage.MULTIPLICITY_ELEMENT___VALIDATE_VALUE_SPECIFICATION_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP :
+					return UMLPackage.PARAMETER___VALIDATE_VALUE_SPECIFICATION_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP;
 				case UMLPackage.MULTIPLICITY_ELEMENT___SET_LOWER__INT :
 					return UMLPackage.PARAMETER___SET_LOWER__INT;
 				case UMLPackage.MULTIPLICITY_ELEMENT___SET_UPPER__INT :
@@ -1884,10 +1883,6 @@
 				return allOwnedElements();
 			case UMLPackage.PARAMETER___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.PARAMETER___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.PARAMETER___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -1896,6 +1891,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.PARAMETER___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.PARAMETER___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.PARAMETER___CREATE_USAGE__NAMEDELEMENT :
@@ -1923,20 +1922,20 @@
 				return isTemplateParameter();
 			case UMLPackage.PARAMETER___GET_ENDS :
 				return getEnds();
-			case UMLPackage.PARAMETER___VALIDATE_UPPER_GE_LOWER__DIAGNOSTICCHAIN_MAP :
-				return validateUpperGeLower((DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.PARAMETER___VALIDATE_LOWER_GE0__DIAGNOSTICCHAIN_MAP :
 				return validateLowerGe0((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.PARAMETER___VALIDATE_VALUE_SPECIFICATION_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP :
-				return validateValueSpecificationNoSideEffects(
-					(DiagnosticChain) arguments.get(0),
+			case UMLPackage.PARAMETER___VALIDATE_UPPER_GE_LOWER__DIAGNOSTICCHAIN_MAP :
+				return validateUpperGeLower((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.PARAMETER___VALIDATE_VALUE_SPECIFICATION_CONSTANT__DIAGNOSTICCHAIN_MAP :
 				return validateValueSpecificationConstant(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.PARAMETER___VALIDATE_VALUE_SPECIFICATION_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP :
+				return validateValueSpecificationNoSideEffects(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.PARAMETER___SET_LOWER__INT :
 				setLower((Integer) arguments.get(0));
 				return null;
@@ -1963,18 +1962,18 @@
 				return getUpper();
 			case UMLPackage.PARAMETER___UPPER_BOUND :
 				return upperBound();
-			case UMLPackage.PARAMETER___VALIDATE_IN_AND_OUT__DIAGNOSTICCHAIN_MAP :
-				return validateInAndOut((DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.PARAMETER___VALIDATE_NOT_EXCEPTION__DIAGNOSTICCHAIN_MAP :
-				return validateNotException((DiagnosticChain) arguments.get(0),
+			case UMLPackage.PARAMETER___VALIDATE_REENTRANT_BEHAVIORS__DIAGNOSTICCHAIN_MAP :
+				return validateReentrantBehaviors(
+					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.PARAMETER___VALIDATE_CONNECTOR_END__DIAGNOSTICCHAIN_MAP :
 				return validateConnectorEnd((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.PARAMETER___VALIDATE_REENTRANT_BEHAVIORS__DIAGNOSTICCHAIN_MAP :
-				return validateReentrantBehaviors(
-					(DiagnosticChain) arguments.get(0),
+			case UMLPackage.PARAMETER___VALIDATE_NOT_EXCEPTION__DIAGNOSTICCHAIN_MAP :
+				return validateNotException((DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.PARAMETER___VALIDATE_IN_AND_OUT__DIAGNOSTICCHAIN_MAP :
+				return validateInAndOut((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.PARAMETER___VALIDATE_STREAM_AND_EXCEPTION__DIAGNOSTICCHAIN_MAP :
 				return validateStreamAndException(
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ParameterSetImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ParameterSetImpl.java
index ba3f960..f7e7c3d 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ParameterSetImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ParameterSetImpl.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ParameterSetImpl.java,v 1.24 2010/09/28 21:02:14 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -585,10 +584,6 @@
 				return allOwnedElements();
 			case UMLPackage.PARAMETER_SET___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.PARAMETER_SET___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.PARAMETER_SET___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -597,6 +592,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.PARAMETER_SET___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.PARAMETER_SET___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.PARAMETER_SET___CREATE_USAGE__NAMEDELEMENT :
@@ -618,15 +617,15 @@
 				return getQualifiedName();
 			case UMLPackage.PARAMETER_SET___SEPARATOR :
 				return separator();
-			case UMLPackage.PARAMETER_SET___VALIDATE_SAME_PARAMETERIZED_ENTITY__DIAGNOSTICCHAIN_MAP :
-				return validateSameParameterizedEntity(
+			case UMLPackage.PARAMETER_SET___VALIDATE_TWO_PARAMETER_SETS__DIAGNOSTICCHAIN_MAP :
+				return validateTwoParameterSets(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.PARAMETER_SET___VALIDATE_INPUT__DIAGNOSTICCHAIN_MAP :
 				return validateInput((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.PARAMETER_SET___VALIDATE_TWO_PARAMETER_SETS__DIAGNOSTICCHAIN_MAP :
-				return validateTwoParameterSets(
+			case UMLPackage.PARAMETER_SET___VALIDATE_SAME_PARAMETERIZED_ENTITY__DIAGNOSTICCHAIN_MAP :
+				return validateSameParameterizedEntity(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 		}
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/PartDecompositionImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/PartDecompositionImpl.java
index 61e527a..1fb4aa0 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/PartDecompositionImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/PartDecompositionImpl.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: PartDecompositionImpl.java,v 1.5 2010/09/28 21:02:14 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -187,10 +186,6 @@
 				return allOwnedElements();
 			case UMLPackage.PART_DECOMPOSITION___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.PART_DECOMPOSITION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.PART_DECOMPOSITION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -199,6 +194,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.PART_DECOMPOSITION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.PART_DECOMPOSITION___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.PART_DECOMPOSITION___CREATE_USAGE__NAMEDELEMENT :
@@ -220,12 +219,8 @@
 				return getQualifiedName();
 			case UMLPackage.PART_DECOMPOSITION___SEPARATOR :
 				return separator();
-			case UMLPackage.PART_DECOMPOSITION___VALIDATE_GATES_MATCH__DIAGNOSTICCHAIN_MAP :
-				return validateGatesMatch((DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.PART_DECOMPOSITION___VALIDATE_ARGUMENTS_ARE_CONSTANTS__DIAGNOSTICCHAIN_MAP :
-				return validateArgumentsAreConstants(
-					(DiagnosticChain) arguments.get(0),
+			case UMLPackage.PART_DECOMPOSITION___VALIDATE_ALL_LIFELINES__DIAGNOSTICCHAIN_MAP :
+				return validateAllLifelines((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.PART_DECOMPOSITION___VALIDATE_RETURN_VALUE_RECIPIENT_COVERAGE__DIAGNOSTICCHAIN_MAP :
 				return validateReturnValueRecipientCoverage(
@@ -235,22 +230,26 @@
 				return validateArgumentsCorrespondToParameters(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.PART_DECOMPOSITION___VALIDATE_GATES_MATCH__DIAGNOSTICCHAIN_MAP :
+				return validateGatesMatch((DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.PART_DECOMPOSITION___VALIDATE_ARGUMENTS_ARE_CONSTANTS__DIAGNOSTICCHAIN_MAP :
+				return validateArgumentsAreConstants(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.PART_DECOMPOSITION___VALIDATE_RETURN_VALUE_TYPE_RECIPIENT_CORRESPONDENCE__DIAGNOSTICCHAIN_MAP :
 				return validateReturnValueTypeRecipientCorrespondence(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.PART_DECOMPOSITION___VALIDATE_ALL_LIFELINES__DIAGNOSTICCHAIN_MAP :
-				return validateAllLifelines((DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.PART_DECOMPOSITION___VALIDATE_COMMUTATIVITY_OF_DECOMPOSITION__DIAGNOSTICCHAIN_MAP :
-				return validateCommutativityOfDecomposition(
+			case UMLPackage.PART_DECOMPOSITION___VALIDATE_PARTS_OF_INTERNAL_STRUCTURES__DIAGNOSTICCHAIN_MAP :
+				return validatePartsOfInternalStructures(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.PART_DECOMPOSITION___VALIDATE_ASSUME__DIAGNOSTICCHAIN_MAP :
 				return validateAssume((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.PART_DECOMPOSITION___VALIDATE_PARTS_OF_INTERNAL_STRUCTURES__DIAGNOSTICCHAIN_MAP :
-				return validatePartsOfInternalStructures(
+			case UMLPackage.PART_DECOMPOSITION___VALIDATE_COMMUTATIVITY_OF_DECOMPOSITION__DIAGNOSTICCHAIN_MAP :
+				return validateCommutativityOfDecomposition(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 		}
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/PinImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/PinImpl.java
index 0f7fa5c..5cc0308 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/PinImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/PinImpl.java
@@ -9,9 +9,8 @@
  *   IBM - initial API and implementation
  *   Kenn Hussey (Embarcadero Technologies) - 204200
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: PinImpl.java,v 1.34 2010/09/28 21:02:14 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -683,8 +682,6 @@
 					.basicRemove(otherEnd, msgs);
 			case UMLPackage.PIN__NAME_EXPRESSION :
 				return basicSetNameExpression(null, msgs);
-			case UMLPackage.PIN__ACTIVITY :
-				return basicSetActivity(null, msgs);
 			case UMLPackage.PIN__IN_PARTITION :
 				return ((InternalEList<?>) getInPartitions()).basicRemove(
 					otherEnd, msgs);
@@ -753,8 +750,6 @@
 				if (resolve)
 					return getActivity();
 				return basicGetActivity();
-			case UMLPackage.PIN__IN_GROUP :
-				return getInGroups();
 			case UMLPackage.PIN__IN_PARTITION :
 				return getInPartitions();
 			case UMLPackage.PIN__IN_STRUCTURED_NODE :
@@ -767,6 +762,8 @@
 				return getOutgoings();
 			case UMLPackage.PIN__INCOMING :
 				return getIncomings();
+			case UMLPackage.PIN__IN_GROUP :
+				return getInGroups();
 			case UMLPackage.PIN__REDEFINED_NODE :
 				return getRedefinedNodes();
 			case UMLPackage.PIN__TYPE :
@@ -1053,8 +1050,6 @@
 				return isSetRedefinitionContexts();
 			case UMLPackage.PIN__ACTIVITY :
 				return basicGetActivity() != null;
-			case UMLPackage.PIN__IN_GROUP :
-				return isSetInGroups();
 			case UMLPackage.PIN__IN_PARTITION :
 				return inPartitions != null && !inPartitions.isEmpty();
 			case UMLPackage.PIN__IN_STRUCTURED_NODE :
@@ -1066,6 +1061,8 @@
 				return outgoings != null && !outgoings.isEmpty();
 			case UMLPackage.PIN__INCOMING :
 				return incomings != null && !incomings.isEmpty();
+			case UMLPackage.PIN__IN_GROUP :
+				return isSetInGroups();
 			case UMLPackage.PIN__REDEFINED_NODE :
 				return redefinedNodes != null && !redefinedNodes.isEmpty();
 			case UMLPackage.PIN__TYPE :
@@ -1163,14 +1160,14 @@
 	public int eDerivedOperationID(int baseOperationID, Class<?> baseClass) {
 		if (baseClass == MultiplicityElement.class) {
 			switch (baseOperationID) {
-				case UMLPackage.MULTIPLICITY_ELEMENT___VALIDATE_UPPER_GE_LOWER__DIAGNOSTICCHAIN_MAP :
-					return UMLPackage.PIN___VALIDATE_UPPER_GE_LOWER__DIAGNOSTICCHAIN_MAP;
 				case UMLPackage.MULTIPLICITY_ELEMENT___VALIDATE_LOWER_GE0__DIAGNOSTICCHAIN_MAP :
 					return UMLPackage.PIN___VALIDATE_LOWER_GE0__DIAGNOSTICCHAIN_MAP;
-				case UMLPackage.MULTIPLICITY_ELEMENT___VALIDATE_VALUE_SPECIFICATION_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP :
-					return UMLPackage.PIN___VALIDATE_VALUE_SPECIFICATION_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP;
+				case UMLPackage.MULTIPLICITY_ELEMENT___VALIDATE_UPPER_GE_LOWER__DIAGNOSTICCHAIN_MAP :
+					return UMLPackage.PIN___VALIDATE_UPPER_GE_LOWER__DIAGNOSTICCHAIN_MAP;
 				case UMLPackage.MULTIPLICITY_ELEMENT___VALIDATE_VALUE_SPECIFICATION_CONSTANT__DIAGNOSTICCHAIN_MAP :
 					return UMLPackage.PIN___VALIDATE_VALUE_SPECIFICATION_CONSTANT__DIAGNOSTICCHAIN_MAP;
+				case UMLPackage.MULTIPLICITY_ELEMENT___VALIDATE_VALUE_SPECIFICATION_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP :
+					return UMLPackage.PIN___VALIDATE_VALUE_SPECIFICATION_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP;
 				case UMLPackage.MULTIPLICITY_ELEMENT___SET_LOWER__INT :
 					return UMLPackage.PIN___SET_LOWER__INT;
 				case UMLPackage.MULTIPLICITY_ELEMENT___SET_UPPER__INT :
@@ -1292,10 +1289,6 @@
 				return allOwnedElements();
 			case UMLPackage.PIN___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.PIN___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.PIN___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -1304,6 +1297,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.PIN___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.PIN___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.PIN___CREATE_USAGE__NAMEDELEMENT :
@@ -1349,32 +1346,32 @@
 				return validateOwnedStructuredNode(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.PIN___VALIDATE_INPUT_OUTPUT_PARAMETER__DIAGNOSTICCHAIN_MAP :
-				return validateInputOutputParameter(
+			case UMLPackage.PIN___VALIDATE_OBJECT_FLOW_EDGES__DIAGNOSTICCHAIN_MAP :
+				return validateObjectFlowEdges(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.PIN___VALIDATE_SELECTION_BEHAVIOR__DIAGNOSTICCHAIN_MAP :
 				return validateSelectionBehavior(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.PIN___VALIDATE_OBJECT_FLOW_EDGES__DIAGNOSTICCHAIN_MAP :
-				return validateObjectFlowEdges(
+			case UMLPackage.PIN___VALIDATE_INPUT_OUTPUT_PARAMETER__DIAGNOSTICCHAIN_MAP :
+				return validateInputOutputParameter(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.PIN___VALIDATE_UPPER_GE_LOWER__DIAGNOSTICCHAIN_MAP :
-				return validateUpperGeLower((DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.PIN___VALIDATE_LOWER_GE0__DIAGNOSTICCHAIN_MAP :
 				return validateLowerGe0((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.PIN___VALIDATE_VALUE_SPECIFICATION_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP :
-				return validateValueSpecificationNoSideEffects(
-					(DiagnosticChain) arguments.get(0),
+			case UMLPackage.PIN___VALIDATE_UPPER_GE_LOWER__DIAGNOSTICCHAIN_MAP :
+				return validateUpperGeLower((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.PIN___VALIDATE_VALUE_SPECIFICATION_CONSTANT__DIAGNOSTICCHAIN_MAP :
 				return validateValueSpecificationConstant(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.PIN___VALIDATE_VALUE_SPECIFICATION_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP :
+				return validateValueSpecificationNoSideEffects(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.PIN___SET_LOWER__INT :
 				setLower((Integer) arguments.get(0));
 				return null;
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/PortImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/PortImpl.java
index 9338293..9812741 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/PortImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/PortImpl.java
@@ -9,9 +9,8 @@
  *   IBM - initial API and implementation
  *   Kenn Hussey (Embarcadero Technologies) - 204200
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: PortImpl.java,v 1.34 2010/09/28 21:02:13 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -576,14 +575,14 @@
 				return getDeployedElements();
 			case UMLPackage.PORT__DEPLOYMENT :
 				return getDeployments();
-			case UMLPackage.PORT__DATATYPE :
-				if (resolve)
-					return getDatatype();
-				return basicGetDatatype();
 			case UMLPackage.PORT__INTERFACE :
 				if (resolve)
 					return getInterface();
 				return basicGetInterface();
+			case UMLPackage.PORT__DATATYPE :
+				if (resolve)
+					return getDatatype();
+				return basicGetDatatype();
 			case UMLPackage.PORT__AGGREGATION :
 				return getAggregation();
 			case UMLPackage.PORT__ASSOCIATION_END :
@@ -720,12 +719,12 @@
 				getDeployments().addAll(
 					(Collection<? extends Deployment>) newValue);
 				return;
-			case UMLPackage.PORT__DATATYPE :
-				setDatatype((DataType) newValue);
-				return;
 			case UMLPackage.PORT__INTERFACE :
 				setInterface((Interface) newValue);
 				return;
+			case UMLPackage.PORT__DATATYPE :
+				setDatatype((DataType) newValue);
+				return;
 			case UMLPackage.PORT__AGGREGATION :
 				setAggregation((AggregationKind) newValue);
 				return;
@@ -871,12 +870,12 @@
 			case UMLPackage.PORT__DEPLOYMENT :
 				getDeployments().clear();
 				return;
-			case UMLPackage.PORT__DATATYPE :
-				setDatatype((DataType) null);
-				return;
 			case UMLPackage.PORT__INTERFACE :
 				setInterface((Interface) null);
 				return;
+			case UMLPackage.PORT__DATATYPE :
+				setDatatype((DataType) null);
+				return;
 			case UMLPackage.PORT__AGGREGATION :
 				setAggregation(AGGREGATION_EDEFAULT);
 				return;
@@ -1005,10 +1004,10 @@
 				return !getDeployedElements().isEmpty();
 			case UMLPackage.PORT__DEPLOYMENT :
 				return deployments != null && !deployments.isEmpty();
-			case UMLPackage.PORT__DATATYPE :
-				return basicGetDatatype() != null;
 			case UMLPackage.PORT__INTERFACE :
 				return basicGetInterface() != null;
+			case UMLPackage.PORT__DATATYPE :
+				return basicGetDatatype() != null;
 			case UMLPackage.PORT__AGGREGATION :
 				return (eFlags & AGGREGATION_EFLAG) != AGGREGATION_EFLAG_DEFAULT;
 			case UMLPackage.PORT__ASSOCIATION_END :
@@ -1151,10 +1150,6 @@
 				return allOwnedElements();
 			case UMLPackage.PORT___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.PORT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.PORT___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -1163,6 +1158,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.PORT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.PORT___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.PORT___CREATE_USAGE__NAMEDELEMENT :
@@ -1201,20 +1200,20 @@
 			case UMLPackage.PORT___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
 				return isRedefinitionContextValid((RedefinableElement) arguments
 					.get(0));
-			case UMLPackage.PORT___VALIDATE_UPPER_GE_LOWER__DIAGNOSTICCHAIN_MAP :
-				return validateUpperGeLower((DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.PORT___VALIDATE_LOWER_GE0__DIAGNOSTICCHAIN_MAP :
 				return validateLowerGe0((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.PORT___VALIDATE_VALUE_SPECIFICATION_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP :
-				return validateValueSpecificationNoSideEffects(
-					(DiagnosticChain) arguments.get(0),
+			case UMLPackage.PORT___VALIDATE_UPPER_GE_LOWER__DIAGNOSTICCHAIN_MAP :
+				return validateUpperGeLower((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.PORT___VALIDATE_VALUE_SPECIFICATION_CONSTANT__DIAGNOSTICCHAIN_MAP :
 				return validateValueSpecificationConstant(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.PORT___VALIDATE_VALUE_SPECIFICATION_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP :
+				return validateValueSpecificationNoSideEffects(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.PORT___SET_LOWER__INT :
 				setLower((Integer) arguments.get(0));
 				return null;
@@ -1249,40 +1248,40 @@
 				return getEnds();
 			case UMLPackage.PORT___GET_DEPLOYED_ELEMENTS :
 				return getDeployedElements();
-			case UMLPackage.PORT___VALIDATE_SUBSETTING_CONTEXT_CONFORMS__DIAGNOSTICCHAIN_MAP :
-				return validateSubsettingContextConforms(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.PORT___VALIDATE_DERIVED_UNION_IS_READ_ONLY__DIAGNOSTICCHAIN_MAP :
-				return validateDerivedUnionIsReadOnly(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.PORT___VALIDATE_MULTIPLICITY_OF_COMPOSITE__DIAGNOSTICCHAIN_MAP :
-				return validateMultiplicityOfComposite(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.PORT___VALIDATE_REDEFINED_PROPERTY_INHERITED__DIAGNOSTICCHAIN_MAP :
-				return validateRedefinedPropertyInherited(
+			case UMLPackage.PORT___VALIDATE_SUBSETTED_PROPERTY_NAMES__DIAGNOSTICCHAIN_MAP :
+				return validateSubsettedPropertyNames(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.PORT___VALIDATE_SUBSETTING_RULES__DIAGNOSTICCHAIN_MAP :
 				return validateSubsettingRules(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.PORT___VALIDATE_MULTIPLICITY_OF_COMPOSITE__DIAGNOSTICCHAIN_MAP :
+				return validateMultiplicityOfComposite(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.PORT___VALIDATE_BINDING_TO_ATTRIBUTE__DIAGNOSTICCHAIN_MAP :
 				return validateBindingToAttribute(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.PORT___VALIDATE_DERIVED_UNION_IS_DERIVED__DIAGNOSTICCHAIN_MAP :
-				return validateDerivedUnionIsDerived(
+			case UMLPackage.PORT___VALIDATE_REDEFINED_PROPERTY_INHERITED__DIAGNOSTICCHAIN_MAP :
+				return validateRedefinedPropertyInherited(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.PORT___VALIDATE_SUBSETTING_CONTEXT_CONFORMS__DIAGNOSTICCHAIN_MAP :
+				return validateSubsettingContextConforms(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.PORT___VALIDATE_DEPLOYMENT_TARGET__DIAGNOSTICCHAIN_MAP :
 				return validateDeploymentTarget(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.PORT___VALIDATE_SUBSETTED_PROPERTY_NAMES__DIAGNOSTICCHAIN_MAP :
-				return validateSubsettedPropertyNames(
+			case UMLPackage.PORT___VALIDATE_DERIVED_UNION_IS_DERIVED__DIAGNOSTICCHAIN_MAP :
+				return validateDerivedUnionIsDerived(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.PORT___VALIDATE_DERIVED_UNION_IS_READ_ONLY__DIAGNOSTICCHAIN_MAP :
+				return validateDerivedUnionIsReadOnly(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.PORT___GET_OTHER_END :
@@ -1334,16 +1333,16 @@
 				return getOpposite();
 			case UMLPackage.PORT___SUBSETTING_CONTEXT :
 				return subsettingContext();
-			case UMLPackage.PORT___VALIDATE_PORT_DESTROYED__DIAGNOSTICCHAIN_MAP :
-				return validatePortDestroyed(
-					(DiagnosticChain) arguments.get(0),
+			case UMLPackage.PORT___VALIDATE_DEFAULT_VALUE__DIAGNOSTICCHAIN_MAP :
+				return validateDefaultValue((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.PORT___VALIDATE_PORT_AGGREGATION__DIAGNOSTICCHAIN_MAP :
 				return validatePortAggregation(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.PORT___VALIDATE_DEFAULT_VALUE__DIAGNOSTICCHAIN_MAP :
-				return validateDefaultValue((DiagnosticChain) arguments.get(0),
+			case UMLPackage.PORT___VALIDATE_PORT_DESTROYED__DIAGNOSTICCHAIN_MAP :
+				return validatePortDestroyed(
+					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.PORT___GET_PROVIDEDS :
 				return getProvideds();
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ProfileApplicationImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ProfileApplicationImpl.java
index 703f709..0cf6abb 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ProfileApplicationImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ProfileApplicationImpl.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ProfileApplicationImpl.java,v 1.26 2010/09/28 21:02:13 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -58,8 +57,8 @@
  * The following features are implemented:
  * <ul>
  *   <li>{@link org.eclipse.uml2.uml.internal.impl.ProfileApplicationImpl#getTargets <em>Target</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.internal.impl.ProfileApplicationImpl#getSources <em>Source</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.internal.impl.ProfileApplicationImpl#getOwner <em>Owner</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.internal.impl.ProfileApplicationImpl#getSources <em>Source</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.internal.impl.ProfileApplicationImpl#getAppliedProfile <em>Applied Profile</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.internal.impl.ProfileApplicationImpl#isStrict <em>Is Strict</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.internal.impl.ProfileApplicationImpl#getApplyingPackage <em>Applying Package</em>}</li>
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ProfileImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ProfileImpl.java
index d289946..6b6a539 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ProfileImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ProfileImpl.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ProfileImpl.java,v 1.31 2010/09/28 21:02:14 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -993,10 +992,6 @@
 				return allOwnedElements();
 			case UMLPackage.PROFILE___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.PROFILE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.PROFILE___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -1005,6 +1000,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.PROFILE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.PROFILE___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.PROFILE___CREATE_USAGE__NAMEDELEMENT :
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/PropertyImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/PropertyImpl.java
index a8a4c2b..88fbc54 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/PropertyImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/PropertyImpl.java
@@ -9,9 +9,8 @@
  *   IBM - initial API and implementation
  *   Kenn Hussey (Embarcadero Technologies) - 208353, 204200
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: PropertyImpl.java,v 1.49 2010/09/28 21:02:13 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -97,8 +96,8 @@
  *   <li>{@link org.eclipse.uml2.uml.internal.impl.PropertyImpl#getRedefinitionContexts <em>Redefinition Context</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.internal.impl.PropertyImpl#getRedefinedElements <em>Redefined Element</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.internal.impl.PropertyImpl#getAssociation <em>Association</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.internal.impl.PropertyImpl#getDatatype <em>Datatype</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.internal.impl.PropertyImpl#getInterface <em>Interface</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.internal.impl.PropertyImpl#getDatatype <em>Datatype</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.internal.impl.PropertyImpl#getAggregation <em>Aggregation</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.internal.impl.PropertyImpl#getAssociationEnd <em>Association End</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.internal.impl.PropertyImpl#getQualifiers <em>Qualifier</em>}</li>
@@ -1860,14 +1859,14 @@
 			case UMLPackage.PROPERTY__DEPLOYMENT :
 				return ((InternalEList<InternalEObject>) (InternalEList<?>) getDeployments())
 					.basicAdd(otherEnd, msgs);
-			case UMLPackage.PROPERTY__DATATYPE :
-				if (eInternalContainer() != null)
-					msgs = eBasicRemoveFromContainer(msgs);
-				return basicSetDatatype((DataType) otherEnd, msgs);
 			case UMLPackage.PROPERTY__INTERFACE :
 				if (eInternalContainer() != null)
 					msgs = eBasicRemoveFromContainer(msgs);
 				return basicSetInterface((Interface) otherEnd, msgs);
+			case UMLPackage.PROPERTY__DATATYPE :
+				if (eInternalContainer() != null)
+					msgs = eBasicRemoveFromContainer(msgs);
+				return basicSetDatatype((DataType) otherEnd, msgs);
 			case UMLPackage.PROPERTY__ASSOCIATION_END :
 				if (eInternalContainer() != null)
 					msgs = eBasicRemoveFromContainer(msgs);
@@ -1920,10 +1919,10 @@
 			case UMLPackage.PROPERTY__DEPLOYMENT :
 				return ((InternalEList<?>) getDeployments()).basicRemove(
 					otherEnd, msgs);
-			case UMLPackage.PROPERTY__DATATYPE :
-				return basicSetDatatype(null, msgs);
 			case UMLPackage.PROPERTY__INTERFACE :
 				return basicSetInterface(null, msgs);
+			case UMLPackage.PROPERTY__DATATYPE :
+				return basicSetDatatype(null, msgs);
 			case UMLPackage.PROPERTY__ASSOCIATION_END :
 				return basicSetAssociationEnd(null, msgs);
 			case UMLPackage.PROPERTY__QUALIFIER :
@@ -1952,15 +1951,15 @@
 				return eInternalContainer().eInverseRemove(this,
 					UMLPackage.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
 					TemplateParameter.class, msgs);
+			case UMLPackage.PROPERTY__INTERFACE :
+				return eInternalContainer().eInverseRemove(this,
+					UMLPackage.INTERFACE__OWNED_ATTRIBUTE, Interface.class,
+					msgs);
 			case UMLPackage.PROPERTY__DATATYPE :
 				return eInternalContainer()
 					.eInverseRemove(this,
 						UMLPackage.DATA_TYPE__OWNED_ATTRIBUTE, DataType.class,
 						msgs);
-			case UMLPackage.PROPERTY__INTERFACE :
-				return eInternalContainer().eInverseRemove(this,
-					UMLPackage.INTERFACE__OWNED_ATTRIBUTE, Interface.class,
-					msgs);
 			case UMLPackage.PROPERTY__ASSOCIATION_END :
 				return eInternalContainer().eInverseRemove(this,
 					UMLPackage.PROPERTY__QUALIFIER, Property.class, msgs);
@@ -2051,14 +2050,14 @@
 				return getDeployedElements();
 			case UMLPackage.PROPERTY__DEPLOYMENT :
 				return getDeployments();
-			case UMLPackage.PROPERTY__DATATYPE :
-				if (resolve)
-					return getDatatype();
-				return basicGetDatatype();
 			case UMLPackage.PROPERTY__INTERFACE :
 				if (resolve)
 					return getInterface();
 				return basicGetInterface();
+			case UMLPackage.PROPERTY__DATATYPE :
+				if (resolve)
+					return getDatatype();
+				return basicGetDatatype();
 			case UMLPackage.PROPERTY__AGGREGATION :
 				return getAggregation();
 			case UMLPackage.PROPERTY__ASSOCIATION_END :
@@ -2179,12 +2178,12 @@
 				getDeployments().addAll(
 					(Collection<? extends Deployment>) newValue);
 				return;
-			case UMLPackage.PROPERTY__DATATYPE :
-				setDatatype((DataType) newValue);
-				return;
 			case UMLPackage.PROPERTY__INTERFACE :
 				setInterface((Interface) newValue);
 				return;
+			case UMLPackage.PROPERTY__DATATYPE :
+				setDatatype((DataType) newValue);
+				return;
 			case UMLPackage.PROPERTY__AGGREGATION :
 				setAggregation((AggregationKind) newValue);
 				return;
@@ -2313,12 +2312,12 @@
 			case UMLPackage.PROPERTY__DEPLOYMENT :
 				getDeployments().clear();
 				return;
-			case UMLPackage.PROPERTY__DATATYPE :
-				setDatatype((DataType) null);
-				return;
 			case UMLPackage.PROPERTY__INTERFACE :
 				setInterface((Interface) null);
 				return;
+			case UMLPackage.PROPERTY__DATATYPE :
+				setDatatype((DataType) null);
+				return;
 			case UMLPackage.PROPERTY__AGGREGATION :
 				setAggregation(AGGREGATION_EDEFAULT);
 				return;
@@ -2432,10 +2431,10 @@
 				return !getDeployedElements().isEmpty();
 			case UMLPackage.PROPERTY__DEPLOYMENT :
 				return deployments != null && !deployments.isEmpty();
-			case UMLPackage.PROPERTY__DATATYPE :
-				return basicGetDatatype() != null;
 			case UMLPackage.PROPERTY__INTERFACE :
 				return basicGetInterface() != null;
+			case UMLPackage.PROPERTY__DATATYPE :
+				return basicGetDatatype() != null;
 			case UMLPackage.PROPERTY__AGGREGATION :
 				return (eFlags & AGGREGATION_EFLAG) != AGGREGATION_EFLAG_DEFAULT;
 			case UMLPackage.PROPERTY__ASSOCIATION_END :
@@ -2676,10 +2675,6 @@
 				return allOwnedElements();
 			case UMLPackage.PROPERTY___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.PROPERTY___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.PROPERTY___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -2688,6 +2683,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.PROPERTY___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.PROPERTY___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.PROPERTY___CREATE_USAGE__NAMEDELEMENT :
@@ -2726,20 +2725,20 @@
 			case UMLPackage.PROPERTY___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
 				return isRedefinitionContextValid((RedefinableElement) arguments
 					.get(0));
-			case UMLPackage.PROPERTY___VALIDATE_UPPER_GE_LOWER__DIAGNOSTICCHAIN_MAP :
-				return validateUpperGeLower((DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.PROPERTY___VALIDATE_LOWER_GE0__DIAGNOSTICCHAIN_MAP :
 				return validateLowerGe0((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.PROPERTY___VALIDATE_VALUE_SPECIFICATION_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP :
-				return validateValueSpecificationNoSideEffects(
-					(DiagnosticChain) arguments.get(0),
+			case UMLPackage.PROPERTY___VALIDATE_UPPER_GE_LOWER__DIAGNOSTICCHAIN_MAP :
+				return validateUpperGeLower((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.PROPERTY___VALIDATE_VALUE_SPECIFICATION_CONSTANT__DIAGNOSTICCHAIN_MAP :
 				return validateValueSpecificationConstant(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.PROPERTY___VALIDATE_VALUE_SPECIFICATION_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP :
+				return validateValueSpecificationNoSideEffects(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.PROPERTY___SET_LOWER__INT :
 				setLower((Integer) arguments.get(0));
 				return null;
@@ -2774,40 +2773,40 @@
 				return getEnds();
 			case UMLPackage.PROPERTY___GET_DEPLOYED_ELEMENTS :
 				return getDeployedElements();
-			case UMLPackage.PROPERTY___VALIDATE_SUBSETTING_CONTEXT_CONFORMS__DIAGNOSTICCHAIN_MAP :
-				return validateSubsettingContextConforms(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.PROPERTY___VALIDATE_DERIVED_UNION_IS_READ_ONLY__DIAGNOSTICCHAIN_MAP :
-				return validateDerivedUnionIsReadOnly(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.PROPERTY___VALIDATE_MULTIPLICITY_OF_COMPOSITE__DIAGNOSTICCHAIN_MAP :
-				return validateMultiplicityOfComposite(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.PROPERTY___VALIDATE_REDEFINED_PROPERTY_INHERITED__DIAGNOSTICCHAIN_MAP :
-				return validateRedefinedPropertyInherited(
+			case UMLPackage.PROPERTY___VALIDATE_SUBSETTED_PROPERTY_NAMES__DIAGNOSTICCHAIN_MAP :
+				return validateSubsettedPropertyNames(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.PROPERTY___VALIDATE_SUBSETTING_RULES__DIAGNOSTICCHAIN_MAP :
 				return validateSubsettingRules(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.PROPERTY___VALIDATE_MULTIPLICITY_OF_COMPOSITE__DIAGNOSTICCHAIN_MAP :
+				return validateMultiplicityOfComposite(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.PROPERTY___VALIDATE_BINDING_TO_ATTRIBUTE__DIAGNOSTICCHAIN_MAP :
 				return validateBindingToAttribute(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.PROPERTY___VALIDATE_DERIVED_UNION_IS_DERIVED__DIAGNOSTICCHAIN_MAP :
-				return validateDerivedUnionIsDerived(
+			case UMLPackage.PROPERTY___VALIDATE_REDEFINED_PROPERTY_INHERITED__DIAGNOSTICCHAIN_MAP :
+				return validateRedefinedPropertyInherited(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.PROPERTY___VALIDATE_SUBSETTING_CONTEXT_CONFORMS__DIAGNOSTICCHAIN_MAP :
+				return validateSubsettingContextConforms(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.PROPERTY___VALIDATE_DEPLOYMENT_TARGET__DIAGNOSTICCHAIN_MAP :
 				return validateDeploymentTarget(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.PROPERTY___VALIDATE_SUBSETTED_PROPERTY_NAMES__DIAGNOSTICCHAIN_MAP :
-				return validateSubsettedPropertyNames(
+			case UMLPackage.PROPERTY___VALIDATE_DERIVED_UNION_IS_DERIVED__DIAGNOSTICCHAIN_MAP :
+				return validateDerivedUnionIsDerived(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.PROPERTY___VALIDATE_DERIVED_UNION_IS_READ_ONLY__DIAGNOSTICCHAIN_MAP :
+				return validateDerivedUnionIsReadOnly(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.PROPERTY___GET_OTHER_END :
@@ -3012,14 +3011,14 @@
 	 */
 	@Override
 	public Namespace basicGetNamespace() {
-		DataType datatype = basicGetDatatype();
-		if (datatype != null) {
-			return datatype;
-		}
 		Interface interface_ = basicGetInterface();
 		if (interface_ != null) {
 			return interface_;
 		}
+		DataType datatype = basicGetDatatype();
+		if (datatype != null) {
+			return datatype;
+		}
 		org.eclipse.uml2.uml.Class class_ = basicGetClass_();
 		if (class_ != null) {
 			return class_;
@@ -3038,8 +3037,8 @@
 	 */
 	@Override
 	public boolean isSetNamespace() {
-		return super.isSetNamespace() || eIsSet(UMLPackage.PROPERTY__DATATYPE)
-			|| eIsSet(UMLPackage.PROPERTY__INTERFACE)
+		return super.isSetNamespace() || eIsSet(UMLPackage.PROPERTY__INTERFACE)
+			|| eIsSet(UMLPackage.PROPERTY__DATATYPE)
 			|| eIsSet(UMLPackage.PROPERTY__CLASS)
 			|| eIsSet(UMLPackage.PROPERTY__OWNING_ASSOCIATION);
 	}
@@ -3053,7 +3052,7 @@
 	 * @ordered
 	 */
 	protected static final int[] FEATURING_CLASSIFIER_ESUBSETS = new int[]{
-		UMLPackage.PROPERTY__DATATYPE, UMLPackage.PROPERTY__INTERFACE,
+		UMLPackage.PROPERTY__INTERFACE, UMLPackage.PROPERTY__DATATYPE,
 		UMLPackage.PROPERTY__CLASS, UMLPackage.PROPERTY__OWNING_ASSOCIATION};
 
 	/**
@@ -3099,7 +3098,7 @@
 	 * @ordered
 	 */
 	protected static final int[] REDEFINITION_CONTEXT_ESUBSETS = new int[]{
-		UMLPackage.PROPERTY__DATATYPE, UMLPackage.PROPERTY__INTERFACE,
+		UMLPackage.PROPERTY__INTERFACE, UMLPackage.PROPERTY__DATATYPE,
 		UMLPackage.PROPERTY__CLASS, UMLPackage.PROPERTY__OWNING_ASSOCIATION};
 
 	/**
@@ -3110,8 +3109,8 @@
 	@Override
 	public boolean isSetFeaturingClassifiers() {
 		return super.isSetFeaturingClassifiers()
-			|| eIsSet(UMLPackage.PROPERTY__DATATYPE)
 			|| eIsSet(UMLPackage.PROPERTY__INTERFACE)
+			|| eIsSet(UMLPackage.PROPERTY__DATATYPE)
 			|| eIsSet(UMLPackage.PROPERTY__CLASS)
 			|| eIsSet(UMLPackage.PROPERTY__OWNING_ASSOCIATION);
 	}
@@ -3124,8 +3123,8 @@
 	@Override
 	public boolean isSetRedefinitionContexts() {
 		return super.isSetRedefinitionContexts()
-			|| eIsSet(UMLPackage.PROPERTY__DATATYPE)
 			|| eIsSet(UMLPackage.PROPERTY__INTERFACE)
+			|| eIsSet(UMLPackage.PROPERTY__DATATYPE)
 			|| eIsSet(UMLPackage.PROPERTY__CLASS)
 			|| eIsSet(UMLPackage.PROPERTY__OWNING_ASSOCIATION);
 	}
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ProtocolConformanceImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ProtocolConformanceImpl.java
index 41c763f..3953e5f 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ProtocolConformanceImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ProtocolConformanceImpl.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ProtocolConformanceImpl.java,v 1.18 2009/01/07 15:55:26 jbruck Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -47,8 +46,8 @@
  * The following features are implemented:
  * <ul>
  *   <li>{@link org.eclipse.uml2.uml.internal.impl.ProtocolConformanceImpl#getTargets <em>Target</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.internal.impl.ProtocolConformanceImpl#getSources <em>Source</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.internal.impl.ProtocolConformanceImpl#getOwner <em>Owner</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.internal.impl.ProtocolConformanceImpl#getSources <em>Source</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.internal.impl.ProtocolConformanceImpl#getGeneralMachine <em>General Machine</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.internal.impl.ProtocolConformanceImpl#getSpecificMachine <em>Specific Machine</em>}</li>
  * </ul>
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ProtocolStateMachineImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ProtocolStateMachineImpl.java
index 8acfcbe..8ac2e17 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ProtocolStateMachineImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ProtocolStateMachineImpl.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ProtocolStateMachineImpl.java,v 1.32 2010/09/28 21:02:14 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -1244,10 +1243,6 @@
 				return allOwnedElements();
 			case UMLPackage.PROTOCOL_STATE_MACHINE___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.PROTOCOL_STATE_MACHINE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.PROTOCOL_STATE_MACHINE___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -1256,6 +1251,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.PROTOCOL_STATE_MACHINE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.PROTOCOL_STATE_MACHINE___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.PROTOCOL_STATE_MACHINE___CREATE_USAGE__NAMEDELEMENT :
@@ -1345,14 +1344,6 @@
 				return isTemplate();
 			case UMLPackage.PROTOCOL_STATE_MACHINE___PARAMETERABLE_ELEMENTS :
 				return parameterableElements();
-			case UMLPackage.PROTOCOL_STATE_MACHINE___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP :
-				return validateSpecializeType(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.PROTOCOL_STATE_MACHINE___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP :
-				return validateMapsToGeneralizationSet(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.PROTOCOL_STATE_MACHINE___VALIDATE_NON_FINAL_PARENTS__DIAGNOSTICCHAIN_MAP :
 				return validateNonFinalParents(
 					(DiagnosticChain) arguments.get(0),
@@ -1361,6 +1352,14 @@
 				return validateNoCyclesInGeneralization(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.PROTOCOL_STATE_MACHINE___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP :
+				return validateSpecializeType(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.PROTOCOL_STATE_MACHINE___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP :
+				return validateMapsToGeneralizationSet(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.PROTOCOL_STATE_MACHINE___GET_ALL_ATTRIBUTES :
 				return getAllAttributes();
 			case UMLPackage.PROTOCOL_STATE_MACHINE___GET_ALL_OPERATIONS :
@@ -1432,13 +1431,6 @@
 				return getExtensions();
 			case UMLPackage.PROTOCOL_STATE_MACHINE___GET_SUPER_CLASSES :
 				return getSuperClasses();
-			case UMLPackage.PROTOCOL_STATE_MACHINE___VALIDATE_MOST_ONE_BEHAVIOUR__DIAGNOSTICCHAIN_MAP :
-				return validateMostOneBehaviour(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.PROTOCOL_STATE_MACHINE___VALIDATE_MUST_REALIZE__DIAGNOSTICCHAIN_MAP :
-				return validateMustRealize((DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.PROTOCOL_STATE_MACHINE___VALIDATE_PARAMETERS_MATCH__DIAGNOSTICCHAIN_MAP :
 				return validateParametersMatch(
 					(DiagnosticChain) arguments.get(0),
@@ -1447,23 +1439,30 @@
 				return validateFeatureOfContextClassifier(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.PROTOCOL_STATE_MACHINE___VALIDATE_MUST_REALIZE__DIAGNOSTICCHAIN_MAP :
+				return validateMustRealize((DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.PROTOCOL_STATE_MACHINE___VALIDATE_MOST_ONE_BEHAVIOUR__DIAGNOSTICCHAIN_MAP :
+				return validateMostOneBehaviour(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.PROTOCOL_STATE_MACHINE___GET_CONTEXT :
 				return getContext();
-			case UMLPackage.PROTOCOL_STATE_MACHINE___VALIDATE_CONNECTION_POINTS__DIAGNOSTICCHAIN_MAP :
-				return validateConnectionPoints(
-					(DiagnosticChain) arguments.get(0),
+			case UMLPackage.PROTOCOL_STATE_MACHINE___VALIDATE_METHOD__DIAGNOSTICCHAIN_MAP :
+				return validateMethod((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.PROTOCOL_STATE_MACHINE___VALIDATE_CLASSIFIER_CONTEXT__DIAGNOSTICCHAIN_MAP :
 				return validateClassifierContext(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.PROTOCOL_STATE_MACHINE___VALIDATE_METHOD__DIAGNOSTICCHAIN_MAP :
-				return validateMethod((DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.PROTOCOL_STATE_MACHINE___VALIDATE_CONTEXT_CLASSIFIER__DIAGNOSTICCHAIN_MAP :
 				return validateContextClassifier(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.PROTOCOL_STATE_MACHINE___VALIDATE_CONNECTION_POINTS__DIAGNOSTICCHAIN_MAP :
+				return validateConnectionPoints(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.PROTOCOL_STATE_MACHINE___LCA__STATE_STATE :
 				return LCA((State) arguments.get(0), (State) arguments.get(1));
 			case UMLPackage.PROTOCOL_STATE_MACHINE___ANCESTOR__STATE_STATE :
@@ -1472,21 +1471,21 @@
 			case UMLPackage.PROTOCOL_STATE_MACHINE___IS_REDEFINITION_CONTEXT_VALID__STATEMACHINE :
 				return isRedefinitionContextValid((StateMachine) arguments
 					.get(0));
+			case UMLPackage.PROTOCOL_STATE_MACHINE___VALIDATE_ENTRY_EXIT_DO__DIAGNOSTICCHAIN_MAP :
+				return validateEntryExitDo((DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.PROTOCOL_STATE_MACHINE___VALIDATE_PROTOCOL_TRANSITIONS__DIAGNOSTICCHAIN_MAP :
+				return validateProtocolTransitions(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.PROTOCOL_STATE_MACHINE___VALIDATE_DEEP_OR_SHALLOW_HISTORY__DIAGNOSTICCHAIN_MAP :
 				return validateDeepOrShallowHistory(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.PROTOCOL_STATE_MACHINE___VALIDATE_ENTRY_EXIT_DO__DIAGNOSTICCHAIN_MAP :
-				return validateEntryExitDo((DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.PROTOCOL_STATE_MACHINE___VALIDATE_PORTS_CONNECTED__DIAGNOSTICCHAIN_MAP :
 				return validatePortsConnected(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.PROTOCOL_STATE_MACHINE___VALIDATE_PROTOCOL_TRANSITIONS__DIAGNOSTICCHAIN_MAP :
-				return validateProtocolTransitions(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 		}
 		return eDynamicInvoke(operationID, arguments);
 	}
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ProtocolTransitionImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ProtocolTransitionImpl.java
index b594bdd..80aa67a 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ProtocolTransitionImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ProtocolTransitionImpl.java
@@ -9,9 +9,8 @@
  *   IBM - initial API and implementation
  *   Kenn Hussey (Embarcadero Technologies) - 204200
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ProtocolTransitionImpl.java,v 1.42 2010/09/28 21:02:13 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -979,10 +978,6 @@
 				return allOwnedElements();
 			case UMLPackage.PROTOCOL_TRANSITION___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.PROTOCOL_TRANSITION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.PROTOCOL_TRANSITION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -991,6 +986,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.PROTOCOL_TRANSITION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.PROTOCOL_TRANSITION___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.PROTOCOL_TRANSITION___CREATE_USAGE__NAMEDELEMENT :
@@ -1059,43 +1058,43 @@
 			case UMLPackage.PROTOCOL_TRANSITION___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
 				return isRedefinitionContextValid((RedefinableElement) arguments
 					.get(0));
-			case UMLPackage.PROTOCOL_TRANSITION___VALIDATE_STATE_IS_EXTERNAL__DIAGNOSTICCHAIN_MAP :
-				return validateStateIsExternal(
-					(DiagnosticChain) arguments.get(0),
+			case UMLPackage.PROTOCOL_TRANSITION___VALIDATE_STATE_IS_LOCAL__DIAGNOSTICCHAIN_MAP :
+				return validateStateIsLocal((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.PROTOCOL_TRANSITION___VALIDATE_JOIN_SEGMENT_GUARDS__DIAGNOSTICCHAIN_MAP :
-				return validateJoinSegmentGuards(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.PROTOCOL_TRANSITION___VALIDATE_STATE_IS_INTERNAL__DIAGNOSTICCHAIN_MAP :
-				return validateStateIsInternal(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.PROTOCOL_TRANSITION___VALIDATE_OUTGOING_PSEUDOSTATES__DIAGNOSTICCHAIN_MAP :
-				return validateOutgoingPseudostates(
+			case UMLPackage.PROTOCOL_TRANSITION___VALIDATE_FORK_SEGMENT_GUARDS__DIAGNOSTICCHAIN_MAP :
+				return validateForkSegmentGuards(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.PROTOCOL_TRANSITION___VALIDATE_JOIN_SEGMENT_STATE__DIAGNOSTICCHAIN_MAP :
 				return validateJoinSegmentState(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.PROTOCOL_TRANSITION___VALIDATE_FORK_SEGMENT_STATE__DIAGNOSTICCHAIN_MAP :
-				return validateForkSegmentState(
+			case UMLPackage.PROTOCOL_TRANSITION___VALIDATE_INITIAL_TRANSITION__DIAGNOSTICCHAIN_MAP :
+				return validateInitialTransition(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.PROTOCOL_TRANSITION___VALIDATE_OUTGOING_PSEUDOSTATES__DIAGNOSTICCHAIN_MAP :
+				return validateOutgoingPseudostates(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.PROTOCOL_TRANSITION___VALIDATE_SIGNATURES_COMPATIBLE__DIAGNOSTICCHAIN_MAP :
 				return validateSignaturesCompatible(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.PROTOCOL_TRANSITION___VALIDATE_STATE_IS_LOCAL__DIAGNOSTICCHAIN_MAP :
-				return validateStateIsLocal((DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.PROTOCOL_TRANSITION___VALIDATE_INITIAL_TRANSITION__DIAGNOSTICCHAIN_MAP :
-				return validateInitialTransition(
+			case UMLPackage.PROTOCOL_TRANSITION___VALIDATE_STATE_IS_INTERNAL__DIAGNOSTICCHAIN_MAP :
+				return validateStateIsInternal(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.PROTOCOL_TRANSITION___VALIDATE_FORK_SEGMENT_GUARDS__DIAGNOSTICCHAIN_MAP :
-				return validateForkSegmentGuards(
+			case UMLPackage.PROTOCOL_TRANSITION___VALIDATE_JOIN_SEGMENT_GUARDS__DIAGNOSTICCHAIN_MAP :
+				return validateJoinSegmentGuards(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.PROTOCOL_TRANSITION___VALIDATE_FORK_SEGMENT_STATE__DIAGNOSTICCHAIN_MAP :
+				return validateForkSegmentState(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.PROTOCOL_TRANSITION___VALIDATE_STATE_IS_EXTERNAL__DIAGNOSTICCHAIN_MAP :
+				return validateStateIsExternal(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.PROTOCOL_TRANSITION___CONTAINING_STATE_MACHINE :
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/PseudostateImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/PseudostateImpl.java
index 5e6806b..f1bcb4f 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/PseudostateImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/PseudostateImpl.java
@@ -9,9 +9,8 @@
  *   IBM - initial API and implementation
  *   Kenn Hussey (Embarcadero Technologies) - 204200
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: PseudostateImpl.java,v 1.24 2010/09/28 21:02:13 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -764,10 +763,6 @@
 				return allOwnedElements();
 			case UMLPackage.PSEUDOSTATE___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.PSEUDOSTATE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.PSEUDOSTATE___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -776,6 +771,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.PSEUDOSTATE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.PSEUDOSTATE___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.PSEUDOSTATE___CREATE_USAGE__NAMEDELEMENT :
@@ -803,20 +802,6 @@
 				return getIncomings();
 			case UMLPackage.PSEUDOSTATE___GET_OUTGOINGS :
 				return getOutgoings();
-			case UMLPackage.PSEUDOSTATE___VALIDATE_TRANSITIONS_OUTGOING__DIAGNOSTICCHAIN_MAP :
-				return validateTransitionsOutgoing(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.PSEUDOSTATE___VALIDATE_CHOICE_VERTEX__DIAGNOSTICCHAIN_MAP :
-				return validateChoiceVertex((DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.PSEUDOSTATE___VALIDATE_OUTGOING_FROM_INITIAL__DIAGNOSTICCHAIN_MAP :
-				return validateOutgoingFromInitial(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.PSEUDOSTATE___VALIDATE_JOIN_VERTEX__DIAGNOSTICCHAIN_MAP :
-				return validateJoinVertex((DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.PSEUDOSTATE___VALIDATE_JUNCTION_VERTEX__DIAGNOSTICCHAIN_MAP :
 				return validateJunctionVertex(
 					(DiagnosticChain) arguments.get(0),
@@ -825,13 +810,27 @@
 				return validateHistoryVertices(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.PSEUDOSTATE___VALIDATE_INITIAL_VERTEX__DIAGNOSTICCHAIN_MAP :
-				return validateInitialVertex(
+			case UMLPackage.PSEUDOSTATE___VALIDATE_TRANSITIONS_OUTGOING__DIAGNOSTICCHAIN_MAP :
+				return validateTransitionsOutgoing(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.PSEUDOSTATE___VALIDATE_OUTGOING_FROM_INITIAL__DIAGNOSTICCHAIN_MAP :
+				return validateOutgoingFromInitial(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.PSEUDOSTATE___VALIDATE_FORK_VERTEX__DIAGNOSTICCHAIN_MAP :
 				return validateForkVertex((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.PSEUDOSTATE___VALIDATE_JOIN_VERTEX__DIAGNOSTICCHAIN_MAP :
+				return validateJoinVertex((DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.PSEUDOSTATE___VALIDATE_CHOICE_VERTEX__DIAGNOSTICCHAIN_MAP :
+				return validateChoiceVertex((DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.PSEUDOSTATE___VALIDATE_INITIAL_VERTEX__DIAGNOSTICCHAIN_MAP :
+				return validateInitialVertex(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.PSEUDOSTATE___VALIDATE_TRANSITIONS_INCOMING__DIAGNOSTICCHAIN_MAP :
 				return validateTransitionsIncoming(
 					(DiagnosticChain) arguments.get(0),
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/QualifierValueImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/QualifierValueImpl.java
index 44a7a33..eeea325 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/QualifierValueImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/QualifierValueImpl.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: QualifierValueImpl.java,v 1.14 2010/09/28 21:02:14 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -408,6 +407,10 @@
 				return allOwnedElements();
 			case UMLPackage.QUALIFIER_VALUE___MUST_BE_OWNED :
 				return mustBeOwned();
+			case UMLPackage.QUALIFIER_VALUE___VALIDATE_QUALIFIER_ATTRIBUTE__DIAGNOSTICCHAIN_MAP :
+				return validateQualifierAttribute(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.QUALIFIER_VALUE___VALIDATE_MULTIPLICITY_OF_QUALIFIER__DIAGNOSTICCHAIN_MAP :
 				return validateMultiplicityOfQualifier(
 					(DiagnosticChain) arguments.get(0),
@@ -416,10 +419,6 @@
 				return validateTypeOfQualifier(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.QUALIFIER_VALUE___VALIDATE_QUALIFIER_ATTRIBUTE__DIAGNOSTICCHAIN_MAP :
-				return validateQualifierAttribute(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 		}
 		return eDynamicInvoke(operationID, arguments);
 	}
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/RaiseExceptionActionImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/RaiseExceptionActionImpl.java
index 10995be..4828441 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/RaiseExceptionActionImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/RaiseExceptionActionImpl.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: RaiseExceptionActionImpl.java,v 1.27 2009/01/07 15:55:31 jbruck Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -255,8 +254,6 @@
 					.basicRemove(otherEnd, msgs);
 			case UMLPackage.RAISE_EXCEPTION_ACTION__NAME_EXPRESSION :
 				return basicSetNameExpression(null, msgs);
-			case UMLPackage.RAISE_EXCEPTION_ACTION__ACTIVITY :
-				return basicSetActivity(null, msgs);
 			case UMLPackage.RAISE_EXCEPTION_ACTION__IN_PARTITION :
 				return ((InternalEList<?>) getInPartitions()).basicRemove(
 					otherEnd, msgs);
@@ -330,8 +327,6 @@
 				if (resolve)
 					return getActivity();
 				return basicGetActivity();
-			case UMLPackage.RAISE_EXCEPTION_ACTION__IN_GROUP :
-				return getInGroups();
 			case UMLPackage.RAISE_EXCEPTION_ACTION__IN_PARTITION :
 				return getInPartitions();
 			case UMLPackage.RAISE_EXCEPTION_ACTION__IN_STRUCTURED_NODE :
@@ -344,6 +339,8 @@
 				return getOutgoings();
 			case UMLPackage.RAISE_EXCEPTION_ACTION__INCOMING :
 				return getIncomings();
+			case UMLPackage.RAISE_EXCEPTION_ACTION__IN_GROUP :
+				return getInGroups();
 			case UMLPackage.RAISE_EXCEPTION_ACTION__REDEFINED_NODE :
 				return getRedefinedNodes();
 			case UMLPackage.RAISE_EXCEPTION_ACTION__HANDLER :
@@ -571,8 +568,6 @@
 				return isSetRedefinitionContexts();
 			case UMLPackage.RAISE_EXCEPTION_ACTION__ACTIVITY :
 				return basicGetActivity() != null;
-			case UMLPackage.RAISE_EXCEPTION_ACTION__IN_GROUP :
-				return isSetInGroups();
 			case UMLPackage.RAISE_EXCEPTION_ACTION__IN_PARTITION :
 				return inPartitions != null && !inPartitions.isEmpty();
 			case UMLPackage.RAISE_EXCEPTION_ACTION__IN_STRUCTURED_NODE :
@@ -584,6 +579,8 @@
 				return outgoings != null && !outgoings.isEmpty();
 			case UMLPackage.RAISE_EXCEPTION_ACTION__INCOMING :
 				return incomings != null && !incomings.isEmpty();
+			case UMLPackage.RAISE_EXCEPTION_ACTION__IN_GROUP :
+				return isSetInGroups();
 			case UMLPackage.RAISE_EXCEPTION_ACTION__REDEFINED_NODE :
 				return redefinedNodes != null && !redefinedNodes.isEmpty();
 			case UMLPackage.RAISE_EXCEPTION_ACTION__HANDLER :
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ReadExtentActionImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ReadExtentActionImpl.java
index cc4d6ce..f79864f 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ReadExtentActionImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ReadExtentActionImpl.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ReadExtentActionImpl.java,v 1.28 2010/09/28 21:02:14 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -329,8 +328,6 @@
 					.basicRemove(otherEnd, msgs);
 			case UMLPackage.READ_EXTENT_ACTION__NAME_EXPRESSION :
 				return basicSetNameExpression(null, msgs);
-			case UMLPackage.READ_EXTENT_ACTION__ACTIVITY :
-				return basicSetActivity(null, msgs);
 			case UMLPackage.READ_EXTENT_ACTION__IN_PARTITION :
 				return ((InternalEList<?>) getInPartitions()).basicRemove(
 					otherEnd, msgs);
@@ -404,8 +401,6 @@
 				if (resolve)
 					return getActivity();
 				return basicGetActivity();
-			case UMLPackage.READ_EXTENT_ACTION__IN_GROUP :
-				return getInGroups();
 			case UMLPackage.READ_EXTENT_ACTION__IN_PARTITION :
 				return getInPartitions();
 			case UMLPackage.READ_EXTENT_ACTION__IN_STRUCTURED_NODE :
@@ -418,6 +413,8 @@
 				return getOutgoings();
 			case UMLPackage.READ_EXTENT_ACTION__INCOMING :
 				return getIncomings();
+			case UMLPackage.READ_EXTENT_ACTION__IN_GROUP :
+				return getInGroups();
 			case UMLPackage.READ_EXTENT_ACTION__REDEFINED_NODE :
 				return getRedefinedNodes();
 			case UMLPackage.READ_EXTENT_ACTION__HANDLER :
@@ -655,8 +652,6 @@
 				return isSetRedefinitionContexts();
 			case UMLPackage.READ_EXTENT_ACTION__ACTIVITY :
 				return basicGetActivity() != null;
-			case UMLPackage.READ_EXTENT_ACTION__IN_GROUP :
-				return isSetInGroups();
 			case UMLPackage.READ_EXTENT_ACTION__IN_PARTITION :
 				return inPartitions != null && !inPartitions.isEmpty();
 			case UMLPackage.READ_EXTENT_ACTION__IN_STRUCTURED_NODE :
@@ -668,6 +663,8 @@
 				return outgoings != null && !outgoings.isEmpty();
 			case UMLPackage.READ_EXTENT_ACTION__INCOMING :
 				return incomings != null && !incomings.isEmpty();
+			case UMLPackage.READ_EXTENT_ACTION__IN_GROUP :
+				return isSetInGroups();
 			case UMLPackage.READ_EXTENT_ACTION__REDEFINED_NODE :
 				return redefinedNodes != null && !redefinedNodes.isEmpty();
 			case UMLPackage.READ_EXTENT_ACTION__HANDLER :
@@ -786,10 +783,6 @@
 				return allOwnedElements();
 			case UMLPackage.READ_EXTENT_ACTION___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.READ_EXTENT_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.READ_EXTENT_ACTION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -798,6 +791,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.READ_EXTENT_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.READ_EXTENT_ACTION___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.READ_EXTENT_ACTION___CREATE_USAGE__NAMEDELEMENT :
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ReadIsClassifiedObjectActionImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ReadIsClassifiedObjectActionImpl.java
index aac5b26..05e0a21 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ReadIsClassifiedObjectActionImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ReadIsClassifiedObjectActionImpl.java
@@ -9,9 +9,8 @@
  *   IBM - initial API and implementation
  *   Kenn Hussey (Embarcadero Technologies) - 204200
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ReadIsClassifiedObjectActionImpl.java,v 1.30 2010/09/28 21:02:13 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -559,8 +558,6 @@
 					.basicRemove(otherEnd, msgs);
 			case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__NAME_EXPRESSION :
 				return basicSetNameExpression(null, msgs);
-			case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__ACTIVITY :
-				return basicSetActivity(null, msgs);
 			case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__IN_PARTITION :
 				return ((InternalEList<?>) getInPartitions()).basicRemove(
 					otherEnd, msgs);
@@ -636,8 +633,6 @@
 				if (resolve)
 					return getActivity();
 				return basicGetActivity();
-			case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__IN_GROUP :
-				return getInGroups();
 			case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__IN_PARTITION :
 				return getInPartitions();
 			case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__IN_STRUCTURED_NODE :
@@ -650,6 +645,8 @@
 				return getOutgoings();
 			case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__INCOMING :
 				return getIncomings();
+			case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__IN_GROUP :
+				return getInGroups();
 			case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__REDEFINED_NODE :
 				return getRedefinedNodes();
 			case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__HANDLER :
@@ -905,8 +902,6 @@
 				return isSetRedefinitionContexts();
 			case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__ACTIVITY :
 				return basicGetActivity() != null;
-			case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__IN_GROUP :
-				return isSetInGroups();
 			case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__IN_PARTITION :
 				return inPartitions != null && !inPartitions.isEmpty();
 			case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__IN_STRUCTURED_NODE :
@@ -918,6 +913,8 @@
 				return outgoings != null && !outgoings.isEmpty();
 			case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__INCOMING :
 				return incomings != null && !incomings.isEmpty();
+			case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__IN_GROUP :
+				return isSetInGroups();
 			case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__REDEFINED_NODE :
 				return redefinedNodes != null && !redefinedNodes.isEmpty();
 			case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION__HANDLER :
@@ -1040,10 +1037,6 @@
 				return allOwnedElements();
 			case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -1052,6 +1045,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.READ_IS_CLASSIFIED_OBJECT_ACTION___CREATE_USAGE__NAMEDELEMENT :
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ReadLinkActionImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ReadLinkActionImpl.java
index b87ed4a..05e65ec 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ReadLinkActionImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ReadLinkActionImpl.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ReadLinkActionImpl.java,v 1.28 2010/09/28 21:02:14 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -307,8 +306,6 @@
 					.basicRemove(otherEnd, msgs);
 			case UMLPackage.READ_LINK_ACTION__NAME_EXPRESSION :
 				return basicSetNameExpression(null, msgs);
-			case UMLPackage.READ_LINK_ACTION__ACTIVITY :
-				return basicSetActivity(null, msgs);
 			case UMLPackage.READ_LINK_ACTION__IN_PARTITION :
 				return ((InternalEList<?>) getInPartitions()).basicRemove(
 					otherEnd, msgs);
@@ -388,8 +385,6 @@
 				if (resolve)
 					return getActivity();
 				return basicGetActivity();
-			case UMLPackage.READ_LINK_ACTION__IN_GROUP :
-				return getInGroups();
 			case UMLPackage.READ_LINK_ACTION__IN_PARTITION :
 				return getInPartitions();
 			case UMLPackage.READ_LINK_ACTION__IN_STRUCTURED_NODE :
@@ -402,6 +397,8 @@
 				return getOutgoings();
 			case UMLPackage.READ_LINK_ACTION__INCOMING :
 				return getIncomings();
+			case UMLPackage.READ_LINK_ACTION__IN_GROUP :
+				return getInGroups();
 			case UMLPackage.READ_LINK_ACTION__REDEFINED_NODE :
 				return getRedefinedNodes();
 			case UMLPackage.READ_LINK_ACTION__HANDLER :
@@ -649,8 +646,6 @@
 				return isSetRedefinitionContexts();
 			case UMLPackage.READ_LINK_ACTION__ACTIVITY :
 				return basicGetActivity() != null;
-			case UMLPackage.READ_LINK_ACTION__IN_GROUP :
-				return isSetInGroups();
 			case UMLPackage.READ_LINK_ACTION__IN_PARTITION :
 				return inPartitions != null && !inPartitions.isEmpty();
 			case UMLPackage.READ_LINK_ACTION__IN_STRUCTURED_NODE :
@@ -662,6 +657,8 @@
 				return outgoings != null && !outgoings.isEmpty();
 			case UMLPackage.READ_LINK_ACTION__INCOMING :
 				return incomings != null && !incomings.isEmpty();
+			case UMLPackage.READ_LINK_ACTION__IN_GROUP :
+				return isSetInGroups();
 			case UMLPackage.READ_LINK_ACTION__REDEFINED_NODE :
 				return redefinedNodes != null && !redefinedNodes.isEmpty();
 			case UMLPackage.READ_LINK_ACTION__HANDLER :
@@ -782,10 +779,6 @@
 				return allOwnedElements();
 			case UMLPackage.READ_LINK_ACTION___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.READ_LINK_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.READ_LINK_ACTION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -794,6 +787,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.READ_LINK_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.READ_LINK_ACTION___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.READ_LINK_ACTION___CREATE_USAGE__NAMEDELEMENT :
@@ -857,20 +854,20 @@
 				return validateTypeAndOrdering(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.READ_LINK_ACTION___VALIDATE_ONE_OPEN_END__DIAGNOSTICCHAIN_MAP :
+				return validateOneOpenEnd((DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.READ_LINK_ACTION___VALIDATE_COMPATIBLE_MULTIPLICITY__DIAGNOSTICCHAIN_MAP :
 				return validateCompatibleMultiplicity(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.READ_LINK_ACTION___VALIDATE_VISIBILITY__DIAGNOSTICCHAIN_MAP :
-				return validateVisibility((DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.READ_LINK_ACTION___VALIDATE_ONE_OPEN_END__DIAGNOSTICCHAIN_MAP :
-				return validateOneOpenEnd((DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.READ_LINK_ACTION___VALIDATE_NAVIGABLE_OPEN_END__DIAGNOSTICCHAIN_MAP :
 				return validateNavigableOpenEnd(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.READ_LINK_ACTION___VALIDATE_VISIBILITY__DIAGNOSTICCHAIN_MAP :
+				return validateVisibility((DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 		}
 		return eDynamicInvoke(operationID, arguments);
 	}
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ReadLinkObjectEndActionImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ReadLinkObjectEndActionImpl.java
index cb4bf14..7ca3ad3 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ReadLinkObjectEndActionImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ReadLinkObjectEndActionImpl.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ReadLinkObjectEndActionImpl.java,v 1.29 2010/09/28 21:02:14 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -540,8 +539,6 @@
 					.basicRemove(otherEnd, msgs);
 			case UMLPackage.READ_LINK_OBJECT_END_ACTION__NAME_EXPRESSION :
 				return basicSetNameExpression(null, msgs);
-			case UMLPackage.READ_LINK_OBJECT_END_ACTION__ACTIVITY :
-				return basicSetActivity(null, msgs);
 			case UMLPackage.READ_LINK_OBJECT_END_ACTION__IN_PARTITION :
 				return ((InternalEList<?>) getInPartitions()).basicRemove(
 					otherEnd, msgs);
@@ -617,8 +614,6 @@
 				if (resolve)
 					return getActivity();
 				return basicGetActivity();
-			case UMLPackage.READ_LINK_OBJECT_END_ACTION__IN_GROUP :
-				return getInGroups();
 			case UMLPackage.READ_LINK_OBJECT_END_ACTION__IN_PARTITION :
 				return getInPartitions();
 			case UMLPackage.READ_LINK_OBJECT_END_ACTION__IN_STRUCTURED_NODE :
@@ -631,6 +626,8 @@
 				return getOutgoings();
 			case UMLPackage.READ_LINK_OBJECT_END_ACTION__INCOMING :
 				return getIncomings();
+			case UMLPackage.READ_LINK_OBJECT_END_ACTION__IN_GROUP :
+				return getInGroups();
 			case UMLPackage.READ_LINK_OBJECT_END_ACTION__REDEFINED_NODE :
 				return getRedefinedNodes();
 			case UMLPackage.READ_LINK_OBJECT_END_ACTION__HANDLER :
@@ -878,8 +875,6 @@
 				return isSetRedefinitionContexts();
 			case UMLPackage.READ_LINK_OBJECT_END_ACTION__ACTIVITY :
 				return basicGetActivity() != null;
-			case UMLPackage.READ_LINK_OBJECT_END_ACTION__IN_GROUP :
-				return isSetInGroups();
 			case UMLPackage.READ_LINK_OBJECT_END_ACTION__IN_PARTITION :
 				return inPartitions != null && !inPartitions.isEmpty();
 			case UMLPackage.READ_LINK_OBJECT_END_ACTION__IN_STRUCTURED_NODE :
@@ -891,6 +886,8 @@
 				return outgoings != null && !outgoings.isEmpty();
 			case UMLPackage.READ_LINK_OBJECT_END_ACTION__INCOMING :
 				return incomings != null && !incomings.isEmpty();
+			case UMLPackage.READ_LINK_OBJECT_END_ACTION__IN_GROUP :
+				return isSetInGroups();
 			case UMLPackage.READ_LINK_OBJECT_END_ACTION__REDEFINED_NODE :
 				return redefinedNodes != null && !redefinedNodes.isEmpty();
 			case UMLPackage.READ_LINK_OBJECT_END_ACTION__HANDLER :
@@ -1011,10 +1008,6 @@
 				return allOwnedElements();
 			case UMLPackage.READ_LINK_OBJECT_END_ACTION___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.READ_LINK_OBJECT_END_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.READ_LINK_OBJECT_END_ACTION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -1023,6 +1016,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.READ_LINK_OBJECT_END_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.READ_LINK_OBJECT_END_ACTION___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.READ_LINK_OBJECT_END_ACTION___CREATE_USAGE__NAMEDELEMENT :
@@ -1070,29 +1067,29 @@
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.READ_LINK_OBJECT_END_ACTION___GET_CONTEXT :
 				return getContext();
-			case UMLPackage.READ_LINK_OBJECT_END_ACTION___VALIDATE_PROPERTY__DIAGNOSTICCHAIN_MAP :
-				return validateProperty((DiagnosticChain) arguments.get(0),
+			case UMLPackage.READ_LINK_OBJECT_END_ACTION___VALIDATE_ASSOCIATION_OF_ASSOCIATION__DIAGNOSTICCHAIN_MAP :
+				return validateAssociationOfAssociation(
+					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.READ_LINK_OBJECT_END_ACTION___VALIDATE_MULTIPLICITY_OF_OBJECT__DIAGNOSTICCHAIN_MAP :
 				return validateMultiplicityOfObject(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.READ_LINK_OBJECT_END_ACTION___VALIDATE_ENDS_OF_ASSOCIATION__DIAGNOSTICCHAIN_MAP :
-				return validateEndsOfAssociation(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.READ_LINK_OBJECT_END_ACTION___VALIDATE_TYPE_OF_RESULT__DIAGNOSTICCHAIN_MAP :
 				return validateTypeOfResult((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.READ_LINK_OBJECT_END_ACTION___VALIDATE_TYPE_OF_OBJECT__DIAGNOSTICCHAIN_MAP :
+				return validateTypeOfObject((DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.READ_LINK_OBJECT_END_ACTION___VALIDATE_PROPERTY__DIAGNOSTICCHAIN_MAP :
+				return validateProperty((DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.READ_LINK_OBJECT_END_ACTION___VALIDATE_MULTIPLICITY_OF_RESULT__DIAGNOSTICCHAIN_MAP :
 				return validateMultiplicityOfResult(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.READ_LINK_OBJECT_END_ACTION___VALIDATE_TYPE_OF_OBJECT__DIAGNOSTICCHAIN_MAP :
-				return validateTypeOfObject((DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.READ_LINK_OBJECT_END_ACTION___VALIDATE_ASSOCIATION_OF_ASSOCIATION__DIAGNOSTICCHAIN_MAP :
-				return validateAssociationOfAssociation(
+			case UMLPackage.READ_LINK_OBJECT_END_ACTION___VALIDATE_ENDS_OF_ASSOCIATION__DIAGNOSTICCHAIN_MAP :
+				return validateEndsOfAssociation(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 		}
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ReadLinkObjectEndQualifierActionImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ReadLinkObjectEndQualifierActionImpl.java
index b9e1c5b..993463f 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ReadLinkObjectEndQualifierActionImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ReadLinkObjectEndQualifierActionImpl.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ReadLinkObjectEndQualifierActionImpl.java,v 1.29 2010/09/28 21:02:14 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -588,8 +587,6 @@
 					.basicRemove(otherEnd, msgs);
 			case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__NAME_EXPRESSION :
 				return basicSetNameExpression(null, msgs);
-			case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__ACTIVITY :
-				return basicSetActivity(null, msgs);
 			case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__IN_PARTITION :
 				return ((InternalEList<?>) getInPartitions()).basicRemove(
 					otherEnd, msgs);
@@ -665,8 +662,6 @@
 				if (resolve)
 					return getActivity();
 				return basicGetActivity();
-			case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__IN_GROUP :
-				return getInGroups();
 			case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__IN_PARTITION :
 				return getInPartitions();
 			case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__IN_STRUCTURED_NODE :
@@ -679,6 +674,8 @@
 				return getOutgoings();
 			case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__INCOMING :
 				return getIncomings();
+			case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__IN_GROUP :
+				return getInGroups();
 			case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__REDEFINED_NODE :
 				return getRedefinedNodes();
 			case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__HANDLER :
@@ -926,8 +923,6 @@
 				return isSetRedefinitionContexts();
 			case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__ACTIVITY :
 				return basicGetActivity() != null;
-			case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__IN_GROUP :
-				return isSetInGroups();
 			case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__IN_PARTITION :
 				return inPartitions != null && !inPartitions.isEmpty();
 			case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__IN_STRUCTURED_NODE :
@@ -939,6 +934,8 @@
 				return outgoings != null && !outgoings.isEmpty();
 			case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__INCOMING :
 				return incomings != null && !incomings.isEmpty();
+			case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__IN_GROUP :
+				return isSetInGroups();
 			case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__REDEFINED_NODE :
 				return redefinedNodes != null && !redefinedNodes.isEmpty();
 			case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION__HANDLER :
@@ -1059,10 +1056,6 @@
 				return allOwnedElements();
 			case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -1071,6 +1064,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION___CREATE_USAGE__NAMEDELEMENT :
@@ -1118,21 +1115,9 @@
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION___GET_CONTEXT :
 				return getContext();
-			case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION___VALIDATE_MULTIPLICITY_OF_OBJECT__DIAGNOSTICCHAIN_MAP :
-				return validateMultiplicityOfObject(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION___VALIDATE_TYPE_OF_OBJECT__DIAGNOSTICCHAIN_MAP :
 				return validateTypeOfObject((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION___VALIDATE_MULTIPLICITY_OF_QUALIFIER__DIAGNOSTICCHAIN_MAP :
-				return validateMultiplicityOfQualifier(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION___VALIDATE_ENDS_OF_ASSOCIATION__DIAGNOSTICCHAIN_MAP :
-				return validateEndsOfAssociation(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION___VALIDATE_MULTIPLICITY_OF_RESULT__DIAGNOSTICCHAIN_MAP :
 				return validateMultiplicityOfResult(
 					(DiagnosticChain) arguments.get(0),
@@ -1140,6 +1125,18 @@
 			case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION___VALIDATE_SAME_TYPE__DIAGNOSTICCHAIN_MAP :
 				return validateSameType((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION___VALIDATE_ENDS_OF_ASSOCIATION__DIAGNOSTICCHAIN_MAP :
+				return validateEndsOfAssociation(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION___VALIDATE_MULTIPLICITY_OF_QUALIFIER__DIAGNOSTICCHAIN_MAP :
+				return validateMultiplicityOfQualifier(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION___VALIDATE_MULTIPLICITY_OF_OBJECT__DIAGNOSTICCHAIN_MAP :
+				return validateMultiplicityOfObject(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.READ_LINK_OBJECT_END_QUALIFIER_ACTION___VALIDATE_ASSOCIATION_OF_ASSOCIATION__DIAGNOSTICCHAIN_MAP :
 				return validateAssociationOfAssociation(
 					(DiagnosticChain) arguments.get(0),
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ReadSelfActionImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ReadSelfActionImpl.java
index d32a94c..c75349e 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ReadSelfActionImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ReadSelfActionImpl.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ReadSelfActionImpl.java,v 1.28 2010/09/28 21:02:13 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -294,8 +293,6 @@
 					.basicRemove(otherEnd, msgs);
 			case UMLPackage.READ_SELF_ACTION__NAME_EXPRESSION :
 				return basicSetNameExpression(null, msgs);
-			case UMLPackage.READ_SELF_ACTION__ACTIVITY :
-				return basicSetActivity(null, msgs);
 			case UMLPackage.READ_SELF_ACTION__IN_PARTITION :
 				return ((InternalEList<?>) getInPartitions()).basicRemove(
 					otherEnd, msgs);
@@ -369,8 +366,6 @@
 				if (resolve)
 					return getActivity();
 				return basicGetActivity();
-			case UMLPackage.READ_SELF_ACTION__IN_GROUP :
-				return getInGroups();
 			case UMLPackage.READ_SELF_ACTION__IN_PARTITION :
 				return getInPartitions();
 			case UMLPackage.READ_SELF_ACTION__IN_STRUCTURED_NODE :
@@ -383,6 +378,8 @@
 				return getOutgoings();
 			case UMLPackage.READ_SELF_ACTION__INCOMING :
 				return getIncomings();
+			case UMLPackage.READ_SELF_ACTION__IN_GROUP :
+				return getInGroups();
 			case UMLPackage.READ_SELF_ACTION__REDEFINED_NODE :
 				return getRedefinedNodes();
 			case UMLPackage.READ_SELF_ACTION__HANDLER :
@@ -610,8 +607,6 @@
 				return isSetRedefinitionContexts();
 			case UMLPackage.READ_SELF_ACTION__ACTIVITY :
 				return basicGetActivity() != null;
-			case UMLPackage.READ_SELF_ACTION__IN_GROUP :
-				return isSetInGroups();
 			case UMLPackage.READ_SELF_ACTION__IN_PARTITION :
 				return inPartitions != null && !inPartitions.isEmpty();
 			case UMLPackage.READ_SELF_ACTION__IN_STRUCTURED_NODE :
@@ -623,6 +618,8 @@
 				return outgoings != null && !outgoings.isEmpty();
 			case UMLPackage.READ_SELF_ACTION__INCOMING :
 				return incomings != null && !incomings.isEmpty();
+			case UMLPackage.READ_SELF_ACTION__IN_GROUP :
+				return isSetInGroups();
 			case UMLPackage.READ_SELF_ACTION__REDEFINED_NODE :
 				return redefinedNodes != null && !redefinedNodes.isEmpty();
 			case UMLPackage.READ_SELF_ACTION__HANDLER :
@@ -739,10 +736,6 @@
 				return allOwnedElements();
 			case UMLPackage.READ_SELF_ACTION___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.READ_SELF_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.READ_SELF_ACTION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -751,6 +744,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.READ_SELF_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.READ_SELF_ACTION___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.READ_SELF_ACTION___CREATE_USAGE__NAMEDELEMENT :
@@ -801,14 +798,14 @@
 			case UMLPackage.READ_SELF_ACTION___VALIDATE_CONTAINED__DIAGNOSTICCHAIN_MAP :
 				return validateContained((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.READ_SELF_ACTION___VALIDATE_MULTIPLICITY__DIAGNOSTICCHAIN_MAP :
-				return validateMultiplicity((DiagnosticChain) arguments.get(0),
+			case UMLPackage.READ_SELF_ACTION___VALIDATE_TYPE__DIAGNOSTICCHAIN_MAP :
+				return validateType((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.READ_SELF_ACTION___VALIDATE_NOT_STATIC__DIAGNOSTICCHAIN_MAP :
 				return validateNotStatic((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.READ_SELF_ACTION___VALIDATE_TYPE__DIAGNOSTICCHAIN_MAP :
-				return validateType((DiagnosticChain) arguments.get(0),
+			case UMLPackage.READ_SELF_ACTION___VALIDATE_MULTIPLICITY__DIAGNOSTICCHAIN_MAP :
+				return validateMultiplicity((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 		}
 		return eDynamicInvoke(operationID, arguments);
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ReadStructuralFeatureActionImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ReadStructuralFeatureActionImpl.java
index 0e7cac2..1d32424 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ReadStructuralFeatureActionImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ReadStructuralFeatureActionImpl.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ReadStructuralFeatureActionImpl.java,v 1.28 2010/09/28 21:02:13 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -283,8 +282,6 @@
 					.basicRemove(otherEnd, msgs);
 			case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__NAME_EXPRESSION :
 				return basicSetNameExpression(null, msgs);
-			case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__ACTIVITY :
-				return basicSetActivity(null, msgs);
 			case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__IN_PARTITION :
 				return ((InternalEList<?>) getInPartitions()).basicRemove(
 					otherEnd, msgs);
@@ -360,8 +357,6 @@
 				if (resolve)
 					return getActivity();
 				return basicGetActivity();
-			case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__IN_GROUP :
-				return getInGroups();
 			case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__IN_PARTITION :
 				return getInPartitions();
 			case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__IN_STRUCTURED_NODE :
@@ -374,6 +369,8 @@
 				return getOutgoings();
 			case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__INCOMING :
 				return getIncomings();
+			case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__IN_GROUP :
+				return getInGroups();
 			case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__REDEFINED_NODE :
 				return getRedefinedNodes();
 			case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__HANDLER :
@@ -621,8 +618,6 @@
 				return isSetRedefinitionContexts();
 			case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__ACTIVITY :
 				return basicGetActivity() != null;
-			case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__IN_GROUP :
-				return isSetInGroups();
 			case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__IN_PARTITION :
 				return inPartitions != null && !inPartitions.isEmpty();
 			case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__IN_STRUCTURED_NODE :
@@ -634,6 +629,8 @@
 				return outgoings != null && !outgoings.isEmpty();
 			case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__INCOMING :
 				return incomings != null && !incomings.isEmpty();
+			case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__IN_GROUP :
+				return isSetInGroups();
 			case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__REDEFINED_NODE :
 				return redefinedNodes != null && !redefinedNodes.isEmpty();
 			case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION__HANDLER :
@@ -754,10 +751,6 @@
 				return allOwnedElements();
 			case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -766,6 +759,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION___CREATE_USAGE__NAMEDELEMENT :
@@ -813,15 +810,12 @@
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION___GET_CONTEXT :
 				return getContext();
-			case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION___VALIDATE_MULTIPLICITY__DIAGNOSTICCHAIN_MAP :
-				return validateMultiplicity((DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION___VALIDATE_SAME_TYPE__DIAGNOSTICCHAIN_MAP :
-				return validateSameType((DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION___VALIDATE_VISIBILITY__DIAGNOSTICCHAIN_MAP :
 				return validateVisibility((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION___VALIDATE_MULTIPLICITY__DIAGNOSTICCHAIN_MAP :
+				return validateMultiplicity((DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION___VALIDATE_NOT_STATIC__DIAGNOSTICCHAIN_MAP :
 				return validateNotStatic((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
@@ -829,6 +823,9 @@
 				return validateOneFeaturingClassifier(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION___VALIDATE_SAME_TYPE__DIAGNOSTICCHAIN_MAP :
+				return validateSameType((DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.READ_STRUCTURAL_FEATURE_ACTION___VALIDATE_TYPE_AND_ORDERING__DIAGNOSTICCHAIN_MAP :
 				return validateTypeAndOrdering(
 					(DiagnosticChain) arguments.get(0),
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ReadVariableActionImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ReadVariableActionImpl.java
index 0d4e94b..fa22ecb 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ReadVariableActionImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ReadVariableActionImpl.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ReadVariableActionImpl.java,v 1.28 2010/09/28 21:02:13 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -275,8 +274,6 @@
 					.basicRemove(otherEnd, msgs);
 			case UMLPackage.READ_VARIABLE_ACTION__NAME_EXPRESSION :
 				return basicSetNameExpression(null, msgs);
-			case UMLPackage.READ_VARIABLE_ACTION__ACTIVITY :
-				return basicSetActivity(null, msgs);
 			case UMLPackage.READ_VARIABLE_ACTION__IN_PARTITION :
 				return ((InternalEList<?>) getInPartitions()).basicRemove(
 					otherEnd, msgs);
@@ -350,8 +347,6 @@
 				if (resolve)
 					return getActivity();
 				return basicGetActivity();
-			case UMLPackage.READ_VARIABLE_ACTION__IN_GROUP :
-				return getInGroups();
 			case UMLPackage.READ_VARIABLE_ACTION__IN_PARTITION :
 				return getInPartitions();
 			case UMLPackage.READ_VARIABLE_ACTION__IN_STRUCTURED_NODE :
@@ -364,6 +359,8 @@
 				return getOutgoings();
 			case UMLPackage.READ_VARIABLE_ACTION__INCOMING :
 				return getIncomings();
+			case UMLPackage.READ_VARIABLE_ACTION__IN_GROUP :
+				return getInGroups();
 			case UMLPackage.READ_VARIABLE_ACTION__REDEFINED_NODE :
 				return getRedefinedNodes();
 			case UMLPackage.READ_VARIABLE_ACTION__HANDLER :
@@ -601,8 +598,6 @@
 				return isSetRedefinitionContexts();
 			case UMLPackage.READ_VARIABLE_ACTION__ACTIVITY :
 				return basicGetActivity() != null;
-			case UMLPackage.READ_VARIABLE_ACTION__IN_GROUP :
-				return isSetInGroups();
 			case UMLPackage.READ_VARIABLE_ACTION__IN_PARTITION :
 				return inPartitions != null && !inPartitions.isEmpty();
 			case UMLPackage.READ_VARIABLE_ACTION__IN_STRUCTURED_NODE :
@@ -614,6 +609,8 @@
 				return outgoings != null && !outgoings.isEmpty();
 			case UMLPackage.READ_VARIABLE_ACTION__INCOMING :
 				return incomings != null && !incomings.isEmpty();
+			case UMLPackage.READ_VARIABLE_ACTION__IN_GROUP :
+				return isSetInGroups();
 			case UMLPackage.READ_VARIABLE_ACTION__REDEFINED_NODE :
 				return redefinedNodes != null && !redefinedNodes.isEmpty();
 			case UMLPackage.READ_VARIABLE_ACTION__HANDLER :
@@ -732,10 +729,6 @@
 				return allOwnedElements();
 			case UMLPackage.READ_VARIABLE_ACTION___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.READ_VARIABLE_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.READ_VARIABLE_ACTION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -744,6 +737,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.READ_VARIABLE_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.READ_VARIABLE_ACTION___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.READ_VARIABLE_ACTION___CREATE_USAGE__NAMEDELEMENT :
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ReceptionImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ReceptionImpl.java
index 63182b6..15f91bd 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ReceptionImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ReceptionImpl.java
@@ -9,9 +9,8 @@
  *   IBM - initial API and implementation
  *   Kenn Hussey (Embarcadero Technologies) - 204200
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ReceptionImpl.java,v 1.19 2010/09/28 21:02:14 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -541,10 +540,6 @@
 				return allOwnedElements();
 			case UMLPackage.RECEPTION___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.RECEPTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.RECEPTION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -553,6 +548,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.RECEPTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.RECEPTION___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.RECEPTION___CREATE_USAGE__NAMEDELEMENT :
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ReclassifyObjectActionImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ReclassifyObjectActionImpl.java
index 167f1e0..065ec7c 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ReclassifyObjectActionImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ReclassifyObjectActionImpl.java
@@ -9,9 +9,8 @@
  *   IBM - initial API and implementation
  *   Kenn Hussey (Embarcadero Technologies) - 204200
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ReclassifyObjectActionImpl.java,v 1.30 2010/09/28 21:02:12 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -455,8 +454,6 @@
 					.basicRemove(otherEnd, msgs);
 			case UMLPackage.RECLASSIFY_OBJECT_ACTION__NAME_EXPRESSION :
 				return basicSetNameExpression(null, msgs);
-			case UMLPackage.RECLASSIFY_OBJECT_ACTION__ACTIVITY :
-				return basicSetActivity(null, msgs);
 			case UMLPackage.RECLASSIFY_OBJECT_ACTION__IN_PARTITION :
 				return ((InternalEList<?>) getInPartitions()).basicRemove(
 					otherEnd, msgs);
@@ -530,8 +527,6 @@
 				if (resolve)
 					return getActivity();
 				return basicGetActivity();
-			case UMLPackage.RECLASSIFY_OBJECT_ACTION__IN_GROUP :
-				return getInGroups();
 			case UMLPackage.RECLASSIFY_OBJECT_ACTION__IN_PARTITION :
 				return getInPartitions();
 			case UMLPackage.RECLASSIFY_OBJECT_ACTION__IN_STRUCTURED_NODE :
@@ -544,6 +539,8 @@
 				return getOutgoings();
 			case UMLPackage.RECLASSIFY_OBJECT_ACTION__INCOMING :
 				return getIncomings();
+			case UMLPackage.RECLASSIFY_OBJECT_ACTION__IN_GROUP :
+				return getInGroups();
 			case UMLPackage.RECLASSIFY_OBJECT_ACTION__REDEFINED_NODE :
 				return getRedefinedNodes();
 			case UMLPackage.RECLASSIFY_OBJECT_ACTION__HANDLER :
@@ -799,8 +796,6 @@
 				return isSetRedefinitionContexts();
 			case UMLPackage.RECLASSIFY_OBJECT_ACTION__ACTIVITY :
 				return basicGetActivity() != null;
-			case UMLPackage.RECLASSIFY_OBJECT_ACTION__IN_GROUP :
-				return isSetInGroups();
 			case UMLPackage.RECLASSIFY_OBJECT_ACTION__IN_PARTITION :
 				return inPartitions != null && !inPartitions.isEmpty();
 			case UMLPackage.RECLASSIFY_OBJECT_ACTION__IN_STRUCTURED_NODE :
@@ -812,6 +807,8 @@
 				return outgoings != null && !outgoings.isEmpty();
 			case UMLPackage.RECLASSIFY_OBJECT_ACTION__INCOMING :
 				return incomings != null && !incomings.isEmpty();
+			case UMLPackage.RECLASSIFY_OBJECT_ACTION__IN_GROUP :
+				return isSetInGroups();
 			case UMLPackage.RECLASSIFY_OBJECT_ACTION__REDEFINED_NODE :
 				return redefinedNodes != null && !redefinedNodes.isEmpty();
 			case UMLPackage.RECLASSIFY_OBJECT_ACTION__HANDLER :
@@ -934,10 +931,6 @@
 				return allOwnedElements();
 			case UMLPackage.RECLASSIFY_OBJECT_ACTION___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.RECLASSIFY_OBJECT_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.RECLASSIFY_OBJECT_ACTION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -946,6 +939,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.RECLASSIFY_OBJECT_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.RECLASSIFY_OBJECT_ACTION___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.RECLASSIFY_OBJECT_ACTION___CREATE_USAGE__NAMEDELEMENT :
@@ -996,13 +993,13 @@
 			case UMLPackage.RECLASSIFY_OBJECT_ACTION___VALIDATE_INPUT_PIN__DIAGNOSTICCHAIN_MAP :
 				return validateInputPin((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.RECLASSIFY_OBJECT_ACTION___VALIDATE_MULTIPLICITY__DIAGNOSTICCHAIN_MAP :
+				return validateMultiplicity((DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.RECLASSIFY_OBJECT_ACTION___VALIDATE_CLASSIFIER_NOT_ABSTRACT__DIAGNOSTICCHAIN_MAP :
 				return validateClassifierNotAbstract(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.RECLASSIFY_OBJECT_ACTION___VALIDATE_MULTIPLICITY__DIAGNOSTICCHAIN_MAP :
-				return validateMultiplicity((DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 		}
 		return eDynamicInvoke(operationID, arguments);
 	}
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/RedefinableElementImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/RedefinableElementImpl.java
index acae560..5976961 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/RedefinableElementImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/RedefinableElementImpl.java
@@ -9,9 +9,8 @@
  *   IBM - initial API and implementation
  *   Kenn Hussey (Embarcadero Technologies) - 204200
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: RedefinableElementImpl.java,v 1.22 2010/09/28 21:02:14 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -579,10 +578,6 @@
 				return allOwnedElements();
 			case UMLPackage.REDEFINABLE_ELEMENT___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.REDEFINABLE_ELEMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.REDEFINABLE_ELEMENT___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -591,6 +586,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.REDEFINABLE_ELEMENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.REDEFINABLE_ELEMENT___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.REDEFINABLE_ELEMENT___CREATE_USAGE__NAMEDELEMENT :
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/RedefinableTemplateSignatureImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/RedefinableTemplateSignatureImpl.java
index fc53955..57ac1ca 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/RedefinableTemplateSignatureImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/RedefinableTemplateSignatureImpl.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: RedefinableTemplateSignatureImpl.java,v 1.29 2010/09/28 21:02:13 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -949,10 +948,6 @@
 				return allOwnedElements();
 			case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -961,6 +956,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.REDEFINABLE_TEMPLATE_SIGNATURE___CREATE_USAGE__NAMEDELEMENT :
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ReduceActionImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ReduceActionImpl.java
index ab666a1..14ea19c 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ReduceActionImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ReduceActionImpl.java
@@ -9,9 +9,8 @@
  *   IBM - initial API and implementation
  *   Kenn Hussey (Embarcadero Technologies) - 204200
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ReduceActionImpl.java,v 1.25 2010/09/28 21:02:13 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -529,8 +528,6 @@
 					.basicRemove(otherEnd, msgs);
 			case UMLPackage.REDUCE_ACTION__NAME_EXPRESSION :
 				return basicSetNameExpression(null, msgs);
-			case UMLPackage.REDUCE_ACTION__ACTIVITY :
-				return basicSetActivity(null, msgs);
 			case UMLPackage.REDUCE_ACTION__IN_PARTITION :
 				return ((InternalEList<?>) getInPartitions()).basicRemove(
 					otherEnd, msgs);
@@ -606,8 +603,6 @@
 				if (resolve)
 					return getActivity();
 				return basicGetActivity();
-			case UMLPackage.REDUCE_ACTION__IN_GROUP :
-				return getInGroups();
 			case UMLPackage.REDUCE_ACTION__IN_PARTITION :
 				return getInPartitions();
 			case UMLPackage.REDUCE_ACTION__IN_STRUCTURED_NODE :
@@ -620,6 +615,8 @@
 				return getOutgoings();
 			case UMLPackage.REDUCE_ACTION__INCOMING :
 				return getIncomings();
+			case UMLPackage.REDUCE_ACTION__IN_GROUP :
+				return getInGroups();
 			case UMLPackage.REDUCE_ACTION__REDEFINED_NODE :
 				return getRedefinedNodes();
 			case UMLPackage.REDUCE_ACTION__HANDLER :
@@ -875,8 +872,6 @@
 				return isSetRedefinitionContexts();
 			case UMLPackage.REDUCE_ACTION__ACTIVITY :
 				return basicGetActivity() != null;
-			case UMLPackage.REDUCE_ACTION__IN_GROUP :
-				return isSetInGroups();
 			case UMLPackage.REDUCE_ACTION__IN_PARTITION :
 				return inPartitions != null && !inPartitions.isEmpty();
 			case UMLPackage.REDUCE_ACTION__IN_STRUCTURED_NODE :
@@ -888,6 +883,8 @@
 				return outgoings != null && !outgoings.isEmpty();
 			case UMLPackage.REDUCE_ACTION__INCOMING :
 				return incomings != null && !incomings.isEmpty();
+			case UMLPackage.REDUCE_ACTION__IN_GROUP :
+				return isSetInGroups();
 			case UMLPackage.REDUCE_ACTION__REDEFINED_NODE :
 				return redefinedNodes != null && !redefinedNodes.isEmpty();
 			case UMLPackage.REDUCE_ACTION__HANDLER :
@@ -1010,10 +1007,6 @@
 				return allOwnedElements();
 			case UMLPackage.REDUCE_ACTION___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.REDUCE_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.REDUCE_ACTION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -1022,6 +1015,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.REDUCE_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.REDUCE_ACTION___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.REDUCE_ACTION___CREATE_USAGE__NAMEDELEMENT :
@@ -1069,6 +1066,10 @@
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.REDUCE_ACTION___GET_CONTEXT :
 				return getContext();
+			case UMLPackage.REDUCE_ACTION___VALIDATE_OUTPUT_TYPES_ARE_COMPATIBLE__DIAGNOSTICCHAIN_MAP :
+				return validateOutputTypesAreCompatible(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.REDUCE_ACTION___VALIDATE_REDUCER_INPUTS_OUTPUT__DIAGNOSTICCHAIN_MAP :
 				return validateReducerInputsOutput(
 					(DiagnosticChain) arguments.get(0),
@@ -1077,10 +1078,6 @@
 				return validateInputTypeIsCollection(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.REDUCE_ACTION___VALIDATE_OUTPUT_TYPES_ARE_COMPATIBLE__DIAGNOSTICCHAIN_MAP :
-				return validateOutputTypesAreCompatible(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 		}
 		return eDynamicInvoke(operationID, arguments);
 	}
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/RegionImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/RegionImpl.java
index 65cea6d..7b334b1 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/RegionImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/RegionImpl.java
@@ -9,9 +9,8 @@
  *   IBM - initial API and implementation
  *   Kenn Hussey (Embarcadero Technologies) - 204200
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: RegionImpl.java,v 1.32 2010/09/28 21:02:14 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -1277,10 +1276,6 @@
 				return allOwnedElements();
 			case UMLPackage.REGION___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.REGION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.REGION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -1289,6 +1284,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.REGION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.REGION___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.REGION___CREATE_USAGE__NAMEDELEMENT :
@@ -1357,21 +1356,21 @@
 			case UMLPackage.REGION___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
 				return isRedefinitionContextValid((RedefinableElement) arguments
 					.get(0));
-			case UMLPackage.REGION___VALIDATE_DEEP_HISTORY_VERTEX__DIAGNOSTICCHAIN_MAP :
-				return validateDeepHistoryVertex(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.REGION___VALIDATE_SHALLOW_HISTORY_VERTEX__DIAGNOSTICCHAIN_MAP :
 				return validateShallowHistoryVertex(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.REGION___VALIDATE_OWNED__DIAGNOSTICCHAIN_MAP :
-				return validateOwned((DiagnosticChain) arguments.get(0),
+			case UMLPackage.REGION___VALIDATE_DEEP_HISTORY_VERTEX__DIAGNOSTICCHAIN_MAP :
+				return validateDeepHistoryVertex(
+					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.REGION___VALIDATE_INITIAL_VERTEX__DIAGNOSTICCHAIN_MAP :
 				return validateInitialVertex(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.REGION___VALIDATE_OWNED__DIAGNOSTICCHAIN_MAP :
+				return validateOwned((DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.REGION___BELONGS_TO_PSM :
 				return belongsToPSM();
 			case UMLPackage.REGION___CONTAINING_STATE_MACHINE :
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/RemoveStructuralFeatureValueActionImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/RemoveStructuralFeatureValueActionImpl.java
index 1f86a36..c9483ef 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/RemoveStructuralFeatureValueActionImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/RemoveStructuralFeatureValueActionImpl.java
@@ -9,9 +9,8 @@
  *   IBM - initial API and implementation
  *   Kenn Hussey (Embarcadero Technologies) - 204200
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: RemoveStructuralFeatureValueActionImpl.java,v 1.31 2010/09/28 21:02:13 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -347,8 +346,6 @@
 					.basicRemove(otherEnd, msgs);
 			case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__NAME_EXPRESSION :
 				return basicSetNameExpression(null, msgs);
-			case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__ACTIVITY :
-				return basicSetActivity(null, msgs);
 			case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__IN_PARTITION :
 				return ((InternalEList<?>) getInPartitions()).basicRemove(
 					otherEnd, msgs);
@@ -428,8 +425,6 @@
 				if (resolve)
 					return getActivity();
 				return basicGetActivity();
-			case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__IN_GROUP :
-				return getInGroups();
 			case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__IN_PARTITION :
 				return getInPartitions();
 			case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__IN_STRUCTURED_NODE :
@@ -442,6 +437,8 @@
 				return getOutgoings();
 			case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__INCOMING :
 				return getIncomings();
+			case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__IN_GROUP :
+				return getInGroups();
 			case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__REDEFINED_NODE :
 				return getRedefinedNodes();
 			case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__HANDLER :
@@ -717,8 +714,6 @@
 				return isSetRedefinitionContexts();
 			case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__ACTIVITY :
 				return basicGetActivity() != null;
-			case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__IN_GROUP :
-				return isSetInGroups();
 			case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__IN_PARTITION :
 				return inPartitions != null && !inPartitions.isEmpty();
 			case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__IN_STRUCTURED_NODE :
@@ -730,6 +725,8 @@
 				return outgoings != null && !outgoings.isEmpty();
 			case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__INCOMING :
 				return incomings != null && !incomings.isEmpty();
+			case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__IN_GROUP :
+				return isSetInGroups();
 			case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__REDEFINED_NODE :
 				return redefinedNodes != null && !redefinedNodes.isEmpty();
 			case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION__HANDLER :
@@ -856,10 +853,6 @@
 				return allOwnedElements();
 			case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -868,6 +861,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION___CREATE_USAGE__NAMEDELEMENT :
@@ -915,15 +912,12 @@
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION___GET_CONTEXT :
 				return getContext();
-			case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION___VALIDATE_MULTIPLICITY__DIAGNOSTICCHAIN_MAP :
-				return validateMultiplicity((DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION___VALIDATE_SAME_TYPE__DIAGNOSTICCHAIN_MAP :
-				return validateSameType((DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION___VALIDATE_VISIBILITY__DIAGNOSTICCHAIN_MAP :
 				return validateVisibility((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION___VALIDATE_MULTIPLICITY__DIAGNOSTICCHAIN_MAP :
+				return validateMultiplicity((DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION___VALIDATE_NOT_STATIC__DIAGNOSTICCHAIN_MAP :
 				return validateNotStatic((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
@@ -931,9 +925,8 @@
 				return validateOneFeaturingClassifier(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION___VALIDATE_MULTIPLICITY_OF_RESULT__DIAGNOSTICCHAIN_MAP :
-				return validateMultiplicityOfResult(
-					(DiagnosticChain) arguments.get(0),
+			case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION___VALIDATE_SAME_TYPE__DIAGNOSTICCHAIN_MAP :
+				return validateSameType((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION___VALIDATE_INPUT_PIN__DIAGNOSTICCHAIN_MAP :
 				return validateInputPin((DiagnosticChain) arguments.get(0),
@@ -941,6 +934,10 @@
 			case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION___VALIDATE_TYPE_OF_RESULT__DIAGNOSTICCHAIN_MAP :
 				return validateTypeOfResult((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION___VALIDATE_MULTIPLICITY_OF_RESULT__DIAGNOSTICCHAIN_MAP :
+				return validateMultiplicityOfResult(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.REMOVE_STRUCTURAL_FEATURE_VALUE_ACTION___VALIDATE_NON_UNIQUE_REMOVAL__DIAGNOSTICCHAIN_MAP :
 				return validateNonUniqueRemoval(
 					(DiagnosticChain) arguments.get(0),
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/RemoveVariableValueActionImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/RemoveVariableValueActionImpl.java
index 2398ca4..defcf85 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/RemoveVariableValueActionImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/RemoveVariableValueActionImpl.java
@@ -9,9 +9,8 @@
  *   IBM - initial API and implementation
  *   Kenn Hussey (Embarcadero Technologies) - 204200
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: RemoveVariableValueActionImpl.java,v 1.30 2010/09/28 21:02:14 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -327,8 +326,6 @@
 					.basicRemove(otherEnd, msgs);
 			case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__NAME_EXPRESSION :
 				return basicSetNameExpression(null, msgs);
-			case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__ACTIVITY :
-				return basicSetActivity(null, msgs);
 			case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__IN_PARTITION :
 				return ((InternalEList<?>) getInPartitions()).basicRemove(
 					otherEnd, msgs);
@@ -404,8 +401,6 @@
 				if (resolve)
 					return getActivity();
 				return basicGetActivity();
-			case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__IN_GROUP :
-				return getInGroups();
 			case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__IN_PARTITION :
 				return getInPartitions();
 			case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__IN_STRUCTURED_NODE :
@@ -418,6 +413,8 @@
 				return getOutgoings();
 			case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__INCOMING :
 				return getIncomings();
+			case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__IN_GROUP :
+				return getInGroups();
 			case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__REDEFINED_NODE :
 				return getRedefinedNodes();
 			case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__HANDLER :
@@ -673,8 +670,6 @@
 				return isSetRedefinitionContexts();
 			case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__ACTIVITY :
 				return basicGetActivity() != null;
-			case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__IN_GROUP :
-				return isSetInGroups();
 			case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__IN_PARTITION :
 				return inPartitions != null && !inPartitions.isEmpty();
 			case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__IN_STRUCTURED_NODE :
@@ -686,6 +681,8 @@
 				return outgoings != null && !outgoings.isEmpty();
 			case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__INCOMING :
 				return incomings != null && !incomings.isEmpty();
+			case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__IN_GROUP :
+				return isSetInGroups();
 			case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__REDEFINED_NODE :
 				return redefinedNodes != null && !redefinedNodes.isEmpty();
 			case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION__HANDLER :
@@ -808,10 +805,6 @@
 				return allOwnedElements();
 			case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -820,6 +813,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION___CREATE_USAGE__NAMEDELEMENT :
@@ -871,12 +868,12 @@
 				return validateScopeOfVariable(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION___VALIDATE_SAME_TYPE__DIAGNOSTICCHAIN_MAP :
-				return validateSameType((DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION___VALIDATE_MULTIPLICITY__DIAGNOSTICCHAIN_MAP :
 				return validateMultiplicity((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION___VALIDATE_SAME_TYPE__DIAGNOSTICCHAIN_MAP :
+				return validateSameType((DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.REMOVE_VARIABLE_VALUE_ACTION___VALIDATE_UNLIMITED_NATURAL__DIAGNOSTICCHAIN_MAP :
 				return validateUnlimitedNatural(
 					(DiagnosticChain) arguments.get(0),
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ReplyActionImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ReplyActionImpl.java
index 7bd2598..c91c7a7 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ReplyActionImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ReplyActionImpl.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ReplyActionImpl.java,v 1.29 2010/09/28 21:02:14 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -425,8 +424,6 @@
 					.basicRemove(otherEnd, msgs);
 			case UMLPackage.REPLY_ACTION__NAME_EXPRESSION :
 				return basicSetNameExpression(null, msgs);
-			case UMLPackage.REPLY_ACTION__ACTIVITY :
-				return basicSetActivity(null, msgs);
 			case UMLPackage.REPLY_ACTION__IN_PARTITION :
 				return ((InternalEList<?>) getInPartitions()).basicRemove(
 					otherEnd, msgs);
@@ -503,8 +500,6 @@
 				if (resolve)
 					return getActivity();
 				return basicGetActivity();
-			case UMLPackage.REPLY_ACTION__IN_GROUP :
-				return getInGroups();
 			case UMLPackage.REPLY_ACTION__IN_PARTITION :
 				return getInPartitions();
 			case UMLPackage.REPLY_ACTION__IN_STRUCTURED_NODE :
@@ -517,6 +512,8 @@
 				return getOutgoings();
 			case UMLPackage.REPLY_ACTION__INCOMING :
 				return getIncomings();
+			case UMLPackage.REPLY_ACTION__IN_GROUP :
+				return getInGroups();
 			case UMLPackage.REPLY_ACTION__REDEFINED_NODE :
 				return getRedefinedNodes();
 			case UMLPackage.REPLY_ACTION__HANDLER :
@@ -764,8 +761,6 @@
 				return isSetRedefinitionContexts();
 			case UMLPackage.REPLY_ACTION__ACTIVITY :
 				return basicGetActivity() != null;
-			case UMLPackage.REPLY_ACTION__IN_GROUP :
-				return isSetInGroups();
 			case UMLPackage.REPLY_ACTION__IN_PARTITION :
 				return inPartitions != null && !inPartitions.isEmpty();
 			case UMLPackage.REPLY_ACTION__IN_STRUCTURED_NODE :
@@ -777,6 +772,8 @@
 				return outgoings != null && !outgoings.isEmpty();
 			case UMLPackage.REPLY_ACTION__INCOMING :
 				return incomings != null && !incomings.isEmpty();
+			case UMLPackage.REPLY_ACTION__IN_GROUP :
+				return isSetInGroups();
 			case UMLPackage.REPLY_ACTION__REDEFINED_NODE :
 				return redefinedNodes != null && !redefinedNodes.isEmpty();
 			case UMLPackage.REPLY_ACTION__HANDLER :
@@ -897,10 +894,6 @@
 				return allOwnedElements();
 			case UMLPackage.REPLY_ACTION___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.REPLY_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.REPLY_ACTION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -909,6 +902,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.REPLY_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.REPLY_ACTION___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.REPLY_ACTION___CREATE_USAGE__NAMEDELEMENT :
@@ -956,14 +953,14 @@
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.REPLY_ACTION___GET_CONTEXT :
 				return getContext();
-			case UMLPackage.REPLY_ACTION___VALIDATE_PINS_MATCH_PARAMETER__DIAGNOSTICCHAIN_MAP :
-				return validatePinsMatchParameter(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.REPLY_ACTION___VALIDATE_EVENT_ON_REPLY_TO_CALL_TRIGGER__DIAGNOSTICCHAIN_MAP :
 				return validateEventOnReplyToCallTrigger(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.REPLY_ACTION___VALIDATE_PINS_MATCH_PARAMETER__DIAGNOSTICCHAIN_MAP :
+				return validatePinsMatchParameter(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 		}
 		return eDynamicInvoke(operationID, arguments);
 	}
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/SendObjectActionImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/SendObjectActionImpl.java
index 5607d33..0b37de5 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/SendObjectActionImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/SendObjectActionImpl.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: SendObjectActionImpl.java,v 1.27 2009/01/07 15:55:26 jbruck Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -378,8 +377,6 @@
 					.basicRemove(otherEnd, msgs);
 			case UMLPackage.SEND_OBJECT_ACTION__NAME_EXPRESSION :
 				return basicSetNameExpression(null, msgs);
-			case UMLPackage.SEND_OBJECT_ACTION__ACTIVITY :
-				return basicSetActivity(null, msgs);
 			case UMLPackage.SEND_OBJECT_ACTION__IN_PARTITION :
 				return ((InternalEList<?>) getInPartitions()).basicRemove(
 					otherEnd, msgs);
@@ -458,8 +455,6 @@
 				if (resolve)
 					return getActivity();
 				return basicGetActivity();
-			case UMLPackage.SEND_OBJECT_ACTION__IN_GROUP :
-				return getInGroups();
 			case UMLPackage.SEND_OBJECT_ACTION__IN_PARTITION :
 				return getInPartitions();
 			case UMLPackage.SEND_OBJECT_ACTION__IN_STRUCTURED_NODE :
@@ -472,6 +467,8 @@
 				return getOutgoings();
 			case UMLPackage.SEND_OBJECT_ACTION__INCOMING :
 				return getIncomings();
+			case UMLPackage.SEND_OBJECT_ACTION__IN_GROUP :
+				return getInGroups();
 			case UMLPackage.SEND_OBJECT_ACTION__REDEFINED_NODE :
 				return getRedefinedNodes();
 			case UMLPackage.SEND_OBJECT_ACTION__HANDLER :
@@ -729,8 +726,6 @@
 				return isSetRedefinitionContexts();
 			case UMLPackage.SEND_OBJECT_ACTION__ACTIVITY :
 				return basicGetActivity() != null;
-			case UMLPackage.SEND_OBJECT_ACTION__IN_GROUP :
-				return isSetInGroups();
 			case UMLPackage.SEND_OBJECT_ACTION__IN_PARTITION :
 				return inPartitions != null && !inPartitions.isEmpty();
 			case UMLPackage.SEND_OBJECT_ACTION__IN_STRUCTURED_NODE :
@@ -742,6 +737,8 @@
 				return outgoings != null && !outgoings.isEmpty();
 			case UMLPackage.SEND_OBJECT_ACTION__INCOMING :
 				return incomings != null && !incomings.isEmpty();
+			case UMLPackage.SEND_OBJECT_ACTION__IN_GROUP :
+				return isSetInGroups();
 			case UMLPackage.SEND_OBJECT_ACTION__REDEFINED_NODE :
 				return redefinedNodes != null && !redefinedNodes.isEmpty();
 			case UMLPackage.SEND_OBJECT_ACTION__HANDLER :
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/SendSignalActionImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/SendSignalActionImpl.java
index 36a2dfe..a534fb9 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/SendSignalActionImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/SendSignalActionImpl.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: SendSignalActionImpl.java,v 1.29 2010/09/28 21:02:14 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -336,8 +335,6 @@
 					.basicRemove(otherEnd, msgs);
 			case UMLPackage.SEND_SIGNAL_ACTION__NAME_EXPRESSION :
 				return basicSetNameExpression(null, msgs);
-			case UMLPackage.SEND_SIGNAL_ACTION__ACTIVITY :
-				return basicSetActivity(null, msgs);
 			case UMLPackage.SEND_SIGNAL_ACTION__IN_PARTITION :
 				return ((InternalEList<?>) getInPartitions()).basicRemove(
 					otherEnd, msgs);
@@ -414,8 +411,6 @@
 				if (resolve)
 					return getActivity();
 				return basicGetActivity();
-			case UMLPackage.SEND_SIGNAL_ACTION__IN_GROUP :
-				return getInGroups();
 			case UMLPackage.SEND_SIGNAL_ACTION__IN_PARTITION :
 				return getInPartitions();
 			case UMLPackage.SEND_SIGNAL_ACTION__IN_STRUCTURED_NODE :
@@ -428,6 +423,8 @@
 				return getOutgoings();
 			case UMLPackage.SEND_SIGNAL_ACTION__INCOMING :
 				return getIncomings();
+			case UMLPackage.SEND_SIGNAL_ACTION__IN_GROUP :
+				return getInGroups();
 			case UMLPackage.SEND_SIGNAL_ACTION__REDEFINED_NODE :
 				return getRedefinedNodes();
 			case UMLPackage.SEND_SIGNAL_ACTION__HANDLER :
@@ -685,8 +682,6 @@
 				return isSetRedefinitionContexts();
 			case UMLPackage.SEND_SIGNAL_ACTION__ACTIVITY :
 				return basicGetActivity() != null;
-			case UMLPackage.SEND_SIGNAL_ACTION__IN_GROUP :
-				return isSetInGroups();
 			case UMLPackage.SEND_SIGNAL_ACTION__IN_PARTITION :
 				return inPartitions != null && !inPartitions.isEmpty();
 			case UMLPackage.SEND_SIGNAL_ACTION__IN_STRUCTURED_NODE :
@@ -698,6 +693,8 @@
 				return outgoings != null && !outgoings.isEmpty();
 			case UMLPackage.SEND_SIGNAL_ACTION__INCOMING :
 				return incomings != null && !incomings.isEmpty();
+			case UMLPackage.SEND_SIGNAL_ACTION__IN_GROUP :
+				return isSetInGroups();
 			case UMLPackage.SEND_SIGNAL_ACTION__REDEFINED_NODE :
 				return redefinedNodes != null && !redefinedNodes.isEmpty();
 			case UMLPackage.SEND_SIGNAL_ACTION__HANDLER :
@@ -820,10 +817,6 @@
 				return allOwnedElements();
 			case UMLPackage.SEND_SIGNAL_ACTION___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.SEND_SIGNAL_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.SEND_SIGNAL_ACTION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -832,6 +825,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.SEND_SIGNAL_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.SEND_SIGNAL_ACTION___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.SEND_SIGNAL_ACTION___CREATE_USAGE__NAMEDELEMENT :
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/SequenceNodeImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/SequenceNodeImpl.java
index 014298f..b9f351b 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/SequenceNodeImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/SequenceNodeImpl.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: SequenceNodeImpl.java,v 1.24 2009/01/07 15:55:30 jbruck Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -178,8 +177,6 @@
 					.basicRemove(otherEnd, msgs);
 			case UMLPackage.SEQUENCE_NODE__NAME_EXPRESSION :
 				return basicSetNameExpression(null, msgs);
-			case UMLPackage.SEQUENCE_NODE__ACTIVITY :
-				return basicSetActivity(null, msgs);
 			case UMLPackage.SEQUENCE_NODE__IN_PARTITION :
 				return ((InternalEList<?>) getInPartitions()).basicRemove(
 					otherEnd, msgs);
@@ -212,8 +209,6 @@
 			case UMLPackage.SEQUENCE_NODE__OWNED_RULE :
 				return ((InternalEList<?>) getOwnedRules()).basicRemove(
 					otherEnd, msgs);
-			case UMLPackage.SEQUENCE_NODE__IN_ACTIVITY :
-				return basicSetInActivity(null, msgs);
 			case UMLPackage.SEQUENCE_NODE__NODE :
 				return ((InternalEList<?>) getNodes()).basicRemove(otherEnd,
 					msgs);
@@ -280,8 +275,6 @@
 				if (resolve)
 					return getActivity();
 				return basicGetActivity();
-			case UMLPackage.SEQUENCE_NODE__IN_GROUP :
-				return getInGroups();
 			case UMLPackage.SEQUENCE_NODE__IN_PARTITION :
 				return getInPartitions();
 			case UMLPackage.SEQUENCE_NODE__IN_STRUCTURED_NODE :
@@ -294,6 +287,8 @@
 				return getOutgoings();
 			case UMLPackage.SEQUENCE_NODE__INCOMING :
 				return getIncomings();
+			case UMLPackage.SEQUENCE_NODE__IN_GROUP :
+				return getInGroups();
 			case UMLPackage.SEQUENCE_NODE__REDEFINED_NODE :
 				return getRedefinedNodes();
 			case UMLPackage.SEQUENCE_NODE__HANDLER :
@@ -324,6 +319,8 @@
 				return getImportedMembers();
 			case UMLPackage.SEQUENCE_NODE__MEMBER :
 				return getMembers();
+			case UMLPackage.SEQUENCE_NODE__CONTAINED_EDGE :
+				return getContainedEdges();
 			case UMLPackage.SEQUENCE_NODE__CONTAINED_NODE :
 				return getContainedNodes();
 			case UMLPackage.SEQUENCE_NODE__IN_ACTIVITY :
@@ -336,8 +333,6 @@
 				if (resolve)
 					return getSuperGroup();
 				return basicGetSuperGroup();
-			case UMLPackage.SEQUENCE_NODE__CONTAINED_EDGE :
-				return getContainedEdges();
 			case UMLPackage.SEQUENCE_NODE__MUST_ISOLATE :
 				return isMustIsolate();
 			case UMLPackage.SEQUENCE_NODE__NODE :
@@ -635,8 +630,6 @@
 				return isSetRedefinitionContexts();
 			case UMLPackage.SEQUENCE_NODE__ACTIVITY :
 				return isSetActivity();
-			case UMLPackage.SEQUENCE_NODE__IN_GROUP :
-				return isSetInGroups();
 			case UMLPackage.SEQUENCE_NODE__IN_PARTITION :
 				return inPartitions != null && !inPartitions.isEmpty();
 			case UMLPackage.SEQUENCE_NODE__IN_STRUCTURED_NODE :
@@ -648,6 +641,8 @@
 				return outgoings != null && !outgoings.isEmpty();
 			case UMLPackage.SEQUENCE_NODE__INCOMING :
 				return incomings != null && !incomings.isEmpty();
+			case UMLPackage.SEQUENCE_NODE__IN_GROUP :
+				return isSetInGroups();
 			case UMLPackage.SEQUENCE_NODE__REDEFINED_NODE :
 				return redefinedNodes != null && !redefinedNodes.isEmpty();
 			case UMLPackage.SEQUENCE_NODE__HANDLER :
@@ -678,6 +673,8 @@
 				return !getImportedMembers().isEmpty();
 			case UMLPackage.SEQUENCE_NODE__MEMBER :
 				return isSetMembers();
+			case UMLPackage.SEQUENCE_NODE__CONTAINED_EDGE :
+				return isSetContainedEdges();
 			case UMLPackage.SEQUENCE_NODE__CONTAINED_NODE :
 				return isSetContainedNodes();
 			case UMLPackage.SEQUENCE_NODE__IN_ACTIVITY :
@@ -686,8 +683,6 @@
 				return isSetSubgroups();
 			case UMLPackage.SEQUENCE_NODE__SUPER_GROUP :
 				return isSetSuperGroup();
-			case UMLPackage.SEQUENCE_NODE__CONTAINED_EDGE :
-				return isSetContainedEdges();
 			case UMLPackage.SEQUENCE_NODE__MUST_ISOLATE :
 				return ((eFlags & MUST_ISOLATE_EFLAG) != 0) != MUST_ISOLATE_EDEFAULT;
 			case UMLPackage.SEQUENCE_NODE__NODE :
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/SignalImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/SignalImpl.java
index 1edba0a..d3c7832 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/SignalImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/SignalImpl.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: SignalImpl.java,v 1.32 2010/09/28 21:02:14 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -71,8 +70,8 @@
  * <p>
  * The following features are implemented:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.internal.impl.SignalImpl#getAttributes <em>Attribute</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.internal.impl.SignalImpl#getOwnedMembers <em>Owned Member</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.internal.impl.SignalImpl#getAttributes <em>Attribute</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.internal.impl.SignalImpl#getOwnedAttributes <em>Owned Attribute</em>}</li>
  * </ul>
  * </p>
@@ -822,10 +821,6 @@
 				return allOwnedElements();
 			case UMLPackage.SIGNAL___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.SIGNAL___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.SIGNAL___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -834,6 +829,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.SIGNAL___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.SIGNAL___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.SIGNAL___CREATE_USAGE__NAMEDELEMENT :
@@ -923,14 +922,6 @@
 				return isTemplate();
 			case UMLPackage.SIGNAL___PARAMETERABLE_ELEMENTS :
 				return parameterableElements();
-			case UMLPackage.SIGNAL___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP :
-				return validateSpecializeType(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.SIGNAL___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP :
-				return validateMapsToGeneralizationSet(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.SIGNAL___VALIDATE_NON_FINAL_PARENTS__DIAGNOSTICCHAIN_MAP :
 				return validateNonFinalParents(
 					(DiagnosticChain) arguments.get(0),
@@ -939,6 +930,14 @@
 				return validateNoCyclesInGeneralization(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.SIGNAL___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP :
+				return validateSpecializeType(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.SIGNAL___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP :
+				return validateMapsToGeneralizationSet(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.SIGNAL___GET_ALL_ATTRIBUTES :
 				return getAllAttributes();
 			case UMLPackage.SIGNAL___GET_ALL_OPERATIONS :
@@ -986,16 +985,6 @@
 	}
 
 	/**
-	 * The array of subset feature identifiers for the '{@link #getAttributes() <em>Attribute</em>}' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getAttributes()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final int[] ATTRIBUTE_ESUBSETS = new int[]{UMLPackage.SIGNAL__OWNED_ATTRIBUTE};
-
-	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -1019,6 +1008,16 @@
 		UMLPackage.SIGNAL__OWNED_ATTRIBUTE};
 
 	/**
+	 * The array of subset feature identifiers for the '{@link #getAttributes() <em>Attribute</em>}' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getAttributes()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final int[] ATTRIBUTE_ESUBSETS = new int[]{UMLPackage.SIGNAL__OWNED_ATTRIBUTE};
+
+	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/StartClassifierBehaviorActionImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/StartClassifierBehaviorActionImpl.java
index 61df5e8..b089c1e 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/StartClassifierBehaviorActionImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/StartClassifierBehaviorActionImpl.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: StartClassifierBehaviorActionImpl.java,v 1.29 2010/09/28 21:02:14 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -289,8 +288,6 @@
 					.basicRemove(otherEnd, msgs);
 			case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__NAME_EXPRESSION :
 				return basicSetNameExpression(null, msgs);
-			case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__ACTIVITY :
-				return basicSetActivity(null, msgs);
 			case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__IN_PARTITION :
 				return ((InternalEList<?>) getInPartitions()).basicRemove(
 					otherEnd, msgs);
@@ -364,8 +361,6 @@
 				if (resolve)
 					return getActivity();
 				return basicGetActivity();
-			case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__IN_GROUP :
-				return getInGroups();
 			case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__IN_PARTITION :
 				return getInPartitions();
 			case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__IN_STRUCTURED_NODE :
@@ -378,6 +373,8 @@
 				return getOutgoings();
 			case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__INCOMING :
 				return getIncomings();
+			case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__IN_GROUP :
+				return getInGroups();
 			case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__REDEFINED_NODE :
 				return getRedefinedNodes();
 			case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__HANDLER :
@@ -605,8 +602,6 @@
 				return isSetRedefinitionContexts();
 			case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__ACTIVITY :
 				return basicGetActivity() != null;
-			case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__IN_GROUP :
-				return isSetInGroups();
 			case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__IN_PARTITION :
 				return inPartitions != null && !inPartitions.isEmpty();
 			case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__IN_STRUCTURED_NODE :
@@ -618,6 +613,8 @@
 				return outgoings != null && !outgoings.isEmpty();
 			case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__INCOMING :
 				return incomings != null && !incomings.isEmpty();
+			case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__IN_GROUP :
+				return isSetInGroups();
 			case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__REDEFINED_NODE :
 				return redefinedNodes != null && !redefinedNodes.isEmpty();
 			case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION__HANDLER :
@@ -734,10 +731,6 @@
 				return allOwnedElements();
 			case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -746,6 +739,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION___CREATE_USAGE__NAMEDELEMENT :
@@ -793,13 +790,13 @@
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION___GET_CONTEXT :
 				return getContext();
-			case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION___VALIDATE_MULTIPLICITY__DIAGNOSTICCHAIN_MAP :
-				return validateMultiplicity((DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION___VALIDATE_TYPE_HAS_CLASSIFIER__DIAGNOSTICCHAIN_MAP :
 				return validateTypeHasClassifier(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.START_CLASSIFIER_BEHAVIOR_ACTION___VALIDATE_MULTIPLICITY__DIAGNOSTICCHAIN_MAP :
+				return validateMultiplicity((DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 		}
 		return eDynamicInvoke(operationID, arguments);
 	}
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/StartObjectBehaviorActionImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/StartObjectBehaviorActionImpl.java
index 8f53709..03ab0b5 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/StartObjectBehaviorActionImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/StartObjectBehaviorActionImpl.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: StartObjectBehaviorActionImpl.java,v 1.4 2010/09/28 21:02:13 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -335,8 +334,6 @@
 					.basicRemove(otherEnd, msgs);
 			case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__NAME_EXPRESSION :
 				return basicSetNameExpression(null, msgs);
-			case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__ACTIVITY :
-				return basicSetActivity(null, msgs);
 			case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__IN_PARTITION :
 				return ((InternalEList<?>) getInPartitions()).basicRemove(
 					otherEnd, msgs);
@@ -416,8 +413,6 @@
 				if (resolve)
 					return getActivity();
 				return basicGetActivity();
-			case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__IN_GROUP :
-				return getInGroups();
 			case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__IN_PARTITION :
 				return getInPartitions();
 			case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__IN_STRUCTURED_NODE :
@@ -430,6 +425,8 @@
 				return getOutgoings();
 			case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__INCOMING :
 				return getIncomings();
+			case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__IN_GROUP :
+				return getInGroups();
 			case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__REDEFINED_NODE :
 				return getRedefinedNodes();
 			case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__HANDLER :
@@ -694,8 +691,6 @@
 				return isSetRedefinitionContexts();
 			case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__ACTIVITY :
 				return basicGetActivity() != null;
-			case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__IN_GROUP :
-				return isSetInGroups();
 			case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__IN_PARTITION :
 				return inPartitions != null && !inPartitions.isEmpty();
 			case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__IN_STRUCTURED_NODE :
@@ -707,6 +702,8 @@
 				return outgoings != null && !outgoings.isEmpty();
 			case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__INCOMING :
 				return incomings != null && !incomings.isEmpty();
+			case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__IN_GROUP :
+				return isSetInGroups();
 			case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__REDEFINED_NODE :
 				return redefinedNodes != null && !redefinedNodes.isEmpty();
 			case UMLPackage.START_OBJECT_BEHAVIOR_ACTION__HANDLER :
@@ -831,10 +828,6 @@
 				return allOwnedElements();
 			case UMLPackage.START_OBJECT_BEHAVIOR_ACTION___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.START_OBJECT_BEHAVIOR_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.START_OBJECT_BEHAVIOR_ACTION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -843,6 +836,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.START_OBJECT_BEHAVIOR_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.START_OBJECT_BEHAVIOR_ACTION___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.START_OBJECT_BEHAVIOR_ACTION___CREATE_USAGE__NAMEDELEMENT :
@@ -894,37 +891,37 @@
 				return validateOnPortReceiver(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.START_OBJECT_BEHAVIOR_ACTION___VALIDATE_TYPE_ORDERING_MULTIPLICITY__DIAGNOSTICCHAIN_MAP :
-				return validateTypeOrderingMultiplicity(
+			case UMLPackage.START_OBJECT_BEHAVIOR_ACTION___VALIDATE_SYNCHRONOUS_CALL__DIAGNOSTICCHAIN_MAP :
+				return validateSynchronousCall(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.START_OBJECT_BEHAVIOR_ACTION___VALIDATE_NUMBER_AND_ORDER__DIAGNOSTICCHAIN_MAP :
 				return validateNumberAndOrder(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.START_OBJECT_BEHAVIOR_ACTION___VALIDATE_SYNCHRONOUS_CALL__DIAGNOSTICCHAIN_MAP :
-				return validateSynchronousCall(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.START_OBJECT_BEHAVIOR_ACTION___VALIDATE_NUMBER_ORDER_RESULTS__DIAGNOSTICCHAIN_MAP :
-				return validateNumberOrderResults(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.START_OBJECT_BEHAVIOR_ACTION___VALIDATE_MULTIPLICITY_OF_OBJECT__DIAGNOSTICCHAIN_MAP :
-				return validateMultiplicityOfObject(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.START_OBJECT_BEHAVIOR_ACTION___VALIDATE_TYPE_ORDERING_MULTIPLICITY_MATCH__DIAGNOSTICCHAIN_MAP :
-				return validateTypeOrderingMultiplicityMatch(
+			case UMLPackage.START_OBJECT_BEHAVIOR_ACTION___VALIDATE_TYPE_ORDERING_MULTIPLICITY__DIAGNOSTICCHAIN_MAP :
+				return validateTypeOrderingMultiplicity(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.START_OBJECT_BEHAVIOR_ACTION___VALIDATE_NUMBER_ORDER_ARGUMENTS__DIAGNOSTICCHAIN_MAP :
 				return validateNumberOrderArguments(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.START_OBJECT_BEHAVIOR_ACTION___VALIDATE_TYPE_ORDERING_MULTIPLICITY_MATCH__DIAGNOSTICCHAIN_MAP :
+				return validateTypeOrderingMultiplicityMatch(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.START_OBJECT_BEHAVIOR_ACTION___VALIDATE_NUMBER_ORDER_RESULTS__DIAGNOSTICCHAIN_MAP :
+				return validateNumberOrderResults(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.START_OBJECT_BEHAVIOR_ACTION___VALIDATE_TYPE_OF_OBJECT__DIAGNOSTICCHAIN_MAP :
 				return validateTypeOfObject((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.START_OBJECT_BEHAVIOR_ACTION___VALIDATE_MULTIPLICITY_OF_OBJECT__DIAGNOSTICCHAIN_MAP :
+				return validateMultiplicityOfObject(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 		}
 		return eDynamicInvoke(operationID, arguments);
 	}
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/StateImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/StateImpl.java
index a64d5c9..3731035 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/StateImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/StateImpl.java
@@ -9,9 +9,8 @@
  *   IBM - initial API and implementation
  *   Kenn Hussey (Embarcadero Technologies) - 204200
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: StateImpl.java,v 1.39 2010/09/28 21:02:13 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -2167,10 +2166,6 @@
 				return allOwnedElements();
 			case UMLPackage.STATE___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.STATE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.STATE___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -2179,6 +2174,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.STATE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.STATE___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.STATE___CREATE_USAGE__NAMEDELEMENT :
@@ -2256,10 +2255,6 @@
 			case UMLPackage.STATE___VALIDATE_ENTRY_OR_EXIT__DIAGNOSTICCHAIN_MAP :
 				return validateEntryOrExit((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.STATE___VALIDATE_SUBMACHINE_STATES__DIAGNOSTICCHAIN_MAP :
-				return validateSubmachineStates(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.STATE___VALIDATE_COMPOSITE_STATES__DIAGNOSTICCHAIN_MAP :
 				return validateCompositeStates(
 					(DiagnosticChain) arguments.get(0),
@@ -2272,6 +2267,10 @@
 				return validateSubmachineOrRegions(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.STATE___VALIDATE_SUBMACHINE_STATES__DIAGNOSTICCHAIN_MAP :
+				return validateSubmachineStates(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.STATE___IS_COMPOSITE :
 				return isComposite();
 			case UMLPackage.STATE___IS_ORTHOGONAL :
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/StateMachineImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/StateMachineImpl.java
index f63bca3..ea6d91d 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/StateMachineImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/StateMachineImpl.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: StateMachineImpl.java,v 1.34 2010/09/28 21:02:13 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -1431,10 +1430,6 @@
 				return allOwnedElements();
 			case UMLPackage.STATE_MACHINE___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.STATE_MACHINE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.STATE_MACHINE___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -1443,6 +1438,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.STATE_MACHINE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.STATE_MACHINE___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.STATE_MACHINE___CREATE_USAGE__NAMEDELEMENT :
@@ -1532,14 +1531,6 @@
 				return isTemplate();
 			case UMLPackage.STATE_MACHINE___PARAMETERABLE_ELEMENTS :
 				return parameterableElements();
-			case UMLPackage.STATE_MACHINE___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP :
-				return validateSpecializeType(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.STATE_MACHINE___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP :
-				return validateMapsToGeneralizationSet(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.STATE_MACHINE___VALIDATE_NON_FINAL_PARENTS__DIAGNOSTICCHAIN_MAP :
 				return validateNonFinalParents(
 					(DiagnosticChain) arguments.get(0),
@@ -1548,6 +1539,14 @@
 				return validateNoCyclesInGeneralization(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.STATE_MACHINE___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP :
+				return validateSpecializeType(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.STATE_MACHINE___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP :
+				return validateMapsToGeneralizationSet(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.STATE_MACHINE___GET_ALL_ATTRIBUTES :
 				return getAllAttributes();
 			case UMLPackage.STATE_MACHINE___GET_ALL_OPERATIONS :
@@ -1619,13 +1618,6 @@
 				return getExtensions();
 			case UMLPackage.STATE_MACHINE___GET_SUPER_CLASSES :
 				return getSuperClasses();
-			case UMLPackage.STATE_MACHINE___VALIDATE_MOST_ONE_BEHAVIOUR__DIAGNOSTICCHAIN_MAP :
-				return validateMostOneBehaviour(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.STATE_MACHINE___VALIDATE_MUST_REALIZE__DIAGNOSTICCHAIN_MAP :
-				return validateMustRealize((DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.STATE_MACHINE___VALIDATE_PARAMETERS_MATCH__DIAGNOSTICCHAIN_MAP :
 				return validateParametersMatch(
 					(DiagnosticChain) arguments.get(0),
@@ -1634,23 +1626,30 @@
 				return validateFeatureOfContextClassifier(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.STATE_MACHINE___VALIDATE_MUST_REALIZE__DIAGNOSTICCHAIN_MAP :
+				return validateMustRealize((DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.STATE_MACHINE___VALIDATE_MOST_ONE_BEHAVIOUR__DIAGNOSTICCHAIN_MAP :
+				return validateMostOneBehaviour(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.STATE_MACHINE___GET_CONTEXT :
 				return getContext();
-			case UMLPackage.STATE_MACHINE___VALIDATE_CONNECTION_POINTS__DIAGNOSTICCHAIN_MAP :
-				return validateConnectionPoints(
-					(DiagnosticChain) arguments.get(0),
+			case UMLPackage.STATE_MACHINE___VALIDATE_METHOD__DIAGNOSTICCHAIN_MAP :
+				return validateMethod((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.STATE_MACHINE___VALIDATE_CLASSIFIER_CONTEXT__DIAGNOSTICCHAIN_MAP :
 				return validateClassifierContext(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.STATE_MACHINE___VALIDATE_METHOD__DIAGNOSTICCHAIN_MAP :
-				return validateMethod((DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.STATE_MACHINE___VALIDATE_CONTEXT_CLASSIFIER__DIAGNOSTICCHAIN_MAP :
 				return validateContextClassifier(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.STATE_MACHINE___VALIDATE_CONNECTION_POINTS__DIAGNOSTICCHAIN_MAP :
+				return validateConnectionPoints(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.STATE_MACHINE___LCA__STATE_STATE :
 				return LCA((State) arguments.get(0), (State) arguments.get(1));
 			case UMLPackage.STATE_MACHINE___ANCESTOR__STATE_STATE :
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/StereotypeImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/StereotypeImpl.java
index 96d162d..b0c897c 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/StereotypeImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/StereotypeImpl.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: StereotypeImpl.java,v 1.26 2010/09/28 21:02:14 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -1109,10 +1108,6 @@
 				return allOwnedElements();
 			case UMLPackage.STEREOTYPE___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.STEREOTYPE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.STEREOTYPE___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -1121,6 +1116,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.STEREOTYPE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.STEREOTYPE___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.STEREOTYPE___CREATE_USAGE__NAMEDELEMENT :
@@ -1210,14 +1209,6 @@
 				return isTemplate();
 			case UMLPackage.STEREOTYPE___PARAMETERABLE_ELEMENTS :
 				return parameterableElements();
-			case UMLPackage.STEREOTYPE___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP :
-				return validateSpecializeType(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.STEREOTYPE___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP :
-				return validateMapsToGeneralizationSet(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.STEREOTYPE___VALIDATE_NON_FINAL_PARENTS__DIAGNOSTICCHAIN_MAP :
 				return validateNonFinalParents(
 					(DiagnosticChain) arguments.get(0),
@@ -1226,6 +1217,14 @@
 				return validateNoCyclesInGeneralization(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.STEREOTYPE___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP :
+				return validateSpecializeType(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.STEREOTYPE___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP :
+				return validateMapsToGeneralizationSet(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.STEREOTYPE___GET_ALL_ATTRIBUTES :
 				return getAllAttributes();
 			case UMLPackage.STEREOTYPE___GET_ALL_OPERATIONS :
@@ -1297,6 +1296,13 @@
 				return getExtensions();
 			case UMLPackage.STEREOTYPE___GET_SUPER_CLASSES :
 				return getSuperClasses();
+			case UMLPackage.STEREOTYPE___VALIDATE_ASSOCIATION_END_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateAssociationEndOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.STEREOTYPE___VALIDATE_NAME_NOT_CLASH__DIAGNOSTICCHAIN_MAP :
+				return validateNameNotClash((DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.STEREOTYPE___VALIDATE_BINARY_ASSOCIATIONS_ONLY__DIAGNOSTICCHAIN_MAP :
 				return validateBinaryAssociationsOnly(
 					(DiagnosticChain) arguments.get(0),
@@ -1304,13 +1310,6 @@
 			case UMLPackage.STEREOTYPE___VALIDATE_GENERALIZE__DIAGNOSTICCHAIN_MAP :
 				return validateGeneralize((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.STEREOTYPE___VALIDATE_NAME_NOT_CLASH__DIAGNOSTICCHAIN_MAP :
-				return validateNameNotClash((DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.STEREOTYPE___VALIDATE_ASSOCIATION_END_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateAssociationEndOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.STEREOTYPE___CREATE_EXTENSION__CLASS_BOOLEAN :
 				return createExtension(
 					(org.eclipse.uml2.uml.Class) arguments.get(0),
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/StringExpressionImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/StringExpressionImpl.java
index 85ea13b..9513413 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/StringExpressionImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/StringExpressionImpl.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: StringExpressionImpl.java,v 1.27 2010/09/28 21:02:14 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -1038,10 +1037,6 @@
 				return allOwnedElements();
 			case UMLPackage.STRING_EXPRESSION___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.STRING_EXPRESSION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.STRING_EXPRESSION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -1050,6 +1045,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.STRING_EXPRESSION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.STRING_EXPRESSION___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.STRING_EXPRESSION___CREATE_USAGE__NAMEDELEMENT :
@@ -1093,13 +1092,13 @@
 				return isTemplate();
 			case UMLPackage.STRING_EXPRESSION___PARAMETERABLE_ELEMENTS :
 				return parameterableElements();
-			case UMLPackage.STRING_EXPRESSION___VALIDATE_OPERANDS__DIAGNOSTICCHAIN_MAP :
-				return validateOperands((DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.STRING_EXPRESSION___VALIDATE_SUBEXPRESSIONS__DIAGNOSTICCHAIN_MAP :
 				return validateSubexpressions(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.STRING_EXPRESSION___VALIDATE_OPERANDS__DIAGNOSTICCHAIN_MAP :
+				return validateOperands((DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 		}
 		return eDynamicInvoke(operationID, arguments);
 	}
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/StructuralFeatureActionImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/StructuralFeatureActionImpl.java
index a47d35d..582c8a1 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/StructuralFeatureActionImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/StructuralFeatureActionImpl.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: StructuralFeatureActionImpl.java,v 1.29 2010/09/28 21:02:14 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -377,8 +376,6 @@
 					.basicRemove(otherEnd, msgs);
 			case UMLPackage.STRUCTURAL_FEATURE_ACTION__NAME_EXPRESSION :
 				return basicSetNameExpression(null, msgs);
-			case UMLPackage.STRUCTURAL_FEATURE_ACTION__ACTIVITY :
-				return basicSetActivity(null, msgs);
 			case UMLPackage.STRUCTURAL_FEATURE_ACTION__IN_PARTITION :
 				return ((InternalEList<?>) getInPartitions()).basicRemove(
 					otherEnd, msgs);
@@ -452,8 +449,6 @@
 				if (resolve)
 					return getActivity();
 				return basicGetActivity();
-			case UMLPackage.STRUCTURAL_FEATURE_ACTION__IN_GROUP :
-				return getInGroups();
 			case UMLPackage.STRUCTURAL_FEATURE_ACTION__IN_PARTITION :
 				return getInPartitions();
 			case UMLPackage.STRUCTURAL_FEATURE_ACTION__IN_STRUCTURED_NODE :
@@ -466,6 +461,8 @@
 				return getOutgoings();
 			case UMLPackage.STRUCTURAL_FEATURE_ACTION__INCOMING :
 				return getIncomings();
+			case UMLPackage.STRUCTURAL_FEATURE_ACTION__IN_GROUP :
+				return getInGroups();
 			case UMLPackage.STRUCTURAL_FEATURE_ACTION__REDEFINED_NODE :
 				return getRedefinedNodes();
 			case UMLPackage.STRUCTURAL_FEATURE_ACTION__HANDLER :
@@ -703,8 +700,6 @@
 				return isSetRedefinitionContexts();
 			case UMLPackage.STRUCTURAL_FEATURE_ACTION__ACTIVITY :
 				return basicGetActivity() != null;
-			case UMLPackage.STRUCTURAL_FEATURE_ACTION__IN_GROUP :
-				return isSetInGroups();
 			case UMLPackage.STRUCTURAL_FEATURE_ACTION__IN_PARTITION :
 				return inPartitions != null && !inPartitions.isEmpty();
 			case UMLPackage.STRUCTURAL_FEATURE_ACTION__IN_STRUCTURED_NODE :
@@ -716,6 +711,8 @@
 				return outgoings != null && !outgoings.isEmpty();
 			case UMLPackage.STRUCTURAL_FEATURE_ACTION__INCOMING :
 				return incomings != null && !incomings.isEmpty();
+			case UMLPackage.STRUCTURAL_FEATURE_ACTION__IN_GROUP :
+				return isSetInGroups();
 			case UMLPackage.STRUCTURAL_FEATURE_ACTION__REDEFINED_NODE :
 				return redefinedNodes != null && !redefinedNodes.isEmpty();
 			case UMLPackage.STRUCTURAL_FEATURE_ACTION__HANDLER :
@@ -834,10 +831,6 @@
 				return allOwnedElements();
 			case UMLPackage.STRUCTURAL_FEATURE_ACTION___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.STRUCTURAL_FEATURE_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.STRUCTURAL_FEATURE_ACTION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -846,6 +839,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.STRUCTURAL_FEATURE_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.STRUCTURAL_FEATURE_ACTION___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.STRUCTURAL_FEATURE_ACTION___CREATE_USAGE__NAMEDELEMENT :
@@ -893,15 +890,12 @@
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.STRUCTURAL_FEATURE_ACTION___GET_CONTEXT :
 				return getContext();
-			case UMLPackage.STRUCTURAL_FEATURE_ACTION___VALIDATE_MULTIPLICITY__DIAGNOSTICCHAIN_MAP :
-				return validateMultiplicity((DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.STRUCTURAL_FEATURE_ACTION___VALIDATE_SAME_TYPE__DIAGNOSTICCHAIN_MAP :
-				return validateSameType((DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.STRUCTURAL_FEATURE_ACTION___VALIDATE_VISIBILITY__DIAGNOSTICCHAIN_MAP :
 				return validateVisibility((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.STRUCTURAL_FEATURE_ACTION___VALIDATE_MULTIPLICITY__DIAGNOSTICCHAIN_MAP :
+				return validateMultiplicity((DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.STRUCTURAL_FEATURE_ACTION___VALIDATE_NOT_STATIC__DIAGNOSTICCHAIN_MAP :
 				return validateNotStatic((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
@@ -909,6 +903,9 @@
 				return validateOneFeaturingClassifier(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.STRUCTURAL_FEATURE_ACTION___VALIDATE_SAME_TYPE__DIAGNOSTICCHAIN_MAP :
+				return validateSameType((DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 		}
 		return eDynamicInvoke(operationID, arguments);
 	}
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/StructuralFeatureImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/StructuralFeatureImpl.java
index 98d5ef7..0ee79e4 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/StructuralFeatureImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/StructuralFeatureImpl.java
@@ -9,9 +9,8 @@
  *   IBM - initial API and implementation
  *   Kenn Hussey (Embarcadero Technologies) - 204200
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: StructuralFeatureImpl.java,v 1.32 2010/09/28 21:02:12 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -1084,14 +1083,14 @@
 		}
 		if (baseClass == MultiplicityElement.class) {
 			switch (baseOperationID) {
-				case UMLPackage.MULTIPLICITY_ELEMENT___VALIDATE_UPPER_GE_LOWER__DIAGNOSTICCHAIN_MAP :
-					return UMLPackage.STRUCTURAL_FEATURE___VALIDATE_UPPER_GE_LOWER__DIAGNOSTICCHAIN_MAP;
 				case UMLPackage.MULTIPLICITY_ELEMENT___VALIDATE_LOWER_GE0__DIAGNOSTICCHAIN_MAP :
 					return UMLPackage.STRUCTURAL_FEATURE___VALIDATE_LOWER_GE0__DIAGNOSTICCHAIN_MAP;
-				case UMLPackage.MULTIPLICITY_ELEMENT___VALIDATE_VALUE_SPECIFICATION_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP :
-					return UMLPackage.STRUCTURAL_FEATURE___VALIDATE_VALUE_SPECIFICATION_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP;
+				case UMLPackage.MULTIPLICITY_ELEMENT___VALIDATE_UPPER_GE_LOWER__DIAGNOSTICCHAIN_MAP :
+					return UMLPackage.STRUCTURAL_FEATURE___VALIDATE_UPPER_GE_LOWER__DIAGNOSTICCHAIN_MAP;
 				case UMLPackage.MULTIPLICITY_ELEMENT___VALIDATE_VALUE_SPECIFICATION_CONSTANT__DIAGNOSTICCHAIN_MAP :
 					return UMLPackage.STRUCTURAL_FEATURE___VALIDATE_VALUE_SPECIFICATION_CONSTANT__DIAGNOSTICCHAIN_MAP;
+				case UMLPackage.MULTIPLICITY_ELEMENT___VALIDATE_VALUE_SPECIFICATION_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP :
+					return UMLPackage.STRUCTURAL_FEATURE___VALIDATE_VALUE_SPECIFICATION_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP;
 				case UMLPackage.MULTIPLICITY_ELEMENT___SET_LOWER__INT :
 					return UMLPackage.STRUCTURAL_FEATURE___SET_LOWER__INT;
 				case UMLPackage.MULTIPLICITY_ELEMENT___SET_UPPER__INT :
@@ -1213,10 +1212,6 @@
 				return allOwnedElements();
 			case UMLPackage.STRUCTURAL_FEATURE___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.STRUCTURAL_FEATURE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.STRUCTURAL_FEATURE___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -1225,6 +1220,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.STRUCTURAL_FEATURE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.STRUCTURAL_FEATURE___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.STRUCTURAL_FEATURE___CREATE_USAGE__NAMEDELEMENT :
@@ -1263,20 +1262,20 @@
 			case UMLPackage.STRUCTURAL_FEATURE___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
 				return isRedefinitionContextValid((RedefinableElement) arguments
 					.get(0));
-			case UMLPackage.STRUCTURAL_FEATURE___VALIDATE_UPPER_GE_LOWER__DIAGNOSTICCHAIN_MAP :
-				return validateUpperGeLower((DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.STRUCTURAL_FEATURE___VALIDATE_LOWER_GE0__DIAGNOSTICCHAIN_MAP :
 				return validateLowerGe0((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.STRUCTURAL_FEATURE___VALIDATE_VALUE_SPECIFICATION_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP :
-				return validateValueSpecificationNoSideEffects(
-					(DiagnosticChain) arguments.get(0),
+			case UMLPackage.STRUCTURAL_FEATURE___VALIDATE_UPPER_GE_LOWER__DIAGNOSTICCHAIN_MAP :
+				return validateUpperGeLower((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.STRUCTURAL_FEATURE___VALIDATE_VALUE_SPECIFICATION_CONSTANT__DIAGNOSTICCHAIN_MAP :
 				return validateValueSpecificationConstant(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.STRUCTURAL_FEATURE___VALIDATE_VALUE_SPECIFICATION_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP :
+				return validateValueSpecificationNoSideEffects(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.STRUCTURAL_FEATURE___SET_LOWER__INT :
 				setLower((Integer) arguments.get(0));
 				return null;
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/StructuredActivityNodeImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/StructuredActivityNodeImpl.java
index 2cfb9ce..02f395a 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/StructuredActivityNodeImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/StructuredActivityNodeImpl.java
@@ -9,9 +9,8 @@
  *   IBM - initial API and implementation
  *   Kenn Hussey (Embarcadero Technologies) - 204200
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: StructuredActivityNodeImpl.java,v 1.38 2010/09/28 21:02:14 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -36,6 +35,7 @@
 
 import org.eclipse.emf.ecore.util.EObjectContainmentEList;
 import org.eclipse.emf.ecore.util.EObjectContainmentWithInverseEList;
+import org.eclipse.emf.ecore.util.EcoreUtil;
 import org.eclipse.emf.ecore.util.InternalEList;
 
 import org.eclipse.uml2.common.util.CacheAdapter;
@@ -86,11 +86,11 @@
  *   <li>{@link org.eclipse.uml2.uml.internal.impl.StructuredActivityNodeImpl#getPackageImports <em>Package Import</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.internal.impl.StructuredActivityNodeImpl#getOwnedRules <em>Owned Rule</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.internal.impl.StructuredActivityNodeImpl#getImportedMembers <em>Imported Member</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.internal.impl.StructuredActivityNodeImpl#getContainedEdges <em>Contained Edge</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.internal.impl.StructuredActivityNodeImpl#getContainedNodes <em>Contained Node</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.internal.impl.StructuredActivityNodeImpl#getOwner <em>Owner</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.internal.impl.StructuredActivityNodeImpl#getSubgroups <em>Subgroup</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.internal.impl.StructuredActivityNodeImpl#getSuperGroup <em>Super Group</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.internal.impl.StructuredActivityNodeImpl#getContainedEdges <em>Contained Edge</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.internal.impl.StructuredActivityNodeImpl#getInputs <em>Input</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.internal.impl.StructuredActivityNodeImpl#getOutputs <em>Output</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.internal.impl.StructuredActivityNodeImpl#isMustIsolate <em>Must Isolate</em>}</li>
@@ -1006,10 +1006,19 @@
 	 */
 	@Override
 	public Activity basicGetActivity() {
-		if (eContainerFeatureID() != UMLPackage.STRUCTURED_ACTIVITY_NODE__ACTIVITY
-			&& eContainerFeatureID() != UMLPackage.STRUCTURED_ACTIVITY_NODE__IN_ACTIVITY)
-			return null;
-		return (Activity) eInternalContainer();
+		return super.basicGetActivity();
+	}
+
+	public NotificationChain eBasicRemoveFromContainer(NotificationChain msgs) {
+		InternalEObject eInternalContainer = eInternalContainer();
+		if (eInternalContainer instanceof Activity) {
+			Activity activity = (Activity) eInternalContainer;
+			msgs = ((InternalEList<ActivityGroup>) activity.getGroups())
+				.basicRemove(this, msgs);
+			return ((InternalEList<ActivityNode>) activity.getNodes())
+				.basicRemove(this, msgs);
+		}
+		return super.eBasicRemoveFromContainer(msgs);
 	}
 
 	/**
@@ -1019,7 +1028,25 @@
 	 */
 	@Override
 	public void setActivity(Activity newActivity) {
-		super.setActivity(newActivity);
+		InternalEObject eInternalContaner = eInternalContainer();
+		if (newActivity != eInternalContaner) {
+			if (EcoreUtil.isAncestor(this, newActivity))
+				throw new IllegalArgumentException(
+					"Recursive containment not allowed for " + toString()); //$NON-NLS-1$
+			NotificationChain msgs = null;
+			if (eInternalContaner != null)
+				msgs = eBasicRemoveFromContainer(msgs);
+			if (newActivity != null)
+				msgs = ((InternalEList<StructuredActivityNode>) newActivity
+					.getStructuredNodes()).basicAdd(this, msgs);
+			msgs = eBasicSetContainer((InternalEObject) newActivity,
+				InternalEObject.EOPPOSITE_FEATURE_BASE
+					- UMLPackage.ACTIVITY__STRUCTURED_NODE, msgs);
+			if (msgs != null)
+				msgs.dispatch();
+		} else if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET,
+				UMLPackage.ACTIVITY_NODE__ACTIVITY, newActivity, newActivity));
 	}
 
 	/**
@@ -1228,10 +1255,6 @@
 			case UMLPackage.STRUCTURED_ACTIVITY_NODE__CLIENT_DEPENDENCY :
 				return ((InternalEList<InternalEObject>) (InternalEList<?>) getClientDependencies())
 					.basicAdd(otherEnd, msgs);
-			case UMLPackage.STRUCTURED_ACTIVITY_NODE__ACTIVITY :
-				if (eInternalContainer() != null)
-					msgs = eBasicRemoveFromContainer(msgs);
-				return basicSetActivity((Activity) otherEnd, msgs);
 			case UMLPackage.STRUCTURED_ACTIVITY_NODE__IN_PARTITION :
 				return ((InternalEList<InternalEObject>) (InternalEList<?>) getInPartitions())
 					.basicAdd(otherEnd, msgs);
@@ -1261,10 +1284,6 @@
 			case UMLPackage.STRUCTURED_ACTIVITY_NODE__OWNED_RULE :
 				return ((InternalEList<InternalEObject>) (InternalEList<?>) getOwnedRules())
 					.basicAdd(otherEnd, msgs);
-			case UMLPackage.STRUCTURED_ACTIVITY_NODE__IN_ACTIVITY :
-				if (eInternalContainer() != null)
-					msgs = eBasicRemoveFromContainer(msgs);
-				return basicSetInActivity((Activity) otherEnd, msgs);
 			case UMLPackage.STRUCTURED_ACTIVITY_NODE__NODE :
 				return ((InternalEList<InternalEObject>) (InternalEList<?>) getNodes())
 					.basicAdd(otherEnd, msgs);
@@ -1298,8 +1317,6 @@
 					.basicRemove(otherEnd, msgs);
 			case UMLPackage.STRUCTURED_ACTIVITY_NODE__NAME_EXPRESSION :
 				return basicSetNameExpression(null, msgs);
-			case UMLPackage.STRUCTURED_ACTIVITY_NODE__ACTIVITY :
-				return basicSetActivity(null, msgs);
 			case UMLPackage.STRUCTURED_ACTIVITY_NODE__IN_PARTITION :
 				return ((InternalEList<?>) getInPartitions()).basicRemove(
 					otherEnd, msgs);
@@ -1332,8 +1349,6 @@
 			case UMLPackage.STRUCTURED_ACTIVITY_NODE__OWNED_RULE :
 				return ((InternalEList<?>) getOwnedRules()).basicRemove(
 					otherEnd, msgs);
-			case UMLPackage.STRUCTURED_ACTIVITY_NODE__IN_ACTIVITY :
-				return basicSetInActivity(null, msgs);
 			case UMLPackage.STRUCTURED_ACTIVITY_NODE__NODE :
 				return ((InternalEList<?>) getNodes()).basicRemove(otherEnd,
 					msgs);
@@ -1397,8 +1412,6 @@
 				if (resolve)
 					return getActivity();
 				return basicGetActivity();
-			case UMLPackage.STRUCTURED_ACTIVITY_NODE__IN_GROUP :
-				return getInGroups();
 			case UMLPackage.STRUCTURED_ACTIVITY_NODE__IN_PARTITION :
 				return getInPartitions();
 			case UMLPackage.STRUCTURED_ACTIVITY_NODE__IN_STRUCTURED_NODE :
@@ -1411,6 +1424,8 @@
 				return getOutgoings();
 			case UMLPackage.STRUCTURED_ACTIVITY_NODE__INCOMING :
 				return getIncomings();
+			case UMLPackage.STRUCTURED_ACTIVITY_NODE__IN_GROUP :
+				return getInGroups();
 			case UMLPackage.STRUCTURED_ACTIVITY_NODE__REDEFINED_NODE :
 				return getRedefinedNodes();
 			case UMLPackage.STRUCTURED_ACTIVITY_NODE__HANDLER :
@@ -1441,6 +1456,8 @@
 				return getImportedMembers();
 			case UMLPackage.STRUCTURED_ACTIVITY_NODE__MEMBER :
 				return getMembers();
+			case UMLPackage.STRUCTURED_ACTIVITY_NODE__CONTAINED_EDGE :
+				return getContainedEdges();
 			case UMLPackage.STRUCTURED_ACTIVITY_NODE__CONTAINED_NODE :
 				return getContainedNodes();
 			case UMLPackage.STRUCTURED_ACTIVITY_NODE__IN_ACTIVITY :
@@ -1453,8 +1470,6 @@
 				if (resolve)
 					return getSuperGroup();
 				return basicGetSuperGroup();
-			case UMLPackage.STRUCTURED_ACTIVITY_NODE__CONTAINED_EDGE :
-				return getContainedEdges();
 			case UMLPackage.STRUCTURED_ACTIVITY_NODE__MUST_ISOLATE :
 				return isMustIsolate();
 			case UMLPackage.STRUCTURED_ACTIVITY_NODE__NODE :
@@ -1742,8 +1757,6 @@
 				return isSetRedefinitionContexts();
 			case UMLPackage.STRUCTURED_ACTIVITY_NODE__ACTIVITY :
 				return isSetActivity();
-			case UMLPackage.STRUCTURED_ACTIVITY_NODE__IN_GROUP :
-				return isSetInGroups();
 			case UMLPackage.STRUCTURED_ACTIVITY_NODE__IN_PARTITION :
 				return inPartitions != null && !inPartitions.isEmpty();
 			case UMLPackage.STRUCTURED_ACTIVITY_NODE__IN_STRUCTURED_NODE :
@@ -1755,6 +1768,8 @@
 				return outgoings != null && !outgoings.isEmpty();
 			case UMLPackage.STRUCTURED_ACTIVITY_NODE__INCOMING :
 				return incomings != null && !incomings.isEmpty();
+			case UMLPackage.STRUCTURED_ACTIVITY_NODE__IN_GROUP :
+				return isSetInGroups();
 			case UMLPackage.STRUCTURED_ACTIVITY_NODE__REDEFINED_NODE :
 				return redefinedNodes != null && !redefinedNodes.isEmpty();
 			case UMLPackage.STRUCTURED_ACTIVITY_NODE__HANDLER :
@@ -1785,6 +1800,8 @@
 				return !getImportedMembers().isEmpty();
 			case UMLPackage.STRUCTURED_ACTIVITY_NODE__MEMBER :
 				return isSetMembers();
+			case UMLPackage.STRUCTURED_ACTIVITY_NODE__CONTAINED_EDGE :
+				return isSetContainedEdges();
 			case UMLPackage.STRUCTURED_ACTIVITY_NODE__CONTAINED_NODE :
 				return isSetContainedNodes();
 			case UMLPackage.STRUCTURED_ACTIVITY_NODE__IN_ACTIVITY :
@@ -1793,8 +1810,6 @@
 				return isSetSubgroups();
 			case UMLPackage.STRUCTURED_ACTIVITY_NODE__SUPER_GROUP :
 				return isSetSuperGroup();
-			case UMLPackage.STRUCTURED_ACTIVITY_NODE__CONTAINED_EDGE :
-				return isSetContainedEdges();
 			case UMLPackage.STRUCTURED_ACTIVITY_NODE__MUST_ISOLATE :
 				return ((eFlags & MUST_ISOLATE_EFLAG) != 0) != MUST_ISOLATE_EDEFAULT;
 			case UMLPackage.STRUCTURED_ACTIVITY_NODE__NODE :
@@ -1840,6 +1855,8 @@
 		}
 		if (baseClass == ActivityGroup.class) {
 			switch (derivedFeatureID) {
+				case UMLPackage.STRUCTURED_ACTIVITY_NODE__CONTAINED_EDGE :
+					return UMLPackage.ACTIVITY_GROUP__CONTAINED_EDGE;
 				case UMLPackage.STRUCTURED_ACTIVITY_NODE__CONTAINED_NODE :
 					return UMLPackage.ACTIVITY_GROUP__CONTAINED_NODE;
 				case UMLPackage.STRUCTURED_ACTIVITY_NODE__IN_ACTIVITY :
@@ -1848,8 +1865,6 @@
 					return UMLPackage.ACTIVITY_GROUP__SUBGROUP;
 				case UMLPackage.STRUCTURED_ACTIVITY_NODE__SUPER_GROUP :
 					return UMLPackage.ACTIVITY_GROUP__SUPER_GROUP;
-				case UMLPackage.STRUCTURED_ACTIVITY_NODE__CONTAINED_EDGE :
-					return UMLPackage.ACTIVITY_GROUP__CONTAINED_EDGE;
 				default :
 					return -1;
 			}
@@ -1884,6 +1899,8 @@
 		}
 		if (baseClass == ActivityGroup.class) {
 			switch (baseFeatureID) {
+				case UMLPackage.ACTIVITY_GROUP__CONTAINED_EDGE :
+					return UMLPackage.STRUCTURED_ACTIVITY_NODE__CONTAINED_EDGE;
 				case UMLPackage.ACTIVITY_GROUP__CONTAINED_NODE :
 					return UMLPackage.STRUCTURED_ACTIVITY_NODE__CONTAINED_NODE;
 				case UMLPackage.ACTIVITY_GROUP__IN_ACTIVITY :
@@ -1892,8 +1909,6 @@
 					return UMLPackage.STRUCTURED_ACTIVITY_NODE__SUBGROUP;
 				case UMLPackage.ACTIVITY_GROUP__SUPER_GROUP :
 					return UMLPackage.STRUCTURED_ACTIVITY_NODE__SUPER_GROUP;
-				case UMLPackage.ACTIVITY_GROUP__CONTAINED_EDGE :
-					return UMLPackage.STRUCTURED_ACTIVITY_NODE__CONTAINED_EDGE;
 				default :
 					return -1;
 			}
@@ -1938,12 +1953,12 @@
 		}
 		if (baseClass == ActivityGroup.class) {
 			switch (baseOperationID) {
-				case UMLPackage.ACTIVITY_GROUP___VALIDATE_NODES_AND_EDGES__DIAGNOSTICCHAIN_MAP :
-					return UMLPackage.STRUCTURED_ACTIVITY_NODE___VALIDATE_NODES_AND_EDGES__DIAGNOSTICCHAIN_MAP;
 				case UMLPackage.ACTIVITY_GROUP___VALIDATE_GROUP_OWNED__DIAGNOSTICCHAIN_MAP :
 					return UMLPackage.STRUCTURED_ACTIVITY_NODE___VALIDATE_GROUP_OWNED__DIAGNOSTICCHAIN_MAP;
 				case UMLPackage.ACTIVITY_GROUP___VALIDATE_NOT_CONTAINED__DIAGNOSTICCHAIN_MAP :
 					return UMLPackage.STRUCTURED_ACTIVITY_NODE___VALIDATE_NOT_CONTAINED__DIAGNOSTICCHAIN_MAP;
+				case UMLPackage.ACTIVITY_GROUP___VALIDATE_NODES_AND_EDGES__DIAGNOSTICCHAIN_MAP :
+					return UMLPackage.STRUCTURED_ACTIVITY_NODE___VALIDATE_NODES_AND_EDGES__DIAGNOSTICCHAIN_MAP;
 				default :
 					return -1;
 			}
@@ -2043,10 +2058,6 @@
 				return allOwnedElements();
 			case UMLPackage.STRUCTURED_ACTIVITY_NODE___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.STRUCTURED_ACTIVITY_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.STRUCTURED_ACTIVITY_NODE___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -2055,6 +2066,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.STRUCTURED_ACTIVITY_NODE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.STRUCTURED_ACTIVITY_NODE___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.STRUCTURED_ACTIVITY_NODE___CREATE_USAGE__NAMEDELEMENT :
@@ -2132,25 +2147,25 @@
 				return membersAreDistinguishable();
 			case UMLPackage.STRUCTURED_ACTIVITY_NODE___GET_OWNED_MEMBERS :
 				return getOwnedMembers();
-			case UMLPackage.STRUCTURED_ACTIVITY_NODE___VALIDATE_NODES_AND_EDGES__DIAGNOSTICCHAIN_MAP :
-				return validateNodesAndEdges(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.STRUCTURED_ACTIVITY_NODE___VALIDATE_GROUP_OWNED__DIAGNOSTICCHAIN_MAP :
 				return validateGroupOwned((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.STRUCTURED_ACTIVITY_NODE___VALIDATE_NOT_CONTAINED__DIAGNOSTICCHAIN_MAP :
 				return validateNotContained((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.STRUCTURED_ACTIVITY_NODE___VALIDATE_OUTPUT_PIN_EDGES__DIAGNOSTICCHAIN_MAP :
-				return validateOutputPinEdges(
+			case UMLPackage.STRUCTURED_ACTIVITY_NODE___VALIDATE_NODES_AND_EDGES__DIAGNOSTICCHAIN_MAP :
+				return validateNodesAndEdges(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.STRUCTURED_ACTIVITY_NODE___VALIDATE_INPUT_PIN_EDGES__DIAGNOSTICCHAIN_MAP :
+				return validateInputPinEdges(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.STRUCTURED_ACTIVITY_NODE___VALIDATE_EDGES__DIAGNOSTICCHAIN_MAP :
 				return validateEdges((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.STRUCTURED_ACTIVITY_NODE___VALIDATE_INPUT_PIN_EDGES__DIAGNOSTICCHAIN_MAP :
-				return validateInputPinEdges(
+			case UMLPackage.STRUCTURED_ACTIVITY_NODE___VALIDATE_OUTPUT_PIN_EDGES__DIAGNOSTICCHAIN_MAP :
+				return validateOutputPinEdges(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 		}
@@ -2442,16 +2457,6 @@
 	}
 
 	/**
-	 * The array of subset feature identifiers for the '{@link #getContainedNodes() <em>Contained Node</em>}' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getContainedNodes()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final int[] CONTAINED_NODE_ESUBSETS = new int[]{UMLPackage.STRUCTURED_ACTIVITY_NODE__NODE};
-
-	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -2490,6 +2495,16 @@
 	protected static final int[] CONTAINED_EDGE_ESUBSETS = new int[]{UMLPackage.STRUCTURED_ACTIVITY_NODE__EDGE};
 
 	/**
+	 * The array of subset feature identifiers for the '{@link #getContainedNodes() <em>Contained Node</em>}' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getContainedNodes()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final int[] CONTAINED_NODE_ESUBSETS = new int[]{UMLPackage.STRUCTURED_ACTIVITY_NODE__NODE};
+
+	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -2598,19 +2613,6 @@
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @generated NOT
-	 */
-	public NotificationChain basicSetInActivity(Activity newInActivity,
-			NotificationChain msgs) {
-		msgs = eBasicSetContainer((InternalEObject) newInActivity,
-			UMLPackage.STRUCTURED_ACTIVITY_NODE__IN_ACTIVITY, msgs);
-
-		return msgs;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
 	 * @generated
 	 */
 	public void setInActivity(Activity newInActivity) {
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/StructuredClassifierImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/StructuredClassifierImpl.java
index 9085cbc..521ee5f 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/StructuredClassifierImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/StructuredClassifierImpl.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: StructuredClassifierImpl.java,v 1.34 2010/09/28 21:02:12 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -81,8 +80,8 @@
  * The following features are implemented:
  * <ul>
  *   <li>{@link org.eclipse.uml2.uml.internal.impl.StructuredClassifierImpl#getAttributes <em>Attribute</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.internal.impl.StructuredClassifierImpl#getRoles <em>Role</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.internal.impl.StructuredClassifierImpl#getOwnedMembers <em>Owned Member</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.internal.impl.StructuredClassifierImpl#getRoles <em>Role</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.internal.impl.StructuredClassifierImpl#getFeatures <em>Feature</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.internal.impl.StructuredClassifierImpl#getMembers <em>Member</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.internal.impl.StructuredClassifierImpl#getOwnedAttributes <em>Owned Attribute</em>}</li>
@@ -1110,10 +1109,6 @@
 				return allOwnedElements();
 			case UMLPackage.STRUCTURED_CLASSIFIER___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.STRUCTURED_CLASSIFIER___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.STRUCTURED_CLASSIFIER___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -1122,6 +1117,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.STRUCTURED_CLASSIFIER___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.STRUCTURED_CLASSIFIER___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.STRUCTURED_CLASSIFIER___CREATE_USAGE__NAMEDELEMENT :
@@ -1211,14 +1210,6 @@
 				return isTemplate();
 			case UMLPackage.STRUCTURED_CLASSIFIER___PARAMETERABLE_ELEMENTS :
 				return parameterableElements();
-			case UMLPackage.STRUCTURED_CLASSIFIER___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP :
-				return validateSpecializeType(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.STRUCTURED_CLASSIFIER___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP :
-				return validateMapsToGeneralizationSet(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.STRUCTURED_CLASSIFIER___VALIDATE_NON_FINAL_PARENTS__DIAGNOSTICCHAIN_MAP :
 				return validateNonFinalParents(
 					(DiagnosticChain) arguments.get(0),
@@ -1227,6 +1218,14 @@
 				return validateNoCyclesInGeneralization(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.STRUCTURED_CLASSIFIER___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP :
+				return validateSpecializeType(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.STRUCTURED_CLASSIFIER___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP :
+				return validateMapsToGeneralizationSet(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.STRUCTURED_CLASSIFIER___GET_ALL_ATTRIBUTES :
 				return getAllAttributes();
 			case UMLPackage.STRUCTURED_CLASSIFIER___GET_ALL_OPERATIONS :
@@ -1311,16 +1310,6 @@
 	protected static final int[] ATTRIBUTE_ESUBSETS = new int[]{UMLPackage.STRUCTURED_CLASSIFIER__OWNED_ATTRIBUTE};
 
 	/**
-	 * The array of subset feature identifiers for the '{@link #getRoles() <em>Role</em>}' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getRoles()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final int[] ROLE_ESUBSETS = new int[]{UMLPackage.STRUCTURED_CLASSIFIER__OWNED_ATTRIBUTE};
-
-	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -1365,6 +1354,16 @@
 		UMLPackage.STRUCTURED_CLASSIFIER__OWNED_CONNECTOR};
 
 	/**
+	 * The array of subset feature identifiers for the '{@link #getRoles() <em>Role</em>}' reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getRoles()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final int[] ROLE_ESUBSETS = new int[]{UMLPackage.STRUCTURED_CLASSIFIER__OWNED_ATTRIBUTE};
+
+	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/TemplateBindingImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/TemplateBindingImpl.java
index 12d50ad..73409f0 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/TemplateBindingImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/TemplateBindingImpl.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: TemplateBindingImpl.java,v 1.23 2010/09/28 21:02:13 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -60,8 +59,8 @@
  * <ul>
  *   <li>{@link org.eclipse.uml2.uml.internal.impl.TemplateBindingImpl#getOwnedElements <em>Owned Element</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.internal.impl.TemplateBindingImpl#getTargets <em>Target</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.internal.impl.TemplateBindingImpl#getSources <em>Source</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.internal.impl.TemplateBindingImpl#getOwner <em>Owner</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.internal.impl.TemplateBindingImpl#getSources <em>Source</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.internal.impl.TemplateBindingImpl#getParameterSubstitutions <em>Parameter Substitution</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.internal.impl.TemplateBindingImpl#getSignature <em>Signature</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.internal.impl.TemplateBindingImpl#getBoundElement <em>Bound Element</em>}</li>
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/TemplateParameterImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/TemplateParameterImpl.java
index 7d00651..2698f5b 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/TemplateParameterImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/TemplateParameterImpl.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: TemplateParameterImpl.java,v 1.23 2010/09/28 21:02:13 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -60,8 +59,8 @@
  *   <li>{@link org.eclipse.uml2.uml.internal.impl.TemplateParameterImpl#getOwner <em>Owner</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.internal.impl.TemplateParameterImpl#getDefault <em>Default</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.internal.impl.TemplateParameterImpl#getParameteredElement <em>Parametered Element</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.internal.impl.TemplateParameterImpl#getOwnedParameteredElement <em>Owned Parametered Element</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.internal.impl.TemplateParameterImpl#getOwnedDefault <em>Owned Default</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.internal.impl.TemplateParameterImpl#getOwnedParameteredElement <em>Owned Parametered Element</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.internal.impl.TemplateParameterImpl#getSignature <em>Signature</em>}</li>
  * </ul>
  * </p>
@@ -93,16 +92,6 @@
 	protected ParameterableElement parameteredElement;
 
 	/**
-	 * The cached value of the '{@link #getOwnedParameteredElement() <em>Owned Parametered Element</em>}' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getOwnedParameteredElement()
-	 * @generated
-	 * @ordered
-	 */
-	protected ParameterableElement ownedParameteredElement;
-
-	/**
 	 * The cached value of the '{@link #getOwnedDefault() <em>Owned Default</em>}' containment reference.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -113,6 +102,16 @@
 	protected ParameterableElement ownedDefault;
 
 	/**
+	 * The cached value of the '{@link #getOwnedParameteredElement() <em>Owned Parametered Element</em>}' containment reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getOwnedParameteredElement()
+	 * @generated
+	 * @ordered
+	 */
+	protected ParameterableElement ownedParameteredElement;
+
+	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -655,12 +654,12 @@
 			case UMLPackage.TEMPLATE_PARAMETER__OWNED_COMMENT :
 				return ((InternalEList<?>) getOwnedComments()).basicRemove(
 					otherEnd, msgs);
+			case UMLPackage.TEMPLATE_PARAMETER__OWNED_DEFAULT :
+				return basicSetOwnedDefault(null, msgs);
 			case UMLPackage.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT :
 				return basicSetOwnedParameteredElement(null, msgs);
 			case UMLPackage.TEMPLATE_PARAMETER__PARAMETERED_ELEMENT :
 				return basicSetParameteredElement(null, msgs);
-			case UMLPackage.TEMPLATE_PARAMETER__OWNED_DEFAULT :
-				return basicSetOwnedDefault(null, msgs);
 			case UMLPackage.TEMPLATE_PARAMETER__SIGNATURE :
 				return basicSetSignature(null, msgs);
 		}
@@ -706,6 +705,10 @@
 				if (resolve)
 					return getDefault();
 				return basicGetDefault();
+			case UMLPackage.TEMPLATE_PARAMETER__OWNED_DEFAULT :
+				if (resolve)
+					return getOwnedDefault();
+				return basicGetOwnedDefault();
 			case UMLPackage.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT :
 				if (resolve)
 					return getOwnedParameteredElement();
@@ -714,10 +717,6 @@
 				if (resolve)
 					return getParameteredElement();
 				return basicGetParameteredElement();
-			case UMLPackage.TEMPLATE_PARAMETER__OWNED_DEFAULT :
-				if (resolve)
-					return getOwnedDefault();
-				return basicGetOwnedDefault();
 			case UMLPackage.TEMPLATE_PARAMETER__SIGNATURE :
 				if (resolve)
 					return getSignature();
@@ -748,15 +747,15 @@
 			case UMLPackage.TEMPLATE_PARAMETER__DEFAULT :
 				setDefault((ParameterableElement) newValue);
 				return;
+			case UMLPackage.TEMPLATE_PARAMETER__OWNED_DEFAULT :
+				setOwnedDefault((ParameterableElement) newValue);
+				return;
 			case UMLPackage.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT :
 				setOwnedParameteredElement((ParameterableElement) newValue);
 				return;
 			case UMLPackage.TEMPLATE_PARAMETER__PARAMETERED_ELEMENT :
 				setParameteredElement((ParameterableElement) newValue);
 				return;
-			case UMLPackage.TEMPLATE_PARAMETER__OWNED_DEFAULT :
-				setOwnedDefault((ParameterableElement) newValue);
-				return;
 			case UMLPackage.TEMPLATE_PARAMETER__SIGNATURE :
 				setSignature((TemplateSignature) newValue);
 				return;
@@ -781,15 +780,15 @@
 			case UMLPackage.TEMPLATE_PARAMETER__DEFAULT :
 				setDefault((ParameterableElement) null);
 				return;
+			case UMLPackage.TEMPLATE_PARAMETER__OWNED_DEFAULT :
+				setOwnedDefault((ParameterableElement) null);
+				return;
 			case UMLPackage.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT :
 				setOwnedParameteredElement((ParameterableElement) null);
 				return;
 			case UMLPackage.TEMPLATE_PARAMETER__PARAMETERED_ELEMENT :
 				setParameteredElement((ParameterableElement) null);
 				return;
-			case UMLPackage.TEMPLATE_PARAMETER__OWNED_DEFAULT :
-				setOwnedDefault((ParameterableElement) null);
-				return;
 			case UMLPackage.TEMPLATE_PARAMETER__SIGNATURE :
 				setSignature((TemplateSignature) null);
 				return;
@@ -815,12 +814,12 @@
 				return isSetOwner();
 			case UMLPackage.TEMPLATE_PARAMETER__DEFAULT :
 				return default_ != null;
+			case UMLPackage.TEMPLATE_PARAMETER__OWNED_DEFAULT :
+				return ownedDefault != null;
 			case UMLPackage.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT :
 				return ownedParameteredElement != null;
 			case UMLPackage.TEMPLATE_PARAMETER__PARAMETERED_ELEMENT :
 				return parameteredElement != null;
-			case UMLPackage.TEMPLATE_PARAMETER__OWNED_DEFAULT :
-				return ownedDefault != null;
 			case UMLPackage.TEMPLATE_PARAMETER__SIGNATURE :
 				return basicGetSignature() != null;
 		}
@@ -962,8 +961,8 @@
 	 */
 	protected static final int[] OWNED_ELEMENT_ESUBSETS = new int[]{
 		UMLPackage.TEMPLATE_PARAMETER__OWNED_COMMENT,
-		UMLPackage.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT,
-		UMLPackage.TEMPLATE_PARAMETER__OWNED_DEFAULT};
+		UMLPackage.TEMPLATE_PARAMETER__OWNED_DEFAULT,
+		UMLPackage.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT};
 
 	/**
 	 * <!-- begin-user-doc -->
@@ -973,8 +972,8 @@
 	@Override
 	public boolean isSetOwnedElements() {
 		return super.isSetOwnedElements()
-			|| eIsSet(UMLPackage.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT)
-			|| eIsSet(UMLPackage.TEMPLATE_PARAMETER__OWNED_DEFAULT);
+			|| eIsSet(UMLPackage.TEMPLATE_PARAMETER__OWNED_DEFAULT)
+			|| eIsSet(UMLPackage.TEMPLATE_PARAMETER__OWNED_PARAMETERED_ELEMENT);
 	}
 
 } //TemplateParameterImpl
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/TestIdentityActionImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/TestIdentityActionImpl.java
index 2ff05fd..259108d 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/TestIdentityActionImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/TestIdentityActionImpl.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: TestIdentityActionImpl.java,v 1.29 2010/09/28 21:02:14 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -549,8 +548,6 @@
 					.basicRemove(otherEnd, msgs);
 			case UMLPackage.TEST_IDENTITY_ACTION__NAME_EXPRESSION :
 				return basicSetNameExpression(null, msgs);
-			case UMLPackage.TEST_IDENTITY_ACTION__ACTIVITY :
-				return basicSetActivity(null, msgs);
 			case UMLPackage.TEST_IDENTITY_ACTION__IN_PARTITION :
 				return ((InternalEList<?>) getInPartitions()).basicRemove(
 					otherEnd, msgs);
@@ -628,8 +625,6 @@
 				if (resolve)
 					return getActivity();
 				return basicGetActivity();
-			case UMLPackage.TEST_IDENTITY_ACTION__IN_GROUP :
-				return getInGroups();
 			case UMLPackage.TEST_IDENTITY_ACTION__IN_PARTITION :
 				return getInPartitions();
 			case UMLPackage.TEST_IDENTITY_ACTION__IN_STRUCTURED_NODE :
@@ -642,6 +637,8 @@
 				return getOutgoings();
 			case UMLPackage.TEST_IDENTITY_ACTION__INCOMING :
 				return getIncomings();
+			case UMLPackage.TEST_IDENTITY_ACTION__IN_GROUP :
+				return getInGroups();
 			case UMLPackage.TEST_IDENTITY_ACTION__REDEFINED_NODE :
 				return getRedefinedNodes();
 			case UMLPackage.TEST_IDENTITY_ACTION__HANDLER :
@@ -889,8 +886,6 @@
 				return isSetRedefinitionContexts();
 			case UMLPackage.TEST_IDENTITY_ACTION__ACTIVITY :
 				return basicGetActivity() != null;
-			case UMLPackage.TEST_IDENTITY_ACTION__IN_GROUP :
-				return isSetInGroups();
 			case UMLPackage.TEST_IDENTITY_ACTION__IN_PARTITION :
 				return inPartitions != null && !inPartitions.isEmpty();
 			case UMLPackage.TEST_IDENTITY_ACTION__IN_STRUCTURED_NODE :
@@ -902,6 +897,8 @@
 				return outgoings != null && !outgoings.isEmpty();
 			case UMLPackage.TEST_IDENTITY_ACTION__INCOMING :
 				return incomings != null && !incomings.isEmpty();
+			case UMLPackage.TEST_IDENTITY_ACTION__IN_GROUP :
+				return isSetInGroups();
 			case UMLPackage.TEST_IDENTITY_ACTION__REDEFINED_NODE :
 				return redefinedNodes != null && !redefinedNodes.isEmpty();
 			case UMLPackage.TEST_IDENTITY_ACTION__HANDLER :
@@ -1022,10 +1019,6 @@
 				return allOwnedElements();
 			case UMLPackage.TEST_IDENTITY_ACTION___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.TEST_IDENTITY_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.TEST_IDENTITY_ACTION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -1034,6 +1027,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.TEST_IDENTITY_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.TEST_IDENTITY_ACTION___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.TEST_IDENTITY_ACTION___CREATE_USAGE__NAMEDELEMENT :
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/TimeEventImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/TimeEventImpl.java
index 69a9ad5..af406d7 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/TimeEventImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/TimeEventImpl.java
@@ -9,9 +9,8 @@
  *   IBM - initial API and implementation
  *   Kenn Hussey (Embarcadero Technologies) - 204200
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: TimeEventImpl.java,v 1.28 2010/09/28 21:02:13 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -603,10 +602,6 @@
 				return allOwnedElements();
 			case UMLPackage.TIME_EVENT___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.TIME_EVENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.TIME_EVENT___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -615,6 +610,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.TIME_EVENT___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.TIME_EVENT___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.TIME_EVENT___CREATE_USAGE__NAMEDELEMENT :
@@ -640,13 +639,13 @@
 				return isCompatibleWith((ParameterableElement) arguments.get(0));
 			case UMLPackage.TIME_EVENT___IS_TEMPLATE_PARAMETER :
 				return isTemplateParameter();
+			case UMLPackage.TIME_EVENT___VALIDATE_STARTING_TIME__DIAGNOSTICCHAIN_MAP :
+				return validateStartingTime((DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.TIME_EVENT___VALIDATE_WHEN_NON_NEGATIVE__DIAGNOSTICCHAIN_MAP :
 				return validateWhenNonNegative(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.TIME_EVENT___VALIDATE_STARTING_TIME__DIAGNOSTICCHAIN_MAP :
-				return validateStartingTime((DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 		}
 		return eDynamicInvoke(operationID, arguments);
 	}
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/TimeExpressionImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/TimeExpressionImpl.java
index b07f56a..2b9eb82 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/TimeExpressionImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/TimeExpressionImpl.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: TimeExpressionImpl.java,v 1.21 2010/09/28 21:02:12 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -622,10 +621,6 @@
 				return allOwnedElements();
 			case UMLPackage.TIME_EXPRESSION___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.TIME_EXPRESSION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.TIME_EXPRESSION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -634,6 +629,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.TIME_EXPRESSION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.TIME_EXPRESSION___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.TIME_EXPRESSION___CREATE_USAGE__NAMEDELEMENT :
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/TransitionImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/TransitionImpl.java
index ac9f909..88193c4 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/TransitionImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/TransitionImpl.java
@@ -9,9 +9,8 @@
  *   IBM - initial API and implementation
  *   Kenn Hussey (Embarcadero Technologies) - 204200
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: TransitionImpl.java,v 1.33 2010/09/28 21:02:14 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -1595,10 +1594,6 @@
 				return allOwnedElements();
 			case UMLPackage.TRANSITION___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.TRANSITION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.TRANSITION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -1607,6 +1602,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.TRANSITION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.TRANSITION___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.TRANSITION___CREATE_USAGE__NAMEDELEMENT :
@@ -1675,43 +1674,43 @@
 			case UMLPackage.TRANSITION___IS_REDEFINITION_CONTEXT_VALID__REDEFINABLEELEMENT :
 				return isRedefinitionContextValid((RedefinableElement) arguments
 					.get(0));
-			case UMLPackage.TRANSITION___VALIDATE_STATE_IS_EXTERNAL__DIAGNOSTICCHAIN_MAP :
-				return validateStateIsExternal(
-					(DiagnosticChain) arguments.get(0),
+			case UMLPackage.TRANSITION___VALIDATE_STATE_IS_LOCAL__DIAGNOSTICCHAIN_MAP :
+				return validateStateIsLocal((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.TRANSITION___VALIDATE_JOIN_SEGMENT_GUARDS__DIAGNOSTICCHAIN_MAP :
-				return validateJoinSegmentGuards(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.TRANSITION___VALIDATE_STATE_IS_INTERNAL__DIAGNOSTICCHAIN_MAP :
-				return validateStateIsInternal(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.TRANSITION___VALIDATE_OUTGOING_PSEUDOSTATES__DIAGNOSTICCHAIN_MAP :
-				return validateOutgoingPseudostates(
+			case UMLPackage.TRANSITION___VALIDATE_FORK_SEGMENT_GUARDS__DIAGNOSTICCHAIN_MAP :
+				return validateForkSegmentGuards(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.TRANSITION___VALIDATE_JOIN_SEGMENT_STATE__DIAGNOSTICCHAIN_MAP :
 				return validateJoinSegmentState(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.TRANSITION___VALIDATE_FORK_SEGMENT_STATE__DIAGNOSTICCHAIN_MAP :
-				return validateForkSegmentState(
+			case UMLPackage.TRANSITION___VALIDATE_INITIAL_TRANSITION__DIAGNOSTICCHAIN_MAP :
+				return validateInitialTransition(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.TRANSITION___VALIDATE_OUTGOING_PSEUDOSTATES__DIAGNOSTICCHAIN_MAP :
+				return validateOutgoingPseudostates(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.TRANSITION___VALIDATE_SIGNATURES_COMPATIBLE__DIAGNOSTICCHAIN_MAP :
 				return validateSignaturesCompatible(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.TRANSITION___VALIDATE_STATE_IS_LOCAL__DIAGNOSTICCHAIN_MAP :
-				return validateStateIsLocal((DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.TRANSITION___VALIDATE_INITIAL_TRANSITION__DIAGNOSTICCHAIN_MAP :
-				return validateInitialTransition(
+			case UMLPackage.TRANSITION___VALIDATE_STATE_IS_INTERNAL__DIAGNOSTICCHAIN_MAP :
+				return validateStateIsInternal(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.TRANSITION___VALIDATE_FORK_SEGMENT_GUARDS__DIAGNOSTICCHAIN_MAP :
-				return validateForkSegmentGuards(
+			case UMLPackage.TRANSITION___VALIDATE_JOIN_SEGMENT_GUARDS__DIAGNOSTICCHAIN_MAP :
+				return validateJoinSegmentGuards(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.TRANSITION___VALIDATE_FORK_SEGMENT_STATE__DIAGNOSTICCHAIN_MAP :
+				return validateForkSegmentState(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.TRANSITION___VALIDATE_STATE_IS_EXTERNAL__DIAGNOSTICCHAIN_MAP :
+				return validateStateIsExternal(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.TRANSITION___CONTAINING_STATE_MACHINE :
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/TypeImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/TypeImpl.java
index a053960..84d06e0 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/TypeImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/TypeImpl.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: TypeImpl.java,v 1.25 2010/09/28 21:02:14 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -472,10 +471,6 @@
 				return allOwnedElements();
 			case UMLPackage.TYPE___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.TYPE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.TYPE___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -484,6 +479,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.TYPE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.TYPE___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.TYPE___CREATE_USAGE__NAMEDELEMENT :
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/UMLFactoryImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/UMLFactoryImpl.java
index 168802c..a4ad411 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/UMLFactoryImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/UMLFactoryImpl.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey (Embarcadero Technologies) - 205188
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: UMLFactoryImpl.java,v 1.20 2008/10/02 20:56:21 jbruck Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -289,6 +288,10 @@
 				return createClass();
 			case UMLPackage.STRING_EXPRESSION :
 				return createStringExpression();
+			case UMLPackage.EXPRESSION :
+				return createExpression();
+			case UMLPackage.PACKAGE :
+				return createPackage();
 			case UMLPackage.TEMPLATE_SIGNATURE :
 				return createTemplateSignature();
 			case UMLPackage.TEMPLATE_PARAMETER :
@@ -297,10 +300,6 @@
 				return createTemplateBinding();
 			case UMLPackage.TEMPLATE_PARAMETER_SUBSTITUTION :
 				return createTemplateParameterSubstitution();
-			case UMLPackage.EXPRESSION :
-				return createExpression();
-			case UMLPackage.PACKAGE :
-				return createPackage();
 			case UMLPackage.PACKAGE_MERGE :
 				return createPackageMerge();
 			case UMLPackage.PROFILE_APPLICATION :
@@ -331,14 +330,10 @@
 				return createManifestation();
 			case UMLPackage.OPERATION :
 				return createOperation();
-			case UMLPackage.PARAMETER :
-				return createParameter();
-			case UMLPackage.PARAMETER_SET :
-				return createParameterSet();
-			case UMLPackage.CONSTRAINT :
-				return createConstraint();
-			case UMLPackage.DATA_TYPE :
-				return createDataType();
+			case UMLPackage.INTERFACE_REALIZATION :
+				return createInterfaceRealization();
+			case UMLPackage.REALIZATION :
+				return createRealization();
 			case UMLPackage.INTERFACE :
 				return createInterface();
 			case UMLPackage.RECEPTION :
@@ -361,10 +356,18 @@
 				return createTrigger();
 			case UMLPackage.PORT :
 				return createPort();
+			case UMLPackage.CONSTRAINT :
+				return createConstraint();
 			case UMLPackage.TRANSITION :
 				return createTransition();
 			case UMLPackage.PROTOCOL_CONFORMANCE :
 				return createProtocolConformance();
+			case UMLPackage.PARAMETER :
+				return createParameter();
+			case UMLPackage.PARAMETER_SET :
+				return createParameterSet();
+			case UMLPackage.DATA_TYPE :
+				return createDataType();
 			case UMLPackage.OPERATION_TEMPLATE_PARAMETER :
 				return createOperationTemplateParameter();
 			case UMLPackage.EXTENSION_END :
@@ -387,8 +390,6 @@
 				return createCollaborationUse();
 			case UMLPackage.COLLABORATION :
 				return createCollaboration();
-			case UMLPackage.CONNECTOR :
-				return createConnector();
 			case UMLPackage.GENERALIZATION :
 				return createGeneralization();
 			case UMLPackage.GENERALIZATION_SET :
@@ -405,12 +406,10 @@
 				return createInclude();
 			case UMLPackage.SUBSTITUTION :
 				return createSubstitution();
-			case UMLPackage.REALIZATION :
-				return createRealization();
 			case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER :
 				return createClassifierTemplateParameter();
-			case UMLPackage.INTERFACE_REALIZATION :
-				return createInterfaceRealization();
+			case UMLPackage.CONNECTOR :
+				return createConnector();
 			case UMLPackage.IMAGE :
 				return createImage();
 			case UMLPackage.OPAQUE_EXPRESSION :
@@ -682,16 +681,16 @@
 			case UMLPackage.CALL_CONCURRENCY_KIND :
 				return createCallConcurrencyKindFromString(eDataType,
 					initialValue);
+			case UMLPackage.TRANSITION_KIND :
+				return createTransitionKindFromString(eDataType, initialValue);
+			case UMLPackage.PSEUDOSTATE_KIND :
+				return createPseudostateKindFromString(eDataType, initialValue);
 			case UMLPackage.PARAMETER_DIRECTION_KIND :
 				return createParameterDirectionKindFromString(eDataType,
 					initialValue);
 			case UMLPackage.PARAMETER_EFFECT_KIND :
 				return createParameterEffectKindFromString(eDataType,
 					initialValue);
-			case UMLPackage.TRANSITION_KIND :
-				return createTransitionKindFromString(eDataType, initialValue);
-			case UMLPackage.PSEUDOSTATE_KIND :
-				return createPseudostateKindFromString(eDataType, initialValue);
 			case UMLPackage.AGGREGATION_KIND :
 				return createAggregationKindFromString(eDataType, initialValue);
 			case UMLPackage.CONNECTOR_KIND :
@@ -727,16 +726,16 @@
 			case UMLPackage.CALL_CONCURRENCY_KIND :
 				return convertCallConcurrencyKindToString(eDataType,
 					instanceValue);
+			case UMLPackage.TRANSITION_KIND :
+				return convertTransitionKindToString(eDataType, instanceValue);
+			case UMLPackage.PSEUDOSTATE_KIND :
+				return convertPseudostateKindToString(eDataType, instanceValue);
 			case UMLPackage.PARAMETER_DIRECTION_KIND :
 				return convertParameterDirectionKindToString(eDataType,
 					instanceValue);
 			case UMLPackage.PARAMETER_EFFECT_KIND :
 				return convertParameterEffectKindToString(eDataType,
 					instanceValue);
-			case UMLPackage.TRANSITION_KIND :
-				return convertTransitionKindToString(eDataType, instanceValue);
-			case UMLPackage.PSEUDOSTATE_KIND :
-				return convertPseudostateKindToString(eDataType, instanceValue);
 			case UMLPackage.AGGREGATION_KIND :
 				return convertAggregationKindToString(eDataType, instanceValue);
 			case UMLPackage.CONNECTOR_KIND :
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/UMLPackageImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/UMLPackageImpl.java
index 58b964f..a5d9f85 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/UMLPackageImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/UMLPackageImpl.java
@@ -9,9 +9,8 @@
  *   IBM - initial API and implementation
  *   Kenn Hussey (Embarcadero Technologies) - 205188, 247980
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: UMLPackageImpl.java,v 1.26 2010/09/28 21:02:12 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -39,7 +38,6 @@
 
 import org.eclipse.emf.ecore.xmi.impl.EcoreResourceFactoryImpl;
 
-import org.eclipse.uml2.types.TypesPackage;
 import org.eclipse.uml2.uml.UMLFactory;
 import org.eclipse.uml2.uml.UMLPackage;
 
@@ -1898,7 +1896,6 @@
 
 		// Initialize simple dependencies
 		EcorePackage.eINSTANCE.eClass();
-		TypesPackage.eINSTANCE.eClass();
 
 		// Load packages
 		theUMLPackage.loadPackage();
@@ -2326,7 +2323,7 @@
 	public EClass getDirectedRelationship() {
 		if (directedRelationshipEClass == null) {
 			directedRelationshipEClass = (EClass) EPackage.Registry.INSTANCE
-				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(2);
+				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(23);
 		}
 		return directedRelationshipEClass;
 	}
@@ -2359,7 +2356,7 @@
 	public EClass getRelationship() {
 		if (relationshipEClass == null) {
 			relationshipEClass = (EClass) EPackage.Registry.INSTANCE
-				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(3);
+				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(24);
 		}
 		return relationshipEClass;
 	}
@@ -2394,7 +2391,7 @@
 	public EClass getValueSpecification() {
 		if (valueSpecificationEClass == null) {
 			valueSpecificationEClass = (EClass) EPackage.Registry.INSTANCE
-				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(20);
+				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(15);
 		}
 		return valueSpecificationEClass;
 	}
@@ -2470,7 +2467,7 @@
 	public EClass getTypedElement() {
 		if (typedElementEClass == null) {
 			typedElementEClass = (EClass) EPackage.Registry.INSTANCE
-				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(21);
+				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(16);
 		}
 		return typedElementEClass;
 	}
@@ -2492,7 +2489,7 @@
 	public EClass getNamedElement() {
 		if (namedElementEClass == null) {
 			namedElementEClass = (EClass) EPackage.Registry.INSTANCE
-				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(11);
+				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(12);
 		}
 		return namedElementEClass;
 	}
@@ -2557,15 +2554,6 @@
 	 * @generated
 	 */
 	public EOperation getNamedElement__ValidateHasNoQualifiedName__DiagnosticChain_Map() {
-		return getNamedElement().getEOperations().get(2);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EOperation getNamedElement__ValidateHasQualifiedName__DiagnosticChain_Map() {
 		return getNamedElement().getEOperations().get(1);
 	}
 
@@ -2574,7 +2562,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public EOperation getNamedElement__ValidateVisibilityNeedsOwnership__DiagnosticChain_Map() {
+	public EOperation getNamedElement__ValidateHasQualifiedName__DiagnosticChain_Map() {
 		return getNamedElement().getEOperations().get(0);
 	}
 
@@ -2583,6 +2571,15 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	public EOperation getNamedElement__ValidateVisibilityNeedsOwnership__DiagnosticChain_Map() {
+		return getNamedElement().getEOperations().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
 	public EOperation getNamedElement__CreateDependency__NamedElement() {
 		return getNamedElement().getEOperations().get(3);
 	}
@@ -2707,7 +2704,7 @@
 	public EClass getPackageableElement() {
 		if (packageableElementEClass == null) {
 			packageableElementEClass = (EClass) EPackage.Registry.INSTANCE
-				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(23);
+				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(2);
 		}
 		return packageableElementEClass;
 	}
@@ -2720,7 +2717,7 @@
 	public EClass getParameterableElement() {
 		if (parameterableElementEClass == null) {
 			parameterableElementEClass = (EClass) EPackage.Registry.INSTANCE
-				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(16);
+				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(3);
 		}
 		return parameterableElementEClass;
 	}
@@ -2771,7 +2768,7 @@
 	public EClass getTemplateParameter() {
 		if (templateParameterEClass == null) {
 			templateParameterEClass = (EClass) EPackage.Registry.INSTANCE
-				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(15);
+				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(21);
 		}
 		return templateParameterEClass;
 	}
@@ -2793,7 +2790,7 @@
 	 */
 	public EReference getTemplateParameter_OwnedParameteredElement() {
 		return (EReference) getTemplateParameter().getEStructuralFeatures()
-			.get(1);
+			.get(2);
 	}
 
 	/**
@@ -2813,7 +2810,7 @@
 	 */
 	public EReference getTemplateParameter_OwnedDefault() {
 		return (EReference) getTemplateParameter().getEStructuralFeatures()
-			.get(3);
+			.get(1);
 	}
 
 	/**
@@ -2832,7 +2829,7 @@
 	 */
 	public EReference getTemplateParameter_ParameteredElement() {
 		return (EReference) getTemplateParameter().getEStructuralFeatures()
-			.get(2);
+			.get(3);
 	}
 
 	/**
@@ -2843,7 +2840,7 @@
 	public EClass getTemplateSignature() {
 		if (templateSignatureEClass == null) {
 			templateSignatureEClass = (EClass) EPackage.Registry.INSTANCE
-				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(14);
+				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(20);
 		}
 		return templateSignatureEClass;
 	}
@@ -2895,7 +2892,7 @@
 	public EClass getTemplateableElement() {
 		if (templateableElementEClass == null) {
 			templateableElementEClass = (EClass) EPackage.Registry.INSTANCE
-				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(13);
+				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(19);
 		}
 		return templateableElementEClass;
 	}
@@ -2946,7 +2943,7 @@
 	public EClass getTemplateBinding() {
 		if (templateBindingEClass == null) {
 			templateBindingEClass = (EClass) EPackage.Registry.INSTANCE
-				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(17);
+				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(22);
 		}
 		return templateBindingEClass;
 	}
@@ -3007,7 +3004,7 @@
 	public EClass getTemplateParameterSubstitution() {
 		if (templateParameterSubstitutionEClass == null) {
 			templateParameterSubstitutionEClass = (EClass) EPackage.Registry.INSTANCE
-				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(18);
+				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(25);
 		}
 		return templateParameterSubstitutionEClass;
 	}
@@ -3069,7 +3066,7 @@
 	public EClass getNamespace() {
 		if (namespaceEClass == null) {
 			namespaceEClass = (EClass) EPackage.Registry.INSTANCE
-				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(10);
+				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(11);
 		}
 		return namespaceEClass;
 	}
@@ -3282,7 +3279,7 @@
 	 * @generated
 	 */
 	public EOperation getElementImport__ValidateVisibilityPublicOrPrivate__DiagnosticChain_Map() {
-		return getElementImport().getEOperations().get(1);
+		return getElementImport().getEOperations().get(0);
 	}
 
 	/**
@@ -3291,7 +3288,7 @@
 	 * @generated
 	 */
 	public EOperation getElementImport__ValidateImportedElementIsPublic__DiagnosticChain_Map() {
-		return getElementImport().getEOperations().get(0);
+		return getElementImport().getEOperations().get(1);
 	}
 
 	/**
@@ -3311,7 +3308,7 @@
 	public EClass getPackageImport() {
 		if (packageImportEClass == null) {
 			packageImportEClass = (EClass) EPackage.Registry.INSTANCE
-				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(30);
+				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(31);
 		}
 		return packageImportEClass;
 	}
@@ -3360,7 +3357,7 @@
 	public EClass getPackage() {
 		if (packageEClass == null) {
 			packageEClass = (EClass) EPackage.Registry.INSTANCE
-				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(25);
+				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(18);
 		}
 		return packageEClass;
 	}
@@ -3692,7 +3689,7 @@
 	public EClass getType() {
 		if (typeEClass == null) {
 			typeEClass = (EClass) EPackage.Registry.INSTANCE
-				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(22);
+				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(17);
 		}
 		return typeEClass;
 	}
@@ -3961,15 +3958,6 @@
 	 * @generated
 	 */
 	public EOperation getStereotype__ValidateBinaryAssociationsOnly__DiagnosticChain_Map() {
-		return getStereotype().getEOperations().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EOperation getStereotype__ValidateNameNotClash__DiagnosticChain_Map() {
 		return getStereotype().getEOperations().get(2);
 	}
 
@@ -3978,8 +3966,17 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	public EOperation getStereotype__ValidateNameNotClash__DiagnosticChain_Map() {
+		return getStereotype().getEOperations().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
 	public EOperation getStereotype__ValidateAssociationEndOwnership__DiagnosticChain_Map() {
-		return getStereotype().getEOperations().get(3);
+		return getStereotype().getEOperations().get(0);
 	}
 
 	/**
@@ -3988,7 +3985,7 @@
 	 * @generated
 	 */
 	public EOperation getStereotype__ValidateGeneralize__DiagnosticChain_Map() {
-		return getStereotype().getEOperations().get(1);
+		return getStereotype().getEOperations().get(3);
 	}
 
 	/**
@@ -4201,7 +4198,7 @@
 	public EClass getBehavioredClassifier() {
 		if (behavioredClassifierEClass == null) {
 			behavioredClassifierEClass = (EClass) EPackage.Registry.INSTANCE
-				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(8);
+				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(52);
 		}
 		return behavioredClassifierEClass;
 	}
@@ -4271,7 +4268,7 @@
 	public EClass getClassifier() {
 		if (classifierEClass == null) {
 			classifierEClass = (EClass) EPackage.Registry.INSTANCE
-				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(9);
+				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(10);
 		}
 		return classifierEClass;
 	}
@@ -4372,24 +4369,6 @@
 	 * @generated
 	 */
 	public EOperation getClassifier__ValidateNoCyclesInGeneralization__DiagnosticChain_Map() {
-		return getClassifier().getEOperations().get(3);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EOperation getClassifier__ValidateSpecializeType__DiagnosticChain_Map() {
-		return getClassifier().getEOperations().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EOperation getClassifier__ValidateMapsToGeneralizationSet__DiagnosticChain_Map() {
 		return getClassifier().getEOperations().get(1);
 	}
 
@@ -4398,7 +4377,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public EOperation getClassifier__ValidateNonFinalParents__DiagnosticChain_Map() {
+	public EOperation getClassifier__ValidateSpecializeType__DiagnosticChain_Map() {
 		return getClassifier().getEOperations().get(2);
 	}
 
@@ -4407,6 +4386,24 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	public EOperation getClassifier__ValidateMapsToGeneralizationSet__DiagnosticChain_Map() {
+		return getClassifier().getEOperations().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EOperation getClassifier__ValidateNonFinalParents__DiagnosticChain_Map() {
+		return getClassifier().getEOperations().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
 	public EOperation getClassifier__GetAllAttributes() {
 		return getClassifier().getEOperations().get(4);
 	}
@@ -4599,7 +4596,7 @@
 	public EClass getRedefinableElement() {
 		if (redefinableElementEClass == null) {
 			redefinableElementEClass = (EClass) EPackage.Registry.INSTANCE
-				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(47);
+				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(38);
 		}
 		return redefinableElementEClass;
 	}
@@ -4687,7 +4684,7 @@
 	public EClass getGeneralization() {
 		if (generalizationEClass == null) {
 			generalizationEClass = (EClass) EPackage.Registry.INSTANCE
-				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(89);
+				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(90);
 		}
 		return generalizationEClass;
 	}
@@ -4745,7 +4742,7 @@
 	public EClass getGeneralizationSet() {
 		if (generalizationSetEClass == null) {
 			generalizationSetEClass = (EClass) EPackage.Registry.INSTANCE
-				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(90);
+				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(91);
 		}
 		return generalizationSetEClass;
 	}
@@ -4796,7 +4793,7 @@
 	 * @generated
 	 */
 	public EOperation getGeneralizationSet__ValidateGeneralizationSameClassifier__DiagnosticChain_Map() {
-		return getGeneralizationSet().getEOperations().get(0);
+		return getGeneralizationSet().getEOperations().get(1);
 	}
 
 	/**
@@ -4805,7 +4802,7 @@
 	 * @generated
 	 */
 	public EOperation getGeneralizationSet__ValidateMapsToGeneralizationSet__DiagnosticChain_Map() {
-		return getGeneralizationSet().getEOperations().get(1);
+		return getGeneralizationSet().getEOperations().get(0);
 	}
 
 	/**
@@ -4816,7 +4813,7 @@
 	public EClass getFeature() {
 		if (featureEClass == null) {
 			featureEClass = (EClass) EPackage.Registry.INSTANCE
-				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(46);
+				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(37);
 		}
 		return featureEClass;
 	}
@@ -4847,7 +4844,7 @@
 	public EClass getUseCase() {
 		if (useCaseEClass == null) {
 			useCaseEClass = (EClass) EPackage.Registry.INSTANCE
-				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(92);
+				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(93);
 		}
 		return useCaseEClass;
 	}
@@ -4894,15 +4891,6 @@
 	 * @generated
 	 */
 	public EOperation getUseCase__ValidateMustHaveName__DiagnosticChain_Map() {
-		return getUseCase().getEOperations().get(3);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EOperation getUseCase__ValidateBinaryAssociations__DiagnosticChain_Map() {
 		return getUseCase().getEOperations().get(0);
 	}
 
@@ -4911,8 +4899,17 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	public EOperation getUseCase__ValidateBinaryAssociations__DiagnosticChain_Map() {
+		return getUseCase().getEOperations().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
 	public EOperation getUseCase__ValidateNoAssociationToUseCase__DiagnosticChain_Map() {
-		return getUseCase().getEOperations().get(1);
+		return getUseCase().getEOperations().get(3);
 	}
 
 	/**
@@ -4921,7 +4918,7 @@
 	 * @generated
 	 */
 	public EOperation getUseCase__ValidateCannotIncludeSelf__DiagnosticChain_Map() {
-		return getUseCase().getEOperations().get(2);
+		return getUseCase().getEOperations().get(1);
 	}
 
 	/**
@@ -4941,7 +4938,7 @@
 	public EClass getInclude() {
 		if (includeEClass == null) {
 			includeEClass = (EClass) EPackage.Registry.INSTANCE
-				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(95);
+				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(96);
 		}
 		return includeEClass;
 	}
@@ -4972,7 +4969,7 @@
 	public EClass getExtend() {
 		if (extendEClass == null) {
 			extendEClass = (EClass) EPackage.Registry.INSTANCE
-				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(93);
+				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(94);
 		}
 		return extendEClass;
 	}
@@ -5030,7 +5027,7 @@
 	public EClass getConstraint() {
 		if (constraintEClass == null) {
 			constraintEClass = (EClass) EPackage.Registry.INSTANCE
-				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(54);
+				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(68);
 		}
 		return constraintEClass;
 	}
@@ -5068,7 +5065,7 @@
 	 * @generated
 	 */
 	public EOperation getConstraint__ValidateNotApplyToSelf__DiagnosticChain_Map() {
-		return getConstraint().getEOperations().get(2);
+		return getConstraint().getEOperations().get(0);
 	}
 
 	/**
@@ -5086,7 +5083,7 @@
 	 * @generated
 	 */
 	public EOperation getConstraint__ValidateBooleanValue__DiagnosticChain_Map() {
-		return getConstraint().getEOperations().get(0);
+		return getConstraint().getEOperations().get(2);
 	}
 
 	/**
@@ -5106,7 +5103,7 @@
 	public EClass getExtensionPoint() {
 		if (extensionPointEClass == null) {
 			extensionPointEClass = (EClass) EPackage.Registry.INSTANCE
-				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(94);
+				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(95);
 		}
 		return extensionPointEClass;
 	}
@@ -5137,7 +5134,7 @@
 	public EClass getSubstitution() {
 		if (substitutionEClass == null) {
 			substitutionEClass = (EClass) EPackage.Registry.INSTANCE
-				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(96);
+				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(97);
 		}
 		return substitutionEClass;
 	}
@@ -5168,7 +5165,7 @@
 	public EClass getRealization() {
 		if (realizationEClass == null) {
 			realizationEClass = (EClass) EPackage.Registry.INSTANCE
-				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(97);
+				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(54);
 		}
 		return realizationEClass;
 	}
@@ -5254,7 +5251,7 @@
 	 * @generated
 	 */
 	public EOperation getOpaqueExpression__ValidateLanguageBodySize__DiagnosticChain_Map() {
-		return getOpaqueExpression().getEOperations().get(0);
+		return getOpaqueExpression().getEOperations().get(2);
 	}
 
 	/**
@@ -5263,7 +5260,7 @@
 	 * @generated
 	 */
 	public EOperation getOpaqueExpression__ValidateOnlyReturnResultParameters__DiagnosticChain_Map() {
-		return getOpaqueExpression().getEOperations().get(2);
+		return getOpaqueExpression().getEOperations().get(0);
 	}
 
 	/**
@@ -5328,7 +5325,7 @@
 	public EClass getParameter() {
 		if (parameterEClass == null) {
 			parameterEClass = (EClass) EPackage.Registry.INSTANCE
-				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(50);
+				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(73);
 		}
 		return parameterEClass;
 	}
@@ -5411,7 +5408,7 @@
 	 * @generated
 	 */
 	public EOperation getParameter__ValidateConnectorEnd__DiagnosticChain_Map() {
-		return getParameter().getEOperations().get(2);
+		return getParameter().getEOperations().get(1);
 	}
 
 	/**
@@ -5429,7 +5426,7 @@
 	 * @generated
 	 */
 	public EOperation getParameter__ValidateNotException__DiagnosticChain_Map() {
-		return getParameter().getEOperations().get(1);
+		return getParameter().getEOperations().get(2);
 	}
 
 	/**
@@ -5438,7 +5435,7 @@
 	 * @generated
 	 */
 	public EOperation getParameter__ValidateReentrantBehaviors__DiagnosticChain_Map() {
-		return getParameter().getEOperations().get(3);
+		return getParameter().getEOperations().get(0);
 	}
 
 	/**
@@ -5447,7 +5444,7 @@
 	 * @generated
 	 */
 	public EOperation getParameter__ValidateInAndOut__DiagnosticChain_Map() {
-		return getParameter().getEOperations().get(0);
+		return getParameter().getEOperations().get(3);
 	}
 
 	/**
@@ -5619,15 +5616,6 @@
 	 * @generated
 	 */
 	public EOperation getMultiplicityElement__ValidateLowerGe0__DiagnosticChain_Map() {
-		return getMultiplicityElement().getEOperations().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EOperation getMultiplicityElement__ValidateUpperGeLower__DiagnosticChain_Map() {
 		return getMultiplicityElement().getEOperations().get(0);
 	}
 
@@ -5636,8 +5624,17 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	public EOperation getMultiplicityElement__ValidateUpperGeLower__DiagnosticChain_Map() {
+		return getMultiplicityElement().getEOperations().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
 	public EOperation getMultiplicityElement__ValidateValueSpecificationNoSideEffects__DiagnosticChain_Map() {
-		return getMultiplicityElement().getEOperations().get(2);
+		return getMultiplicityElement().getEOperations().get(3);
 	}
 
 	/**
@@ -5646,7 +5643,7 @@
 	 * @generated
 	 */
 	public EOperation getMultiplicityElement__ValidateValueSpecificationConstant__DiagnosticChain_Map() {
-		return getMultiplicityElement().getEOperations().get(3);
+		return getMultiplicityElement().getEOperations().get(2);
 	}
 
 	/**
@@ -5756,7 +5753,7 @@
 	public EClass getConnectableElement() {
 		if (connectableElementEClass == null) {
 			connectableElementEClass = (EClass) EPackage.Registry.INSTANCE
-				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(34);
+				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(39);
 		}
 		return connectableElementEClass;
 	}
@@ -5788,7 +5785,7 @@
 	public EClass getConnectorEnd() {
 		if (connectorEndEClass == null) {
 			connectorEndEClass = (EClass) EPackage.Registry.INSTANCE
-				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(35);
+				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(40);
 		}
 		return connectorEndEClass;
 	}
@@ -5826,7 +5823,7 @@
 	 * @generated
 	 */
 	public EOperation getConnectorEnd__ValidatePartWithPortEmpty__DiagnosticChain_Map() {
-		return getConnectorEnd().getEOperations().get(1);
+		return getConnectorEnd().getEOperations().get(3);
 	}
 
 	/**
@@ -5844,7 +5841,7 @@
 	 * @generated
 	 */
 	public EOperation getConnectorEnd__ValidateSelfPartWithPort__DiagnosticChain_Map() {
-		return getConnectorEnd().getEOperations().get(3);
+		return getConnectorEnd().getEOperations().get(1);
 	}
 
 	/**
@@ -5873,7 +5870,7 @@
 	public EClass getProperty() {
 		if (propertyEClass == null) {
 			propertyEClass = (EClass) EPackage.Registry.INSTANCE
-				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(33);
+				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(34);
 		}
 		return propertyEClass;
 	}
@@ -5893,7 +5890,7 @@
 	 * @generated
 	 */
 	public EReference getProperty_Datatype() {
-		return (EReference) getProperty().getEStructuralFeatures().get(0);
+		return (EReference) getProperty().getEStructuralFeatures().get(1);
 	}
 
 	/**
@@ -5902,7 +5899,7 @@
 	 * @generated
 	 */
 	public EReference getProperty_Interface() {
-		return (EReference) getProperty().getEStructuralFeatures().get(1);
+		return (EReference) getProperty().getEStructuralFeatures().get(0);
 	}
 
 	/**
@@ -6046,7 +6043,7 @@
 	 * @generated
 	 */
 	public EOperation getProperty__ValidateSubsettingContextConforms__DiagnosticChain_Map() {
-		return getProperty().getEOperations().get(0);
+		return getProperty().getEOperations().get(5);
 	}
 
 	/**
@@ -6055,15 +6052,6 @@
 	 * @generated
 	 */
 	public EOperation getProperty__ValidateRedefinedPropertyInherited__DiagnosticChain_Map() {
-		return getProperty().getEOperations().get(3);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EOperation getProperty__ValidateSubsettingRules__DiagnosticChain_Map() {
 		return getProperty().getEOperations().get(4);
 	}
 
@@ -6072,16 +6060,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public EOperation getProperty__ValidateDerivedUnionIsDerived__DiagnosticChain_Map() {
-		return getProperty().getEOperations().get(6);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EOperation getProperty__ValidateDerivedUnionIsReadOnly__DiagnosticChain_Map() {
+	public EOperation getProperty__ValidateSubsettingRules__DiagnosticChain_Map() {
 		return getProperty().getEOperations().get(1);
 	}
 
@@ -6090,16 +6069,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public EOperation getProperty__ValidateSubsettedPropertyNames__DiagnosticChain_Map() {
-		return getProperty().getEOperations().get(8);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EOperation getProperty__ValidateDeploymentTarget__DiagnosticChain_Map() {
+	public EOperation getProperty__ValidateDerivedUnionIsDerived__DiagnosticChain_Map() {
 		return getProperty().getEOperations().get(7);
 	}
 
@@ -6108,8 +6078,35 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	public EOperation getProperty__ValidateDerivedUnionIsReadOnly__DiagnosticChain_Map() {
+		return getProperty().getEOperations().get(8);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EOperation getProperty__ValidateSubsettedPropertyNames__DiagnosticChain_Map() {
+		return getProperty().getEOperations().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EOperation getProperty__ValidateDeploymentTarget__DiagnosticChain_Map() {
+		return getProperty().getEOperations().get(6);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
 	public EOperation getProperty__ValidateBindingToAttribute__DiagnosticChain_Map() {
-		return getProperty().getEOperations().get(5);
+		return getProperty().getEOperations().get(3);
 	}
 
 	/**
@@ -6291,7 +6288,7 @@
 	public EClass getDeploymentTarget() {
 		if (deploymentTargetEClass == null) {
 			deploymentTargetEClass = (EClass) EPackage.Registry.INSTANCE
-				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(38);
+				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(42);
 		}
 		return deploymentTargetEClass;
 	}
@@ -6333,7 +6330,7 @@
 	public EClass getDeployment() {
 		if (deploymentEClass == null) {
 			deploymentEClass = (EClass) EPackage.Registry.INSTANCE
-				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(39);
+				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(43);
 		}
 		return deploymentEClass;
 	}
@@ -6373,7 +6370,7 @@
 	public EClass getDeployedArtifact() {
 		if (deployedArtifactEClass == null) {
 			deployedArtifactEClass = (EClass) EPackage.Registry.INSTANCE
-				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(42);
+				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(46);
 		}
 		return deployedArtifactEClass;
 	}
@@ -6386,7 +6383,7 @@
 	public EClass getDeploymentSpecification() {
 		if (deploymentSpecificationEClass == null) {
 			deploymentSpecificationEClass = (EClass) EPackage.Registry.INSTANCE
-				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(40);
+				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(44);
 		}
 		return deploymentSpecificationEClass;
 	}
@@ -6427,7 +6424,7 @@
 	 * @generated
 	 */
 	public EOperation getDeploymentSpecification__ValidateDeployedElements__DiagnosticChain_Map() {
-		return getDeploymentSpecification().getEOperations().get(1);
+		return getDeploymentSpecification().getEOperations().get(0);
 	}
 
 	/**
@@ -6436,7 +6433,7 @@
 	 * @generated
 	 */
 	public EOperation getDeploymentSpecification__ValidateDeploymentTarget__DiagnosticChain_Map() {
-		return getDeploymentSpecification().getEOperations().get(0);
+		return getDeploymentSpecification().getEOperations().get(1);
 	}
 
 	/**
@@ -6447,7 +6444,7 @@
 	public EClass getArtifact() {
 		if (artifactEClass == null) {
 			artifactEClass = (EClass) EPackage.Registry.INSTANCE
-				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(41);
+				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(45);
 		}
 		return artifactEClass;
 	}
@@ -6523,7 +6520,7 @@
 	public EClass getManifestation() {
 		if (manifestationEClass == null) {
 			manifestationEClass = (EClass) EPackage.Registry.INSTANCE
-				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(43);
+				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(47);
 		}
 		return manifestationEClass;
 	}
@@ -6545,7 +6542,7 @@
 	public EClass getOperation() {
 		if (operationEClass == null) {
 			operationEClass = (EClass) EPackage.Registry.INSTANCE
-				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(44);
+				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(48);
 		}
 		return operationEClass;
 	}
@@ -6628,7 +6625,7 @@
 	 * @generated
 	 */
 	public EReference getOperation_Datatype() {
-		return (EReference) getOperation().getEStructuralFeatures().get(2);
+		return (EReference) getOperation().getEStructuralFeatures().get(3);
 	}
 
 	/**
@@ -6637,7 +6634,7 @@
 	 * @generated
 	 */
 	public EReference getOperation_BodyCondition() {
-		return (EReference) getOperation().getEStructuralFeatures().get(0);
+		return (EReference) getOperation().getEStructuralFeatures().get(1);
 	}
 
 	/**
@@ -6781,7 +6778,7 @@
 	 * @generated
 	 */
 	public EReference getOperation_Interface() {
-		return (EReference) getOperation().getEStructuralFeatures().get(3);
+		return (EReference) getOperation().getEStructuralFeatures().get(0);
 	}
 
 	/**
@@ -6790,7 +6787,7 @@
 	 * @generated
 	 */
 	public EReference getOperation_Class() {
-		return (EReference) getOperation().getEStructuralFeatures().get(1);
+		return (EReference) getOperation().getEStructuralFeatures().get(2);
 	}
 
 	/**
@@ -6801,7 +6798,7 @@
 	public EClass getBehavioralFeature() {
 		if (behavioralFeatureEClass == null) {
 			behavioralFeatureEClass = (EClass) EPackage.Registry.INSTANCE
-				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(45);
+				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(49);
 		}
 		return behavioralFeatureEClass;
 	}
@@ -6883,7 +6880,7 @@
 	public EClass getBehavior() {
 		if (behaviorEClass == null) {
 			behaviorEClass = (EClass) EPackage.Registry.INSTANCE
-				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(49);
+				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(51);
 		}
 		return behaviorEClass;
 	}
@@ -6966,7 +6963,7 @@
 	 * @generated
 	 */
 	public EOperation getBehavior__ValidateParametersMatch__DiagnosticChain_Map() {
-		return getBehavior().getEOperations().get(2);
+		return getBehavior().getEOperations().get(0);
 	}
 
 	/**
@@ -6975,15 +6972,6 @@
 	 * @generated
 	 */
 	public EOperation getBehavior__ValidateFeatureOfContextClassifier__DiagnosticChain_Map() {
-		return getBehavior().getEOperations().get(3);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EOperation getBehavior__ValidateMustRealize__DiagnosticChain_Map() {
 		return getBehavior().getEOperations().get(1);
 	}
 
@@ -6992,8 +6980,17 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	public EOperation getBehavior__ValidateMustRealize__DiagnosticChain_Map() {
+		return getBehavior().getEOperations().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
 	public EOperation getBehavior__ValidateMostOneBehaviour__DiagnosticChain_Map() {
-		return getBehavior().getEOperations().get(0);
+		return getBehavior().getEOperations().get(3);
 	}
 
 	/**
@@ -7013,7 +7010,7 @@
 	public EClass getParameterSet() {
 		if (parameterSetEClass == null) {
 			parameterSetEClass = (EClass) EPackage.Registry.INSTANCE
-				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(53);
+				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(76);
 		}
 		return parameterSetEClass;
 	}
@@ -7042,7 +7039,7 @@
 	 * @generated
 	 */
 	public EOperation getParameterSet__ValidateSameParameterizedEntity__DiagnosticChain_Map() {
-		return getParameterSet().getEOperations().get(0);
+		return getParameterSet().getEOperations().get(2);
 	}
 
 	/**
@@ -7060,7 +7057,7 @@
 	 * @generated
 	 */
 	public EOperation getParameterSet__ValidateTwoParameterSets__DiagnosticChain_Map() {
-		return getParameterSet().getEOperations().get(2);
+		return getParameterSet().getEOperations().get(0);
 	}
 
 	/**
@@ -7071,7 +7068,7 @@
 	public EClass getDataType() {
 		if (dataTypeEClass == null) {
 			dataTypeEClass = (EClass) EPackage.Registry.INSTANCE
-				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(55);
+				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(77);
 		}
 		return dataTypeEClass;
 	}
@@ -7120,7 +7117,7 @@
 	public EClass getInterface() {
 		if (interfaceEClass == null) {
 			interfaceEClass = (EClass) EPackage.Registry.INSTANCE
-				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(56);
+				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(55);
 		}
 		return interfaceEClass;
 	}
@@ -7149,7 +7146,7 @@
 	 * @generated
 	 */
 	public EReference getInterface_RedefinedInterface() {
-		return (EReference) getInterface().getEStructuralFeatures().get(4);
+		return (EReference) getInterface().getEStructuralFeatures().get(5);
 	}
 
 	/**
@@ -7158,7 +7155,7 @@
 	 * @generated
 	 */
 	public EReference getInterface_OwnedReception() {
-		return (EReference) getInterface().getEStructuralFeatures().get(2);
+		return (EReference) getInterface().getEStructuralFeatures().get(3);
 	}
 
 	/**
@@ -7167,7 +7164,7 @@
 	 * @generated
 	 */
 	public EReference getInterface_Protocol() {
-		return (EReference) getInterface().getEStructuralFeatures().get(3);
+		return (EReference) getInterface().getEStructuralFeatures().get(4);
 	}
 
 	/**
@@ -7203,7 +7200,7 @@
 	 * @generated
 	 */
 	public EReference getInterface_OwnedOperation() {
-		return (EReference) getInterface().getEStructuralFeatures().get(5);
+		return (EReference) getInterface().getEStructuralFeatures().get(2);
 	}
 
 	/**
@@ -7214,7 +7211,7 @@
 	public EClass getReception() {
 		if (receptionEClass == null) {
 			receptionEClass = (EClass) EPackage.Registry.INSTANCE
-				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(57);
+				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(56);
 		}
 		return receptionEClass;
 	}
@@ -7245,7 +7242,7 @@
 	public EClass getSignal() {
 		if (signalEClass == null) {
 			signalEClass = (EClass) EPackage.Registry.INSTANCE
-				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(58);
+				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(57);
 		}
 		return signalEClass;
 	}
@@ -7276,7 +7273,7 @@
 	public EClass getProtocolStateMachine() {
 		if (protocolStateMachineEClass == null) {
 			protocolStateMachineEClass = (EClass) EPackage.Registry.INSTANCE
-				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(59);
+				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(58);
 		}
 		return protocolStateMachineEClass;
 	}
@@ -7297,15 +7294,6 @@
 	 * @generated
 	 */
 	public EOperation getProtocolStateMachine__ValidateProtocolTransitions__DiagnosticChain_Map() {
-		return getProtocolStateMachine().getEOperations().get(3);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EOperation getProtocolStateMachine__ValidateEntryExitDo__DiagnosticChain_Map() {
 		return getProtocolStateMachine().getEOperations().get(1);
 	}
 
@@ -7314,7 +7302,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public EOperation getProtocolStateMachine__ValidateDeepOrShallowHistory__DiagnosticChain_Map() {
+	public EOperation getProtocolStateMachine__ValidateEntryExitDo__DiagnosticChain_Map() {
 		return getProtocolStateMachine().getEOperations().get(0);
 	}
 
@@ -7323,7 +7311,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public EOperation getProtocolStateMachine__ValidatePortsConnected__DiagnosticChain_Map() {
+	public EOperation getProtocolStateMachine__ValidateDeepOrShallowHistory__DiagnosticChain_Map() {
 		return getProtocolStateMachine().getEOperations().get(2);
 	}
 
@@ -7332,10 +7320,19 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	public EOperation getProtocolStateMachine__ValidatePortsConnected__DiagnosticChain_Map() {
+		return getProtocolStateMachine().getEOperations().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
 	public EClass getStateMachine() {
 		if (stateMachineEClass == null) {
 			stateMachineEClass = (EClass) EPackage.Registry.INSTANCE
-				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(60);
+				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(59);
 		}
 		return stateMachineEClass;
 	}
@@ -7391,7 +7388,7 @@
 	 * @generated
 	 */
 	public EOperation getStateMachine__ValidateContextClassifier__DiagnosticChain_Map() {
-		return getStateMachine().getEOperations().get(3);
+		return getStateMachine().getEOperations().get(2);
 	}
 
 	/**
@@ -7400,7 +7397,7 @@
 	 * @generated
 	 */
 	public EOperation getStateMachine__ValidateConnectionPoints__DiagnosticChain_Map() {
-		return getStateMachine().getEOperations().get(0);
+		return getStateMachine().getEOperations().get(3);
 	}
 
 	/**
@@ -7409,7 +7406,7 @@
 	 * @generated
 	 */
 	public EOperation getStateMachine__ValidateMethod__DiagnosticChain_Map() {
-		return getStateMachine().getEOperations().get(2);
+		return getStateMachine().getEOperations().get(0);
 	}
 
 	/**
@@ -7447,7 +7444,7 @@
 	public EClass getRegion() {
 		if (regionEClass == null) {
 			regionEClass = (EClass) EPackage.Registry.INSTANCE
-				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(63);
+				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(62);
 		}
 		return regionEClass;
 	}
@@ -7503,7 +7500,7 @@
 	 * @generated
 	 */
 	public EOperation getRegion__ValidateInitialVertex__DiagnosticChain_Map() {
-		return getRegion().getEOperations().get(3);
+		return getRegion().getEOperations().get(2);
 	}
 
 	/**
@@ -7512,15 +7509,6 @@
 	 * @generated
 	 */
 	public EOperation getRegion__ValidateDeepHistoryVertex__DiagnosticChain_Map() {
-		return getRegion().getEOperations().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EOperation getRegion__ValidateShallowHistoryVertex__DiagnosticChain_Map() {
 		return getRegion().getEOperations().get(1);
 	}
 
@@ -7529,8 +7517,17 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	public EOperation getRegion__ValidateShallowHistoryVertex__DiagnosticChain_Map() {
+		return getRegion().getEOperations().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
 	public EOperation getRegion__ValidateOwned__DiagnosticChain_Map() {
-		return getRegion().getEOperations().get(2);
+		return getRegion().getEOperations().get(3);
 	}
 
 	/**
@@ -7577,7 +7574,7 @@
 	public EClass getVertex() {
 		if (vertexEClass == null) {
 			vertexEClass = (EClass) EPackage.Registry.INSTANCE
-				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(62);
+				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(61);
 		}
 		return vertexEClass;
 	}
@@ -7673,7 +7670,7 @@
 	 * @generated
 	 */
 	public EOperation getTransition__ValidateStateIsExternal__DiagnosticChain_Map() {
-		return getTransition().getEOperations().get(0);
+		return getTransition().getEOperations().get(9);
 	}
 
 	/**
@@ -7727,15 +7724,6 @@
 	 * @generated
 	 */
 	public EOperation getTransition__ValidateForkSegmentGuards__DiagnosticChain_Map() {
-		return getTransition().getEOperations().get(9);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EOperation getTransition__ValidateJoinSegmentGuards__DiagnosticChain_Map() {
 		return getTransition().getEOperations().get(1);
 	}
 
@@ -7744,52 +7732,16 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	public EOperation getTransition__ValidateJoinSegmentGuards__DiagnosticChain_Map() {
+		return getTransition().getEOperations().get(7);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
 	public EOperation getTransition__ValidateStateIsInternal__DiagnosticChain_Map() {
-		return getTransition().getEOperations().get(2);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EOperation getTransition__ValidateForkSegmentState__DiagnosticChain_Map() {
-		return getTransition().getEOperations().get(5);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EOperation getTransition__ValidateJoinSegmentState__DiagnosticChain_Map() {
-		return getTransition().getEOperations().get(4);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EOperation getTransition__ValidateOutgoingPseudostates__DiagnosticChain_Map() {
-		return getTransition().getEOperations().get(3);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EOperation getTransition__ValidateInitialTransition__DiagnosticChain_Map() {
-		return getTransition().getEOperations().get(8);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EOperation getTransition__ValidateSignaturesCompatible__DiagnosticChain_Map() {
 		return getTransition().getEOperations().get(6);
 	}
 
@@ -7798,8 +7750,53 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	public EOperation getTransition__ValidateForkSegmentState__DiagnosticChain_Map() {
+		return getTransition().getEOperations().get(8);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EOperation getTransition__ValidateJoinSegmentState__DiagnosticChain_Map() {
+		return getTransition().getEOperations().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EOperation getTransition__ValidateOutgoingPseudostates__DiagnosticChain_Map() {
+		return getTransition().getEOperations().get(4);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EOperation getTransition__ValidateInitialTransition__DiagnosticChain_Map() {
+		return getTransition().getEOperations().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EOperation getTransition__ValidateSignaturesCompatible__DiagnosticChain_Map() {
+		return getTransition().getEOperations().get(5);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
 	public EOperation getTransition__ValidateStateIsLocal__DiagnosticChain_Map() {
-		return getTransition().getEOperations().get(7);
+		return getTransition().getEOperations().get(0);
 	}
 
 	/**
@@ -7837,7 +7834,7 @@
 	public EClass getTrigger() {
 		if (triggerEClass == null) {
 			triggerEClass = (EClass) EPackage.Registry.INSTANCE
-				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(66);
+				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(65);
 		}
 		return triggerEClass;
 	}
@@ -7868,7 +7865,7 @@
 	public EClass getEvent() {
 		if (eventEClass == null) {
 			eventEClass = (EClass) EPackage.Registry.INSTANCE
-				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(67);
+				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(66);
 		}
 		return eventEClass;
 	}
@@ -7881,7 +7878,7 @@
 	public EClass getPort() {
 		if (portEClass == null) {
 			portEClass = (EClass) EPackage.Registry.INSTANCE
-				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(68);
+				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(67);
 		}
 		return portEClass;
 	}
@@ -7964,7 +7961,7 @@
 	 * @generated
 	 */
 	public EOperation getPort__ValidatePortDestroyed__DiagnosticChain_Map() {
-		return getPort().getEOperations().get(0);
+		return getPort().getEOperations().get(2);
 	}
 
 	/**
@@ -7973,7 +7970,7 @@
 	 * @generated
 	 */
 	public EOperation getPort__ValidateDefaultValue__DiagnosticChain_Map() {
-		return getPort().getEOperations().get(2);
+		return getPort().getEOperations().get(0);
 	}
 
 	/**
@@ -8002,7 +7999,7 @@
 	public EClass getState() {
 		if (stateEClass == null) {
 			stateEClass = (EClass) EPackage.Registry.INSTANCE
-				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(64);
+				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(63);
 		}
 		return stateEClass;
 	}
@@ -8139,24 +8136,6 @@
 	 * @generated
 	 */
 	public EOperation getState__ValidateSubmachineStates__DiagnosticChain_Map() {
-		return getState().getEOperations().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EOperation getState__ValidateDestinationsOrSourcesOfTransitions__DiagnosticChain_Map() {
-		return getState().getEOperations().get(3);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EOperation getState__ValidateSubmachineOrRegions__DiagnosticChain_Map() {
 		return getState().getEOperations().get(4);
 	}
 
@@ -8165,7 +8144,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public EOperation getState__ValidateCompositeStates__DiagnosticChain_Map() {
+	public EOperation getState__ValidateDestinationsOrSourcesOfTransitions__DiagnosticChain_Map() {
 		return getState().getEOperations().get(2);
 	}
 
@@ -8174,6 +8153,24 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	public EOperation getState__ValidateSubmachineOrRegions__DiagnosticChain_Map() {
+		return getState().getEOperations().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EOperation getState__ValidateCompositeStates__DiagnosticChain_Map() {
+		return getState().getEOperations().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
 	public EOperation getState__ValidateEntryOrExit__DiagnosticChain_Map() {
 		return getState().getEOperations().get(0);
 	}
@@ -8240,7 +8237,7 @@
 	public EClass getConnectionPointReference() {
 		if (connectionPointReferenceEClass == null) {
 			connectionPointReferenceEClass = (EClass) EPackage.Registry.INSTANCE
-				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(65);
+				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(64);
 		}
 		return connectionPointReferenceEClass;
 	}
@@ -8281,7 +8278,7 @@
 	 * @generated
 	 */
 	public EOperation getConnectionPointReference__ValidateEntryPseudostates__DiagnosticChain_Map() {
-		return getConnectionPointReference().getEOperations().get(1);
+		return getConnectionPointReference().getEOperations().get(0);
 	}
 
 	/**
@@ -8290,7 +8287,7 @@
 	 * @generated
 	 */
 	public EOperation getConnectionPointReference__ValidateExitPseudostates__DiagnosticChain_Map() {
-		return getConnectionPointReference().getEOperations().get(0);
+		return getConnectionPointReference().getEOperations().get(1);
 	}
 
 	/**
@@ -8301,7 +8298,7 @@
 	public EClass getPseudostate() {
 		if (pseudostateEClass == null) {
 			pseudostateEClass = (EClass) EPackage.Registry.INSTANCE
-				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(61);
+				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(60);
 		}
 		return pseudostateEClass;
 	}
@@ -8339,7 +8336,7 @@
 	 * @generated
 	 */
 	public EOperation getPseudostate__ValidateInitialVertex__DiagnosticChain_Map() {
-		return getPseudostate().getEOperations().get(6);
+		return getPseudostate().getEOperations().get(7);
 	}
 
 	/**
@@ -8348,7 +8345,7 @@
 	 * @generated
 	 */
 	public EOperation getPseudostate__ValidateHistoryVertices__DiagnosticChain_Map() {
-		return getPseudostate().getEOperations().get(5);
+		return getPseudostate().getEOperations().get(1);
 	}
 
 	/**
@@ -8357,7 +8354,7 @@
 	 * @generated
 	 */
 	public EOperation getPseudostate__ValidateJoinVertex__DiagnosticChain_Map() {
-		return getPseudostate().getEOperations().get(3);
+		return getPseudostate().getEOperations().get(5);
 	}
 
 	/**
@@ -8375,24 +8372,6 @@
 	 * @generated
 	 */
 	public EOperation getPseudostate__ValidateForkVertex__DiagnosticChain_Map() {
-		return getPseudostate().getEOperations().get(7);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EOperation getPseudostate__ValidateTransitionsOutgoing__DiagnosticChain_Map() {
-		return getPseudostate().getEOperations().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EOperation getPseudostate__ValidateJunctionVertex__DiagnosticChain_Map() {
 		return getPseudostate().getEOperations().get(4);
 	}
 
@@ -8401,8 +8380,26 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	public EOperation getPseudostate__ValidateTransitionsOutgoing__DiagnosticChain_Map() {
+		return getPseudostate().getEOperations().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EOperation getPseudostate__ValidateJunctionVertex__DiagnosticChain_Map() {
+		return getPseudostate().getEOperations().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
 	public EOperation getPseudostate__ValidateChoiceVertex__DiagnosticChain_Map() {
-		return getPseudostate().getEOperations().get(1);
+		return getPseudostate().getEOperations().get(6);
 	}
 
 	/**
@@ -8411,7 +8408,7 @@
 	 * @generated
 	 */
 	public EOperation getPseudostate__ValidateOutgoingFromInitial__DiagnosticChain_Map() {
-		return getPseudostate().getEOperations().get(2);
+		return getPseudostate().getEOperations().get(3);
 	}
 
 	/**
@@ -8455,7 +8452,7 @@
 	public EClass getOperationTemplateParameter() {
 		if (operationTemplateParameterEClass == null) {
 			operationTemplateParameterEClass = (EClass) EPackage.Registry.INSTANCE
-				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(73);
+				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(78);
 		}
 		return operationTemplateParameterEClass;
 	}
@@ -8468,7 +8465,7 @@
 	public EClass getStructuralFeature() {
 		if (structuralFeatureEClass == null) {
 			structuralFeatureEClass = (EClass) EPackage.Registry.INSTANCE
-				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(74);
+				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(35);
 		}
 		return structuralFeatureEClass;
 	}
@@ -8491,7 +8488,7 @@
 	public EClass getAssociation() {
 		if (associationEClass == null) {
 			associationEClass = (EClass) EPackage.Registry.INSTANCE
-				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(32);
+				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(33);
 		}
 		return associationEClass;
 	}
@@ -8547,7 +8544,7 @@
 	 * @generated
 	 */
 	public EOperation getAssociation__ValidateSpecializedEndTypes__DiagnosticChain_Map() {
-		return getAssociation().getEOperations().get(1);
+		return getAssociation().getEOperations().get(3);
 	}
 
 	/**
@@ -8565,7 +8562,7 @@
 	 * @generated
 	 */
 	public EOperation getAssociation__ValidateAssociationEnds__DiagnosticChain_Map() {
-		return getAssociation().getEOperations().get(3);
+		return getAssociation().getEOperations().get(1);
 	}
 
 	/**
@@ -8603,7 +8600,7 @@
 	public EClass getConnectableElementTemplateParameter() {
 		if (connectableElementTemplateParameterEClass == null) {
 			connectableElementTemplateParameterEClass = (EClass) EPackage.Registry.INSTANCE
-				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(37);
+				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(41);
 		}
 		return connectableElementTemplateParameterEClass;
 	}
@@ -8616,7 +8613,7 @@
 	public EClass getCollaborationUse() {
 		if (collaborationUseEClass == null) {
 			collaborationUseEClass = (EClass) EPackage.Registry.INSTANCE
-				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(84);
+				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(88);
 		}
 		return collaborationUseEClass;
 	}
@@ -8647,7 +8644,7 @@
 	 * @generated
 	 */
 	public EOperation getCollaborationUse__ValidateClientElements__DiagnosticChain_Map() {
-		return getCollaborationUse().getEOperations().get(0);
+		return getCollaborationUse().getEOperations().get(2);
 	}
 
 	/**
@@ -8665,7 +8662,7 @@
 	 * @generated
 	 */
 	public EOperation getCollaborationUse__ValidateConnectors__DiagnosticChain_Map() {
-		return getCollaborationUse().getEOperations().get(2);
+		return getCollaborationUse().getEOperations().get(0);
 	}
 
 	/**
@@ -8676,7 +8673,7 @@
 	public EClass getCollaboration() {
 		if (collaborationEClass == null) {
 			collaborationEClass = (EClass) EPackage.Registry.INSTANCE
-				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(85);
+				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(89);
 		}
 		return collaborationEClass;
 	}
@@ -8698,7 +8695,7 @@
 	public EClass getStructuredClassifier() {
 		if (structuredClassifierEClass == null) {
 			structuredClassifierEClass = (EClass) EPackage.Registry.INSTANCE
-				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(86);
+				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(9);
 		}
 		return structuredClassifierEClass;
 	}
@@ -8778,7 +8775,7 @@
 	public EClass getConnector() {
 		if (connectorEClass == null) {
 			connectorEClass = (EClass) EPackage.Registry.INSTANCE
-				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(87);
+				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(99);
 		}
 		return connectorEClass;
 	}
@@ -8834,7 +8831,7 @@
 	 * @generated
 	 */
 	public EOperation getConnector__ValidateTypes__DiagnosticChain_Map() {
-		return getConnector().getEOperations().get(0);
+		return getConnector().getEOperations().get(3);
 	}
 
 	/**
@@ -8843,7 +8840,7 @@
 	 * @generated
 	 */
 	public EOperation getConnector__ValidateCompatible__DiagnosticChain_Map() {
-		return getConnector().getEOperations().get(3);
+		return getConnector().getEOperations().get(0);
 	}
 
 	/**
@@ -8881,7 +8878,7 @@
 	public EClass getRedefinableTemplateSignature() {
 		if (redefinableTemplateSignatureEClass == null) {
 			redefinableTemplateSignatureEClass = (EClass) EPackage.Registry.INSTANCE
-				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(91);
+				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(92);
 		}
 		return redefinableTemplateSignatureEClass;
 	}
@@ -8984,7 +8981,7 @@
 	public EClass getInterfaceRealization() {
 		if (interfaceRealizationEClass == null) {
 			interfaceRealizationEClass = (EClass) EPackage.Registry.INSTANCE
-				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(99);
+				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(53);
 		}
 		return interfaceRealizationEClass;
 	}
@@ -9017,7 +9014,7 @@
 	public EClass getEncapsulatedClassifier() {
 		if (encapsulatedClassifierEClass == null) {
 			encapsulatedClassifierEClass = (EClass) EPackage.Registry.INSTANCE
-				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(100);
+				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(8);
 		}
 		return encapsulatedClassifierEClass;
 	}
@@ -9049,7 +9046,7 @@
 	public EClass getExtension() {
 		if (extensionEClass == null) {
 			extensionEClass = (EClass) EPackage.Registry.INSTANCE
-				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(31);
+				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(32);
 		}
 		return extensionEClass;
 	}
@@ -9143,7 +9140,7 @@
 	public EClass getExtensionEnd() {
 		if (extensionEndEClass == null) {
 			extensionEndEClass = (EClass) EPackage.Registry.INSTANCE
-				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(76);
+				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(80);
 		}
 		return extensionEndEClass;
 	}
@@ -9214,7 +9211,7 @@
 	public EClass getStringExpression() {
 		if (stringExpressionEClass == null) {
 			stringExpressionEClass = (EClass) EPackage.Registry.INSTANCE
-				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(12);
+				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(13);
 		}
 		return stringExpressionEClass;
 	}
@@ -9245,7 +9242,7 @@
 	 * @generated
 	 */
 	public EOperation getStringExpression__ValidateOperands__DiagnosticChain_Map() {
-		return getStringExpression().getEOperations().get(0);
+		return getStringExpression().getEOperations().get(1);
 	}
 
 	/**
@@ -9254,7 +9251,7 @@
 	 * @generated
 	 */
 	public EOperation getStringExpression__ValidateSubexpressions__DiagnosticChain_Map() {
-		return getStringExpression().getEOperations().get(1);
+		return getStringExpression().getEOperations().get(0);
 	}
 
 	/**
@@ -9265,7 +9262,7 @@
 	public EClass getExpression() {
 		if (expressionEClass == null) {
 			expressionEClass = (EClass) EPackage.Registry.INSTANCE
-				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(19);
+				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(14);
 		}
 		return expressionEClass;
 	}
@@ -9397,7 +9394,7 @@
 	public EClass getSlot() {
 		if (slotEClass == null) {
 			slotEClass = (EClass) EPackage.Registry.INSTANCE
-				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(81);
+				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(85);
 		}
 		return slotEClass;
 	}
@@ -9437,7 +9434,7 @@
 	public EClass getInstanceSpecification() {
 		if (instanceSpecificationEClass == null) {
 			instanceSpecificationEClass = (EClass) EPackage.Registry.INSTANCE
-				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(80);
+				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(84);
 		}
 		return instanceSpecificationEClass;
 	}
@@ -9468,15 +9465,6 @@
 	 * @generated
 	 */
 	public EOperation getInstanceSpecification__ValidateDefiningFeature__DiagnosticChain_Map() {
-		return getInstanceSpecification().getEOperations().get(2);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EOperation getInstanceSpecification__ValidateStructuralFeature__DiagnosticChain_Map() {
 		return getInstanceSpecification().getEOperations().get(1);
 	}
 
@@ -9485,8 +9473,17 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	public EOperation getInstanceSpecification__ValidateStructuralFeature__DiagnosticChain_Map() {
+		return getInstanceSpecification().getEOperations().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
 	public EOperation getInstanceSpecification__ValidateDeploymentTarget__DiagnosticChain_Map() {
-		return getInstanceSpecification().getEOperations().get(3);
+		return getInstanceSpecification().getEOperations().get(2);
 	}
 
 	/**
@@ -9495,7 +9492,7 @@
 	 * @generated
 	 */
 	public EOperation getInstanceSpecification__ValidateDeploymentArtifact__DiagnosticChain_Map() {
-		return getInstanceSpecification().getEOperations().get(0);
+		return getInstanceSpecification().getEOperations().get(3);
 	}
 
 	/**
@@ -9516,7 +9513,7 @@
 	public EClass getEnumeration() {
 		if (enumerationEClass == null) {
 			enumerationEClass = (EClass) EPackage.Registry.INSTANCE
-				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(78);
+				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(82);
 		}
 		return enumerationEClass;
 	}
@@ -9538,7 +9535,7 @@
 	public EClass getEnumerationLiteral() {
 		if (enumerationLiteralEClass == null) {
 			enumerationLiteralEClass = (EClass) EPackage.Registry.INSTANCE
-				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(79);
+				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(83);
 		}
 		return enumerationLiteralEClass;
 	}
@@ -9588,7 +9585,7 @@
 	public EClass getPrimitiveType() {
 		if (primitiveTypeEClass == null) {
 			primitiveTypeEClass = (EClass) EPackage.Registry.INSTANCE
-				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(82);
+				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(86);
 		}
 		return primitiveTypeEClass;
 	}
@@ -9739,7 +9736,7 @@
 	public EClass getUsage() {
 		if (usageEClass == null) {
 			usageEClass = (EClass) EPackage.Registry.INSTANCE
-				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(83);
+				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(87);
 		}
 		return usageEClass;
 	}
@@ -9844,15 +9841,6 @@
 	 * @generated
 	 */
 	public EOperation getMessage__ValidateSignatureReferTo__DiagnosticChain_Map() {
-		return getMessage().getEOperations().get(5);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EOperation getMessage__ValidateSignatureIsOperation__DiagnosticChain_Map() {
 		return getMessage().getEOperations().get(6);
 	}
 
@@ -9861,7 +9849,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public EOperation getMessage__ValidateSignatureIsSignal__DiagnosticChain_Map() {
+	public EOperation getMessage__ValidateSignatureIsOperation__DiagnosticChain_Map() {
 		return getMessage().getEOperations().get(3);
 	}
 
@@ -9870,16 +9858,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public EOperation getMessage__ValidateArguments__DiagnosticChain_Map() {
-		return getMessage().getEOperations().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EOperation getMessage__ValidateCannotCrossBoundaries__DiagnosticChain_Map() {
+	public EOperation getMessage__ValidateSignatureIsSignal__DiagnosticChain_Map() {
 		return getMessage().getEOperations().get(2);
 	}
 
@@ -9888,7 +9867,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public EOperation getMessage__ValidateOccurrenceSpecifications__DiagnosticChain_Map() {
+	public EOperation getMessage__ValidateArguments__DiagnosticChain_Map() {
 		return getMessage().getEOperations().get(4);
 	}
 
@@ -9897,6 +9876,24 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	public EOperation getMessage__ValidateCannotCrossBoundaries__DiagnosticChain_Map() {
+		return getMessage().getEOperations().get(5);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EOperation getMessage__ValidateOccurrenceSpecifications__DiagnosticChain_Map() {
+		return getMessage().getEOperations().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
 	public EOperation getMessage__GetMessageKind() {
 		return getMessage().getEOperations().get(7);
 	}
@@ -10098,15 +10095,6 @@
 	 * @generated
 	 */
 	public EOperation getLifeline__ValidateInteractionUsesShareLifeline__DiagnosticChain_Map() {
-		return getLifeline().getEOperations().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EOperation getLifeline__ValidateSelectorSpecified__DiagnosticChain_Map() {
 		return getLifeline().getEOperations().get(0);
 	}
 
@@ -10115,7 +10103,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public EOperation getLifeline__ValidateSameClassifier__DiagnosticChain_Map() {
+	public EOperation getLifeline__ValidateSelectorSpecified__DiagnosticChain_Map() {
 		return getLifeline().getEOperations().get(2);
 	}
 
@@ -10124,6 +10112,15 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	public EOperation getLifeline__ValidateSameClassifier__DiagnosticChain_Map() {
+		return getLifeline().getEOperations().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
 	public EClass getPartDecomposition() {
 		if (partDecompositionEClass == null) {
 			partDecompositionEClass = (EClass) EPackage.Registry.INSTANCE
@@ -10138,7 +10135,7 @@
 	 * @generated
 	 */
 	public EOperation getPartDecomposition__ValidatePartsOfInternalStructures__DiagnosticChain_Map() {
-		return getPartDecomposition().getEOperations().get(2);
+		return getPartDecomposition().getEOperations().get(0);
 	}
 
 	/**
@@ -10156,7 +10153,7 @@
 	 * @generated
 	 */
 	public EOperation getPartDecomposition__ValidateCommutativityOfDecomposition__DiagnosticChain_Map() {
-		return getPartDecomposition().getEOperations().get(0);
+		return getPartDecomposition().getEOperations().get(2);
 	}
 
 	/**
@@ -10223,24 +10220,6 @@
 	 * @generated
 	 */
 	public EOperation getInteractionUse__ValidateGatesMatch__DiagnosticChain_Map() {
-		return getInteractionUse().getEOperations().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EOperation getInteractionUse__ValidateAllLifelines__DiagnosticChain_Map() {
-		return getInteractionUse().getEOperations().get(5);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EOperation getInteractionUse__ValidateArgumentsCorrespondToParameters__DiagnosticChain_Map() {
 		return getInteractionUse().getEOperations().get(3);
 	}
 
@@ -10249,8 +10228,26 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	public EOperation getInteractionUse__ValidateAllLifelines__DiagnosticChain_Map() {
+		return getInteractionUse().getEOperations().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EOperation getInteractionUse__ValidateArgumentsCorrespondToParameters__DiagnosticChain_Map() {
+		return getInteractionUse().getEOperations().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
 	public EOperation getInteractionUse__ValidateReturnValueTypeRecipientCorrespondence__DiagnosticChain_Map() {
-		return getInteractionUse().getEOperations().get(4);
+		return getInteractionUse().getEOperations().get(5);
 	}
 
 	/**
@@ -10259,7 +10256,7 @@
 	 * @generated
 	 */
 	public EOperation getInteractionUse__ValidateArgumentsAreConstants__DiagnosticChain_Map() {
-		return getInteractionUse().getEOperations().get(1);
+		return getInteractionUse().getEOperations().get(4);
 	}
 
 	/**
@@ -10268,7 +10265,7 @@
 	 * @generated
 	 */
 	public EOperation getInteractionUse__ValidateReturnValueRecipientCoverage__DiagnosticChain_Map() {
-		return getInteractionUse().getEOperations().get(2);
+		return getInteractionUse().getEOperations().get(1);
 	}
 
 	/**
@@ -10419,7 +10416,7 @@
 	 * @generated
 	 */
 	public EReference getActivityNode_Outgoing() {
-		return (EReference) getActivityNode().getEStructuralFeatures().get(5);
+		return (EReference) getActivityNode().getEStructuralFeatures().get(4);
 	}
 
 	/**
@@ -10428,7 +10425,7 @@
 	 * @generated
 	 */
 	public EReference getActivityNode_InGroup() {
-		return (EReference) getActivityNode().getEStructuralFeatures().get(1);
+		return (EReference) getActivityNode().getEStructuralFeatures().get(6);
 	}
 
 	/**
@@ -10437,7 +10434,7 @@
 	 * @generated
 	 */
 	public EReference getActivityNode_InPartition() {
-		return (EReference) getActivityNode().getEStructuralFeatures().get(2);
+		return (EReference) getActivityNode().getEStructuralFeatures().get(1);
 	}
 
 	/**
@@ -10446,7 +10443,7 @@
 	 * @generated
 	 */
 	public EReference getActivityNode_InStructuredNode() {
-		return (EReference) getActivityNode().getEStructuralFeatures().get(3);
+		return (EReference) getActivityNode().getEStructuralFeatures().get(2);
 	}
 
 	/**
@@ -10464,7 +10461,7 @@
 	 * @generated
 	 */
 	public EReference getActivityNode_Incoming() {
-		return (EReference) getActivityNode().getEStructuralFeatures().get(6);
+		return (EReference) getActivityNode().getEStructuralFeatures().get(5);
 	}
 
 	/**
@@ -10473,7 +10470,7 @@
 	 * @generated
 	 */
 	public EReference getActivityNode_InInterruptibleRegion() {
-		return (EReference) getActivityNode().getEStructuralFeatures().get(4);
+		return (EReference) getActivityNode().getEStructuralFeatures().get(3);
 	}
 
 	/**
@@ -10511,7 +10508,7 @@
 	public EClass getActivityEdge() {
 		if (activityEdgeEClass == null) {
 			activityEdgeEClass = (EClass) EPackage.Registry.INSTANCE
-				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(109);
+				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(110);
 		}
 		return activityEdgeEClass;
 	}
@@ -10522,7 +10519,7 @@
 	 * @generated
 	 */
 	public EReference getActivityEdge_Activity() {
-		return (EReference) getActivityEdge().getEStructuralFeatures().get(9);
+		return (EReference) getActivityEdge().getEStructuralFeatures().get(0);
 	}
 
 	/**
@@ -10558,7 +10555,7 @@
 	 * @generated
 	 */
 	public EReference getActivityEdge_InGroup() {
-		return (EReference) getActivityEdge().getEStructuralFeatures().get(1);
+		return (EReference) getActivityEdge().getEStructuralFeatures().get(9);
 	}
 
 	/**
@@ -10603,7 +10600,7 @@
 	 * @generated
 	 */
 	public EReference getActivityEdge_Guard() {
-		return (EReference) getActivityEdge().getEStructuralFeatures().get(0);
+		return (EReference) getActivityEdge().getEStructuralFeatures().get(1);
 	}
 
 	/**
@@ -10651,70 +10648,16 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	public EReference getActivity_OwnedGroup() {
+		return (EReference) getActivity().getEStructuralFeatures().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
 	public EAttribute getActivity_IsReadOnly() {
-		return (EAttribute) getActivity().getEStructuralFeatures().get(4);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getActivity_Partition() {
-		return (EReference) getActivity().getEStructuralFeatures().get(6);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getActivity_Group() {
-		return (EReference) getActivity().getEStructuralFeatures().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EOperation getActivity__ValidateNoSupergroups__DiagnosticChain_Map() {
-		return getActivity().getEOperations().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EOperation getActivity__ValidateActivityParameterNode__DiagnosticChain_Map() {
-		return getActivity().getEOperations().get(2);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EOperation getActivity__GetStructuredNodes() {
-		return getActivity().getEOperations().get(3);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EOperation getActivity__ValidateAutonomous__DiagnosticChain_Map() {
-		return getActivity().getEOperations().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getActivity_IsSingleExecution() {
 		return (EAttribute) getActivity().getEStructuralFeatures().get(5);
 	}
 
@@ -10723,25 +10666,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public EReference getActivity_StructuredNode() {
-		return (EReference) getActivity().getEStructuralFeatures().get(2);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getActivity_Variable() {
-		return (EReference) getActivity().getEStructuralFeatures().get(3);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getActivity_Node() {
+	public EReference getActivity_Partition() {
 		return (EReference) getActivity().getEStructuralFeatures().get(7);
 	}
 
@@ -10750,8 +10675,89 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	public EReference getActivity_Group() {
+		return (EReference) getActivity().getEStructuralFeatures().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getActivity_OwnedNode() {
+		return (EReference) getActivity().getEStructuralFeatures().get(4);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EOperation getActivity__ValidateNoSupergroups__DiagnosticChain_Map() {
+		return getActivity().getEOperations().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EOperation getActivity__ValidateActivityParameterNode__DiagnosticChain_Map() {
+		return getActivity().getEOperations().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EOperation getActivity__ValidateAutonomous__DiagnosticChain_Map() {
+		return getActivity().getEOperations().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EAttribute getActivity_IsSingleExecution() {
+		return (EAttribute) getActivity().getEStructuralFeatures().get(6);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getActivity_StructuredNode() {
+		return (EReference) getActivity().getEStructuralFeatures().get(8);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getActivity_Variable() {
+		return (EReference) getActivity().getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getActivity_Node() {
+		return (EReference) getActivity().getEStructuralFeatures().get(9);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
 	public EReference getActivity_Edge() {
-		return (EReference) getActivity().getEStructuralFeatures().get(0);
+		return (EReference) getActivity().getEStructuralFeatures().get(1);
 	}
 
 	/**
@@ -10812,15 +10818,6 @@
 	 * @generated
 	 */
 	public EOperation getActivityPartition__ValidateRepresentsPart__DiagnosticChain_Map() {
-		return getActivityPartition().getEOperations().get(2);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EOperation getActivityPartition__ValidateRepresentsClassifier__DiagnosticChain_Map() {
 		return getActivityPartition().getEOperations().get(0);
 	}
 
@@ -10829,7 +10826,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public EOperation getActivityPartition__ValidateRepresentsPartAndIsContained__DiagnosticChain_Map() {
+	public EOperation getActivityPartition__ValidateRepresentsClassifier__DiagnosticChain_Map() {
 		return getActivityPartition().getEOperations().get(1);
 	}
 
@@ -10838,6 +10835,15 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	public EOperation getActivityPartition__ValidateRepresentsPartAndIsContained__DiagnosticChain_Map() {
+		return getActivityPartition().getEOperations().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
 	public EReference getActivityPartition_Node() {
 		return (EReference) getActivityPartition().getEStructuralFeatures()
 			.get(2);
@@ -10881,7 +10887,7 @@
 	public EClass getActivityGroup() {
 		if (activityGroupEClass == null) {
 			activityGroupEClass = (EClass) EPackage.Registry.INSTANCE
-				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(110);
+				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(109);
 		}
 		return activityGroupEClass;
 	}
@@ -10892,15 +10898,6 @@
 	 * @generated
 	 */
 	public EReference getActivityGroup_Subgroup() {
-		return (EReference) getActivityGroup().getEStructuralFeatures().get(2);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getActivityGroup_SuperGroup() {
 		return (EReference) getActivityGroup().getEStructuralFeatures().get(3);
 	}
 
@@ -10909,43 +10906,16 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	public EReference getActivityGroup_SuperGroup() {
+		return (EReference) getActivityGroup().getEStructuralFeatures().get(4);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
 	public EReference getActivityGroup_ContainedNode() {
-		return (EReference) getActivityGroup().getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EOperation getActivityGroup__ValidateNodesAndEdges__DiagnosticChain_Map() {
-		return getActivityGroup().getEOperations().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EOperation getActivityGroup__ValidateNotContained__DiagnosticChain_Map() {
-		return getActivityGroup().getEOperations().get(2);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EOperation getActivityGroup__ValidateGroupOwned__DiagnosticChain_Map() {
-		return getActivityGroup().getEOperations().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getActivityGroup_InActivity() {
 		return (EReference) getActivityGroup().getEStructuralFeatures().get(1);
 	}
 
@@ -10954,8 +10924,44 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	public EOperation getActivityGroup__ValidateNodesAndEdges__DiagnosticChain_Map() {
+		return getActivityGroup().getEOperations().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EOperation getActivityGroup__ValidateNotContained__DiagnosticChain_Map() {
+		return getActivityGroup().getEOperations().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EOperation getActivityGroup__ValidateGroupOwned__DiagnosticChain_Map() {
+		return getActivityGroup().getEOperations().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getActivityGroup_InActivity() {
+		return (EReference) getActivityGroup().getEStructuralFeatures().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
 	public EReference getActivityGroup_ContainedEdge() {
-		return (EReference) getActivityGroup().getEStructuralFeatures().get(4);
+		return (EReference) getActivityGroup().getEStructuralFeatures().get(0);
 	}
 
 	/**
@@ -11026,7 +11032,7 @@
 	 * @generated
 	 */
 	public EOperation getStructuredActivityNode__ValidateInputPinEdges__DiagnosticChain_Map() {
-		return getStructuredActivityNode().getEOperations().get(2);
+		return getStructuredActivityNode().getEOperations().get(0);
 	}
 
 	/**
@@ -11055,7 +11061,7 @@
 	 * @generated
 	 */
 	public EOperation getStructuredActivityNode__ValidateOutputPinEdges__DiagnosticChain_Map() {
-		return getStructuredActivityNode().getEOperations().get(0);
+		return getStructuredActivityNode().getEOperations().get(2);
 	}
 
 	/**
@@ -11208,7 +11214,7 @@
 	 * @generated
 	 */
 	public EOperation getExceptionHandler__ValidateExceptionBody__DiagnosticChain_Map() {
-		return getExceptionHandler().getEOperations().get(0);
+		return getExceptionHandler().getEOperations().get(3);
 	}
 
 	/**
@@ -11217,15 +11223,6 @@
 	 * @generated
 	 */
 	public EOperation getExceptionHandler__ValidateResultPins__DiagnosticChain_Map() {
-		return getExceptionHandler().getEOperations().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EOperation getExceptionHandler__ValidateOneInput__DiagnosticChain_Map() {
 		return getExceptionHandler().getEOperations().get(2);
 	}
 
@@ -11234,8 +11231,17 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	public EOperation getExceptionHandler__ValidateOneInput__DiagnosticChain_Map() {
+		return getExceptionHandler().getEOperations().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
 	public EOperation getExceptionHandler__ValidateEdgeSourceTarget__DiagnosticChain_Map() {
-		return getExceptionHandler().getEOperations().get(3);
+		return getExceptionHandler().getEOperations().get(1);
 	}
 
 	/**
@@ -11302,7 +11308,7 @@
 	 * @generated
 	 */
 	public EOperation getObjectNode__ValidateObjectFlowEdges__DiagnosticChain_Map() {
-		return getObjectNode().getEOperations().get(2);
+		return getObjectNode().getEOperations().get(0);
 	}
 
 	/**
@@ -11320,7 +11326,7 @@
 	 * @generated
 	 */
 	public EOperation getObjectNode__ValidateInputOutputParameter__DiagnosticChain_Map() {
-		return getObjectNode().getEOperations().get(0);
+		return getObjectNode().getEOperations().get(2);
 	}
 
 	/**
@@ -11512,7 +11518,7 @@
 	 * @generated
 	 */
 	public EOperation getInteractionOperand__ValidateGuardDirectlyPrior__DiagnosticChain_Map() {
-		return getInteractionOperand().getEOperations().get(1);
+		return getInteractionOperand().getEOperations().get(0);
 	}
 
 	/**
@@ -11521,7 +11527,7 @@
 	 * @generated
 	 */
 	public EOperation getInteractionOperand__ValidateGuardContainReferences__DiagnosticChain_Map() {
-		return getInteractionOperand().getEOperations().get(0);
+		return getInteractionOperand().getEOperations().get(1);
 	}
 
 	/**
@@ -11563,7 +11569,7 @@
 	 * @generated
 	 */
 	public EOperation getInteractionConstraint__ValidateDynamicVariables__DiagnosticChain_Map() {
-		return getInteractionConstraint().getEOperations().get(3);
+		return getInteractionConstraint().getEOperations().get(5);
 	}
 
 	/**
@@ -11572,7 +11578,7 @@
 	 * @generated
 	 */
 	public EOperation getInteractionConstraint__ValidateGlobalData__DiagnosticChain_Map() {
-		return getInteractionConstraint().getEOperations().get(4);
+		return getInteractionConstraint().getEOperations().get(3);
 	}
 
 	/**
@@ -11581,15 +11587,6 @@
 	 * @generated
 	 */
 	public EOperation getInteractionConstraint__ValidateMinintMaxint__DiagnosticChain_Map() {
-		return getInteractionConstraint().getEOperations().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EOperation getInteractionConstraint__ValidateMinintNonNegative__DiagnosticChain_Map() {
 		return getInteractionConstraint().getEOperations().get(1);
 	}
 
@@ -11598,7 +11595,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public EOperation getInteractionConstraint__ValidateMaxintPositive__DiagnosticChain_Map() {
+	public EOperation getInteractionConstraint__ValidateMinintNonNegative__DiagnosticChain_Map() {
 		return getInteractionConstraint().getEOperations().get(2);
 	}
 
@@ -11607,8 +11604,17 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	public EOperation getInteractionConstraint__ValidateMaxintPositive__DiagnosticChain_Map() {
+		return getInteractionConstraint().getEOperations().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
 	public EOperation getInteractionConstraint__ValidateMaxintGreaterEqualMinint__DiagnosticChain_Map() {
-		return getInteractionConstraint().getEOperations().get(5);
+		return getInteractionConstraint().getEOperations().get(4);
 	}
 
 	/**
@@ -11828,7 +11834,7 @@
 	 * @generated
 	 */
 	public EOperation getCombinedFragment__ValidateOptLoopBreakNeg__DiagnosticChain_Map() {
-		return getCombinedFragment().getEOperations().get(3);
+		return getCombinedFragment().getEOperations().get(1);
 	}
 
 	/**
@@ -11837,7 +11843,7 @@
 	 * @generated
 	 */
 	public EOperation getCombinedFragment__ValidateMinintAndMaxint__DiagnosticChain_Map() {
-		return getCombinedFragment().getEOperations().get(0);
+		return getCombinedFragment().getEOperations().get(3);
 	}
 
 	/**
@@ -11846,7 +11852,7 @@
 	 * @generated
 	 */
 	public EOperation getCombinedFragment__ValidateBreak__DiagnosticChain_Map() {
-		return getCombinedFragment().getEOperations().get(1);
+		return getCombinedFragment().getEOperations().get(0);
 	}
 
 	/**
@@ -11886,7 +11892,7 @@
 	 * @generated
 	 */
 	public EOperation getContinuation__ValidateSameName__DiagnosticChain_Map() {
-		return getContinuation().getEOperations().get(1);
+		return getContinuation().getEOperations().get(0);
 	}
 
 	/**
@@ -11904,7 +11910,7 @@
 	 * @generated
 	 */
 	public EOperation getContinuation__ValidateFirstOrLastInteractionFragment__DiagnosticChain_Map() {
-		return getContinuation().getEOperations().get(0);
+		return getContinuation().getEOperations().get(1);
 	}
 
 	/**
@@ -11936,7 +11942,7 @@
 	 * @generated
 	 */
 	public EOperation getConsiderIgnoreFragment__ValidateConsiderOrIgnore__DiagnosticChain_Map() {
-		return getConsiderIgnoreFragment().getEOperations().get(0);
+		return getConsiderIgnoreFragment().getEOperations().get(1);
 	}
 
 	/**
@@ -11945,7 +11951,7 @@
 	 * @generated
 	 */
 	public EOperation getConsiderIgnoreFragment__ValidateType__DiagnosticChain_Map() {
-		return getConsiderIgnoreFragment().getEOperations().get(1);
+		return getConsiderIgnoreFragment().getEOperations().get(0);
 	}
 
 	/**
@@ -12066,7 +12072,7 @@
 	 * @generated
 	 */
 	public EOperation getCreateObjectAction__ValidateClassifierNotAbstract__DiagnosticChain_Map() {
-		return getCreateObjectAction().getEOperations().get(0);
+		return getCreateObjectAction().getEOperations().get(1);
 	}
 
 	/**
@@ -12075,7 +12081,7 @@
 	 * @generated
 	 */
 	public EOperation getCreateObjectAction__ValidateClassifierNotAssociationClass__DiagnosticChain_Map() {
-		return getCreateObjectAction().getEOperations().get(2);
+		return getCreateObjectAction().getEOperations().get(0);
 	}
 
 	/**
@@ -12084,7 +12090,7 @@
 	 * @generated
 	 */
 	public EOperation getCreateObjectAction__ValidateSameType__DiagnosticChain_Map() {
-		return getCreateObjectAction().getEOperations().get(3);
+		return getCreateObjectAction().getEOperations().get(2);
 	}
 
 	/**
@@ -12093,7 +12099,7 @@
 	 * @generated
 	 */
 	public EOperation getCreateObjectAction__ValidateMultiplicity__DiagnosticChain_Map() {
-		return getCreateObjectAction().getEOperations().get(1);
+		return getCreateObjectAction().getEOperations().get(3);
 	}
 
 	/**
@@ -12295,7 +12301,7 @@
 	 * @generated
 	 */
 	public EOperation getReadSelfAction__ValidateType__DiagnosticChain_Map() {
-		return getReadSelfAction().getEOperations().get(3);
+		return getReadSelfAction().getEOperations().get(1);
 	}
 
 	/**
@@ -12304,7 +12310,7 @@
 	 * @generated
 	 */
 	public EOperation getReadSelfAction__ValidateMultiplicity__DiagnosticChain_Map() {
-		return getReadSelfAction().getEOperations().get(1);
+		return getReadSelfAction().getEOperations().get(3);
 	}
 
 	/**
@@ -12346,33 +12352,6 @@
 	 * @generated
 	 */
 	public EOperation getStructuralFeatureAction__ValidateNotStatic__DiagnosticChain_Map() {
-		return getStructuralFeatureAction().getEOperations().get(3);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EOperation getStructuralFeatureAction__ValidateSameType__DiagnosticChain_Map() {
-		return getStructuralFeatureAction().getEOperations().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EOperation getStructuralFeatureAction__ValidateMultiplicity__DiagnosticChain_Map() {
-		return getStructuralFeatureAction().getEOperations().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EOperation getStructuralFeatureAction__ValidateVisibility__DiagnosticChain_Map() {
 		return getStructuralFeatureAction().getEOperations().get(2);
 	}
 
@@ -12381,7 +12360,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public EOperation getStructuralFeatureAction__ValidateOneFeaturingClassifier__DiagnosticChain_Map() {
+	public EOperation getStructuralFeatureAction__ValidateSameType__DiagnosticChain_Map() {
 		return getStructuralFeatureAction().getEOperations().get(4);
 	}
 
@@ -12390,6 +12369,33 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	public EOperation getStructuralFeatureAction__ValidateMultiplicity__DiagnosticChain_Map() {
+		return getStructuralFeatureAction().getEOperations().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EOperation getStructuralFeatureAction__ValidateVisibility__DiagnosticChain_Map() {
+		return getStructuralFeatureAction().getEOperations().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EOperation getStructuralFeatureAction__ValidateOneFeaturingClassifier__DiagnosticChain_Map() {
+		return getStructuralFeatureAction().getEOperations().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
 	public EClass getReadStructuralFeatureAction() {
 		if (readStructuralFeatureActionEClass == null) {
 			readStructuralFeatureActionEClass = (EClass) EPackage.Registry.INSTANCE
@@ -12456,7 +12462,7 @@
 	 * @generated
 	 */
 	public EOperation getWriteStructuralFeatureAction__ValidateInputPin__DiagnosticChain_Map() {
-		return getWriteStructuralFeatureAction().getEOperations().get(1);
+		return getWriteStructuralFeatureAction().getEOperations().get(0);
 	}
 
 	/**
@@ -12465,7 +12471,7 @@
 	 * @generated
 	 */
 	public EOperation getWriteStructuralFeatureAction__ValidateTypeOfResult__DiagnosticChain_Map() {
-		return getWriteStructuralFeatureAction().getEOperations().get(2);
+		return getWriteStructuralFeatureAction().getEOperations().get(1);
 	}
 
 	/**
@@ -12474,7 +12480,7 @@
 	 * @generated
 	 */
 	public EOperation getWriteStructuralFeatureAction__ValidateMultiplicityOfResult__DiagnosticChain_Map() {
-		return getWriteStructuralFeatureAction().getEOperations().get(0);
+		return getWriteStructuralFeatureAction().getEOperations().get(2);
 	}
 
 	/**
@@ -12506,7 +12512,7 @@
 	 * @generated
 	 */
 	public EOperation getClearStructuralFeatureAction__ValidateTypeOfResult__DiagnosticChain_Map() {
-		return getClearStructuralFeatureAction().getEOperations().get(0);
+		return getClearStructuralFeatureAction().getEOperations().get(1);
 	}
 
 	/**
@@ -12515,7 +12521,7 @@
 	 * @generated
 	 */
 	public EOperation getClearStructuralFeatureAction__ValidateMultiplicityOfResult__DiagnosticChain_Map() {
-		return getClearStructuralFeatureAction().getEOperations().get(1);
+		return getClearStructuralFeatureAction().getEOperations().get(0);
 	}
 
 	/**
@@ -12589,7 +12595,7 @@
 	 * @generated
 	 */
 	public EOperation getAddStructuralFeatureValueAction__ValidateRequiredValue__DiagnosticChain_Map() {
-		return getAddStructuralFeatureValueAction().getEOperations().get(0);
+		return getAddStructuralFeatureValueAction().getEOperations().get(1);
 	}
 
 	/**
@@ -12608,7 +12614,7 @@
 	 * @generated
 	 */
 	public EOperation getAddStructuralFeatureValueAction__ValidateUnlimitedNaturalAndMultiplicity__DiagnosticChain_Map() {
-		return getAddStructuralFeatureValueAction().getEOperations().get(1);
+		return getAddStructuralFeatureValueAction().getEOperations().get(0);
 	}
 
 	/**
@@ -12724,15 +12730,6 @@
 	 * @generated
 	 */
 	public EOperation getLinkEndData__ValidatePropertyIsAssociationEnd__DiagnosticChain_Map() {
-		return getLinkEndData().getEOperations().get(3);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EOperation getLinkEndData__ValidateSameType__DiagnosticChain_Map() {
 		return getLinkEndData().getEOperations().get(0);
 	}
 
@@ -12741,8 +12738,17 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	public EOperation getLinkEndData__ValidateSameType__DiagnosticChain_Map() {
+		return getLinkEndData().getEOperations().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
 	public EOperation getLinkEndData__ValidateMultiplicity__DiagnosticChain_Map() {
-		return getLinkEndData().getEOperations().get(1);
+		return getLinkEndData().getEOperations().get(3);
 	}
 
 	/**
@@ -12760,7 +12766,7 @@
 	 * @generated
 	 */
 	public EOperation getLinkEndData__ValidateEndObjectInputPin__DiagnosticChain_Map() {
-		return getLinkEndData().getEOperations().get(2);
+		return getLinkEndData().getEOperations().get(1);
 	}
 
 	/**
@@ -12800,7 +12806,7 @@
 	 * @generated
 	 */
 	public EOperation getQualifierValue__ValidateQualifierAttribute__DiagnosticChain_Map() {
-		return getQualifierValue().getEOperations().get(2);
+		return getQualifierValue().getEOperations().get(0);
 	}
 
 	/**
@@ -12809,7 +12815,7 @@
 	 * @generated
 	 */
 	public EOperation getQualifierValue__ValidateTypeOfQualifier__DiagnosticChain_Map() {
-		return getQualifierValue().getEOperations().get(1);
+		return getQualifierValue().getEOperations().get(2);
 	}
 
 	/**
@@ -12818,7 +12824,7 @@
 	 * @generated
 	 */
 	public EOperation getQualifierValue__ValidateMultiplicityOfQualifier__DiagnosticChain_Map() {
-		return getQualifierValue().getEOperations().get(0);
+		return getQualifierValue().getEOperations().get(1);
 	}
 
 	/**
@@ -12849,7 +12855,7 @@
 	 * @generated
 	 */
 	public EOperation getReadLinkAction__ValidateOneOpenEnd__DiagnosticChain_Map() {
-		return getReadLinkAction().getEOperations().get(3);
+		return getReadLinkAction().getEOperations().get(1);
 	}
 
 	/**
@@ -12867,7 +12873,7 @@
 	 * @generated
 	 */
 	public EOperation getReadLinkAction__ValidateCompatibleMultiplicity__DiagnosticChain_Map() {
-		return getReadLinkAction().getEOperations().get(1);
+		return getReadLinkAction().getEOperations().get(2);
 	}
 
 	/**
@@ -12876,7 +12882,7 @@
 	 * @generated
 	 */
 	public EOperation getReadLinkAction__ValidateNavigableOpenEnd__DiagnosticChain_Map() {
-		return getReadLinkAction().getEOperations().get(4);
+		return getReadLinkAction().getEOperations().get(3);
 	}
 
 	/**
@@ -12885,7 +12891,7 @@
 	 * @generated
 	 */
 	public EOperation getReadLinkAction__ValidateVisibility__DiagnosticChain_Map() {
-		return getReadLinkAction().getEOperations().get(2);
+		return getReadLinkAction().getEOperations().get(4);
 	}
 
 	/**
@@ -12927,7 +12933,7 @@
 	 * @generated
 	 */
 	public EOperation getLinkEndCreationData__ValidateCreateLinkAction__DiagnosticChain_Map() {
-		return getLinkEndCreationData().getEOperations().get(1);
+		return getLinkEndCreationData().getEOperations().get(0);
 	}
 
 	/**
@@ -12936,7 +12942,7 @@
 	 * @generated
 	 */
 	public EOperation getLinkEndCreationData__ValidateSingleInputPin__DiagnosticChain_Map() {
-		return getLinkEndCreationData().getEOperations().get(0);
+		return getLinkEndCreationData().getEOperations().get(1);
 	}
 
 	/**
@@ -13035,7 +13041,7 @@
 	 * @generated
 	 */
 	public EOperation getLinkEndDestructionData__ValidateDestroyLinkAction__DiagnosticChain_Map() {
-		return getLinkEndDestructionData().getEOperations().get(1);
+		return getLinkEndDestructionData().getEOperations().get(0);
 	}
 
 	/**
@@ -13044,7 +13050,7 @@
 	 * @generated
 	 */
 	public EOperation getLinkEndDestructionData__ValidateUnlimitedNaturalAndMultiplicity__DiagnosticChain_Map() {
-		return getLinkEndDestructionData().getEOperations().get(0);
+		return getLinkEndDestructionData().getEOperations().get(1);
 	}
 
 	/**
@@ -13127,7 +13133,7 @@
 	 * @generated
 	 */
 	public EOperation getBroadcastSignalAction__ValidateNumberAndOrder__DiagnosticChain_Map() {
-		return getBroadcastSignalAction().getEOperations().get(0);
+		return getBroadcastSignalAction().getEOperations().get(1);
 	}
 
 	/**
@@ -13136,7 +13142,7 @@
 	 * @generated
 	 */
 	public EOperation getBroadcastSignalAction__ValidateTypeOrderingMultiplicity__DiagnosticChain_Map() {
-		return getBroadcastSignalAction().getEOperations().get(1);
+		return getBroadcastSignalAction().getEOperations().get(0);
 	}
 
 	/**
@@ -13368,7 +13374,7 @@
 	 * @generated
 	 */
 	public EOperation getValuePin__ValidateCompatibleType__DiagnosticChain_Map() {
-		return getValuePin().getEOperations().get(1);
+		return getValuePin().getEOperations().get(0);
 	}
 
 	/**
@@ -13377,7 +13383,7 @@
 	 * @generated
 	 */
 	public EOperation getValuePin__ValidateNoIncomingEdges__DiagnosticChain_Map() {
-		return getValuePin().getEOperations().get(0);
+		return getValuePin().getEOperations().get(1);
 	}
 
 	/**
@@ -13665,7 +13671,7 @@
 	 * @generated
 	 */
 	public EOperation getCallAction__ValidateSynchronousCall__DiagnosticChain_Map() {
-		return getCallAction().getEOperations().get(2);
+		return getCallAction().getEOperations().get(0);
 	}
 
 	/**
@@ -13683,7 +13689,7 @@
 	 * @generated
 	 */
 	public EOperation getCallAction__ValidateTypeOrderingMultiplicity__DiagnosticChain_Map() {
-		return getCallAction().getEOperations().get(0);
+		return getCallAction().getEOperations().get(2);
 	}
 
 	/**
@@ -13776,7 +13782,7 @@
 	 * @generated
 	 */
 	public EOperation getCallOperationAction__ValidateArgumentPinEqualParameter__DiagnosticChain_Map() {
-		return getCallOperationAction().getEOperations().get(1);
+		return getCallOperationAction().getEOperations().get(0);
 	}
 
 	/**
@@ -13785,7 +13791,7 @@
 	 * @generated
 	 */
 	public EOperation getCallOperationAction__ValidateResultPinEqualParameter__DiagnosticChain_Map() {
-		return getCallOperationAction().getEOperations().get(2);
+		return getCallOperationAction().getEOperations().get(1);
 	}
 
 	/**
@@ -13794,7 +13800,7 @@
 	 * @generated
 	 */
 	public EOperation getCallOperationAction__ValidateTypeTargetPin__DiagnosticChain_Map() {
-		return getCallOperationAction().getEOperations().get(0);
+		return getCallOperationAction().getEOperations().get(2);
 	}
 
 	/**
@@ -13867,7 +13873,7 @@
 	 * @generated
 	 */
 	public EOperation getInformationItem__ValidateSourcesAndTargets__DiagnosticChain_Map() {
-		return getInformationItem().getEOperations().get(0);
+		return getInformationItem().getEOperations().get(2);
 	}
 
 	/**
@@ -13876,7 +13882,7 @@
 	 * @generated
 	 */
 	public EOperation getInformationItem__ValidateHasNo__DiagnosticChain_Map() {
-		return getInformationItem().getEOperations().get(1);
+		return getInformationItem().getEOperations().get(0);
 	}
 
 	/**
@@ -13885,7 +13891,7 @@
 	 * @generated
 	 */
 	public EOperation getInformationItem__ValidateNotInstantiable__DiagnosticChain_Map() {
-		return getInformationItem().getEOperations().get(2);
+		return getInformationItem().getEOperations().get(1);
 	}
 
 	/**
@@ -13977,7 +13983,7 @@
 	 * @generated
 	 */
 	public EOperation getInformationFlow__ValidateSourcesAndTargetsKind__DiagnosticChain_Map() {
-		return getInformationFlow().getEOperations().get(1);
+		return getInformationFlow().getEOperations().get(0);
 	}
 
 	/**
@@ -13986,7 +13992,7 @@
 	 * @generated
 	 */
 	public EOperation getInformationFlow__ValidateMustConform__DiagnosticChain_Map() {
-		return getInformationFlow().getEOperations().get(0);
+		return getInformationFlow().getEOperations().get(1);
 	}
 
 	/**
@@ -14006,7 +14012,7 @@
 	public EClass getModel() {
 		if (modelEClass == null) {
 			modelEClass = (EClass) EPackage.Registry.INSTANCE
-				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(77);
+				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(81);
 		}
 		return modelEClass;
 	}
@@ -14130,7 +14136,7 @@
 	 * @generated
 	 */
 	public EOperation getWriteVariableAction__ValidateSameType__DiagnosticChain_Map() {
-		return getWriteVariableAction().getEOperations().get(0);
+		return getWriteVariableAction().getEOperations().get(1);
 	}
 
 	/**
@@ -14139,7 +14145,7 @@
 	 * @generated
 	 */
 	public EOperation getWriteVariableAction__ValidateMultiplicity__DiagnosticChain_Map() {
-		return getWriteVariableAction().getEOperations().get(1);
+		return getWriteVariableAction().getEOperations().get(0);
 	}
 
 	/**
@@ -14299,7 +14305,7 @@
 	 * @generated
 	 */
 	public EOperation getActionInputPin__ValidateOneOutputPin__DiagnosticChain_Map() {
-		return getActionInputPin().getEOperations().get(1);
+		return getActionInputPin().getEOperations().get(2);
 	}
 
 	/**
@@ -14317,7 +14323,7 @@
 	 * @generated
 	 */
 	public EOperation getActionInputPin__ValidateNoControlOrDataFlow__DiagnosticChain_Map() {
-		return getActionInputPin().getEOperations().get(2);
+		return getActionInputPin().getEOperations().get(1);
 	}
 
 	/**
@@ -14430,7 +14436,7 @@
 	 * @generated
 	 */
 	public EOperation getReclassifyObjectAction__ValidateClassifierNotAbstract__DiagnosticChain_Map() {
-		return getReclassifyObjectAction().getEOperations().get(1);
+		return getReclassifyObjectAction().getEOperations().get(2);
 	}
 
 	/**
@@ -14439,7 +14445,7 @@
 	 * @generated
 	 */
 	public EOperation getReclassifyObjectAction__ValidateMultiplicity__DiagnosticChain_Map() {
-		return getReclassifyObjectAction().getEOperations().get(2);
+		return getReclassifyObjectAction().getEOperations().get(1);
 	}
 
 	/**
@@ -14569,7 +14575,7 @@
 	 * @generated
 	 */
 	public EOperation getStartClassifierBehaviorAction__ValidateMultiplicity__DiagnosticChain_Map() {
-		return getStartClassifierBehaviorAction().getEOperations().get(0);
+		return getStartClassifierBehaviorAction().getEOperations().get(1);
 	}
 
 	/**
@@ -14578,7 +14584,7 @@
 	 * @generated
 	 */
 	public EOperation getStartClassifierBehaviorAction__ValidateTypeHasClassifier__DiagnosticChain_Map() {
-		return getStartClassifierBehaviorAction().getEOperations().get(1);
+		return getStartClassifierBehaviorAction().getEOperations().get(0);
 	}
 
 	/**
@@ -14630,7 +14636,7 @@
 	 * @generated
 	 */
 	public EOperation getReadLinkObjectEndAction__ValidateProperty__DiagnosticChain_Map() {
-		return getReadLinkObjectEndAction().getEOperations().get(0);
+		return getReadLinkObjectEndAction().getEOperations().get(4);
 	}
 
 	/**
@@ -14639,7 +14645,7 @@
 	 * @generated
 	 */
 	public EOperation getReadLinkObjectEndAction__ValidateAssociationOfAssociation__DiagnosticChain_Map() {
-		return getReadLinkObjectEndAction().getEOperations().get(6);
+		return getReadLinkObjectEndAction().getEOperations().get(0);
 	}
 
 	/**
@@ -14648,7 +14654,7 @@
 	 * @generated
 	 */
 	public EOperation getReadLinkObjectEndAction__ValidateEndsOfAssociation__DiagnosticChain_Map() {
-		return getReadLinkObjectEndAction().getEOperations().get(2);
+		return getReadLinkObjectEndAction().getEOperations().get(6);
 	}
 
 	/**
@@ -14657,7 +14663,7 @@
 	 * @generated
 	 */
 	public EOperation getReadLinkObjectEndAction__ValidateTypeOfObject__DiagnosticChain_Map() {
-		return getReadLinkObjectEndAction().getEOperations().get(5);
+		return getReadLinkObjectEndAction().getEOperations().get(3);
 	}
 
 	/**
@@ -14675,7 +14681,7 @@
 	 * @generated
 	 */
 	public EOperation getReadLinkObjectEndAction__ValidateTypeOfResult__DiagnosticChain_Map() {
-		return getReadLinkObjectEndAction().getEOperations().get(3);
+		return getReadLinkObjectEndAction().getEOperations().get(2);
 	}
 
 	/**
@@ -14684,7 +14690,7 @@
 	 * @generated
 	 */
 	public EOperation getReadLinkObjectEndAction__ValidateMultiplicityOfResult__DiagnosticChain_Map() {
-		return getReadLinkObjectEndAction().getEOperations().get(4);
+		return getReadLinkObjectEndAction().getEOperations().get(5);
 	}
 
 	/**
@@ -14763,24 +14769,6 @@
 	 * @generated
 	 */
 	public EOperation getReadLinkObjectEndQualifierAction__ValidateTypeOfObject__DiagnosticChain_Map() {
-		return getReadLinkObjectEndQualifierAction().getEOperations().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EOperation getReadLinkObjectEndQualifierAction__ValidateMultiplicityOfQualifier__DiagnosticChain_Map() {
-		return getReadLinkObjectEndQualifierAction().getEOperations().get(2);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EOperation getReadLinkObjectEndQualifierAction__ValidateMultiplicityOfObject__DiagnosticChain_Map() {
 		return getReadLinkObjectEndQualifierAction().getEOperations().get(0);
 	}
 
@@ -14789,7 +14777,16 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public EOperation getReadLinkObjectEndQualifierAction__ValidateSameType__DiagnosticChain_Map() {
+	public EOperation getReadLinkObjectEndQualifierAction__ValidateMultiplicityOfQualifier__DiagnosticChain_Map() {
+		return getReadLinkObjectEndQualifierAction().getEOperations().get(4);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EOperation getReadLinkObjectEndQualifierAction__ValidateMultiplicityOfObject__DiagnosticChain_Map() {
 		return getReadLinkObjectEndQualifierAction().getEOperations().get(5);
 	}
 
@@ -14798,8 +14795,17 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	public EOperation getReadLinkObjectEndQualifierAction__ValidateSameType__DiagnosticChain_Map() {
+		return getReadLinkObjectEndQualifierAction().getEOperations().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
 	public EOperation getReadLinkObjectEndQualifierAction__ValidateMultiplicityOfResult__DiagnosticChain_Map() {
-		return getReadLinkObjectEndQualifierAction().getEOperations().get(4);
+		return getReadLinkObjectEndQualifierAction().getEOperations().get(1);
 	}
 
 	/**
@@ -14831,7 +14837,7 @@
 	 * @generated
 	 */
 	public EOperation getCreateLinkObjectAction__ValidateAssociationClass__DiagnosticChain_Map() {
-		return getCreateLinkObjectAction().getEOperations().get(2);
+		return getCreateLinkObjectAction().getEOperations().get(0);
 	}
 
 	/**
@@ -14849,7 +14855,7 @@
 	 * @generated
 	 */
 	public EOperation getCreateLinkObjectAction__ValidateMultiplicity__DiagnosticChain_Map() {
-		return getCreateLinkObjectAction().getEOperations().get(0);
+		return getCreateLinkObjectAction().getEOperations().get(2);
 	}
 
 	/**
@@ -14901,24 +14907,6 @@
 	 * @generated
 	 */
 	public EOperation getAcceptEventAction__ValidateNoInputPins__DiagnosticChain_Map() {
-		return getAcceptEventAction().getEOperations().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EOperation getAcceptEventAction__ValidateNoOutputPins__DiagnosticChain_Map() {
-		return getAcceptEventAction().getEOperations().get(2);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EOperation getAcceptEventAction__ValidateTriggerEvents__DiagnosticChain_Map() {
 		return getAcceptEventAction().getEOperations().get(0);
 	}
 
@@ -14927,7 +14915,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public EOperation getAcceptEventAction__ValidateUnmarshallSignalEvents__DiagnosticChain_Map() {
+	public EOperation getAcceptEventAction__ValidateNoOutputPins__DiagnosticChain_Map() {
 		return getAcceptEventAction().getEOperations().get(3);
 	}
 
@@ -14936,6 +14924,24 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	public EOperation getAcceptEventAction__ValidateTriggerEvents__DiagnosticChain_Map() {
+		return getAcceptEventAction().getEOperations().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EOperation getAcceptEventAction__ValidateUnmarshallSignalEvents__DiagnosticChain_Map() {
+		return getAcceptEventAction().getEOperations().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
 	public EClass getAcceptCallAction() {
 		if (acceptCallActionEClass == null) {
 			acceptCallActionEClass = (EClass) EPackage.Registry.INSTANCE
@@ -14960,7 +14966,7 @@
 	 * @generated
 	 */
 	public EOperation getAcceptCallAction__ValidateResultPins__DiagnosticChain_Map() {
-		return getAcceptCallAction().getEOperations().get(0);
+		return getAcceptCallAction().getEOperations().get(2);
 	}
 
 	/**
@@ -14969,7 +14975,7 @@
 	 * @generated
 	 */
 	public EOperation getAcceptCallAction__ValidateTriggerCallEvent__DiagnosticChain_Map() {
-		return getAcceptCallAction().getEOperations().get(1);
+		return getAcceptCallAction().getEOperations().get(0);
 	}
 
 	/**
@@ -14978,7 +14984,7 @@
 	 * @generated
 	 */
 	public EOperation getAcceptCallAction__ValidateUnmarshall__DiagnosticChain_Map() {
-		return getAcceptCallAction().getEOperations().get(2);
+		return getAcceptCallAction().getEOperations().get(1);
 	}
 
 	/**
@@ -15027,7 +15033,7 @@
 	 * @generated
 	 */
 	public EOperation getReplyAction__ValidatePinsMatchParameter__DiagnosticChain_Map() {
-		return getReplyAction().getEOperations().get(0);
+		return getReplyAction().getEOperations().get(1);
 	}
 
 	/**
@@ -15036,7 +15042,7 @@
 	 * @generated
 	 */
 	public EOperation getReplyAction__ValidateEventOnReplyToCallTrigger__DiagnosticChain_Map() {
-		return getReplyAction().getEOperations().get(1);
+		return getReplyAction().getEOperations().get(0);
 	}
 
 	/**
@@ -15088,7 +15094,7 @@
 	 * @generated
 	 */
 	public EOperation getUnmarshallAction__ValidateSameType__DiagnosticChain_Map() {
-		return getUnmarshallAction().getEOperations().get(6);
+		return getUnmarshallAction().getEOperations().get(0);
 	}
 
 	/**
@@ -15097,7 +15103,7 @@
 	 * @generated
 	 */
 	public EOperation getUnmarshallAction__ValidateMultiplicityOfObject__DiagnosticChain_Map() {
-		return getUnmarshallAction().getEOperations().get(5);
+		return getUnmarshallAction().getEOperations().get(2);
 	}
 
 	/**
@@ -15106,7 +15112,7 @@
 	 * @generated
 	 */
 	public EOperation getUnmarshallAction__ValidateNumberOfResult__DiagnosticChain_Map() {
-		return getUnmarshallAction().getEOperations().get(1);
+		return getUnmarshallAction().getEOperations().get(4);
 	}
 
 	/**
@@ -15124,7 +15130,7 @@
 	 * @generated
 	 */
 	public EOperation getUnmarshallAction__ValidateMultiplicityOfResult__DiagnosticChain_Map() {
-		return getUnmarshallAction().getEOperations().get(2);
+		return getUnmarshallAction().getEOperations().get(6);
 	}
 
 	/**
@@ -15133,7 +15139,7 @@
 	 * @generated
 	 */
 	public EOperation getUnmarshallAction__ValidateStructuralFeature__DiagnosticChain_Map() {
-		return getUnmarshallAction().getEOperations().get(0);
+		return getUnmarshallAction().getEOperations().get(1);
 	}
 
 	/**
@@ -15142,7 +15148,7 @@
 	 * @generated
 	 */
 	public EOperation getUnmarshallAction__ValidateUnmarshallTypeIsClassifier__DiagnosticChain_Map() {
-		return getUnmarshallAction().getEOperations().get(4);
+		return getUnmarshallAction().getEOperations().get(5);
 	}
 
 	/**
@@ -15200,15 +15206,6 @@
 	 * @generated
 	 */
 	public EOperation getReduceAction__ValidateInputTypeIsCollection__DiagnosticChain_Map() {
-		return getReduceAction().getEOperations().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EOperation getReduceAction__ValidateOutputTypesAreCompatible__DiagnosticChain_Map() {
 		return getReduceAction().getEOperations().get(2);
 	}
 
@@ -15217,7 +15214,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public EOperation getReduceAction__ValidateReducerInputsOutput__DiagnosticChain_Map() {
+	public EOperation getReduceAction__ValidateOutputTypesAreCompatible__DiagnosticChain_Map() {
 		return getReduceAction().getEOperations().get(0);
 	}
 
@@ -15226,6 +15223,15 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	public EOperation getReduceAction__ValidateReducerInputsOutput__DiagnosticChain_Map() {
+		return getReduceAction().getEOperations().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
 	public EClass getStartObjectBehaviorAction() {
 		if (startObjectBehaviorActionEClass == null) {
 			startObjectBehaviorActionEClass = (EClass) EPackage.Registry.INSTANCE
@@ -15250,24 +15256,6 @@
 	 * @generated
 	 */
 	public EOperation getStartObjectBehaviorAction__ValidateTypeOfObject__DiagnosticChain_Map() {
-		return getStartObjectBehaviorAction().getEOperations().get(4);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EOperation getStartObjectBehaviorAction__ValidateMultiplicityOfObject__DiagnosticChain_Map() {
-		return getStartObjectBehaviorAction().getEOperations().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EOperation getStartObjectBehaviorAction__ValidateNumberOrderArguments__DiagnosticChain_Map() {
 		return getStartObjectBehaviorAction().getEOperations().get(3);
 	}
 
@@ -15276,7 +15264,16 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public EOperation getStartObjectBehaviorAction__ValidateNumberOrderResults__DiagnosticChain_Map() {
+	public EOperation getStartObjectBehaviorAction__ValidateMultiplicityOfObject__DiagnosticChain_Map() {
+		return getStartObjectBehaviorAction().getEOperations().get(4);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EOperation getStartObjectBehaviorAction__ValidateNumberOrderArguments__DiagnosticChain_Map() {
 		return getStartObjectBehaviorAction().getEOperations().get(0);
 	}
 
@@ -15285,7 +15282,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public EOperation getStartObjectBehaviorAction__ValidateTypeOrderingMultiplicityMatch__DiagnosticChain_Map() {
+	public EOperation getStartObjectBehaviorAction__ValidateNumberOrderResults__DiagnosticChain_Map() {
 		return getStartObjectBehaviorAction().getEOperations().get(2);
 	}
 
@@ -15294,6 +15291,15 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	public EOperation getStartObjectBehaviorAction__ValidateTypeOrderingMultiplicityMatch__DiagnosticChain_Map() {
+		return getStartObjectBehaviorAction().getEOperations().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
 	public EClass getControlNode() {
 		if (controlNodeEClass == null) {
 			controlNodeEClass = (EClass) EPackage.Registry.INSTANCE
@@ -15384,24 +15390,6 @@
 	 * @generated
 	 */
 	public EOperation getActivityParameterNode__ValidateHasParameters__DiagnosticChain_Map() {
-		return getActivityParameterNode().getEOperations().get(2);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EOperation getActivityParameterNode__ValidateSameType__DiagnosticChain_Map() {
-		return getActivityParameterNode().getEOperations().get(3);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EOperation getActivityParameterNode__ValidateNoEdges__DiagnosticChain_Map() {
 		return getActivityParameterNode().getEOperations().get(6);
 	}
 
@@ -15410,7 +15398,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public EOperation getActivityParameterNode__ValidateNoIncomingEdges__DiagnosticChain_Map() {
+	public EOperation getActivityParameterNode__ValidateSameType__DiagnosticChain_Map() {
 		return getActivityParameterNode().getEOperations().get(5);
 	}
 
@@ -15419,8 +15407,26 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	public EOperation getActivityParameterNode__ValidateNoEdges__DiagnosticChain_Map() {
+		return getActivityParameterNode().getEOperations().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EOperation getActivityParameterNode__ValidateNoIncomingEdges__DiagnosticChain_Map() {
+		return getActivityParameterNode().getEOperations().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
 	public EOperation getActivityParameterNode__ValidateNoOutgoingEdges__DiagnosticChain_Map() {
-		return getActivityParameterNode().getEOperations().get(0);
+		return getActivityParameterNode().getEOperations().get(4);
 	}
 
 	/**
@@ -15429,7 +15435,7 @@
 	 * @generated
 	 */
 	public EOperation getActivityParameterNode__ValidateMaximumOneParameterNode__DiagnosticChain_Map() {
-		return getActivityParameterNode().getEOperations().get(4);
+		return getActivityParameterNode().getEOperations().get(0);
 	}
 
 	/**
@@ -15588,24 +15594,6 @@
 	 * @generated
 	 */
 	public EOperation getDecisionNode__ValidateIncomingOutgoingEdges__DiagnosticChain_Map() {
-		return getDecisionNode().getEOperations().get(4);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EOperation getDecisionNode__ValidateEdges__DiagnosticChain_Map() {
-		return getDecisionNode().getEOperations().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EOperation getDecisionNode__ValidateDecisionInputFlowIncoming__DiagnosticChain_Map() {
 		return getDecisionNode().getEOperations().get(2);
 	}
 
@@ -15614,25 +15602,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public EOperation getDecisionNode__ValidateParameters__DiagnosticChain_Map() {
-		return getDecisionNode().getEOperations().get(6);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EOperation getDecisionNode__ValidateZeroInputParameters__DiagnosticChain_Map() {
-		return getDecisionNode().getEOperations().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EOperation getDecisionNode__ValidateIncomingObjectOneInputParameter__DiagnosticChain_Map() {
+	public EOperation getDecisionNode__ValidateEdges__DiagnosticChain_Map() {
 		return getDecisionNode().getEOperations().get(7);
 	}
 
@@ -15641,7 +15611,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public EOperation getDecisionNode__ValidateIncomingControlOneInputParameter__DiagnosticChain_Map() {
+	public EOperation getDecisionNode__ValidateDecisionInputFlowIncoming__DiagnosticChain_Map() {
 		return getDecisionNode().getEOperations().get(5);
 	}
 
@@ -15650,7 +15620,34 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public EOperation getDecisionNode__ValidateTwoInputParameters__DiagnosticChain_Map() {
+	public EOperation getDecisionNode__ValidateParameters__DiagnosticChain_Map() {
+		return getDecisionNode().getEOperations().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EOperation getDecisionNode__ValidateZeroInputParameters__DiagnosticChain_Map() {
+		return getDecisionNode().getEOperations().get(6);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EOperation getDecisionNode__ValidateIncomingObjectOneInputParameter__DiagnosticChain_Map() {
+		return getDecisionNode().getEOperations().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EOperation getDecisionNode__ValidateIncomingControlOneInputParameter__DiagnosticChain_Map() {
 		return getDecisionNode().getEOperations().get(3);
 	}
 
@@ -15659,6 +15656,15 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	public EOperation getDecisionNode__ValidateTwoInputParameters__DiagnosticChain_Map() {
+		return getDecisionNode().getEOperations().get(4);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
 	public EClass getActivityFinalNode() {
 		if (activityFinalNodeEClass == null) {
 			activityFinalNodeEClass = (EClass) EPackage.Registry.INSTANCE
@@ -15784,7 +15790,7 @@
 	 * @generated
 	 */
 	public EOperation getObjectFlow__ValidateNoActions__DiagnosticChain_Map() {
-		return getObjectFlow().getEOperations().get(1);
+		return getObjectFlow().getEOperations().get(3);
 	}
 
 	/**
@@ -15793,7 +15799,7 @@
 	 * @generated
 	 */
 	public EOperation getObjectFlow__ValidateCompatibleTypes__DiagnosticChain_Map() {
-		return getObjectFlow().getEOperations().get(4);
+		return getObjectFlow().getEOperations().get(2);
 	}
 
 	/**
@@ -15802,7 +15808,7 @@
 	 * @generated
 	 */
 	public EOperation getObjectFlow__ValidateSameUpperBounds__DiagnosticChain_Map() {
-		return getObjectFlow().getEOperations().get(5);
+		return getObjectFlow().getEOperations().get(7);
 	}
 
 	/**
@@ -15820,7 +15826,7 @@
 	 * @generated
 	 */
 	public EOperation getObjectFlow__ValidateTransformationBehaviour__DiagnosticChain_Map() {
-		return getObjectFlow().getEOperations().get(2);
+		return getObjectFlow().getEOperations().get(5);
 	}
 
 	/**
@@ -15829,7 +15835,7 @@
 	 * @generated
 	 */
 	public EOperation getObjectFlow__ValidateSelectionBehaviour__DiagnosticChain_Map() {
-		return getObjectFlow().getEOperations().get(3);
+		return getObjectFlow().getEOperations().get(1);
 	}
 
 	/**
@@ -15838,7 +15844,7 @@
 	 * @generated
 	 */
 	public EOperation getObjectFlow__ValidateInputAndOutputParameter__DiagnosticChain_Map() {
-		return getObjectFlow().getEOperations().get(0);
+		return getObjectFlow().getEOperations().get(4);
 	}
 
 	/**
@@ -15847,7 +15853,7 @@
 	 * @generated
 	 */
 	public EOperation getObjectFlow__ValidateIsMulticastOrIsMultireceive__DiagnosticChain_Map() {
-		return getObjectFlow().getEOperations().get(7);
+		return getObjectFlow().getEOperations().get(0);
 	}
 
 	/**
@@ -15931,42 +15937,6 @@
 	 * @generated
 	 */
 	public EOperation getConditionalNode__ValidateResultNoIncoming__DiagnosticChain_Map() {
-		return getConditionalNode().getEOperations().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EOperation getConditionalNode__ValidateNoInputPins__DiagnosticChain_Map() {
-		return getConditionalNode().getEOperations().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EOperation getConditionalNode__ValidateOneClauseWithExecutableNode__DiagnosticChain_Map() {
-		return getConditionalNode().getEOperations().get(2);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EOperation getConditionalNode__ValidateMatchingOutputPins__DiagnosticChain_Map() {
-		return getConditionalNode().getEOperations().get(3);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EOperation getConditionalNode__ValidateExecutableNodes__DiagnosticChain_Map() {
 		return getConditionalNode().getEOperations().get(4);
 	}
 
@@ -15975,7 +15945,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public EOperation getConditionalNode__ValidateClauseNoPredecessor__DiagnosticChain_Map() {
+	public EOperation getConditionalNode__ValidateNoInputPins__DiagnosticChain_Map() {
 		return getConditionalNode().getEOperations().get(5);
 	}
 
@@ -15984,6 +15954,42 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	public EOperation getConditionalNode__ValidateOneClauseWithExecutableNode__DiagnosticChain_Map() {
+		return getConditionalNode().getEOperations().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EOperation getConditionalNode__ValidateMatchingOutputPins__DiagnosticChain_Map() {
+		return getConditionalNode().getEOperations().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EOperation getConditionalNode__ValidateExecutableNodes__DiagnosticChain_Map() {
+		return getConditionalNode().getEOperations().get(0);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EOperation getConditionalNode__ValidateClauseNoPredecessor__DiagnosticChain_Map() {
+		return getConditionalNode().getEOperations().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
 	public EClass getClause() {
 		if (clauseEClass == null) {
 			clauseEClass = (EClass) EPackage.Registry.INSTANCE
@@ -16052,15 +16058,6 @@
 	 * @generated
 	 */
 	public EOperation getClause__ValidateDeciderOutput__DiagnosticChain_Map() {
-		return getClause().getEOperations().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EOperation getClause__ValidateTestAndBody__DiagnosticChain_Map() {
 		return getClause().getEOperations().get(2);
 	}
 
@@ -16069,7 +16066,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public EOperation getClause__ValidateBodyOutputPins__DiagnosticChain_Map() {
+	public EOperation getClause__ValidateTestAndBody__DiagnosticChain_Map() {
 		return getClause().getEOperations().get(0);
 	}
 
@@ -16078,6 +16075,15 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	public EOperation getClause__ValidateBodyOutputPins__DiagnosticChain_Map() {
+		return getClause().getEOperations().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
 	public EClass getLoopNode() {
 		if (loopNodeEClass == null) {
 			loopNodeEClass = (EClass) EPackage.Registry.INSTANCE
@@ -16173,24 +16179,6 @@
 	 * @generated
 	 */
 	public EOperation getLoopNode__ValidateInputEdges__DiagnosticChain_Map() {
-		return getLoopNode().getEOperations().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EOperation getLoopNode__ValidateExecutableNodes__DiagnosticChain_Map() {
-		return getLoopNode().getEOperations().get(2);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EOperation getLoopNode__ValidateBodyOutputPins__DiagnosticChain_Map() {
 		return getLoopNode().getEOperations().get(3);
 	}
 
@@ -16199,7 +16187,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public EOperation getLoopNode__ValidateResultNoIncoming__DiagnosticChain_Map() {
+	public EOperation getLoopNode__ValidateExecutableNodes__DiagnosticChain_Map() {
 		return getLoopNode().getEOperations().get(0);
 	}
 
@@ -16208,6 +16196,24 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	public EOperation getLoopNode__ValidateBodyOutputPins__DiagnosticChain_Map() {
+		return getLoopNode().getEOperations().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EOperation getLoopNode__ValidateResultNoIncoming__DiagnosticChain_Map() {
+		return getLoopNode().getEOperations().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
 	public EClass getExpansionNode() {
 		if (expansionNodeEClass == null) {
 			expansionNodeEClass = (EClass) EPackage.Registry.INSTANCE
@@ -16365,7 +16371,7 @@
 	 * @generated
 	 */
 	public EOperation getComponent__ValidateNoNestedClassifiers__DiagnosticChain_Map() {
-		return getComponent().getEOperations().get(0);
+		return getComponent().getEOperations().get(1);
 	}
 
 	/**
@@ -16374,7 +16380,7 @@
 	 * @generated
 	 */
 	public EOperation getComponent__ValidateNoPackagedElements__DiagnosticChain_Map() {
-		return getComponent().getEOperations().get(1);
+		return getComponent().getEOperations().get(0);
 	}
 
 	/**
@@ -16583,42 +16589,6 @@
 	 * @generated
 	 */
 	public EOperation getFinalState__ValidateNoOutgoingTransitions__DiagnosticChain_Map() {
-		return getFinalState().getEOperations().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EOperation getFinalState__ValidateNoRegions__DiagnosticChain_Map() {
-		return getFinalState().getEOperations().get(2);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EOperation getFinalState__ValidateCannotReferenceSubmachine__DiagnosticChain_Map() {
-		return getFinalState().getEOperations().get(3);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EOperation getFinalState__ValidateNoEntryBehavior__DiagnosticChain_Map() {
-		return getFinalState().getEOperations().get(4);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EOperation getFinalState__ValidateNoExitBehavior__DiagnosticChain_Map() {
 		return getFinalState().getEOperations().get(0);
 	}
 
@@ -16627,7 +16597,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public EOperation getFinalState__ValidateNoStateBehavior__DiagnosticChain_Map() {
+	public EOperation getFinalState__ValidateNoRegions__DiagnosticChain_Map() {
 		return getFinalState().getEOperations().get(5);
 	}
 
@@ -16636,6 +16606,42 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	public EOperation getFinalState__ValidateCannotReferenceSubmachine__DiagnosticChain_Map() {
+		return getFinalState().getEOperations().get(1);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EOperation getFinalState__ValidateNoEntryBehavior__DiagnosticChain_Map() {
+		return getFinalState().getEOperations().get(3);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EOperation getFinalState__ValidateNoExitBehavior__DiagnosticChain_Map() {
+		return getFinalState().getEOperations().get(2);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EOperation getFinalState__ValidateNoStateBehavior__DiagnosticChain_Map() {
+		return getFinalState().getEOperations().get(4);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
 	public EClass getTimeEvent() {
 		if (timeEventEClass == null) {
 			timeEventEClass = (EClass) EPackage.Registry.INSTANCE
@@ -16668,7 +16674,7 @@
 	 * @generated
 	 */
 	public EOperation getTimeEvent__ValidateWhenNonNegative__DiagnosticChain_Map() {
-		return getTimeEvent().getEOperations().get(0);
+		return getTimeEvent().getEOperations().get(1);
 	}
 
 	/**
@@ -16677,7 +16683,7 @@
 	 * @generated
 	 */
 	public EOperation getTimeEvent__ValidateStartingTime__DiagnosticChain_Map() {
-		return getTimeEvent().getEOperations().get(1);
+		return getTimeEvent().getEOperations().get(0);
 	}
 
 	/**
@@ -16778,7 +16784,7 @@
 	 * @generated
 	 */
 	public EOperation getAssociationClass__ValidateCannotBeDefined__DiagnosticChain_Map() {
-		return getAssociationClass().getEOperations().get(0);
+		return getAssociationClass().getEOperations().get(1);
 	}
 
 	/**
@@ -16787,7 +16793,7 @@
 	 * @generated
 	 */
 	public EOperation getAssociationClass__ValidateDisjointAttributesEnds__DiagnosticChain_Map() {
-		return getAssociationClass().getEOperations().get(1);
+		return getAssociationClass().getEOperations().get(0);
 	}
 
 	/**
@@ -16798,7 +16804,7 @@
 	public EEnum getVisibilityKind() {
 		if (visibilityKindEEnum == null) {
 			visibilityKindEEnum = (EEnum) EPackage.Registry.INSTANCE
-				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(24);
+				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(30);
 		}
 		return visibilityKindEEnum;
 	}
@@ -16811,7 +16817,7 @@
 	public EEnum getCallConcurrencyKind() {
 		if (callConcurrencyKindEEnum == null) {
 			callConcurrencyKindEEnum = (EEnum) EPackage.Registry.INSTANCE
-				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(48);
+				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(50);
 		}
 		return callConcurrencyKindEEnum;
 	}
@@ -16850,7 +16856,7 @@
 	public EEnum getAggregationKind() {
 		if (aggregationKindEEnum == null) {
 			aggregationKindEEnum = (EEnum) EPackage.Registry.INSTANCE
-				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(75);
+				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(79);
 		}
 		return aggregationKindEEnum;
 	}
@@ -16863,7 +16869,7 @@
 	public EEnum getParameterDirectionKind() {
 		if (parameterDirectionKindEEnum == null) {
 			parameterDirectionKindEEnum = (EEnum) EPackage.Registry.INSTANCE
-				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(51);
+				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(74);
 		}
 		return parameterDirectionKindEEnum;
 	}
@@ -16876,7 +16882,7 @@
 	public EEnum getParameterEffectKind() {
 		if (parameterEffectKindEEnum == null) {
 			parameterEffectKindEEnum = (EEnum) EPackage.Registry.INSTANCE
-				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(52);
+				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(75);
 		}
 		return parameterEffectKindEEnum;
 	}
@@ -16889,7 +16895,7 @@
 	public EEnum getConnectorKind() {
 		if (connectorKindEEnum == null) {
 			connectorKindEEnum = (EEnum) EPackage.Registry.INSTANCE
-				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(88);
+				.getEPackage(UMLPackage.eNS_URI).getEClassifiers().get(100);
 		}
 		return connectorKindEEnum;
 	}
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/UnmarshallActionImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/UnmarshallActionImpl.java
index aedfd02..350f879 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/UnmarshallActionImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/UnmarshallActionImpl.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: UnmarshallActionImpl.java,v 1.30 2010/09/28 21:02:14 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -496,8 +495,6 @@
 					.basicRemove(otherEnd, msgs);
 			case UMLPackage.UNMARSHALL_ACTION__NAME_EXPRESSION :
 				return basicSetNameExpression(null, msgs);
-			case UMLPackage.UNMARSHALL_ACTION__ACTIVITY :
-				return basicSetActivity(null, msgs);
 			case UMLPackage.UNMARSHALL_ACTION__IN_PARTITION :
 				return ((InternalEList<?>) getInPartitions()).basicRemove(
 					otherEnd, msgs);
@@ -574,8 +571,6 @@
 				if (resolve)
 					return getActivity();
 				return basicGetActivity();
-			case UMLPackage.UNMARSHALL_ACTION__IN_GROUP :
-				return getInGroups();
 			case UMLPackage.UNMARSHALL_ACTION__IN_PARTITION :
 				return getInPartitions();
 			case UMLPackage.UNMARSHALL_ACTION__IN_STRUCTURED_NODE :
@@ -588,6 +583,8 @@
 				return getOutgoings();
 			case UMLPackage.UNMARSHALL_ACTION__INCOMING :
 				return getIncomings();
+			case UMLPackage.UNMARSHALL_ACTION__IN_GROUP :
+				return getInGroups();
 			case UMLPackage.UNMARSHALL_ACTION__REDEFINED_NODE :
 				return getRedefinedNodes();
 			case UMLPackage.UNMARSHALL_ACTION__HANDLER :
@@ -834,8 +831,6 @@
 				return isSetRedefinitionContexts();
 			case UMLPackage.UNMARSHALL_ACTION__ACTIVITY :
 				return basicGetActivity() != null;
-			case UMLPackage.UNMARSHALL_ACTION__IN_GROUP :
-				return isSetInGroups();
 			case UMLPackage.UNMARSHALL_ACTION__IN_PARTITION :
 				return inPartitions != null && !inPartitions.isEmpty();
 			case UMLPackage.UNMARSHALL_ACTION__IN_STRUCTURED_NODE :
@@ -847,6 +842,8 @@
 				return outgoings != null && !outgoings.isEmpty();
 			case UMLPackage.UNMARSHALL_ACTION__INCOMING :
 				return incomings != null && !incomings.isEmpty();
+			case UMLPackage.UNMARSHALL_ACTION__IN_GROUP :
+				return isSetInGroups();
 			case UMLPackage.UNMARSHALL_ACTION__REDEFINED_NODE :
 				return redefinedNodes != null && !redefinedNodes.isEmpty();
 			case UMLPackage.UNMARSHALL_ACTION__HANDLER :
@@ -967,10 +964,6 @@
 				return allOwnedElements();
 			case UMLPackage.UNMARSHALL_ACTION___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.UNMARSHALL_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.UNMARSHALL_ACTION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -979,6 +972,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.UNMARSHALL_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.UNMARSHALL_ACTION___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.UNMARSHALL_ACTION___CREATE_USAGE__NAMEDELEMENT :
@@ -1026,32 +1023,32 @@
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.UNMARSHALL_ACTION___GET_CONTEXT :
 				return getContext();
+			case UMLPackage.UNMARSHALL_ACTION___VALIDATE_SAME_TYPE__DIAGNOSTICCHAIN_MAP :
+				return validateSameType((DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.UNMARSHALL_ACTION___VALIDATE_STRUCTURAL_FEATURE__DIAGNOSTICCHAIN_MAP :
 				return validateStructuralFeature(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.UNMARSHALL_ACTION___VALIDATE_NUMBER_OF_RESULT__DIAGNOSTICCHAIN_MAP :
-				return validateNumberOfResult(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.UNMARSHALL_ACTION___VALIDATE_MULTIPLICITY_OF_RESULT__DIAGNOSTICCHAIN_MAP :
-				return validateMultiplicityOfResult(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.UNMARSHALL_ACTION___VALIDATE_TYPE_AND_ORDERING__DIAGNOSTICCHAIN_MAP :
-				return validateTypeAndOrdering(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.UNMARSHALL_ACTION___VALIDATE_UNMARSHALL_TYPE_IS_CLASSIFIER__DIAGNOSTICCHAIN_MAP :
-				return validateUnmarshallTypeIsClassifier(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.UNMARSHALL_ACTION___VALIDATE_MULTIPLICITY_OF_OBJECT__DIAGNOSTICCHAIN_MAP :
 				return validateMultiplicityOfObject(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.UNMARSHALL_ACTION___VALIDATE_SAME_TYPE__DIAGNOSTICCHAIN_MAP :
-				return validateSameType((DiagnosticChain) arguments.get(0),
+			case UMLPackage.UNMARSHALL_ACTION___VALIDATE_TYPE_AND_ORDERING__DIAGNOSTICCHAIN_MAP :
+				return validateTypeAndOrdering(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.UNMARSHALL_ACTION___VALIDATE_NUMBER_OF_RESULT__DIAGNOSTICCHAIN_MAP :
+				return validateNumberOfResult(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.UNMARSHALL_ACTION___VALIDATE_UNMARSHALL_TYPE_IS_CLASSIFIER__DIAGNOSTICCHAIN_MAP :
+				return validateUnmarshallTypeIsClassifier(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.UNMARSHALL_ACTION___VALIDATE_MULTIPLICITY_OF_RESULT__DIAGNOSTICCHAIN_MAP :
+				return validateMultiplicityOfResult(
+					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 		}
 		return eDynamicInvoke(operationID, arguments);
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/UseCaseImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/UseCaseImpl.java
index d730a38..fdec18c 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/UseCaseImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/UseCaseImpl.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: UseCaseImpl.java,v 1.30 2010/09/28 21:02:13 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -1198,10 +1197,6 @@
 				return allOwnedElements();
 			case UMLPackage.USE_CASE___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.USE_CASE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.USE_CASE___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -1210,6 +1205,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.USE_CASE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.USE_CASE___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.USE_CASE___CREATE_USAGE__NAMEDELEMENT :
@@ -1299,14 +1298,6 @@
 				return isTemplate();
 			case UMLPackage.USE_CASE___PARAMETERABLE_ELEMENTS :
 				return parameterableElements();
-			case UMLPackage.USE_CASE___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP :
-				return validateSpecializeType(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.USE_CASE___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP :
-				return validateMapsToGeneralizationSet(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.USE_CASE___VALIDATE_NON_FINAL_PARENTS__DIAGNOSTICCHAIN_MAP :
 				return validateNonFinalParents(
 					(DiagnosticChain) arguments.get(0),
@@ -1315,6 +1306,14 @@
 				return validateNoCyclesInGeneralization(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.USE_CASE___VALIDATE_SPECIALIZE_TYPE__DIAGNOSTICCHAIN_MAP :
+				return validateSpecializeType(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.USE_CASE___VALIDATE_MAPS_TO_GENERALIZATION_SET__DIAGNOSTICCHAIN_MAP :
+				return validateMapsToGeneralizationSet(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.USE_CASE___GET_ALL_ATTRIBUTES :
 				return getAllAttributes();
 			case UMLPackage.USE_CASE___GET_ALL_OPERATIONS :
@@ -1361,6 +1360,13 @@
 				return getAllImplementedInterfaces();
 			case UMLPackage.USE_CASE___GET_IMPLEMENTED_INTERFACES :
 				return getImplementedInterfaces();
+			case UMLPackage.USE_CASE___VALIDATE_MUST_HAVE_NAME__DIAGNOSTICCHAIN_MAP :
+				return validateMustHaveName((DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.USE_CASE___VALIDATE_CANNOT_INCLUDE_SELF__DIAGNOSTICCHAIN_MAP :
+				return validateCannotIncludeSelf(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.USE_CASE___VALIDATE_BINARY_ASSOCIATIONS__DIAGNOSTICCHAIN_MAP :
 				return validateBinaryAssociations(
 					(DiagnosticChain) arguments.get(0),
@@ -1369,13 +1375,6 @@
 				return validateNoAssociationToUseCase(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.USE_CASE___VALIDATE_CANNOT_INCLUDE_SELF__DIAGNOSTICCHAIN_MAP :
-				return validateCannotIncludeSelf(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.USE_CASE___VALIDATE_MUST_HAVE_NAME__DIAGNOSTICCHAIN_MAP :
-				return validateMustHaveName((DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.USE_CASE___ALL_INCLUDED_USE_CASES :
 				return allIncludedUseCases();
 		}
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ValuePinImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ValuePinImpl.java
index 22ba0d0..3a3c2ff 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ValuePinImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ValuePinImpl.java
@@ -9,9 +9,8 @@
  *   IBM - initial API and implementation
  *   Kenn Hussey (Embarcadero Technologies) - 204200
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ValuePinImpl.java,v 1.30 2010/09/28 21:02:13 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -289,8 +288,6 @@
 					.basicRemove(otherEnd, msgs);
 			case UMLPackage.VALUE_PIN__NAME_EXPRESSION :
 				return basicSetNameExpression(null, msgs);
-			case UMLPackage.VALUE_PIN__ACTIVITY :
-				return basicSetActivity(null, msgs);
 			case UMLPackage.VALUE_PIN__IN_PARTITION :
 				return ((InternalEList<?>) getInPartitions()).basicRemove(
 					otherEnd, msgs);
@@ -361,8 +358,6 @@
 				if (resolve)
 					return getActivity();
 				return basicGetActivity();
-			case UMLPackage.VALUE_PIN__IN_GROUP :
-				return getInGroups();
 			case UMLPackage.VALUE_PIN__IN_PARTITION :
 				return getInPartitions();
 			case UMLPackage.VALUE_PIN__IN_STRUCTURED_NODE :
@@ -375,6 +370,8 @@
 				return getOutgoings();
 			case UMLPackage.VALUE_PIN__INCOMING :
 				return getIncomings();
+			case UMLPackage.VALUE_PIN__IN_GROUP :
+				return getInGroups();
 			case UMLPackage.VALUE_PIN__REDEFINED_NODE :
 				return getRedefinedNodes();
 			case UMLPackage.VALUE_PIN__TYPE :
@@ -671,8 +668,6 @@
 				return isSetRedefinitionContexts();
 			case UMLPackage.VALUE_PIN__ACTIVITY :
 				return basicGetActivity() != null;
-			case UMLPackage.VALUE_PIN__IN_GROUP :
-				return isSetInGroups();
 			case UMLPackage.VALUE_PIN__IN_PARTITION :
 				return inPartitions != null && !inPartitions.isEmpty();
 			case UMLPackage.VALUE_PIN__IN_STRUCTURED_NODE :
@@ -684,6 +679,8 @@
 				return outgoings != null && !outgoings.isEmpty();
 			case UMLPackage.VALUE_PIN__INCOMING :
 				return incomings != null && !incomings.isEmpty();
+			case UMLPackage.VALUE_PIN__IN_GROUP :
+				return isSetInGroups();
 			case UMLPackage.VALUE_PIN__REDEFINED_NODE :
 				return redefinedNodes != null && !redefinedNodes.isEmpty();
 			case UMLPackage.VALUE_PIN__TYPE :
@@ -810,10 +807,6 @@
 				return allOwnedElements();
 			case UMLPackage.VALUE_PIN___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.VALUE_PIN___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.VALUE_PIN___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -822,6 +815,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.VALUE_PIN___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.VALUE_PIN___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.VALUE_PIN___CREATE_USAGE__NAMEDELEMENT :
@@ -867,32 +864,32 @@
 				return validateOwnedStructuredNode(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.VALUE_PIN___VALIDATE_INPUT_OUTPUT_PARAMETER__DIAGNOSTICCHAIN_MAP :
-				return validateInputOutputParameter(
+			case UMLPackage.VALUE_PIN___VALIDATE_OBJECT_FLOW_EDGES__DIAGNOSTICCHAIN_MAP :
+				return validateObjectFlowEdges(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.VALUE_PIN___VALIDATE_SELECTION_BEHAVIOR__DIAGNOSTICCHAIN_MAP :
 				return validateSelectionBehavior(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.VALUE_PIN___VALIDATE_OBJECT_FLOW_EDGES__DIAGNOSTICCHAIN_MAP :
-				return validateObjectFlowEdges(
+			case UMLPackage.VALUE_PIN___VALIDATE_INPUT_OUTPUT_PARAMETER__DIAGNOSTICCHAIN_MAP :
+				return validateInputOutputParameter(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.VALUE_PIN___VALIDATE_UPPER_GE_LOWER__DIAGNOSTICCHAIN_MAP :
-				return validateUpperGeLower((DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.VALUE_PIN___VALIDATE_LOWER_GE0__DIAGNOSTICCHAIN_MAP :
 				return validateLowerGe0((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.VALUE_PIN___VALIDATE_VALUE_SPECIFICATION_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP :
-				return validateValueSpecificationNoSideEffects(
-					(DiagnosticChain) arguments.get(0),
+			case UMLPackage.VALUE_PIN___VALIDATE_UPPER_GE_LOWER__DIAGNOSTICCHAIN_MAP :
+				return validateUpperGeLower((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.VALUE_PIN___VALIDATE_VALUE_SPECIFICATION_CONSTANT__DIAGNOSTICCHAIN_MAP :
 				return validateValueSpecificationConstant(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.VALUE_PIN___VALIDATE_VALUE_SPECIFICATION_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP :
+				return validateValueSpecificationNoSideEffects(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.VALUE_PIN___SET_LOWER__INT :
 				setLower((Integer) arguments.get(0));
 				return null;
@@ -926,14 +923,14 @@
 				return validateOutgoingEdgesStructuredOnly(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.VALUE_PIN___VALIDATE_NO_INCOMING_EDGES__DIAGNOSTICCHAIN_MAP :
-				return validateNoIncomingEdges(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.VALUE_PIN___VALIDATE_COMPATIBLE_TYPE__DIAGNOSTICCHAIN_MAP :
 				return validateCompatibleType(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.VALUE_PIN___VALIDATE_NO_INCOMING_EDGES__DIAGNOSTICCHAIN_MAP :
+				return validateNoIncomingEdges(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 		}
 		return eDynamicInvoke(operationID, arguments);
 	}
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ValueSpecificationActionImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ValueSpecificationActionImpl.java
index aff1af9..20cf3bd 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ValueSpecificationActionImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ValueSpecificationActionImpl.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ValueSpecificationActionImpl.java,v 1.29 2010/09/28 21:02:13 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -397,8 +396,6 @@
 					.basicRemove(otherEnd, msgs);
 			case UMLPackage.VALUE_SPECIFICATION_ACTION__NAME_EXPRESSION :
 				return basicSetNameExpression(null, msgs);
-			case UMLPackage.VALUE_SPECIFICATION_ACTION__ACTIVITY :
-				return basicSetActivity(null, msgs);
 			case UMLPackage.VALUE_SPECIFICATION_ACTION__IN_PARTITION :
 				return ((InternalEList<?>) getInPartitions()).basicRemove(
 					otherEnd, msgs);
@@ -474,8 +471,6 @@
 				if (resolve)
 					return getActivity();
 				return basicGetActivity();
-			case UMLPackage.VALUE_SPECIFICATION_ACTION__IN_GROUP :
-				return getInGroups();
 			case UMLPackage.VALUE_SPECIFICATION_ACTION__IN_PARTITION :
 				return getInPartitions();
 			case UMLPackage.VALUE_SPECIFICATION_ACTION__IN_STRUCTURED_NODE :
@@ -488,6 +483,8 @@
 				return getOutgoings();
 			case UMLPackage.VALUE_SPECIFICATION_ACTION__INCOMING :
 				return getIncomings();
+			case UMLPackage.VALUE_SPECIFICATION_ACTION__IN_GROUP :
+				return getInGroups();
 			case UMLPackage.VALUE_SPECIFICATION_ACTION__REDEFINED_NODE :
 				return getRedefinedNodes();
 			case UMLPackage.VALUE_SPECIFICATION_ACTION__HANDLER :
@@ -725,8 +722,6 @@
 				return isSetRedefinitionContexts();
 			case UMLPackage.VALUE_SPECIFICATION_ACTION__ACTIVITY :
 				return basicGetActivity() != null;
-			case UMLPackage.VALUE_SPECIFICATION_ACTION__IN_GROUP :
-				return isSetInGroups();
 			case UMLPackage.VALUE_SPECIFICATION_ACTION__IN_PARTITION :
 				return inPartitions != null && !inPartitions.isEmpty();
 			case UMLPackage.VALUE_SPECIFICATION_ACTION__IN_STRUCTURED_NODE :
@@ -738,6 +733,8 @@
 				return outgoings != null && !outgoings.isEmpty();
 			case UMLPackage.VALUE_SPECIFICATION_ACTION__INCOMING :
 				return incomings != null && !incomings.isEmpty();
+			case UMLPackage.VALUE_SPECIFICATION_ACTION__IN_GROUP :
+				return isSetInGroups();
 			case UMLPackage.VALUE_SPECIFICATION_ACTION__REDEFINED_NODE :
 				return redefinedNodes != null && !redefinedNodes.isEmpty();
 			case UMLPackage.VALUE_SPECIFICATION_ACTION__HANDLER :
@@ -856,10 +853,6 @@
 				return allOwnedElements();
 			case UMLPackage.VALUE_SPECIFICATION_ACTION___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.VALUE_SPECIFICATION_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.VALUE_SPECIFICATION_ACTION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -868,6 +861,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.VALUE_SPECIFICATION_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.VALUE_SPECIFICATION_ACTION___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.VALUE_SPECIFICATION_ACTION___CREATE_USAGE__NAMEDELEMENT :
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ValueSpecificationImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ValueSpecificationImpl.java
index 37b597d..7ff39d2 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ValueSpecificationImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/ValueSpecificationImpl.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ValueSpecificationImpl.java,v 1.17 2010/09/28 21:02:13 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -506,10 +505,6 @@
 				return allOwnedElements();
 			case UMLPackage.VALUE_SPECIFICATION___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.VALUE_SPECIFICATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.VALUE_SPECIFICATION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -518,6 +513,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.VALUE_SPECIFICATION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.VALUE_SPECIFICATION___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.VALUE_SPECIFICATION___CREATE_USAGE__NAMEDELEMENT :
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/VariableActionImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/VariableActionImpl.java
index b1063de..0580d7f 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/VariableActionImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/VariableActionImpl.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: VariableActionImpl.java,v 1.20 2010/09/28 21:02:14 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -193,8 +192,6 @@
 				if (resolve)
 					return getActivity();
 				return basicGetActivity();
-			case UMLPackage.VARIABLE_ACTION__IN_GROUP :
-				return getInGroups();
 			case UMLPackage.VARIABLE_ACTION__IN_PARTITION :
 				return getInPartitions();
 			case UMLPackage.VARIABLE_ACTION__IN_STRUCTURED_NODE :
@@ -207,6 +204,8 @@
 				return getOutgoings();
 			case UMLPackage.VARIABLE_ACTION__INCOMING :
 				return getIncomings();
+			case UMLPackage.VARIABLE_ACTION__IN_GROUP :
+				return getInGroups();
 			case UMLPackage.VARIABLE_ACTION__REDEFINED_NODE :
 				return getRedefinedNodes();
 			case UMLPackage.VARIABLE_ACTION__HANDLER :
@@ -434,8 +433,6 @@
 				return isSetRedefinitionContexts();
 			case UMLPackage.VARIABLE_ACTION__ACTIVITY :
 				return basicGetActivity() != null;
-			case UMLPackage.VARIABLE_ACTION__IN_GROUP :
-				return isSetInGroups();
 			case UMLPackage.VARIABLE_ACTION__IN_PARTITION :
 				return inPartitions != null && !inPartitions.isEmpty();
 			case UMLPackage.VARIABLE_ACTION__IN_STRUCTURED_NODE :
@@ -447,6 +444,8 @@
 				return outgoings != null && !outgoings.isEmpty();
 			case UMLPackage.VARIABLE_ACTION__INCOMING :
 				return incomings != null && !incomings.isEmpty();
+			case UMLPackage.VARIABLE_ACTION__IN_GROUP :
+				return isSetInGroups();
 			case UMLPackage.VARIABLE_ACTION__REDEFINED_NODE :
 				return redefinedNodes != null && !redefinedNodes.isEmpty();
 			case UMLPackage.VARIABLE_ACTION__HANDLER :
@@ -563,10 +562,6 @@
 				return allOwnedElements();
 			case UMLPackage.VARIABLE_ACTION___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.VARIABLE_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.VARIABLE_ACTION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -575,6 +570,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.VARIABLE_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.VARIABLE_ACTION___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.VARIABLE_ACTION___CREATE_USAGE__NAMEDELEMENT :
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/VariableImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/VariableImpl.java
index d0eabb6..dc2a74a 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/VariableImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/VariableImpl.java
@@ -9,9 +9,8 @@
  *   IBM - initial API and implementation
  *   Kenn Hussey (Embarcadero Technologies) - 204200
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: VariableImpl.java,v 1.38 2010/09/28 21:02:13 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -1194,14 +1193,14 @@
 	public int eDerivedOperationID(int baseOperationID, Class<?> baseClass) {
 		if (baseClass == MultiplicityElement.class) {
 			switch (baseOperationID) {
-				case UMLPackage.MULTIPLICITY_ELEMENT___VALIDATE_UPPER_GE_LOWER__DIAGNOSTICCHAIN_MAP :
-					return UMLPackage.VARIABLE___VALIDATE_UPPER_GE_LOWER__DIAGNOSTICCHAIN_MAP;
 				case UMLPackage.MULTIPLICITY_ELEMENT___VALIDATE_LOWER_GE0__DIAGNOSTICCHAIN_MAP :
 					return UMLPackage.VARIABLE___VALIDATE_LOWER_GE0__DIAGNOSTICCHAIN_MAP;
-				case UMLPackage.MULTIPLICITY_ELEMENT___VALIDATE_VALUE_SPECIFICATION_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP :
-					return UMLPackage.VARIABLE___VALIDATE_VALUE_SPECIFICATION_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP;
+				case UMLPackage.MULTIPLICITY_ELEMENT___VALIDATE_UPPER_GE_LOWER__DIAGNOSTICCHAIN_MAP :
+					return UMLPackage.VARIABLE___VALIDATE_UPPER_GE_LOWER__DIAGNOSTICCHAIN_MAP;
 				case UMLPackage.MULTIPLICITY_ELEMENT___VALIDATE_VALUE_SPECIFICATION_CONSTANT__DIAGNOSTICCHAIN_MAP :
 					return UMLPackage.VARIABLE___VALIDATE_VALUE_SPECIFICATION_CONSTANT__DIAGNOSTICCHAIN_MAP;
+				case UMLPackage.MULTIPLICITY_ELEMENT___VALIDATE_VALUE_SPECIFICATION_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP :
+					return UMLPackage.VARIABLE___VALIDATE_VALUE_SPECIFICATION_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP;
 				case UMLPackage.MULTIPLICITY_ELEMENT___SET_LOWER__INT :
 					return UMLPackage.VARIABLE___SET_LOWER__INT;
 				case UMLPackage.MULTIPLICITY_ELEMENT___SET_UPPER__INT :
@@ -1323,10 +1322,6 @@
 				return allOwnedElements();
 			case UMLPackage.VARIABLE___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.VARIABLE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.VARIABLE___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -1335,6 +1330,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.VARIABLE___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.VARIABLE___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.VARIABLE___CREATE_USAGE__NAMEDELEMENT :
@@ -1362,20 +1361,20 @@
 				return isTemplateParameter();
 			case UMLPackage.VARIABLE___GET_ENDS :
 				return getEnds();
-			case UMLPackage.VARIABLE___VALIDATE_UPPER_GE_LOWER__DIAGNOSTICCHAIN_MAP :
-				return validateUpperGeLower((DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.VARIABLE___VALIDATE_LOWER_GE0__DIAGNOSTICCHAIN_MAP :
 				return validateLowerGe0((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.VARIABLE___VALIDATE_VALUE_SPECIFICATION_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP :
-				return validateValueSpecificationNoSideEffects(
-					(DiagnosticChain) arguments.get(0),
+			case UMLPackage.VARIABLE___VALIDATE_UPPER_GE_LOWER__DIAGNOSTICCHAIN_MAP :
+				return validateUpperGeLower((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.VARIABLE___VALIDATE_VALUE_SPECIFICATION_CONSTANT__DIAGNOSTICCHAIN_MAP :
 				return validateValueSpecificationConstant(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.VARIABLE___VALIDATE_VALUE_SPECIFICATION_NO_SIDE_EFFECTS__DIAGNOSTICCHAIN_MAP :
+				return validateValueSpecificationNoSideEffects(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.VARIABLE___SET_LOWER__INT :
 				setLower((Integer) arguments.get(0));
 				return null;
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/VertexImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/VertexImpl.java
index 21da6e7..1fd58b7 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/VertexImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/VertexImpl.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: VertexImpl.java,v 1.26 2010/09/28 21:02:14 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -557,10 +556,6 @@
 				return allOwnedElements();
 			case UMLPackage.VERTEX___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.VERTEX___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.VERTEX___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -569,6 +564,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.VERTEX___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.VERTEX___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.VERTEX___CREATE_USAGE__NAMEDELEMENT :
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/WriteLinkActionImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/WriteLinkActionImpl.java
index a30a933..54e3229 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/WriteLinkActionImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/WriteLinkActionImpl.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: WriteLinkActionImpl.java,v 1.5 2010/09/28 21:02:13 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -166,10 +165,6 @@
 				return allOwnedElements();
 			case UMLPackage.WRITE_LINK_ACTION___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.WRITE_LINK_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.WRITE_LINK_ACTION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -178,6 +173,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.WRITE_LINK_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.WRITE_LINK_ACTION___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.WRITE_LINK_ACTION___CREATE_USAGE__NAMEDELEMENT :
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/WriteStructuralFeatureActionImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/WriteStructuralFeatureActionImpl.java
index dfcd625..6c1cb1a 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/WriteStructuralFeatureActionImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/WriteStructuralFeatureActionImpl.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: WriteStructuralFeatureActionImpl.java,v 1.30 2010/09/28 21:02:13 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -430,8 +429,6 @@
 					.basicRemove(otherEnd, msgs);
 			case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__NAME_EXPRESSION :
 				return basicSetNameExpression(null, msgs);
-			case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__ACTIVITY :
-				return basicSetActivity(null, msgs);
 			case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__IN_PARTITION :
 				return ((InternalEList<?>) getInPartitions()).basicRemove(
 					otherEnd, msgs);
@@ -509,8 +506,6 @@
 				if (resolve)
 					return getActivity();
 				return basicGetActivity();
-			case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__IN_GROUP :
-				return getInGroups();
 			case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__IN_PARTITION :
 				return getInPartitions();
 			case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__IN_STRUCTURED_NODE :
@@ -523,6 +518,8 @@
 				return getOutgoings();
 			case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__INCOMING :
 				return getIncomings();
+			case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__IN_GROUP :
+				return getInGroups();
 			case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__REDEFINED_NODE :
 				return getRedefinedNodes();
 			case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__HANDLER :
@@ -780,8 +777,6 @@
 				return isSetRedefinitionContexts();
 			case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__ACTIVITY :
 				return basicGetActivity() != null;
-			case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__IN_GROUP :
-				return isSetInGroups();
 			case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__IN_PARTITION :
 				return inPartitions != null && !inPartitions.isEmpty();
 			case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__IN_STRUCTURED_NODE :
@@ -793,6 +788,8 @@
 				return outgoings != null && !outgoings.isEmpty();
 			case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__INCOMING :
 				return incomings != null && !incomings.isEmpty();
+			case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__IN_GROUP :
+				return isSetInGroups();
 			case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__REDEFINED_NODE :
 				return redefinedNodes != null && !redefinedNodes.isEmpty();
 			case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION__HANDLER :
@@ -915,10 +912,6 @@
 				return allOwnedElements();
 			case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -927,6 +920,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION___CREATE_USAGE__NAMEDELEMENT :
@@ -974,15 +971,12 @@
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION___GET_CONTEXT :
 				return getContext();
-			case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION___VALIDATE_MULTIPLICITY__DIAGNOSTICCHAIN_MAP :
-				return validateMultiplicity((DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION___VALIDATE_SAME_TYPE__DIAGNOSTICCHAIN_MAP :
-				return validateSameType((DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION___VALIDATE_VISIBILITY__DIAGNOSTICCHAIN_MAP :
 				return validateVisibility((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION___VALIDATE_MULTIPLICITY__DIAGNOSTICCHAIN_MAP :
+				return validateMultiplicity((DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION___VALIDATE_NOT_STATIC__DIAGNOSTICCHAIN_MAP :
 				return validateNotStatic((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
@@ -990,9 +984,8 @@
 				return validateOneFeaturingClassifier(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION___VALIDATE_MULTIPLICITY_OF_RESULT__DIAGNOSTICCHAIN_MAP :
-				return validateMultiplicityOfResult(
-					(DiagnosticChain) arguments.get(0),
+			case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION___VALIDATE_SAME_TYPE__DIAGNOSTICCHAIN_MAP :
+				return validateSameType((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION___VALIDATE_INPUT_PIN__DIAGNOSTICCHAIN_MAP :
 				return validateInputPin((DiagnosticChain) arguments.get(0),
@@ -1000,6 +993,10 @@
 			case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION___VALIDATE_TYPE_OF_RESULT__DIAGNOSTICCHAIN_MAP :
 				return validateTypeOfResult((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.WRITE_STRUCTURAL_FEATURE_ACTION___VALIDATE_MULTIPLICITY_OF_RESULT__DIAGNOSTICCHAIN_MAP :
+				return validateMultiplicityOfResult(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 		}
 		return eDynamicInvoke(operationID, arguments);
 	}
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/WriteVariableActionImpl.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/WriteVariableActionImpl.java
index c19300c..4e5da8b 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/WriteVariableActionImpl.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/WriteVariableActionImpl.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey - 286329, 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: WriteVariableActionImpl.java,v 1.29 2010/09/28 21:02:13 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.impl;
 
@@ -285,8 +284,6 @@
 					.basicRemove(otherEnd, msgs);
 			case UMLPackage.WRITE_VARIABLE_ACTION__NAME_EXPRESSION :
 				return basicSetNameExpression(null, msgs);
-			case UMLPackage.WRITE_VARIABLE_ACTION__ACTIVITY :
-				return basicSetActivity(null, msgs);
 			case UMLPackage.WRITE_VARIABLE_ACTION__IN_PARTITION :
 				return ((InternalEList<?>) getInPartitions()).basicRemove(
 					otherEnd, msgs);
@@ -360,8 +357,6 @@
 				if (resolve)
 					return getActivity();
 				return basicGetActivity();
-			case UMLPackage.WRITE_VARIABLE_ACTION__IN_GROUP :
-				return getInGroups();
 			case UMLPackage.WRITE_VARIABLE_ACTION__IN_PARTITION :
 				return getInPartitions();
 			case UMLPackage.WRITE_VARIABLE_ACTION__IN_STRUCTURED_NODE :
@@ -374,6 +369,8 @@
 				return getOutgoings();
 			case UMLPackage.WRITE_VARIABLE_ACTION__INCOMING :
 				return getIncomings();
+			case UMLPackage.WRITE_VARIABLE_ACTION__IN_GROUP :
+				return getInGroups();
 			case UMLPackage.WRITE_VARIABLE_ACTION__REDEFINED_NODE :
 				return getRedefinedNodes();
 			case UMLPackage.WRITE_VARIABLE_ACTION__HANDLER :
@@ -611,8 +608,6 @@
 				return isSetRedefinitionContexts();
 			case UMLPackage.WRITE_VARIABLE_ACTION__ACTIVITY :
 				return basicGetActivity() != null;
-			case UMLPackage.WRITE_VARIABLE_ACTION__IN_GROUP :
-				return isSetInGroups();
 			case UMLPackage.WRITE_VARIABLE_ACTION__IN_PARTITION :
 				return inPartitions != null && !inPartitions.isEmpty();
 			case UMLPackage.WRITE_VARIABLE_ACTION__IN_STRUCTURED_NODE :
@@ -624,6 +619,8 @@
 				return outgoings != null && !outgoings.isEmpty();
 			case UMLPackage.WRITE_VARIABLE_ACTION__INCOMING :
 				return incomings != null && !incomings.isEmpty();
+			case UMLPackage.WRITE_VARIABLE_ACTION__IN_GROUP :
+				return isSetInGroups();
 			case UMLPackage.WRITE_VARIABLE_ACTION__REDEFINED_NODE :
 				return redefinedNodes != null && !redefinedNodes.isEmpty();
 			case UMLPackage.WRITE_VARIABLE_ACTION__HANDLER :
@@ -742,10 +739,6 @@
 				return allOwnedElements();
 			case UMLPackage.WRITE_VARIABLE_ACTION___MUST_BE_OWNED :
 				return mustBeOwned();
-			case UMLPackage.WRITE_VARIABLE_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
-				return validateVisibilityNeedsOwnership(
-					(DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.WRITE_VARIABLE_ACTION___VALIDATE_HAS_QUALIFIED_NAME__DIAGNOSTICCHAIN_MAP :
 				return validateHasQualifiedName(
 					(DiagnosticChain) arguments.get(0),
@@ -754,6 +747,10 @@
 				return validateHasNoQualifiedName(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.WRITE_VARIABLE_ACTION___VALIDATE_VISIBILITY_NEEDS_OWNERSHIP__DIAGNOSTICCHAIN_MAP :
+				return validateVisibilityNeedsOwnership(
+					(DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.WRITE_VARIABLE_ACTION___CREATE_DEPENDENCY__NAMEDELEMENT :
 				return createDependency((NamedElement) arguments.get(0));
 			case UMLPackage.WRITE_VARIABLE_ACTION___CREATE_USAGE__NAMEDELEMENT :
@@ -805,12 +802,12 @@
 				return validateScopeOfVariable(
 					(DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
-			case UMLPackage.WRITE_VARIABLE_ACTION___VALIDATE_SAME_TYPE__DIAGNOSTICCHAIN_MAP :
-				return validateSameType((DiagnosticChain) arguments.get(0),
-					(Map<Object, Object>) arguments.get(1));
 			case UMLPackage.WRITE_VARIABLE_ACTION___VALIDATE_MULTIPLICITY__DIAGNOSTICCHAIN_MAP :
 				return validateMultiplicity((DiagnosticChain) arguments.get(0),
 					(Map<Object, Object>) arguments.get(1));
+			case UMLPackage.WRITE_VARIABLE_ACTION___VALIDATE_SAME_TYPE__DIAGNOSTICCHAIN_MAP :
+				return validateSameType((DiagnosticChain) arguments.get(0),
+					(Map<Object, Object>) arguments.get(1));
 		}
 		return eDynamicInvoke(operationID, arguments);
 	}
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/uml.ecore b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/uml.ecore
index abab981..0640583 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/uml.ecore
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/impl/uml.ecore
@@ -1,8 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<ecore:EPackage xmi:version="2.0"
-    xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="uml"
-    nsURI="http://www.eclipse.org/uml2/4.0.0/UML" nsPrefix="uml">
+<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="uml" nsURI="http://www.eclipse.org/uml2/4.0.0/UML" nsPrefix="uml">
   <eClassifiers xsi:type="ecore:EClass" name="Abstraction" eSuperTypes="#//Dependency">
     <eStructuralFeatures xsi:type="ecore:EReference" name="mapping" ordered="false"
         eType="#//OpaqueExpression" containment="true">
@@ -19,27 +17,27 @@
       <eAnnotations source="subsets" references="#//DirectedRelationship/target"/>
     </eStructuralFeatures>
   </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="DirectedRelationship" abstract="true"
-      eSuperTypes="#//Relationship">
-    <eStructuralFeatures xsi:type="ecore:EReference" name="source" ordered="false"
-        lowerBound="1" upperBound="-1" eType="#//Element" changeable="false" volatile="true"
-        transient="true" derived="true">
-      <eAnnotations source="union"/>
-      <eAnnotations source="subsets" references="#//Relationship/relatedElement"/>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="target" ordered="false"
-        lowerBound="1" upperBound="-1" eType="#//Element" changeable="false" volatile="true"
-        transient="true" derived="true">
-      <eAnnotations source="union"/>
-      <eAnnotations source="subsets" references="#//Relationship/relatedElement"/>
-    </eStructuralFeatures>
+  <eClassifiers xsi:type="ecore:EClass" name="PackageableElement" abstract="true"
+      eSuperTypes="#//NamedElement #//ParameterableElement">
+    <eAnnotations source="duplicates">
+      <contents xsi:type="ecore:EAttribute" name="visibility" ordered="false" eType="#//VisibilityKind"
+          defaultValueLiteral="public">
+        <eAnnotations source="redefines" references="#//NamedElement/visibility"/>
+      </contents>
+    </eAnnotations>
   </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="Relationship" abstract="true" eSuperTypes="#//Element">
-    <eStructuralFeatures xsi:type="ecore:EReference" name="relatedElement" ordered="false"
-        lowerBound="1" upperBound="-1" eType="#//Element" changeable="false" volatile="true"
-        transient="true" derived="true">
-      <eAnnotations source="union"/>
+  <eClassifiers xsi:type="ecore:EClass" name="ParameterableElement" abstract="true"
+      eSuperTypes="#//Element">
+    <eOperations name="isCompatibleWith" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean">
+      <eParameters name="p" ordered="false" lowerBound="1" eType="#//ParameterableElement"/>
+    </eOperations>
+    <eOperations name="isTemplateParameter" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="owningTemplateParameter"
+        ordered="false" eType="#//TemplateParameter" eOpposite="#//TemplateParameter/ownedParameteredElement">
+      <eAnnotations source="subsets" references="#//ParameterableElement/templateParameter #//Element/owner"/>
     </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="templateParameter" ordered="false"
+        eType="#//TemplateParameter" eOpposite="#//TemplateParameter/parameteredElement"/>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="Element" abstract="true" eSuperTypes="http://www.eclipse.org/emf/2002/Ecore#//EModelElement">
     <eOperations name="has_owner" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
@@ -172,16 +170,7 @@
     </eStructuralFeatures>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="Stereotype" eSuperTypes="#//Class">
-    <eOperations name="binaryAssociationsOnly" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="generalize" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="associationEndOwnership" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
         <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
@@ -199,7 +188,16 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="associationEndOwnership" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="binaryAssociationsOnly" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="generalize" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
         <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
@@ -247,7 +245,7 @@
       <contents xsi:type="ecore:EReference" name="ownedAttribute" upperBound="-1"
           eType="#//Property" containment="true" eOpposite="#//Property/class">
         <eAnnotations source="redefines" references="#//StructuredClassifier/ownedAttribute"/>
-        <eAnnotations source="subsets" references="#//Classifier/attribute #//Namespace/ownedMember"/>
+        <eAnnotations source="subsets" references="#//Namespace/ownedMember #//Classifier/attribute"/>
       </contents>
       <contents xsi:type="ecore:EAttribute" name="isAbstract" ordered="false" lowerBound="1"
           eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean"
@@ -296,9 +294,18 @@
       <eAnnotations source="redefines" references="#//Classifier/general"/>
     </eStructuralFeatures>
   </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="BehavioredClassifier" abstract="true"
+  <eClassifiers xsi:type="ecore:EClass" name="EncapsulatedClassifier" abstract="true"
+      eSuperTypes="#//StructuredClassifier">
+    <eOperations name="getOwnedPorts" ordered="false" upperBound="-1" eType="#//Port"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedPort" ordered="false"
+        upperBound="-1" eType="#//Port" changeable="false" volatile="true" transient="true"
+        derived="true">
+      <eAnnotations source="subsets" references="#//StructuredClassifier/ownedAttribute"/>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="StructuredClassifier" abstract="true"
       eSuperTypes="#//Classifier">
-    <eOperations name="class_behavior" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="multiplicities" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
         <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
@@ -307,20 +314,28 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="getAllImplementedInterfaces" ordered="false" upperBound="-1"
-        eType="#//Interface"/>
-    <eOperations name="getImplementedInterfaces" ordered="false" upperBound="-1" eType="#//Interface"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="classifierBehavior" ordered="false"
-        eType="#//Behavior">
-      <eAnnotations source="subsets" references="#//BehavioredClassifier/ownedBehavior"/>
+    <eOperations name="createOwnedAttribute" ordered="false" lowerBound="1" eType="#//Property">
+      <eParameters name="name" ordered="false" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//String"/>
+      <eParameters name="type" ordered="false" eType="#//Type"/>
+      <eParameters name="lower" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Integer"/>
+      <eParameters name="upper" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//UnlimitedNatural"/>
+    </eOperations>
+    <eOperations name="getParts" ordered="false" upperBound="-1" eType="#//Property"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedAttribute" upperBound="-1"
+        eType="#//Property" containment="true">
+      <eAnnotations source="subsets" references="#//Classifier/attribute #//Namespace/ownedMember #//StructuredClassifier/role"/>
     </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="interfaceRealization" ordered="false"
-        upperBound="-1" eType="#//InterfaceRealization" containment="true" eOpposite="#//InterfaceRealization/implementingClassifier">
-      <eAnnotations source="subsets" references="#//Element/ownedElement #//NamedElement/clientDependency"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedConnector" ordered="false"
+        upperBound="-1" eType="#//Connector" containment="true">
+      <eAnnotations source="subsets" references="#//Classifier/feature #//Namespace/ownedMember"/>
     </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedBehavior" ordered="false"
-        upperBound="-1" eType="#//Behavior" containment="true">
-      <eAnnotations source="subsets" references="#//Namespace/ownedMember"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="part" ordered="false" upperBound="-1"
+        eType="#//Property" changeable="false" volatile="true" transient="true" derived="true"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="role" ordered="false" upperBound="-1"
+        eType="#//ConnectableElement" changeable="false" volatile="true" transient="true"
+        derived="true">
+      <eAnnotations source="union"/>
+      <eAnnotations source="subsets" references="#//Namespace/member"/>
     </eStructuralFeatures>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="Classifier" abstract="true" eSuperTypes="#//Namespace #//RedefinableElement #//Type #//TemplateableElement">
@@ -338,24 +353,6 @@
         <eAnnotations source="redefines" references="#//ParameterableElement/templateParameter"/>
       </contents>
     </eAnnotations>
-    <eOperations name="specialize_type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="maps_to_generalization_set" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
     <eOperations name="non_final_parents" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
@@ -374,6 +371,24 @@
         </eGenericType>
       </eParameters>
     </eOperations>
+    <eOperations name="specialize_type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="maps_to_generalization_set" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
     <eOperations name="getAllAttributes" ordered="false" upperBound="-1" eType="#//Property"/>
     <eOperations name="getAllOperations" ordered="false" upperBound="-1" eType="#//Operation"/>
     <eOperations name="getAllUsedInterfaces" ordered="false" upperBound="-1" eType="#//Interface"/>
@@ -527,15 +542,6 @@
     </eStructuralFeatures>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="NamedElement" abstract="true" eSuperTypes="#//Element">
-    <eOperations name="visibility_needs_ownership" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
     <eOperations name="has_qualified_name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
@@ -554,6 +560,15 @@
         </eGenericType>
       </eParameters>
     </eOperations>
+    <eOperations name="visibility_needs_ownership" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
     <eOperations name="createDependency" ordered="false" lowerBound="1" eType="#//Dependency">
       <eParameters name="supplier" ordered="false" lowerBound="1" eType="#//NamedElement"/>
     </eOperations>
@@ -599,7 +614,7 @@
         <eAnnotations source="redefines" references="#//ValueSpecification/stringValue"/>
       </contents>
     </eAnnotations>
-    <eOperations name="operands" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="subexpressions" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
         <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
@@ -608,7 +623,7 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="subexpressions" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="operands" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
         <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
@@ -626,136 +641,6 @@
       <eAnnotations source="subsets" references="#//Element/ownedElement"/>
     </eStructuralFeatures>
   </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="TemplateableElement" abstract="true"
-      eSuperTypes="#//Element">
-    <eOperations name="isTemplate" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean"/>
-    <eOperations name="parameterableElements" ordered="false" upperBound="-1" eType="#//ParameterableElement"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedTemplateSignature"
-        ordered="false" eType="#//TemplateSignature" containment="true" eOpposite="#//TemplateSignature/template">
-      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="templateBinding" ordered="false"
-        upperBound="-1" eType="#//TemplateBinding" containment="true" eOpposite="#//TemplateBinding/boundElement">
-      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
-    </eStructuralFeatures>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="TemplateSignature" eSuperTypes="#//Element">
-    <eOperations name="own_elements" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedParameter" upperBound="-1"
-        eType="#//TemplateParameter" containment="true" eOpposite="#//TemplateParameter/signature">
-      <eAnnotations source="subsets" references="#//Element/ownedElement #//TemplateSignature/parameter"/>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="parameter" lowerBound="1"
-        upperBound="-1" eType="#//TemplateParameter"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="template" ordered="false"
-        lowerBound="1" eType="#//TemplateableElement" eOpposite="#//TemplateableElement/ownedTemplateSignature">
-      <eAnnotations source="subsets" references="#//Element/owner"/>
-    </eStructuralFeatures>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="TemplateParameter" eSuperTypes="#//Element">
-    <eOperations name="must_be_compatible" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="default" ordered="false"
-        eType="#//ParameterableElement"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedParameteredElement"
-        ordered="false" eType="#//ParameterableElement" containment="true" eOpposite="#//ParameterableElement/owningTemplateParameter">
-      <eAnnotations source="subsets" references="#//Element/ownedElement #//TemplateParameter/parameteredElement"/>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="parameteredElement" ordered="false"
-        lowerBound="1" eType="#//ParameterableElement" eOpposite="#//ParameterableElement/templateParameter"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedDefault" ordered="false"
-        eType="#//ParameterableElement" containment="true">
-      <eAnnotations source="subsets" references="#//Element/ownedElement #//TemplateParameter/default"/>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="signature" ordered="false"
-        lowerBound="1" eType="#//TemplateSignature" eOpposite="#//TemplateSignature/ownedParameter">
-      <eAnnotations source="subsets" references="#//Element/owner"/>
-    </eStructuralFeatures>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="ParameterableElement" abstract="true"
-      eSuperTypes="#//Element">
-    <eOperations name="isCompatibleWith" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean">
-      <eParameters name="p" ordered="false" lowerBound="1" eType="#//ParameterableElement"/>
-    </eOperations>
-    <eOperations name="isTemplateParameter" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="owningTemplateParameter"
-        ordered="false" eType="#//TemplateParameter" eOpposite="#//TemplateParameter/ownedParameteredElement">
-      <eAnnotations source="subsets" references="#//ParameterableElement/templateParameter #//Element/owner"/>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="templateParameter" ordered="false"
-        eType="#//TemplateParameter" eOpposite="#//TemplateParameter/parameteredElement"/>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="TemplateBinding" eSuperTypes="#//DirectedRelationship">
-    <eOperations name="parameter_substitution_formal" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="one_parameter_substitution" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="parameterSubstitution"
-        ordered="false" upperBound="-1" eType="#//TemplateParameterSubstitution" containment="true"
-        eOpposite="#//TemplateParameterSubstitution/templateBinding">
-      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="signature" ordered="false"
-        lowerBound="1" eType="#//TemplateSignature">
-      <eAnnotations source="subsets" references="#//DirectedRelationship/target"/>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="boundElement" ordered="false"
-        lowerBound="1" eType="#//TemplateableElement" eOpposite="#//TemplateableElement/templateBinding">
-      <eAnnotations source="subsets" references="#//DirectedRelationship/source #//Element/owner"/>
-    </eStructuralFeatures>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="TemplateParameterSubstitution" eSuperTypes="#//Element">
-    <eOperations name="must_be_compatible" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="actual" ordered="false"
-        lowerBound="1" eType="#//ParameterableElement"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="formal" ordered="false"
-        lowerBound="1" eType="#//TemplateParameter"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedActual" ordered="false"
-        eType="#//ParameterableElement" containment="true">
-      <eAnnotations source="subsets" references="#//Element/ownedElement #//TemplateParameterSubstitution/actual"/>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="templateBinding" ordered="false"
-        lowerBound="1" eType="#//TemplateBinding" eOpposite="#//TemplateBinding/parameterSubstitution">
-      <eAnnotations source="subsets" references="#//Element/owner"/>
-    </eStructuralFeatures>
-  </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="Expression" eSuperTypes="#//ValueSpecification">
     <eStructuralFeatures xsi:type="ecore:EReference" name="operand" upperBound="-1"
         eType="#//ValueSpecification" containment="true">
@@ -807,21 +692,6 @@
       <eAnnotations source="subsets" references="#//NamedElement/namespace"/>
     </eStructuralFeatures>
   </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="PackageableElement" abstract="true"
-      eSuperTypes="#//NamedElement #//ParameterableElement">
-    <eAnnotations source="duplicates">
-      <contents xsi:type="ecore:EAttribute" name="visibility" ordered="false" eType="#//VisibilityKind"
-          defaultValueLiteral="public">
-        <eAnnotations source="redefines" references="#//NamedElement/visibility"/>
-      </contents>
-    </eAnnotations>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EEnum" name="VisibilityKind">
-    <eLiterals name="public"/>
-    <eLiterals name="private" value="1"/>
-    <eLiterals name="protected" value="2"/>
-    <eLiterals name="package" value="3"/>
-  </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="Package" eSuperTypes="#//Namespace #//PackageableElement #//TemplateableElement">
     <eAnnotations source="duplicates">
       <contents xsi:type="ecore:EOperation" name="mustBeOwned" ordered="false" lowerBound="1"
@@ -925,6 +795,145 @@
       <eAnnotations source="subsets" references="#//Package/packagedElement"/>
     </eStructuralFeatures>
   </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="TemplateableElement" abstract="true"
+      eSuperTypes="#//Element">
+    <eOperations name="isTemplate" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean"/>
+    <eOperations name="parameterableElements" ordered="false" upperBound="-1" eType="#//ParameterableElement"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedTemplateSignature"
+        ordered="false" eType="#//TemplateSignature" containment="true" eOpposite="#//TemplateSignature/template">
+      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="templateBinding" ordered="false"
+        upperBound="-1" eType="#//TemplateBinding" containment="true" eOpposite="#//TemplateBinding/boundElement">
+      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="TemplateSignature" eSuperTypes="#//Element">
+    <eOperations name="own_elements" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedParameter" upperBound="-1"
+        eType="#//TemplateParameter" containment="true" eOpposite="#//TemplateParameter/signature">
+      <eAnnotations source="subsets" references="#//TemplateSignature/parameter #//Element/ownedElement"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="parameter" lowerBound="1"
+        upperBound="-1" eType="#//TemplateParameter"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="template" ordered="false"
+        lowerBound="1" eType="#//TemplateableElement" eOpposite="#//TemplateableElement/ownedTemplateSignature">
+      <eAnnotations source="subsets" references="#//Element/owner"/>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="TemplateParameter" eSuperTypes="#//Element">
+    <eOperations name="must_be_compatible" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="default" ordered="false"
+        eType="#//ParameterableElement"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedDefault" ordered="false"
+        eType="#//ParameterableElement" containment="true">
+      <eAnnotations source="subsets" references="#//Element/ownedElement #//TemplateParameter/default"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedParameteredElement"
+        ordered="false" eType="#//ParameterableElement" containment="true" eOpposite="#//ParameterableElement/owningTemplateParameter">
+      <eAnnotations source="subsets" references="#//TemplateParameter/parameteredElement #//Element/ownedElement"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="parameteredElement" ordered="false"
+        lowerBound="1" eType="#//ParameterableElement" eOpposite="#//ParameterableElement/templateParameter"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="signature" ordered="false"
+        lowerBound="1" eType="#//TemplateSignature" eOpposite="#//TemplateSignature/ownedParameter">
+      <eAnnotations source="subsets" references="#//Element/owner"/>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="TemplateBinding" eSuperTypes="#//DirectedRelationship">
+    <eOperations name="parameter_substitution_formal" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="one_parameter_substitution" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="parameterSubstitution"
+        ordered="false" upperBound="-1" eType="#//TemplateParameterSubstitution" containment="true"
+        eOpposite="#//TemplateParameterSubstitution/templateBinding">
+      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="signature" ordered="false"
+        lowerBound="1" eType="#//TemplateSignature">
+      <eAnnotations source="subsets" references="#//DirectedRelationship/target"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="boundElement" ordered="false"
+        lowerBound="1" eType="#//TemplateableElement" eOpposite="#//TemplateableElement/templateBinding">
+      <eAnnotations source="subsets" references="#//Element/owner #//DirectedRelationship/source"/>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="DirectedRelationship" abstract="true"
+      eSuperTypes="#//Relationship">
+    <eStructuralFeatures xsi:type="ecore:EReference" name="source" ordered="false"
+        lowerBound="1" upperBound="-1" eType="#//Element" changeable="false" volatile="true"
+        transient="true" derived="true">
+      <eAnnotations source="union"/>
+      <eAnnotations source="subsets" references="#//Relationship/relatedElement"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="target" ordered="false"
+        lowerBound="1" upperBound="-1" eType="#//Element" changeable="false" volatile="true"
+        transient="true" derived="true">
+      <eAnnotations source="union"/>
+      <eAnnotations source="subsets" references="#//Relationship/relatedElement"/>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="Relationship" abstract="true" eSuperTypes="#//Element">
+    <eStructuralFeatures xsi:type="ecore:EReference" name="relatedElement" ordered="false"
+        lowerBound="1" upperBound="-1" eType="#//Element" changeable="false" volatile="true"
+        transient="true" derived="true">
+      <eAnnotations source="union"/>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="TemplateParameterSubstitution" eSuperTypes="#//Element">
+    <eOperations name="must_be_compatible" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="actual" ordered="false"
+        lowerBound="1" eType="#//ParameterableElement"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="formal" ordered="false"
+        lowerBound="1" eType="#//TemplateParameter"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedActual" ordered="false"
+        eType="#//ParameterableElement" containment="true">
+      <eAnnotations source="subsets" references="#//Element/ownedElement #//TemplateParameterSubstitution/actual"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="templateBinding" ordered="false"
+        lowerBound="1" eType="#//TemplateBinding" eOpposite="#//TemplateBinding/parameterSubstitution">
+      <eAnnotations source="subsets" references="#//Element/owner"/>
+    </eStructuralFeatures>
+  </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="PackageMerge" eSuperTypes="#//DirectedRelationship">
     <eStructuralFeatures xsi:type="ecore:EReference" name="mergedPackage" ordered="false"
         lowerBound="1" eType="#//Package">
@@ -932,7 +941,7 @@
     </eStructuralFeatures>
     <eStructuralFeatures xsi:type="ecore:EReference" name="receivingPackage" ordered="false"
         lowerBound="1" eType="#//Package" eOpposite="#//Package/packageMerge">
-      <eAnnotations source="subsets" references="#//DirectedRelationship/source #//Element/owner"/>
+      <eAnnotations source="subsets" references="#//Element/owner #//DirectedRelationship/source"/>
     </eStructuralFeatures>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="ProfileApplication" eSuperTypes="#//DirectedRelationship">
@@ -949,7 +958,7 @@
         defaultValueLiteral="false"/>
     <eStructuralFeatures xsi:type="ecore:EReference" name="applyingPackage" ordered="false"
         lowerBound="1" eType="#//Package" eOpposite="#//Package/profileApplication">
-      <eAnnotations source="subsets" references="#//DirectedRelationship/source #//Element/owner"/>
+      <eAnnotations source="subsets" references="#//Element/owner #//DirectedRelationship/source"/>
     </eStructuralFeatures>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="Profile" eSuperTypes="#//Package">
@@ -1010,7 +1019,7 @@
     </eStructuralFeatures>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="ElementImport" eSuperTypes="#//DirectedRelationship">
-    <eOperations name="imported_element_is_public" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="visibility_public_or_private" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
         <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
@@ -1019,7 +1028,7 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="visibility_public_or_private" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="imported_element_is_public" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
         <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
@@ -1037,11 +1046,17 @@
     </eStructuralFeatures>
     <eStructuralFeatures xsi:type="ecore:EReference" name="importingNamespace" ordered="false"
         lowerBound="1" eType="#//Namespace" eOpposite="#//Namespace/elementImport">
-      <eAnnotations source="subsets" references="#//DirectedRelationship/source #//Element/owner"/>
+      <eAnnotations source="subsets" references="#//Element/owner #//DirectedRelationship/source"/>
     </eStructuralFeatures>
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="visibility" ordered="false"
         lowerBound="1" eType="#//VisibilityKind" defaultValueLiteral="public"/>
   </eClassifiers>
+  <eClassifiers xsi:type="ecore:EEnum" name="VisibilityKind">
+    <eLiterals name="public"/>
+    <eLiterals name="private" value="1"/>
+    <eLiterals name="protected" value="2"/>
+    <eLiterals name="package" value="3"/>
+  </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="PackageImport" eSuperTypes="#//DirectedRelationship">
     <eOperations name="public_or_private" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
@@ -1058,7 +1073,7 @@
     </eStructuralFeatures>
     <eStructuralFeatures xsi:type="ecore:EReference" name="importingNamespace" ordered="false"
         lowerBound="1" eType="#//Namespace" eOpposite="#//Namespace/packageImport">
-      <eAnnotations source="subsets" references="#//DirectedRelationship/source #//Element/owner"/>
+      <eAnnotations source="subsets" references="#//Element/owner #//DirectedRelationship/source"/>
     </eStructuralFeatures>
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="visibility" ordered="false"
         lowerBound="1" eType="#//VisibilityKind" defaultValueLiteral="public"/>
@@ -1111,7 +1126,7 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="specialized_end_types" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="association_ends" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
         <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
@@ -1129,7 +1144,7 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="association_ends" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="specialized_end_types" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
         <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
@@ -1154,7 +1169,7 @@
     </eStructuralFeatures>
     <eStructuralFeatures xsi:type="ecore:EReference" name="ownedEnd" upperBound="-1"
         eType="#//Property" containment="true" eOpposite="#//Property/owningAssociation">
-      <eAnnotations source="subsets" references="#//Classifier/feature #//Association/memberEnd #//Namespace/ownedMember"/>
+      <eAnnotations source="subsets" references="#//Association/memberEnd #//Classifier/feature #//Namespace/ownedMember"/>
     </eStructuralFeatures>
     <eStructuralFeatures xsi:type="ecore:EReference" name="navigableOwnedEnd" ordered="false"
         upperBound="-1" eType="#//Property">
@@ -1179,34 +1194,7 @@
         <eAnnotations source="redefines" references="#//StructuralFeature/isReadOnly"/>
       </contents>
     </eAnnotations>
-    <eOperations name="subsetting_context_conforms" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="derived_union_is_read_only" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="multiplicity_of_composite" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="redefined_property_inherited" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="subsetted_property_names" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
         <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
@@ -1224,6 +1212,15 @@
         </eGenericType>
       </eParameters>
     </eOperations>
+    <eOperations name="multiplicity_of_composite" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
     <eOperations name="binding_to_attribute" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
@@ -1233,7 +1230,16 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="derived_union_is_derived" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="redefined_property_inherited" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="subsetting_context_conforms" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
         <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
@@ -1251,7 +1257,16 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="subsetted_property_names" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="derived_union_is_derived" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="derived_union_is_read_only" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
         <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
@@ -1299,14 +1314,14 @@
     <eOperations name="isNavigable" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean"/>
     <eOperations name="getOpposite" ordered="false" eType="#//Property"/>
     <eOperations name="subsettingContext" ordered="false" upperBound="-1" eType="#//Type"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="datatype" ordered="false"
-        eType="#//DataType" eOpposite="#//DataType/ownedAttribute">
-      <eAnnotations source="subsets" references="#//NamedElement/namespace #//Feature/featuringClassifier #//RedefinableElement/redefinitionContext"/>
-    </eStructuralFeatures>
     <eStructuralFeatures xsi:type="ecore:EReference" name="interface" ordered="false"
         eType="#//Interface" eOpposite="#//Interface/ownedAttribute">
       <eAnnotations source="subsets" references="#//NamedElement/namespace #//Feature/featuringClassifier #//RedefinableElement/redefinitionContext"/>
     </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="datatype" ordered="false"
+        eType="#//DataType" eOpposite="#//DataType/ownedAttribute">
+      <eAnnotations source="subsets" references="#//NamedElement/namespace #//Feature/featuringClassifier #//RedefinableElement/redefinitionContext"/>
+    </eStructuralFeatures>
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="aggregation" ordered="false"
         lowerBound="1" eType="#//AggregationKind" defaultValueLiteral="none"/>
     <eStructuralFeatures xsi:type="ecore:EReference" name="associationEnd" ordered="false"
@@ -1344,7 +1359,7 @@
         eType="#//Property" volatile="true" transient="true" derived="true"/>
     <eStructuralFeatures xsi:type="ecore:EReference" name="owningAssociation" ordered="false"
         eType="#//Association" eOpposite="#//Association/ownedEnd">
-      <eAnnotations source="subsets" references="#//Feature/featuringClassifier #//NamedElement/namespace #//Property/association #//RedefinableElement/redefinitionContext"/>
+      <eAnnotations source="subsets" references="#//Feature/featuringClassifier #//RedefinableElement/redefinitionContext #//NamedElement/namespace #//Property/association"/>
     </eStructuralFeatures>
     <eStructuralFeatures xsi:type="ecore:EReference" name="redefinedProperty" ordered="false"
         upperBound="-1" eType="#//Property">
@@ -1355,74 +1370,13 @@
     <eStructuralFeatures xsi:type="ecore:EReference" name="association" ordered="false"
         eType="#//Association" eOpposite="#//Association/memberEnd"/>
   </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="ConnectableElement" abstract="true"
-      eSuperTypes="#//TypedElement #//ParameterableElement">
-    <eAnnotations source="duplicates">
-      <contents xsi:type="ecore:EReference" name="templateParameter" ordered="false"
-          eType="#//TemplateParameter" eOpposite="#//ConnectableElementTemplateParameter/%duplicates%/parameteredElement">
-        <eAnnotations source="redefines" references="#//ParameterableElement/templateParameter"/>
-      </contents>
-    </eAnnotations>
-    <eOperations name="getEnds" ordered="false" upperBound="-1" eType="#//ConnectorEnd"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="end" upperBound="-1" eType="#//ConnectorEnd"
-        changeable="false" volatile="true" transient="true" derived="true"/>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="ConnectorEnd" eSuperTypes="#//MultiplicityElement">
-    <eOperations name="role_and_part_with_port" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="part_with_port_empty" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="multiplicity" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="self_part_with_port" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="getDefiningEnd" ordered="false" eType="#//Property"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="definingEnd" ordered="false"
-        eType="#//Property" changeable="false" volatile="true" transient="true" derived="true"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="partWithPort" ordered="false"
-        eType="#//Property"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="role" ordered="false" lowerBound="1"
-        eType="#//ConnectableElement"/>
+  <eClassifiers xsi:type="ecore:EClass" name="StructuralFeature" abstract="true" eSuperTypes="#//Feature #//TypedElement #//MultiplicityElement">
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isReadOnly" ordered="false"
+        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean"
+        defaultValueLiteral="false"/>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="MultiplicityElement" abstract="true"
       eSuperTypes="#//Element">
-    <eOperations name="upper_ge_lower" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
     <eOperations name="lower_ge_0" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
@@ -1432,7 +1386,7 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="value_specification_no_side_effects" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="upper_ge_lower" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
         <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
@@ -1450,6 +1404,15 @@
         </eGenericType>
       </eParameters>
     </eOperations>
+    <eOperations name="value_specification_no_side_effects" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
     <eOperations name="setLower" ordered="false" lowerBound="1">
       <eParameters name="newLower" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Integer"/>
     </eOperations>
@@ -1495,6 +1458,123 @@
       <eAnnotations source="subsets" references="#//Element/ownedElement"/>
     </eStructuralFeatures>
   </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="Feature" abstract="true" eSuperTypes="#//RedefinableElement">
+    <eStructuralFeatures xsi:type="ecore:EReference" name="featuringClassifier" ordered="false"
+        upperBound="-1" eType="#//Classifier" changeable="false" volatile="true" transient="true"
+        derived="true" eOpposite="#//Classifier/feature">
+      <eAnnotations source="union"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isStatic" ordered="false"
+        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean"
+        defaultValueLiteral="false"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="RedefinableElement" abstract="true"
+      eSuperTypes="#//NamedElement">
+    <eOperations name="redefinition_consistent" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="non_leaf_redefinition" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="redefinition_context_valid" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="isConsistentWith" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean">
+      <eParameters name="redefinee" ordered="false" lowerBound="1" eType="#//RedefinableElement"/>
+    </eOperations>
+    <eOperations name="isRedefinitionContextValid" ordered="false" lowerBound="1"
+        eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean">
+      <eParameters name="redefined" ordered="false" lowerBound="1" eType="#//RedefinableElement"/>
+    </eOperations>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isLeaf" ordered="false"
+        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean"
+        defaultValueLiteral="false"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="redefinedElement" ordered="false"
+        upperBound="-1" eType="#//RedefinableElement" changeable="false" volatile="true"
+        transient="true" derived="true">
+      <eAnnotations source="union"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="redefinitionContext" ordered="false"
+        upperBound="-1" eType="#//Classifier" changeable="false" volatile="true" transient="true"
+        derived="true">
+      <eAnnotations source="union"/>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="ConnectableElement" abstract="true"
+      eSuperTypes="#//TypedElement #//ParameterableElement">
+    <eAnnotations source="duplicates">
+      <contents xsi:type="ecore:EReference" name="templateParameter" ordered="false"
+          eType="#//TemplateParameter" eOpposite="#//ConnectableElementTemplateParameter/%duplicates%/parameteredElement">
+        <eAnnotations source="redefines" references="#//ParameterableElement/templateParameter"/>
+      </contents>
+    </eAnnotations>
+    <eOperations name="getEnds" ordered="false" upperBound="-1" eType="#//ConnectorEnd"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="end" upperBound="-1" eType="#//ConnectorEnd"
+        changeable="false" volatile="true" transient="true" derived="true"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="ConnectorEnd" eSuperTypes="#//MultiplicityElement">
+    <eOperations name="role_and_part_with_port" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="self_part_with_port" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="multiplicity" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="part_with_port_empty" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="getDefiningEnd" ordered="false" eType="#//Property"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="definingEnd" ordered="false"
+        eType="#//Property" changeable="false" volatile="true" transient="true" derived="true"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="partWithPort" ordered="false"
+        eType="#//Property"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="role" ordered="false" lowerBound="1"
+        eType="#//ConnectableElement"/>
+  </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="ConnectableElementTemplateParameter"
       eSuperTypes="#//TemplateParameter">
     <eAnnotations source="duplicates">
@@ -1525,11 +1605,11 @@
     </eStructuralFeatures>
     <eStructuralFeatures xsi:type="ecore:EReference" name="location" ordered="false"
         lowerBound="1" eType="#//DeploymentTarget" eOpposite="#//DeploymentTarget/deployment">
-      <eAnnotations source="subsets" references="#//Dependency/client #//Element/owner"/>
+      <eAnnotations source="subsets" references="#//Element/owner #//Dependency/client"/>
     </eStructuralFeatures>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="DeploymentSpecification" eSuperTypes="#//Artifact">
-    <eOperations name="deployment_target" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="deployed_elements" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
         <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
@@ -1538,7 +1618,7 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="deployed_elements" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="deployment_target" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
         <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
@@ -1581,7 +1661,7 @@
     </eStructuralFeatures>
     <eStructuralFeatures xsi:type="ecore:EReference" name="ownedAttribute" upperBound="-1"
         eType="#//Property" containment="true">
-      <eAnnotations source="subsets" references="#//Classifier/attribute #//Namespace/ownedMember"/>
+      <eAnnotations source="subsets" references="#//Namespace/ownedMember #//Classifier/attribute"/>
     </eStructuralFeatures>
     <eStructuralFeatures xsi:type="ecore:EReference" name="ownedOperation" upperBound="-1"
         eType="#//Operation" containment="true">
@@ -1655,21 +1735,21 @@
     <eOperations name="returnResult" ordered="false" upperBound="-1" eType="#//Parameter"/>
     <eOperations name="getType" ordered="false" lowerBound="1" eType="#//Type"/>
     <eOperations name="getUpper" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//UnlimitedNatural"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="interface" ordered="false"
+        eType="#//Interface" eOpposite="#//Interface/ownedOperation">
+      <eAnnotations source="subsets" references="#//Feature/featuringClassifier #//RedefinableElement/redefinitionContext #//NamedElement/namespace"/>
+    </eStructuralFeatures>
     <eStructuralFeatures xsi:type="ecore:EReference" name="bodyCondition" ordered="false"
         eType="#//Constraint">
       <eAnnotations source="subsets" references="#//Namespace/ownedRule"/>
     </eStructuralFeatures>
     <eStructuralFeatures xsi:type="ecore:EReference" name="class" ordered="false"
         eType="#//Class" eOpposite="#//Class/ownedOperation">
-      <eAnnotations source="subsets" references="#//Feature/featuringClassifier #//NamedElement/namespace #//RedefinableElement/redefinitionContext"/>
+      <eAnnotations source="subsets" references="#//Feature/featuringClassifier #//RedefinableElement/redefinitionContext #//NamedElement/namespace"/>
     </eStructuralFeatures>
     <eStructuralFeatures xsi:type="ecore:EReference" name="datatype" ordered="false"
         eType="#//DataType" eOpposite="#//DataType/ownedOperation">
-      <eAnnotations source="subsets" references="#//Feature/featuringClassifier #//NamedElement/namespace #//RedefinableElement/redefinitionContext"/>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="interface" ordered="false"
-        eType="#//Interface" eOpposite="#//Interface/ownedOperation">
-      <eAnnotations source="subsets" references="#//Feature/featuringClassifier #//NamedElement/namespace #//RedefinableElement/redefinitionContext"/>
+      <eAnnotations source="subsets" references="#//Feature/featuringClassifier #//RedefinableElement/redefinitionContext #//NamedElement/namespace"/>
     </eStructuralFeatures>
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="isOrdered" ordered="false"
         lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean"
@@ -1736,73 +1816,22 @@
     <eStructuralFeatures xsi:type="ecore:EReference" name="raisedException" ordered="false"
         upperBound="-1" eType="#//Type"/>
   </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="Feature" abstract="true" eSuperTypes="#//RedefinableElement">
-    <eStructuralFeatures xsi:type="ecore:EReference" name="featuringClassifier" ordered="false"
-        upperBound="-1" eType="#//Classifier" changeable="false" volatile="true" transient="true"
-        derived="true" eOpposite="#//Classifier/feature">
-      <eAnnotations source="union"/>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isStatic" ordered="false"
-        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean"
-        defaultValueLiteral="false"/>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="RedefinableElement" abstract="true"
-      eSuperTypes="#//NamedElement">
-    <eOperations name="redefinition_consistent" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="non_leaf_redefinition" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="redefinition_context_valid" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="isConsistentWith" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean">
-      <eParameters name="redefinee" ordered="false" lowerBound="1" eType="#//RedefinableElement"/>
-    </eOperations>
-    <eOperations name="isRedefinitionContextValid" ordered="false" lowerBound="1"
-        eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean">
-      <eParameters name="redefined" ordered="false" lowerBound="1" eType="#//RedefinableElement"/>
-    </eOperations>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isLeaf" ordered="false"
-        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean"
-        defaultValueLiteral="false"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="redefinedElement" ordered="false"
-        upperBound="-1" eType="#//RedefinableElement" changeable="false" volatile="true"
-        transient="true" derived="true">
-      <eAnnotations source="union"/>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="redefinitionContext" ordered="false"
-        upperBound="-1" eType="#//Classifier" changeable="false" volatile="true" transient="true"
-        derived="true">
-      <eAnnotations source="union"/>
-    </eStructuralFeatures>
-  </eClassifiers>
   <eClassifiers xsi:type="ecore:EEnum" name="CallConcurrencyKind">
     <eLiterals name="sequential"/>
     <eLiterals name="guarded" value="1"/>
     <eLiterals name="concurrent" value="2"/>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="Behavior" abstract="true" eSuperTypes="#//Class">
-    <eOperations name="most_one_behaviour" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="parameters_match" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="feature_of_context_classifier" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
         <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
@@ -1820,16 +1849,7 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="parameters_match" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="feature_of_context_classifier" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="most_one_behaviour" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
         <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
@@ -1870,8 +1890,9 @@
     <eStructuralFeatures xsi:type="ecore:EReference" name="specification" ordered="false"
         eType="#//BehavioralFeature" eOpposite="#//BehavioralFeature/method"/>
   </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="Parameter" eSuperTypes="#//ConnectableElement #//MultiplicityElement">
-    <eOperations name="in_and_out" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+  <eClassifiers xsi:type="ecore:EClass" name="BehavioredClassifier" abstract="true"
+      eSuperTypes="#//Classifier">
+    <eOperations name="class_behavior" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
         <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
@@ -1880,7 +1901,840 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="not_exception" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="getAllImplementedInterfaces" ordered="false" upperBound="-1"
+        eType="#//Interface"/>
+    <eOperations name="getImplementedInterfaces" ordered="false" upperBound="-1" eType="#//Interface"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="classifierBehavior" ordered="false"
+        eType="#//Behavior">
+      <eAnnotations source="subsets" references="#//BehavioredClassifier/ownedBehavior"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="interfaceRealization" ordered="false"
+        upperBound="-1" eType="#//InterfaceRealization" containment="true" eOpposite="#//InterfaceRealization/implementingClassifier">
+      <eAnnotations source="subsets" references="#//Element/ownedElement #//NamedElement/clientDependency"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedBehavior" ordered="false"
+        upperBound="-1" eType="#//Behavior" containment="true">
+      <eAnnotations source="subsets" references="#//Namespace/ownedMember"/>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="InterfaceRealization" eSuperTypes="#//Realization">
+    <eStructuralFeatures xsi:type="ecore:EReference" name="contract" ordered="false"
+        lowerBound="1" eType="#//Interface">
+      <eAnnotations source="subsets" references="#//Dependency/supplier"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="implementingClassifier"
+        ordered="false" lowerBound="1" eType="#//BehavioredClassifier" eOpposite="#//BehavioredClassifier/interfaceRealization">
+      <eAnnotations source="subsets" references="#//Element/owner #//Dependency/client"/>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="Realization" eSuperTypes="#//Abstraction"/>
+  <eClassifiers xsi:type="ecore:EClass" name="Interface" eSuperTypes="#//Classifier">
+    <eOperations name="visibility" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="createOwnedAttribute" ordered="false" lowerBound="1" eType="#//Property">
+      <eParameters name="name" ordered="false" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//String"/>
+      <eParameters name="type" ordered="false" eType="#//Type"/>
+      <eParameters name="lower" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Integer"/>
+      <eParameters name="upper" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//UnlimitedNatural"/>
+    </eOperations>
+    <eOperations name="createOwnedOperation" ordered="false" lowerBound="1" eType="#//Operation">
+      <eParameters name="name" ordered="false" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//String"/>
+      <eParameters name="parameterNames" ordered="false" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//String"/>
+      <eParameters name="parameterTypes" ordered="false" upperBound="-1" eType="#//Type"/>
+      <eParameters name="returnType" ordered="false" eType="#//Type"/>
+    </eOperations>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="nestedClassifier" upperBound="-1"
+        eType="#//Classifier" containment="true">
+      <eAnnotations source="subsets" references="#//Namespace/ownedMember"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedAttribute" upperBound="-1"
+        eType="#//Property" containment="true" eOpposite="#//Property/interface">
+      <eAnnotations source="subsets" references="#//Namespace/ownedMember #//Classifier/attribute"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedOperation" upperBound="-1"
+        eType="#//Operation" containment="true" eOpposite="#//Operation/interface">
+      <eAnnotations source="subsets" references="#//Classifier/feature #//Namespace/ownedMember"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedReception" ordered="false"
+        upperBound="-1" eType="#//Reception" containment="true">
+      <eAnnotations source="subsets" references="#//Classifier/feature #//Namespace/ownedMember"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="protocol" ordered="false"
+        eType="#//ProtocolStateMachine" containment="true">
+      <eAnnotations source="subsets" references="#//Namespace/ownedMember"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="redefinedInterface" ordered="false"
+        upperBound="-1" eType="#//Interface">
+      <eAnnotations source="subsets" references="#//Classifier/redefinedClassifier"/>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="Reception" eSuperTypes="#//BehavioralFeature">
+    <eOperations name="not_query" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="signal" ordered="false"
+        lowerBound="1" eType="#//Signal"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="Signal" eSuperTypes="#//Classifier">
+    <eOperations name="createOwnedAttribute" ordered="false" lowerBound="1" eType="#//Property">
+      <eParameters name="name" ordered="false" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//String"/>
+      <eParameters name="type" ordered="false" eType="#//Type"/>
+      <eParameters name="lower" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Integer"/>
+      <eParameters name="upper" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//UnlimitedNatural"/>
+    </eOperations>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedAttribute" upperBound="-1"
+        eType="#//Property" containment="true">
+      <eAnnotations source="subsets" references="#//Namespace/ownedMember #//Classifier/attribute"/>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="ProtocolStateMachine" eSuperTypes="#//StateMachine">
+    <eAnnotations source="duplicates">
+      <contents xsi:type="ecore:EOperation" name="classifier_context" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+        <eAnnotations source="redefines" references="#//StateMachine/classifier_context"/>
+        <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+        <eParameters name="context">
+          <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          </eGenericType>
+        </eParameters>
+      </contents>
+    </eAnnotations>
+    <eOperations name="entry_exit_do" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="protocol_transitions" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="deep_or_shallow_history" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="ports_connected" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="conformance" ordered="false"
+        upperBound="-1" eType="#//ProtocolConformance" containment="true" eOpposite="#//ProtocolConformance/specificMachine">
+      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="StateMachine" eSuperTypes="#//Behavior">
+    <eAnnotations source="duplicates">
+      <contents xsi:type="ecore:EOperation" name="isConsistentWith" ordered="false"
+          lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean">
+        <eAnnotations source="redefines" references="#//RedefinableElement/isConsistentWith"/>
+        <eParameters name="redefinee" ordered="false" lowerBound="1" eType="#//RedefinableElement"/>
+      </contents>
+    </eAnnotations>
+    <eOperations name="method" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="classifier_context" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="context_classifier" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="connection_points" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="LCA" ordered="false" lowerBound="1" eType="#//Namespace">
+      <eParameters name="s1" ordered="false" lowerBound="1" eType="#//State"/>
+      <eParameters name="s2" ordered="false" lowerBound="1" eType="#//State"/>
+    </eOperations>
+    <eOperations name="ancestor" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean">
+      <eParameters name="s1" ordered="false" lowerBound="1" eType="#//State"/>
+      <eParameters name="s2" ordered="false" lowerBound="1" eType="#//State"/>
+    </eOperations>
+    <eOperations name="isRedefinitionContextValid" ordered="false" lowerBound="1"
+        eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean">
+      <eAnnotations source="redefines" references="#//RedefinableElement/isRedefinitionContextValid"/>
+      <eParameters name="redefined" ordered="false" lowerBound="1" eType="#//StateMachine"/>
+    </eOperations>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="connectionPoint" ordered="false"
+        upperBound="-1" eType="#//Pseudostate" containment="true" eOpposite="#//Pseudostate/stateMachine">
+      <eAnnotations source="subsets" references="#//Namespace/ownedMember"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="submachineState" ordered="false"
+        upperBound="-1" eType="#//State" eOpposite="#//State/submachine"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="region" ordered="false"
+        lowerBound="1" upperBound="-1" eType="#//Region" containment="true" eOpposite="#//Region/stateMachine">
+      <eAnnotations source="subsets" references="#//Namespace/ownedMember"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="extendedStateMachine" ordered="false"
+        upperBound="-1" eType="#//StateMachine">
+      <eAnnotations source="redefines" references="#//Behavior/redefinedBehavior"/>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="Pseudostate" eSuperTypes="#//Vertex">
+    <eOperations name="junction_vertex" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="history_vertices" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="transitions_outgoing" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="outgoing_from_initial" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="fork_vertex" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="join_vertex" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="choice_vertex" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="initial_vertex" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="transitions_incoming" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="state" ordered="false"
+        eType="#//State" eOpposite="#//State/connectionPoint">
+      <eAnnotations source="subsets" references="#//NamedElement/namespace"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" ordered="false" lowerBound="1"
+        eType="#//PseudostateKind" defaultValueLiteral="initial"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="stateMachine" ordered="false"
+        eType="#//StateMachine" eOpposite="#//StateMachine/connectionPoint">
+      <eAnnotations source="subsets" references="#//NamedElement/namespace"/>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="Vertex" abstract="true" eSuperTypes="#//NamedElement">
+    <eOperations name="containingStateMachine" ordered="false" lowerBound="1" eType="#//StateMachine"/>
+    <eOperations name="getIncomings" ordered="false" upperBound="-1" eType="#//Transition"/>
+    <eOperations name="getOutgoings" ordered="false" upperBound="-1" eType="#//Transition"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="container" ordered="false"
+        eType="#//Region" eOpposite="#//Region/subvertex">
+      <eAnnotations source="subsets" references="#//NamedElement/namespace"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="incoming" ordered="false"
+        upperBound="-1" eType="#//Transition" changeable="false" volatile="true" transient="true"
+        derived="true"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="outgoing" ordered="false"
+        upperBound="-1" eType="#//Transition" changeable="false" volatile="true" transient="true"
+        derived="true"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="Region" eSuperTypes="#//Namespace #//RedefinableElement">
+    <eAnnotations source="duplicates">
+      <contents xsi:type="ecore:EOperation" name="isConsistentWith" ordered="false"
+          lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean">
+        <eAnnotations source="redefines" references="#//RedefinableElement/isConsistentWith"/>
+        <eParameters name="redefinee" ordered="false" lowerBound="1" eType="#//RedefinableElement"/>
+      </contents>
+      <contents xsi:type="ecore:EReference" name="redefinitionContext" ordered="false"
+          upperBound="-1" eType="#//Classifier" changeable="false" volatile="true"
+          transient="true" derived="true">
+        <eAnnotations source="redefines" references="#//RedefinableElement/redefinitionContext"/>
+      </contents>
+    </eAnnotations>
+    <eOperations name="shallow_history_vertex" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="deep_history_vertex" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="initial_vertex" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="owned" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="belongsToPSM" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean"/>
+    <eOperations name="containingStateMachine" ordered="false" lowerBound="1" eType="#//StateMachine"/>
+    <eOperations name="isRedefinitionContextValid" ordered="false" lowerBound="1"
+        eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean">
+      <eAnnotations source="redefines" references="#//RedefinableElement/isRedefinitionContextValid"/>
+      <eParameters name="redefined" ordered="false" lowerBound="1" eType="#//Region"/>
+    </eOperations>
+    <eOperations name="redefinitionContext" ordered="false" lowerBound="1" eType="#//Classifier"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="extendedRegion" ordered="false"
+        eType="#//Region">
+      <eAnnotations source="subsets" references="#//RedefinableElement/redefinedElement"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="state" ordered="false"
+        eType="#//State" eOpposite="#//State/region">
+      <eAnnotations source="subsets" references="#//NamedElement/namespace"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="stateMachine" ordered="false"
+        eType="#//StateMachine" eOpposite="#//StateMachine/region">
+      <eAnnotations source="subsets" references="#//NamedElement/namespace"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="transition" ordered="false"
+        upperBound="-1" eType="#//Transition" containment="true" eOpposite="#//Transition/container">
+      <eAnnotations source="subsets" references="#//Namespace/ownedMember"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="subvertex" ordered="false"
+        upperBound="-1" eType="#//Vertex" containment="true" eOpposite="#//Vertex/container">
+      <eAnnotations source="subsets" references="#//Namespace/ownedMember"/>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="State" eSuperTypes="#//Namespace #//RedefinableElement #//Vertex">
+    <eAnnotations source="duplicates">
+      <contents xsi:type="ecore:EOperation" name="containingStateMachine" ordered="false"
+          lowerBound="1" eType="#//StateMachine">
+        <eAnnotations source="redefines" references="#//Vertex/containingStateMachine"/>
+      </contents>
+      <contents xsi:type="ecore:EOperation" name="isConsistentWith" ordered="false"
+          lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean">
+        <eAnnotations source="redefines" references="#//RedefinableElement/isConsistentWith"/>
+        <eParameters name="redefinee" ordered="false" lowerBound="1" eType="#//RedefinableElement"/>
+      </contents>
+      <contents xsi:type="ecore:EReference" name="redefinitionContext" ordered="false"
+          upperBound="-1" eType="#//Classifier" changeable="false" volatile="true"
+          transient="true" derived="true">
+        <eAnnotations source="redefines" references="#//RedefinableElement/redefinitionContext"/>
+      </contents>
+    </eAnnotations>
+    <eOperations name="entry_or_exit" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="composite_states" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="destinations_or_sources_of_transitions" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="submachine_or_regions" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="submachine_states" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="isComposite" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean"/>
+    <eOperations name="isOrthogonal" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean"/>
+    <eOperations name="isRedefinitionContextValid" ordered="false" lowerBound="1"
+        eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean">
+      <eAnnotations source="redefines" references="#//RedefinableElement/isRedefinitionContextValid"/>
+      <eParameters name="redefined" ordered="false" lowerBound="1" eType="#//State"/>
+    </eOperations>
+    <eOperations name="isSimple" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean"/>
+    <eOperations name="isSubmachineState" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean"/>
+    <eOperations name="redefinitionContext" ordered="false" lowerBound="1" eType="#//Classifier"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="connection" ordered="false"
+        upperBound="-1" eType="#//ConnectionPointReference" containment="true" eOpposite="#//ConnectionPointReference/state">
+      <eAnnotations source="subsets" references="#//Namespace/ownedMember"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="connectionPoint" ordered="false"
+        upperBound="-1" eType="#//Pseudostate" containment="true" eOpposite="#//Pseudostate/state">
+      <eAnnotations source="subsets" references="#//Namespace/ownedMember"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="deferrableTrigger" ordered="false"
+        upperBound="-1" eType="#//Trigger" containment="true">
+      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="doActivity" ordered="false"
+        eType="#//Behavior" containment="true">
+      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="entry" ordered="false"
+        eType="#//Behavior" containment="true">
+      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="exit" ordered="false" eType="#//Behavior"
+        containment="true">
+      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isComposite" ordered="false"
+        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean"
+        changeable="false" volatile="true" transient="true" defaultValueLiteral="false"
+        derived="true"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isOrthogonal" ordered="false"
+        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean"
+        changeable="false" volatile="true" transient="true" defaultValueLiteral="false"
+        derived="true"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isSimple" ordered="false"
+        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean"
+        changeable="false" volatile="true" transient="true" defaultValueLiteral="true"
+        derived="true"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isSubmachineState" ordered="false"
+        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean"
+        changeable="false" volatile="true" transient="true" defaultValueLiteral="false"
+        derived="true"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="redefinedState" ordered="false"
+        eType="#//State">
+      <eAnnotations source="subsets" references="#//RedefinableElement/redefinedElement"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="stateInvariant" ordered="false"
+        eType="#//Constraint">
+      <eAnnotations source="subsets" references="#//Namespace/ownedRule"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="submachine" ordered="false"
+        eType="#//StateMachine" eOpposite="#//StateMachine/submachineState"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="region" ordered="false"
+        upperBound="-1" eType="#//Region" containment="true" eOpposite="#//Region/state">
+      <eAnnotations source="subsets" references="#//Namespace/ownedMember"/>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="ConnectionPointReference" eSuperTypes="#//Vertex">
+    <eOperations name="entry_pseudostates" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="exit_pseudostates" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="entry" ordered="false"
+        upperBound="-1" eType="#//Pseudostate"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="exit" ordered="false" upperBound="-1"
+        eType="#//Pseudostate"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="state" ordered="false"
+        eType="#//State" eOpposite="#//State/connection">
+      <eAnnotations source="subsets" references="#//NamedElement/namespace"/>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="Trigger" eSuperTypes="#//NamedElement">
+    <eStructuralFeatures xsi:type="ecore:EReference" name="event" ordered="false"
+        lowerBound="1" eType="#//Event"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="port" ordered="false" upperBound="-1"
+        eType="#//Port"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="Event" abstract="true" eSuperTypes="#//PackageableElement"/>
+  <eClassifiers xsi:type="ecore:EClass" name="Port" eSuperTypes="#//Property">
+    <eOperations name="default_value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="port_aggregation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="port_destroyed" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="getProvideds" ordered="false" upperBound="-1" eType="#//Interface"/>
+    <eOperations name="getRequireds" ordered="false" upperBound="-1" eType="#//Interface"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isBehavior" ordered="false"
+        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean"
+        defaultValueLiteral="false"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isConjugated" ordered="false"
+        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean"
+        defaultValueLiteral="false"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isService" ordered="false"
+        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean"
+        defaultValueLiteral="true"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="protocol" ordered="false"
+        eType="#//ProtocolStateMachine"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="provided" ordered="false"
+        upperBound="-1" eType="#//Interface" changeable="false" volatile="true" transient="true"
+        derived="true"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="redefinedPort" ordered="false"
+        upperBound="-1" eType="#//Port">
+      <eAnnotations source="subsets" references="#//Property/redefinedProperty"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="required" ordered="false"
+        upperBound="-1" eType="#//Interface" changeable="false" volatile="true" transient="true"
+        derived="true"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="Constraint" eSuperTypes="#//PackageableElement">
+    <eOperations name="not_apply_to_self" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="no_side_effects" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="boolean_value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="value_specification_boolean" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="constrainedElement" upperBound="-1"
+        eType="#//Element"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="context" ordered="false"
+        eType="#//Namespace" eOpposite="#//Namespace/ownedRule">
+      <eAnnotations source="subsets" references="#//NamedElement/namespace"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="specification" ordered="false"
+        lowerBound="1" eType="#//ValueSpecification" containment="true">
+      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="Transition" eSuperTypes="#//Namespace #//RedefinableElement">
+    <eAnnotations source="duplicates">
+      <contents xsi:type="ecore:EOperation" name="isConsistentWith" ordered="false"
+          lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean">
+        <eAnnotations source="redefines" references="#//RedefinableElement/isConsistentWith"/>
+        <eParameters name="redefinee" ordered="false" lowerBound="1" eType="#//RedefinableElement"/>
+      </contents>
+      <contents xsi:type="ecore:EReference" name="redefinitionContext" ordered="false"
+          upperBound="-1" eType="#//Classifier" changeable="false" volatile="true"
+          transient="true" derived="true">
+        <eAnnotations source="redefines" references="#//RedefinableElement/redefinitionContext"/>
+      </contents>
+    </eAnnotations>
+    <eOperations name="state_is_local" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="fork_segment_guards" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="join_segment_state" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="initial_transition" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="outgoing_pseudostates" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="signatures_compatible" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="state_is_internal" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="join_segment_guards" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="fork_segment_state" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="state_is_external" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="containingStateMachine" ordered="false" lowerBound="1" eType="#//StateMachine"/>
+    <eOperations name="redefinitionContext" ordered="false" lowerBound="1" eType="#//Classifier"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="effect" ordered="false"
+        eType="#//Behavior" containment="true">
+      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="guard" ordered="false"
+        eType="#//Constraint">
+      <eAnnotations source="subsets" references="#//Namespace/ownedRule"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" ordered="false" lowerBound="1"
+        eType="#//TransitionKind" defaultValueLiteral="external"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="redefinedTransition" ordered="false"
+        eType="#//Transition">
+      <eAnnotations source="subsets" references="#//RedefinableElement/redefinedElement"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="source" ordered="false"
+        lowerBound="1" eType="#//Vertex"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="target" ordered="false"
+        lowerBound="1" eType="#//Vertex"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="trigger" ordered="false"
+        upperBound="-1" eType="#//Trigger" containment="true">
+      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="container" ordered="false"
+        lowerBound="1" eType="#//Region" eOpposite="#//Region/transition">
+      <eAnnotations source="subsets" references="#//NamedElement/namespace"/>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EEnum" name="TransitionKind">
+    <eLiterals name="internal"/>
+    <eLiterals name="local" value="1"/>
+    <eLiterals name="external" value="2"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EEnum" name="PseudostateKind">
+    <eLiterals name="initial"/>
+    <eLiterals name="deepHistory" value="1"/>
+    <eLiterals name="shallowHistory" value="2"/>
+    <eLiterals name="join" value="3"/>
+    <eLiterals name="fork" value="4"/>
+    <eLiterals name="junction" value="5"/>
+    <eLiterals name="choice" value="6"/>
+    <eLiterals name="entryPoint" value="7"/>
+    <eLiterals name="exitPoint" value="8"/>
+    <eLiterals name="terminate" value="9"/>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="ProtocolConformance" eSuperTypes="#//DirectedRelationship">
+    <eStructuralFeatures xsi:type="ecore:EReference" name="generalMachine" ordered="false"
+        lowerBound="1" eType="#//ProtocolStateMachine">
+      <eAnnotations source="subsets" references="#//DirectedRelationship/target"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="specificMachine" ordered="false"
+        lowerBound="1" eType="#//ProtocolStateMachine" eOpposite="#//ProtocolStateMachine/conformance">
+      <eAnnotations source="subsets" references="#//Element/owner #//DirectedRelationship/source"/>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="Parameter" eSuperTypes="#//ConnectableElement #//MultiplicityElement">
+    <eOperations name="reentrant_behaviors" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
         <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
@@ -1898,7 +2752,16 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="reentrant_behaviors" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="not_exception" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="in_and_out" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
         <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
@@ -1975,7 +2838,7 @@
     <eLiterals name="delete" value="3"/>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="ParameterSet" eSuperTypes="#//NamedElement">
-    <eOperations name="same_parameterized_entity" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="two_parameter_sets" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
         <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
@@ -1993,7 +2856,7 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="two_parameter_sets" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="same_parameterized_entity" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
         <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
@@ -2009,54 +2872,6 @@
     <eStructuralFeatures xsi:type="ecore:EReference" name="parameter" ordered="false"
         lowerBound="1" upperBound="-1" eType="#//Parameter" eOpposite="#//Parameter/parameterSet"/>
   </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="Constraint" eSuperTypes="#//PackageableElement">
-    <eOperations name="boolean_value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="no_side_effects" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="not_apply_to_self" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="value_specification_boolean" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="constrainedElement" upperBound="-1"
-        eType="#//Element"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="context" ordered="false"
-        eType="#//Namespace" eOpposite="#//Namespace/ownedRule">
-      <eAnnotations source="subsets" references="#//NamedElement/namespace"/>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="specification" ordered="false"
-        lowerBound="1" eType="#//ValueSpecification" containment="true">
-      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
-    </eStructuralFeatures>
-  </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="DataType" eSuperTypes="#//Classifier">
     <eAnnotations source="duplicates">
       <contents xsi:type="ecore:EOperation" name="inherit" ordered="false" upperBound="-1"
@@ -2079,770 +2894,13 @@
     </eOperations>
     <eStructuralFeatures xsi:type="ecore:EReference" name="ownedAttribute" upperBound="-1"
         eType="#//Property" containment="true" eOpposite="#//Property/datatype">
-      <eAnnotations source="subsets" references="#//Classifier/attribute #//Namespace/ownedMember"/>
+      <eAnnotations source="subsets" references="#//Namespace/ownedMember #//Classifier/attribute"/>
     </eStructuralFeatures>
     <eStructuralFeatures xsi:type="ecore:EReference" name="ownedOperation" upperBound="-1"
         eType="#//Operation" containment="true" eOpposite="#//Operation/datatype">
       <eAnnotations source="subsets" references="#//Classifier/feature #//Namespace/ownedMember"/>
     </eStructuralFeatures>
   </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="Interface" eSuperTypes="#//Classifier">
-    <eOperations name="visibility" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="createOwnedAttribute" ordered="false" lowerBound="1" eType="#//Property">
-      <eParameters name="name" ordered="false" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//String"/>
-      <eParameters name="type" ordered="false" eType="#//Type"/>
-      <eParameters name="lower" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Integer"/>
-      <eParameters name="upper" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//UnlimitedNatural"/>
-    </eOperations>
-    <eOperations name="createOwnedOperation" ordered="false" lowerBound="1" eType="#//Operation">
-      <eParameters name="name" ordered="false" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//String"/>
-      <eParameters name="parameterNames" ordered="false" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//String"/>
-      <eParameters name="parameterTypes" ordered="false" upperBound="-1" eType="#//Type"/>
-      <eParameters name="returnType" ordered="false" eType="#//Type"/>
-    </eOperations>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="nestedClassifier" upperBound="-1"
-        eType="#//Classifier" containment="true">
-      <eAnnotations source="subsets" references="#//Namespace/ownedMember"/>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedAttribute" upperBound="-1"
-        eType="#//Property" containment="true" eOpposite="#//Property/interface">
-      <eAnnotations source="subsets" references="#//Classifier/attribute #//Namespace/ownedMember"/>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedReception" ordered="false"
-        upperBound="-1" eType="#//Reception" containment="true">
-      <eAnnotations source="subsets" references="#//Classifier/feature #//Namespace/ownedMember"/>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="protocol" ordered="false"
-        eType="#//ProtocolStateMachine" containment="true">
-      <eAnnotations source="subsets" references="#//Namespace/ownedMember"/>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="redefinedInterface" ordered="false"
-        upperBound="-1" eType="#//Interface">
-      <eAnnotations source="subsets" references="#//Classifier/redefinedClassifier"/>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedOperation" upperBound="-1"
-        eType="#//Operation" containment="true" eOpposite="#//Operation/interface">
-      <eAnnotations source="subsets" references="#//Classifier/feature #//Namespace/ownedMember"/>
-    </eStructuralFeatures>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="Reception" eSuperTypes="#//BehavioralFeature">
-    <eOperations name="not_query" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="signal" ordered="false"
-        lowerBound="1" eType="#//Signal"/>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="Signal" eSuperTypes="#//Classifier">
-    <eOperations name="createOwnedAttribute" ordered="false" lowerBound="1" eType="#//Property">
-      <eParameters name="name" ordered="false" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//String"/>
-      <eParameters name="type" ordered="false" eType="#//Type"/>
-      <eParameters name="lower" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Integer"/>
-      <eParameters name="upper" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//UnlimitedNatural"/>
-    </eOperations>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedAttribute" upperBound="-1"
-        eType="#//Property" containment="true">
-      <eAnnotations source="subsets" references="#//Classifier/attribute #//Namespace/ownedMember"/>
-    </eStructuralFeatures>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="ProtocolStateMachine" eSuperTypes="#//StateMachine">
-    <eAnnotations source="duplicates">
-      <contents xsi:type="ecore:EOperation" name="classifier_context" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-        <eAnnotations source="redefines" references="#//StateMachine/classifier_context"/>
-        <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-        <eParameters name="context">
-          <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          </eGenericType>
-        </eParameters>
-      </contents>
-    </eAnnotations>
-    <eOperations name="deep_or_shallow_history" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="entry_exit_do" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="ports_connected" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="protocol_transitions" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="conformance" ordered="false"
-        upperBound="-1" eType="#//ProtocolConformance" containment="true" eOpposite="#//ProtocolConformance/specificMachine">
-      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
-    </eStructuralFeatures>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="StateMachine" eSuperTypes="#//Behavior">
-    <eAnnotations source="duplicates">
-      <contents xsi:type="ecore:EOperation" name="isConsistentWith" ordered="false"
-          lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean">
-        <eAnnotations source="redefines" references="#//RedefinableElement/isConsistentWith"/>
-        <eParameters name="redefinee" ordered="false" lowerBound="1" eType="#//RedefinableElement"/>
-      </contents>
-    </eAnnotations>
-    <eOperations name="connection_points" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="classifier_context" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="method" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="context_classifier" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="LCA" ordered="false" lowerBound="1" eType="#//Namespace">
-      <eParameters name="s1" ordered="false" lowerBound="1" eType="#//State"/>
-      <eParameters name="s2" ordered="false" lowerBound="1" eType="#//State"/>
-    </eOperations>
-    <eOperations name="ancestor" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean">
-      <eParameters name="s1" ordered="false" lowerBound="1" eType="#//State"/>
-      <eParameters name="s2" ordered="false" lowerBound="1" eType="#//State"/>
-    </eOperations>
-    <eOperations name="isRedefinitionContextValid" ordered="false" lowerBound="1"
-        eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean">
-      <eAnnotations source="redefines" references="#//RedefinableElement/isRedefinitionContextValid"/>
-      <eParameters name="redefined" ordered="false" lowerBound="1" eType="#//StateMachine"/>
-    </eOperations>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="connectionPoint" ordered="false"
-        upperBound="-1" eType="#//Pseudostate" containment="true" eOpposite="#//Pseudostate/stateMachine">
-      <eAnnotations source="subsets" references="#//Namespace/ownedMember"/>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="submachineState" ordered="false"
-        upperBound="-1" eType="#//State" eOpposite="#//State/submachine"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="region" ordered="false"
-        lowerBound="1" upperBound="-1" eType="#//Region" containment="true" eOpposite="#//Region/stateMachine">
-      <eAnnotations source="subsets" references="#//Namespace/ownedMember"/>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="extendedStateMachine" ordered="false"
-        upperBound="-1" eType="#//StateMachine">
-      <eAnnotations source="redefines" references="#//Behavior/redefinedBehavior"/>
-    </eStructuralFeatures>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="Pseudostate" eSuperTypes="#//Vertex">
-    <eOperations name="transitions_outgoing" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="choice_vertex" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="outgoing_from_initial" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="join_vertex" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="junction_vertex" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="history_vertices" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="initial_vertex" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="fork_vertex" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="transitions_incoming" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="state" ordered="false"
-        eType="#//State" eOpposite="#//State/connectionPoint">
-      <eAnnotations source="subsets" references="#//NamedElement/namespace"/>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" ordered="false" lowerBound="1"
-        eType="#//PseudostateKind" defaultValueLiteral="initial"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="stateMachine" ordered="false"
-        eType="#//StateMachine" eOpposite="#//StateMachine/connectionPoint">
-      <eAnnotations source="subsets" references="#//NamedElement/namespace"/>
-    </eStructuralFeatures>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="Vertex" abstract="true" eSuperTypes="#//NamedElement">
-    <eOperations name="containingStateMachine" ordered="false" lowerBound="1" eType="#//StateMachine"/>
-    <eOperations name="getIncomings" ordered="false" upperBound="-1" eType="#//Transition"/>
-    <eOperations name="getOutgoings" ordered="false" upperBound="-1" eType="#//Transition"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="container" ordered="false"
-        eType="#//Region" eOpposite="#//Region/subvertex">
-      <eAnnotations source="subsets" references="#//NamedElement/namespace"/>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="incoming" ordered="false"
-        upperBound="-1" eType="#//Transition" changeable="false" volatile="true" transient="true"
-        derived="true"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="outgoing" ordered="false"
-        upperBound="-1" eType="#//Transition" changeable="false" volatile="true" transient="true"
-        derived="true"/>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="Region" eSuperTypes="#//Namespace #//RedefinableElement">
-    <eAnnotations source="duplicates">
-      <contents xsi:type="ecore:EOperation" name="isConsistentWith" ordered="false"
-          lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean">
-        <eAnnotations source="redefines" references="#//RedefinableElement/isConsistentWith"/>
-        <eParameters name="redefinee" ordered="false" lowerBound="1" eType="#//RedefinableElement"/>
-      </contents>
-      <contents xsi:type="ecore:EReference" name="redefinitionContext" ordered="false"
-          upperBound="-1" eType="#//Classifier" changeable="false" volatile="true"
-          transient="true" derived="true">
-        <eAnnotations source="redefines" references="#//RedefinableElement/redefinitionContext"/>
-      </contents>
-    </eAnnotations>
-    <eOperations name="deep_history_vertex" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="shallow_history_vertex" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="owned" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="initial_vertex" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="belongsToPSM" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean"/>
-    <eOperations name="containingStateMachine" ordered="false" lowerBound="1" eType="#//StateMachine"/>
-    <eOperations name="isRedefinitionContextValid" ordered="false" lowerBound="1"
-        eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean">
-      <eAnnotations source="redefines" references="#//RedefinableElement/isRedefinitionContextValid"/>
-      <eParameters name="redefined" ordered="false" lowerBound="1" eType="#//Region"/>
-    </eOperations>
-    <eOperations name="redefinitionContext" ordered="false" lowerBound="1" eType="#//Classifier"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="extendedRegion" ordered="false"
-        eType="#//Region">
-      <eAnnotations source="subsets" references="#//RedefinableElement/redefinedElement"/>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="state" ordered="false"
-        eType="#//State" eOpposite="#//State/region">
-      <eAnnotations source="subsets" references="#//NamedElement/namespace"/>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="stateMachine" ordered="false"
-        eType="#//StateMachine" eOpposite="#//StateMachine/region">
-      <eAnnotations source="subsets" references="#//NamedElement/namespace"/>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="transition" ordered="false"
-        upperBound="-1" eType="#//Transition" containment="true" eOpposite="#//Transition/container">
-      <eAnnotations source="subsets" references="#//Namespace/ownedMember"/>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="subvertex" ordered="false"
-        upperBound="-1" eType="#//Vertex" containment="true" eOpposite="#//Vertex/container">
-      <eAnnotations source="subsets" references="#//Namespace/ownedMember"/>
-    </eStructuralFeatures>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="State" eSuperTypes="#//Namespace #//RedefinableElement #//Vertex">
-    <eAnnotations source="duplicates">
-      <contents xsi:type="ecore:EOperation" name="containingStateMachine" ordered="false"
-          lowerBound="1" eType="#//StateMachine">
-        <eAnnotations source="redefines" references="#//Vertex/containingStateMachine"/>
-      </contents>
-      <contents xsi:type="ecore:EOperation" name="isConsistentWith" ordered="false"
-          lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean">
-        <eAnnotations source="redefines" references="#//RedefinableElement/isConsistentWith"/>
-        <eParameters name="redefinee" ordered="false" lowerBound="1" eType="#//RedefinableElement"/>
-      </contents>
-      <contents xsi:type="ecore:EReference" name="redefinitionContext" ordered="false"
-          upperBound="-1" eType="#//Classifier" changeable="false" volatile="true"
-          transient="true" derived="true">
-        <eAnnotations source="redefines" references="#//RedefinableElement/redefinitionContext"/>
-      </contents>
-    </eAnnotations>
-    <eOperations name="entry_or_exit" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="submachine_states" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="composite_states" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="destinations_or_sources_of_transitions" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="submachine_or_regions" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="isComposite" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean"/>
-    <eOperations name="isOrthogonal" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean"/>
-    <eOperations name="isRedefinitionContextValid" ordered="false" lowerBound="1"
-        eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean">
-      <eAnnotations source="redefines" references="#//RedefinableElement/isRedefinitionContextValid"/>
-      <eParameters name="redefined" ordered="false" lowerBound="1" eType="#//State"/>
-    </eOperations>
-    <eOperations name="isSimple" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean"/>
-    <eOperations name="isSubmachineState" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean"/>
-    <eOperations name="redefinitionContext" ordered="false" lowerBound="1" eType="#//Classifier"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="connection" ordered="false"
-        upperBound="-1" eType="#//ConnectionPointReference" containment="true" eOpposite="#//ConnectionPointReference/state">
-      <eAnnotations source="subsets" references="#//Namespace/ownedMember"/>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="connectionPoint" ordered="false"
-        upperBound="-1" eType="#//Pseudostate" containment="true" eOpposite="#//Pseudostate/state">
-      <eAnnotations source="subsets" references="#//Namespace/ownedMember"/>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="deferrableTrigger" ordered="false"
-        upperBound="-1" eType="#//Trigger" containment="true">
-      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="doActivity" ordered="false"
-        eType="#//Behavior" containment="true">
-      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="entry" ordered="false"
-        eType="#//Behavior" containment="true">
-      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="exit" ordered="false" eType="#//Behavior"
-        containment="true">
-      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isComposite" ordered="false"
-        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean"
-        changeable="false" volatile="true" transient="true" defaultValueLiteral="false"
-        derived="true"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isOrthogonal" ordered="false"
-        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean"
-        changeable="false" volatile="true" transient="true" defaultValueLiteral="false"
-        derived="true"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isSimple" ordered="false"
-        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean"
-        changeable="false" volatile="true" transient="true" defaultValueLiteral="true"
-        derived="true"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isSubmachineState" ordered="false"
-        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean"
-        changeable="false" volatile="true" transient="true" defaultValueLiteral="false"
-        derived="true"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="redefinedState" ordered="false"
-        eType="#//State">
-      <eAnnotations source="subsets" references="#//RedefinableElement/redefinedElement"/>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="stateInvariant" ordered="false"
-        eType="#//Constraint">
-      <eAnnotations source="subsets" references="#//Namespace/ownedRule"/>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="submachine" ordered="false"
-        eType="#//StateMachine" eOpposite="#//StateMachine/submachineState"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="region" ordered="false"
-        upperBound="-1" eType="#//Region" containment="true" eOpposite="#//Region/state">
-      <eAnnotations source="subsets" references="#//Namespace/ownedMember"/>
-    </eStructuralFeatures>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="ConnectionPointReference" eSuperTypes="#//Vertex">
-    <eOperations name="exit_pseudostates" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="entry_pseudostates" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="entry" ordered="false"
-        upperBound="-1" eType="#//Pseudostate"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="exit" ordered="false" upperBound="-1"
-        eType="#//Pseudostate"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="state" ordered="false"
-        eType="#//State" eOpposite="#//State/connection">
-      <eAnnotations source="subsets" references="#//NamedElement/namespace"/>
-    </eStructuralFeatures>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="Trigger" eSuperTypes="#//NamedElement">
-    <eStructuralFeatures xsi:type="ecore:EReference" name="event" ordered="false"
-        lowerBound="1" eType="#//Event"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="port" ordered="false" upperBound="-1"
-        eType="#//Port"/>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="Event" abstract="true" eSuperTypes="#//PackageableElement"/>
-  <eClassifiers xsi:type="ecore:EClass" name="Port" eSuperTypes="#//Property">
-    <eOperations name="port_destroyed" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="port_aggregation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="default_value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="getProvideds" ordered="false" upperBound="-1" eType="#//Interface"/>
-    <eOperations name="getRequireds" ordered="false" upperBound="-1" eType="#//Interface"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isBehavior" ordered="false"
-        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean"
-        defaultValueLiteral="false"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isConjugated" ordered="false"
-        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean"
-        defaultValueLiteral="false"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isService" ordered="false"
-        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean"
-        defaultValueLiteral="true"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="protocol" ordered="false"
-        eType="#//ProtocolStateMachine"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="provided" ordered="false"
-        upperBound="-1" eType="#//Interface" changeable="false" volatile="true" transient="true"
-        derived="true"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="redefinedPort" ordered="false"
-        upperBound="-1" eType="#//Port">
-      <eAnnotations source="subsets" references="#//Property/redefinedProperty"/>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="required" ordered="false"
-        upperBound="-1" eType="#//Interface" changeable="false" volatile="true" transient="true"
-        derived="true"/>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="Transition" eSuperTypes="#//Namespace #//RedefinableElement">
-    <eAnnotations source="duplicates">
-      <contents xsi:type="ecore:EOperation" name="isConsistentWith" ordered="false"
-          lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean">
-        <eAnnotations source="redefines" references="#//RedefinableElement/isConsistentWith"/>
-        <eParameters name="redefinee" ordered="false" lowerBound="1" eType="#//RedefinableElement"/>
-      </contents>
-      <contents xsi:type="ecore:EReference" name="redefinitionContext" ordered="false"
-          upperBound="-1" eType="#//Classifier" changeable="false" volatile="true"
-          transient="true" derived="true">
-        <eAnnotations source="redefines" references="#//RedefinableElement/redefinitionContext"/>
-      </contents>
-    </eAnnotations>
-    <eOperations name="state_is_external" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="join_segment_guards" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="state_is_internal" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="outgoing_pseudostates" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="join_segment_state" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="fork_segment_state" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="signatures_compatible" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="state_is_local" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="initial_transition" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="fork_segment_guards" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="containingStateMachine" ordered="false" lowerBound="1" eType="#//StateMachine"/>
-    <eOperations name="redefinitionContext" ordered="false" lowerBound="1" eType="#//Classifier"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="effect" ordered="false"
-        eType="#//Behavior" containment="true">
-      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="guard" ordered="false"
-        eType="#//Constraint">
-      <eAnnotations source="subsets" references="#//Namespace/ownedRule"/>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" ordered="false" lowerBound="1"
-        eType="#//TransitionKind" defaultValueLiteral="external"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="redefinedTransition" ordered="false"
-        eType="#//Transition">
-      <eAnnotations source="subsets" references="#//RedefinableElement/redefinedElement"/>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="source" ordered="false"
-        lowerBound="1" eType="#//Vertex"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="target" ordered="false"
-        lowerBound="1" eType="#//Vertex"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="trigger" ordered="false"
-        upperBound="-1" eType="#//Trigger" containment="true">
-      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="container" ordered="false"
-        lowerBound="1" eType="#//Region" eOpposite="#//Region/transition">
-      <eAnnotations source="subsets" references="#//NamedElement/namespace"/>
-    </eStructuralFeatures>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EEnum" name="TransitionKind">
-    <eLiterals name="internal"/>
-    <eLiterals name="local" value="1"/>
-    <eLiterals name="external" value="2"/>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EEnum" name="PseudostateKind">
-    <eLiterals name="initial"/>
-    <eLiterals name="deepHistory" value="1"/>
-    <eLiterals name="shallowHistory" value="2"/>
-    <eLiterals name="join" value="3"/>
-    <eLiterals name="fork" value="4"/>
-    <eLiterals name="junction" value="5"/>
-    <eLiterals name="choice" value="6"/>
-    <eLiterals name="entryPoint" value="7"/>
-    <eLiterals name="exitPoint" value="8"/>
-    <eLiterals name="terminate" value="9"/>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="ProtocolConformance" eSuperTypes="#//DirectedRelationship">
-    <eStructuralFeatures xsi:type="ecore:EReference" name="generalMachine" ordered="false"
-        lowerBound="1" eType="#//ProtocolStateMachine">
-      <eAnnotations source="subsets" references="#//DirectedRelationship/target"/>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="specificMachine" ordered="false"
-        lowerBound="1" eType="#//ProtocolStateMachine" eOpposite="#//ProtocolStateMachine/conformance">
-      <eAnnotations source="subsets" references="#//DirectedRelationship/source #//Element/owner"/>
-    </eStructuralFeatures>
-  </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="OperationTemplateParameter" eSuperTypes="#//TemplateParameter">
     <eAnnotations source="duplicates">
       <contents xsi:type="ecore:EReference" name="parameteredElement" ordered="false"
@@ -2851,11 +2909,6 @@
       </contents>
     </eAnnotations>
   </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="StructuralFeature" abstract="true" eSuperTypes="#//Feature #//TypedElement #//MultiplicityElement">
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="isReadOnly" ordered="false"
-        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean"
-        defaultValueLiteral="false"/>
-  </eClassifiers>
   <eClassifiers xsi:type="ecore:EEnum" name="AggregationKind">
     <eLiterals name="none"/>
     <eLiterals name="shared" value="1"/>
@@ -2936,15 +2989,6 @@
     </eStructuralFeatures>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="InstanceSpecification" eSuperTypes="#//DeploymentTarget #//PackageableElement #//DeployedArtifact">
-    <eOperations name="deployment_artifact" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
     <eOperations name="structural_feature" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
@@ -2972,6 +3016,15 @@
         </eGenericType>
       </eParameters>
     </eOperations>
+    <eOperations name="deployment_artifact" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
     <eStructuralFeatures xsi:type="ecore:EReference" name="classifier" ordered="false"
         upperBound="-1" eType="#//Classifier"/>
     <eStructuralFeatures xsi:type="ecore:EReference" name="slot" ordered="false" upperBound="-1"
@@ -2998,7 +3051,7 @@
   <eClassifiers xsi:type="ecore:EClass" name="PrimitiveType" eSuperTypes="#//DataType"/>
   <eClassifiers xsi:type="ecore:EClass" name="Usage" eSuperTypes="#//Dependency"/>
   <eClassifiers xsi:type="ecore:EClass" name="CollaborationUse" eSuperTypes="#//NamedElement">
-    <eOperations name="client_elements" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="connectors" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
         <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
@@ -3016,7 +3069,7 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="connectors" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="client_elements" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
         <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
@@ -3038,98 +3091,6 @@
       <eAnnotations source="subsets" references="#//StructuredClassifier/role"/>
     </eStructuralFeatures>
   </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="StructuredClassifier" abstract="true"
-      eSuperTypes="#//Classifier">
-    <eOperations name="multiplicities" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="createOwnedAttribute" ordered="false" lowerBound="1" eType="#//Property">
-      <eParameters name="name" ordered="false" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//String"/>
-      <eParameters name="type" ordered="false" eType="#//Type"/>
-      <eParameters name="lower" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Integer"/>
-      <eParameters name="upper" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//UnlimitedNatural"/>
-    </eOperations>
-    <eOperations name="getParts" ordered="false" upperBound="-1" eType="#//Property"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedAttribute" upperBound="-1"
-        eType="#//Property" containment="true">
-      <eAnnotations source="subsets" references="#//Classifier/attribute #//StructuredClassifier/role #//Namespace/ownedMember"/>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedConnector" ordered="false"
-        upperBound="-1" eType="#//Connector" containment="true">
-      <eAnnotations source="subsets" references="#//Classifier/feature #//Namespace/ownedMember"/>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="part" ordered="false" upperBound="-1"
-        eType="#//Property" changeable="false" volatile="true" transient="true" derived="true"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="role" ordered="false" upperBound="-1"
-        eType="#//ConnectableElement" changeable="false" volatile="true" transient="true"
-        derived="true">
-      <eAnnotations source="union"/>
-      <eAnnotations source="subsets" references="#//Namespace/member"/>
-    </eStructuralFeatures>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="Connector" eSuperTypes="#//Feature">
-    <eOperations name="types" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="roles" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="between_interfaces_ports" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="compatible" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="getKind" ordered="false" lowerBound="1" eType="#//ConnectorKind"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="contract" ordered="false"
-        upperBound="-1" eType="#//Behavior"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="end" lowerBound="2" upperBound="-1"
-        eType="#//ConnectorEnd" containment="true">
-      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" ordered="false" lowerBound="1"
-        eType="#//ConnectorKind" changeable="false" volatile="true" transient="true"
-        derived="true"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="redefinedConnector" ordered="false"
-        upperBound="-1" eType="#//Connector">
-      <eAnnotations source="subsets" references="#//RedefinableElement/redefinedElement"/>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="type" ordered="false" eType="#//Association"/>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EEnum" name="ConnectorKind">
-    <eLiterals name="assembly"/>
-    <eLiterals name="delegation" value="1"/>
-  </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="Generalization" eSuperTypes="#//DirectedRelationship">
     <eOperations name="generalization_same_classifier" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
@@ -3151,11 +3112,11 @@
         defaultValueLiteral="true"/>
     <eStructuralFeatures xsi:type="ecore:EReference" name="specific" ordered="false"
         lowerBound="1" eType="#//Classifier" eOpposite="#//Classifier/generalization">
-      <eAnnotations source="subsets" references="#//DirectedRelationship/source #//Element/owner"/>
+      <eAnnotations source="subsets" references="#//Element/owner #//DirectedRelationship/source"/>
     </eStructuralFeatures>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="GeneralizationSet" eSuperTypes="#//PackageableElement">
-    <eOperations name="generalization_same_classifier" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="maps_to_generalization_set" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
         <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
@@ -3164,7 +3125,7 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="maps_to_generalization_set" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="generalization_same_classifier" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
         <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
@@ -3218,16 +3179,7 @@
     </eStructuralFeatures>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="UseCase" eSuperTypes="#//BehavioredClassifier">
-    <eOperations name="binary_associations" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="no_association_to_use_case" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="must_have_name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
         <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
@@ -3245,7 +3197,16 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="must_have_name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="binary_associations" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="no_association_to_use_case" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
         <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
@@ -3292,7 +3253,7 @@
         upperBound="-1" eType="#//ExtensionPoint"/>
     <eStructuralFeatures xsi:type="ecore:EReference" name="extension" ordered="false"
         lowerBound="1" eType="#//UseCase" eOpposite="#//UseCase/extend">
-      <eAnnotations source="subsets" references="#//NamedElement/namespace #//DirectedRelationship/source"/>
+      <eAnnotations source="subsets" references="#//DirectedRelationship/source #//NamedElement/namespace"/>
     </eStructuralFeatures>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="ExtensionPoint" eSuperTypes="#//RedefinableElement">
@@ -3317,7 +3278,7 @@
     </eStructuralFeatures>
     <eStructuralFeatures xsi:type="ecore:EReference" name="includingCase" ordered="false"
         lowerBound="1" eType="#//UseCase" eOpposite="#//UseCase/include">
-      <eAnnotations source="subsets" references="#//NamedElement/namespace #//DirectedRelationship/source"/>
+      <eAnnotations source="subsets" references="#//DirectedRelationship/source #//NamedElement/namespace"/>
     </eStructuralFeatures>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="Substitution" eSuperTypes="#//Realization">
@@ -3327,10 +3288,9 @@
     </eStructuralFeatures>
     <eStructuralFeatures xsi:type="ecore:EReference" name="substitutingClassifier"
         ordered="false" lowerBound="1" eType="#//Classifier" eOpposite="#//Classifier/substitution">
-      <eAnnotations source="subsets" references="#//Dependency/client #//Element/owner"/>
+      <eAnnotations source="subsets" references="#//Element/owner #//Dependency/client"/>
     </eStructuralFeatures>
   </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="Realization" eSuperTypes="#//Abstraction"/>
   <eClassifiers xsi:type="ecore:EClass" name="ClassifierTemplateParameter" eSuperTypes="#//TemplateParameter">
     <eAnnotations source="duplicates">
       <contents xsi:type="ecore:EReference" name="parameteredElement" ordered="false"
@@ -3353,24 +3313,62 @@
     <eStructuralFeatures xsi:type="ecore:EReference" name="constrainingClassifier"
         ordered="false" upperBound="-1" eType="#//Classifier"/>
   </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="InterfaceRealization" eSuperTypes="#//Realization">
+  <eClassifiers xsi:type="ecore:EClass" name="Connector" eSuperTypes="#//Feature">
+    <eOperations name="compatible" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="roles" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="between_interfaces_ports" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="types" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="getKind" ordered="false" lowerBound="1" eType="#//ConnectorKind"/>
     <eStructuralFeatures xsi:type="ecore:EReference" name="contract" ordered="false"
-        lowerBound="1" eType="#//Interface">
-      <eAnnotations source="subsets" references="#//Dependency/supplier"/>
+        upperBound="-1" eType="#//Behavior"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="end" lowerBound="2" upperBound="-1"
+        eType="#//ConnectorEnd" containment="true">
+      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
     </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="implementingClassifier"
-        ordered="false" lowerBound="1" eType="#//BehavioredClassifier" eOpposite="#//BehavioredClassifier/interfaceRealization">
-      <eAnnotations source="subsets" references="#//Dependency/client #//Element/owner"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" ordered="false" lowerBound="1"
+        eType="#//ConnectorKind" changeable="false" volatile="true" transient="true"
+        derived="true"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="redefinedConnector" ordered="false"
+        upperBound="-1" eType="#//Connector">
+      <eAnnotations source="subsets" references="#//RedefinableElement/redefinedElement"/>
     </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="type" ordered="false" eType="#//Association"/>
   </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="EncapsulatedClassifier" abstract="true"
-      eSuperTypes="#//StructuredClassifier">
-    <eOperations name="getOwnedPorts" ordered="false" upperBound="-1" eType="#//Port"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedPort" ordered="false"
-        upperBound="-1" eType="#//Port" changeable="false" volatile="true" transient="true"
-        derived="true">
-      <eAnnotations source="subsets" references="#//StructuredClassifier/ownedAttribute"/>
-    </eStructuralFeatures>
+  <eClassifiers xsi:type="ecore:EEnum" name="ConnectorKind">
+    <eLiterals name="assembly"/>
+    <eLiterals name="delegation" value="1"/>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="Image" eSuperTypes="#//Element">
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="content" ordered="false"
@@ -3386,7 +3384,7 @@
         <eAnnotations source="redefines" references="#//ValueSpecification/stringValue"/>
       </contents>
     </eAnnotations>
-    <eOperations name="language_body_size" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="only_return_result_parameters" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
         <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
@@ -3404,7 +3402,7 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="only_return_result_parameters" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="language_body_size" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
         <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
@@ -3432,15 +3430,6 @@
         eType="#//Parameter" changeable="false" volatile="true" transient="true" derived="true"/>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="AcceptCallAction" eSuperTypes="#//AcceptEventAction">
-    <eOperations name="result_pins" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
     <eOperations name="trigger_call_event" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
@@ -3459,13 +3448,7 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="returnInformation" ordered="false"
-        lowerBound="1" eType="#//OutputPin" containment="true">
-      <eAnnotations source="subsets" references="#//Action/output"/>
-    </eStructuralFeatures>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="AcceptEventAction" eSuperTypes="#//Action">
-    <eOperations name="trigger_events" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="result_pins" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
         <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
@@ -3474,6 +3457,12 @@
         </eGenericType>
       </eParameters>
     </eOperations>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="returnInformation" ordered="false"
+        lowerBound="1" eType="#//OutputPin" containment="true">
+      <eAnnotations source="subsets" references="#//Action/output"/>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="AcceptEventAction" eSuperTypes="#//Action">
     <eOperations name="no_input_pins" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
@@ -3483,7 +3472,7 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="no_output_pins" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="trigger_events" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
         <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
@@ -3501,6 +3490,15 @@
         </eGenericType>
       </eParameters>
     </eOperations>
+    <eOperations name="no_output_pins" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="isUnmarshall" ordered="false"
         lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean"
         defaultValueLiteral="false"/>
@@ -3566,21 +3564,16 @@
       </eParameters>
     </eOperations>
     <eStructuralFeatures xsi:type="ecore:EReference" name="activity" ordered="false"
-        eType="#//Activity" eOpposite="#//Activity/node">
+        eType="#//Activity" volatile="true" transient="true" derived="true" eOpposite="#//Activity/node">
       <eAnnotations source="subsets" references="#//Element/owner"/>
     </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="inGroup" ordered="false"
-        upperBound="-1" eType="#//ActivityGroup" changeable="false" volatile="true"
-        transient="true" derived="true" eOpposite="#//ActivityGroup/containedNode">
-      <eAnnotations source="union"/>
-    </eStructuralFeatures>
     <eStructuralFeatures xsi:type="ecore:EReference" name="inPartition" ordered="false"
         upperBound="-1" eType="#//ActivityPartition" eOpposite="#//ActivityPartition/node">
       <eAnnotations source="subsets" references="#//ActivityNode/inGroup"/>
     </eStructuralFeatures>
     <eStructuralFeatures xsi:type="ecore:EReference" name="inStructuredNode" ordered="false"
         eType="#//StructuredActivityNode" eOpposite="#//StructuredActivityNode/node">
-      <eAnnotations source="subsets" references="#//Element/owner #//ActivityNode/inGroup"/>
+      <eAnnotations source="subsets" references="#//ActivityNode/inGroup #//Element/owner"/>
     </eStructuralFeatures>
     <eStructuralFeatures xsi:type="ecore:EReference" name="inInterruptibleRegion"
         ordered="false" upperBound="-1" eType="#//InterruptibleActivityRegion" eOpposite="#//InterruptibleActivityRegion/node">
@@ -3590,12 +3583,26 @@
         upperBound="-1" eType="#//ActivityEdge" eOpposite="#//ActivityEdge/source"/>
     <eStructuralFeatures xsi:type="ecore:EReference" name="incoming" ordered="false"
         upperBound="-1" eType="#//ActivityEdge" eOpposite="#//ActivityEdge/target"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="inGroup" ordered="false"
+        upperBound="-1" eType="#//ActivityGroup" changeable="false" volatile="true"
+        transient="true" derived="true" eOpposite="#//ActivityGroup/containedNode">
+      <eAnnotations source="union"/>
+    </eStructuralFeatures>
     <eStructuralFeatures xsi:type="ecore:EReference" name="redefinedNode" ordered="false"
         upperBound="-1" eType="#//ActivityNode">
       <eAnnotations source="subsets" references="#//RedefinableElement/redefinedElement"/>
     </eStructuralFeatures>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="Activity" eSuperTypes="#//Behavior">
+    <eOperations name="activity_parameter_node" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
     <eOperations name="autonomous" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
@@ -3614,33 +3621,38 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="activity_parameter_node" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="getStructuredNodes" ordered="false" upperBound="-1" eType="#//StructuredActivityNode"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedGroup" ordered="false"
+        upperBound="-1" eType="#//ActivityGroup" containment="true">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="name" value="group"/>
+        <details key="kind" value="element"/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//Activity/group"/>
+    </eStructuralFeatures>
     <eStructuralFeatures xsi:type="ecore:EReference" name="edge" ordered="false" upperBound="-1"
         eType="#//ActivityEdge" containment="true" eOpposite="#//ActivityEdge/activity">
       <eAnnotations source="subsets" references="#//Element/ownedElement"/>
     </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="group" ordered="false"
-        upperBound="-1" eType="#//ActivityGroup" containment="true" eOpposite="#//ActivityGroup/inActivity">
-      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="structuredNode" ordered="false"
-        upperBound="-1" eType="#//StructuredActivityNode" changeable="false" volatile="true"
-        transient="true" derived="true">
-      <eAnnotations source="subsets" references="#//Activity/group #//Activity/node"/>
-    </eStructuralFeatures>
     <eStructuralFeatures xsi:type="ecore:EReference" name="variable" ordered="false"
         upperBound="-1" eType="#//Variable" containment="true" eOpposite="#//Variable/activityScope">
       <eAnnotations source="subsets" references="#//Namespace/ownedMember"/>
     </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="group" ordered="false"
+        upperBound="-1" eType="#//ActivityGroup" volatile="true" transient="true"
+        derived="true" eOpposite="#//ActivityGroup/inActivity">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="attribute"/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedNode" ordered="false"
+        upperBound="-1" eType="#//ActivityNode" containment="true">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="name" value="node"/>
+        <details key="kind" value="element"/>
+      </eAnnotations>
+      <eAnnotations source="subsets" references="#//Activity/node"/>
+    </eStructuralFeatures>
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="isReadOnly" ordered="false"
         lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//Boolean"
         defaultValueLiteral="false"/>
@@ -3649,13 +3661,75 @@
         defaultValueLiteral="false"/>
     <eStructuralFeatures xsi:type="ecore:EReference" name="partition" ordered="false"
         upperBound="-1" eType="#//ActivityPartition">
-      <eAnnotations source="subsets" references="#//Activity/group"/>
+      <eAnnotations source="subsets" references="#//Activity/group #//Activity/ownedGroup"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="structuredNode" ordered="false"
+        upperBound="-1" eType="#//StructuredActivityNode" containment="true">
+      <eAnnotations source="subsets" references="#//Activity/group #//Activity/node"/>
     </eStructuralFeatures>
     <eStructuralFeatures xsi:type="ecore:EReference" name="node" ordered="false" upperBound="-1"
-        eType="#//ActivityNode" containment="true" eOpposite="#//ActivityNode/activity">
+        eType="#//ActivityNode" volatile="true" transient="true" derived="true" eOpposite="#//ActivityNode/activity">
+      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+        <details key="kind" value="attribute"/>
+      </eAnnotations>
       <eAnnotations source="subsets" references="#//Element/ownedElement"/>
     </eStructuralFeatures>
   </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="ActivityGroup" abstract="true" eSuperTypes="#//NamedElement">
+    <eOperations name="group_owned" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="not_contained" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="nodes_and_edges" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="containedEdge" ordered="false"
+        upperBound="-1" eType="#//ActivityEdge" changeable="false" volatile="true"
+        transient="true" derived="true" eOpposite="#//ActivityEdge/inGroup">
+      <eAnnotations source="union"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="containedNode" ordered="false"
+        upperBound="-1" eType="#//ActivityNode" changeable="false" volatile="true"
+        transient="true" derived="true" eOpposite="#//ActivityNode/inGroup">
+      <eAnnotations source="union"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="inActivity" ordered="false"
+        eType="#//Activity" volatile="true" transient="true" derived="true" eOpposite="#//Activity/group">
+      <eAnnotations source="subsets" references="#//Element/owner"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="subgroup" ordered="false"
+        upperBound="-1" eType="#//ActivityGroup" changeable="false" volatile="true"
+        transient="true" derived="true" eOpposite="#//ActivityGroup/superGroup">
+      <eAnnotations source="union"/>
+      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="superGroup" ordered="false"
+        eType="#//ActivityGroup" changeable="false" volatile="true" transient="true"
+        derived="true" eOpposite="#//ActivityGroup/subgroup">
+      <eAnnotations source="union"/>
+      <eAnnotations source="subsets" references="#//Element/owner"/>
+    </eStructuralFeatures>
+  </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="ActivityEdge" abstract="true" eSuperTypes="#//RedefinableElement">
     <eOperations name="owned" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
@@ -3684,15 +3758,14 @@
         </eGenericType>
       </eParameters>
     </eOperations>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="activity" ordered="false"
+        eType="#//Activity" eOpposite="#//Activity/edge">
+      <eAnnotations source="subsets" references="#//Element/owner"/>
+    </eStructuralFeatures>
     <eStructuralFeatures xsi:type="ecore:EReference" name="guard" ordered="false"
         lowerBound="1" eType="#//ValueSpecification" containment="true">
       <eAnnotations source="subsets" references="#//Element/ownedElement"/>
     </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="inGroup" ordered="false"
-        upperBound="-1" eType="#//ActivityGroup" changeable="false" volatile="true"
-        transient="true" derived="true" eOpposite="#//ActivityGroup/containedEdge">
-      <eAnnotations source="union"/>
-    </eStructuralFeatures>
     <eStructuralFeatures xsi:type="ecore:EReference" name="inPartition" ordered="false"
         upperBound="-1" eType="#//ActivityPartition" eOpposite="#//ActivityPartition/edge">
       <eAnnotations source="subsets" references="#//ActivityEdge/inGroup"/>
@@ -3715,67 +3788,22 @@
         lowerBound="1" eType="#//ValueSpecification" containment="true">
       <eAnnotations source="subsets" references="#//Element/ownedElement"/>
     </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="activity" ordered="false"
-        eType="#//Activity" eOpposite="#//Activity/edge">
-      <eAnnotations source="subsets" references="#//Element/owner"/>
-    </eStructuralFeatures>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="ActivityGroup" abstract="true" eSuperTypes="#//NamedElement">
-    <eOperations name="nodes_and_edges" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="group_owned" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="not_contained" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="containedNode" ordered="false"
-        upperBound="-1" eType="#//ActivityNode" changeable="false" volatile="true"
-        transient="true" derived="true" eOpposite="#//ActivityNode/inGroup">
-      <eAnnotations source="union"/>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="inActivity" ordered="false"
-        eType="#//Activity" eOpposite="#//Activity/group">
-      <eAnnotations source="subsets" references="#//Element/owner"/>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="subgroup" ordered="false"
+    <eStructuralFeatures xsi:type="ecore:EReference" name="inGroup" ordered="false"
         upperBound="-1" eType="#//ActivityGroup" changeable="false" volatile="true"
-        transient="true" derived="true" eOpposite="#//ActivityGroup/superGroup">
-      <eAnnotations source="union"/>
-      <eAnnotations source="subsets" references="#//Element/ownedElement"/>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="superGroup" ordered="false"
-        eType="#//ActivityGroup" changeable="false" volatile="true" transient="true"
-        derived="true" eOpposite="#//ActivityGroup/subgroup">
-      <eAnnotations source="union"/>
-      <eAnnotations source="subsets" references="#//Element/owner"/>
-    </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="containedEdge" ordered="false"
-        upperBound="-1" eType="#//ActivityEdge" changeable="false" volatile="true"
-        transient="true" derived="true" eOpposite="#//ActivityEdge/inGroup">
+        transient="true" derived="true" eOpposite="#//ActivityGroup/containedEdge">
       <eAnnotations source="union"/>
     </eStructuralFeatures>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="ActivityPartition" eSuperTypes="#//ActivityGroup">
+    <eOperations name="represents_part" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
     <eOperations name="represents_classifier" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
@@ -3794,15 +3822,6 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="represents_part" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
     <eOperations name="dimension_not_contained" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
@@ -3840,11 +3859,11 @@
   <eClassifiers xsi:type="ecore:EClass" name="StructuredActivityNode" eSuperTypes="#//Action #//Namespace #//ActivityGroup">
     <eAnnotations source="duplicates">
       <contents xsi:type="ecore:EReference" name="activity" ordered="false" eType="#//Activity"
-          volatile="true" transient="true" derived="true" eOpposite="#//Activity/structuredNode">
+          volatile="true" transient="true" derived="true">
         <eAnnotations source="redefines" references="#//ActivityGroup/inActivity #//ActivityNode/activity"/>
       </contents>
     </eAnnotations>
-    <eOperations name="output_pin_edges" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="input_pin_edges" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
         <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
@@ -3862,7 +3881,7 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="input_pin_edges" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="output_pin_edges" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
         <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
@@ -3876,7 +3895,7 @@
         defaultValueLiteral="false"/>
     <eStructuralFeatures xsi:type="ecore:EReference" name="node" ordered="false" upperBound="-1"
         eType="#//ActivityNode" containment="true" eOpposite="#//ActivityNode/inStructuredNode">
-      <eAnnotations source="subsets" references="#//Element/ownedElement #//ActivityGroup/containedNode"/>
+      <eAnnotations source="subsets" references="#//ActivityGroup/containedNode #//Element/ownedElement"/>
     </eStructuralFeatures>
     <eStructuralFeatures xsi:type="ecore:EReference" name="structuredNodeInput" ordered="false"
         upperBound="-1" eType="#//InputPin" containment="true">
@@ -3921,7 +3940,7 @@
         defaultValueLiteral="false"/>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="ObjectNode" abstract="true" eSuperTypes="#//ActivityNode #//TypedElement">
-    <eOperations name="input_output_parameter" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="object_flow_edges" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
         <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
@@ -3939,7 +3958,7 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="object_flow_edges" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="input_output_parameter" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
         <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
@@ -4019,7 +4038,16 @@
         upperBound="-1" eType="#//ActivityEdge" eOpposite="#//ActivityEdge/interrupts"/>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="ExceptionHandler" eSuperTypes="#//Element">
-    <eOperations name="exception_body" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="one_input" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="edge_source_target" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
         <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
@@ -4037,16 +4065,7 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="one_input" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="edge_source_target" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="exception_body" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
         <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
@@ -4113,15 +4132,6 @@
     </eStructuralFeatures>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="Lifeline" eSuperTypes="#//NamedElement">
-    <eOperations name="selector_specified" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
     <eOperations name="interaction_uses_share_lifeline" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
@@ -4140,6 +4150,15 @@
         </eGenericType>
       </eParameters>
     </eOperations>
+    <eOperations name="selector_specified" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
     <eStructuralFeatures xsi:type="ecore:EReference" name="decomposedAs" ordered="false"
         eType="#//PartDecomposition"/>
     <eStructuralFeatures xsi:type="ecore:EReference" name="interaction" ordered="false"
@@ -4156,7 +4175,7 @@
         upperBound="-1" eType="#//InteractionFragment" eOpposite="#//InteractionFragment/covered"/>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="PartDecomposition" eSuperTypes="#//InteractionUse">
-    <eOperations name="commutativity_of_decomposition" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="parts_of_internal_structures" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
         <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
@@ -4174,7 +4193,7 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="parts_of_internal_structures" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="commutativity_of_decomposition" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
         <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
@@ -4185,16 +4204,7 @@
     </eOperations>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="InteractionUse" eSuperTypes="#//InteractionFragment">
-    <eOperations name="gates_match" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="arguments_are_constants" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="all_lifelines" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
         <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
@@ -4221,7 +4231,7 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="returnValue_type_recipient_correspondence" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="gates_match" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
         <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
@@ -4230,7 +4240,16 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="all_lifelines" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="arguments_are_constants" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="returnValue_type_recipient_correspondence" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
         <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
@@ -4290,6 +4309,33 @@
         </eGenericType>
       </eParameters>
     </eOperations>
+    <eOperations name="occurrence_specifications" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="signature_is_signal" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="signature_is_operation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
     <eOperations name="arguments" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
@@ -4308,24 +4354,6 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="signature_is_signal" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="occurrence_specifications" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
     <eOperations name="signature_refer_to" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
@@ -4335,15 +4363,6 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="signature_is_operation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
     <eOperations name="getMessageKind" ordered="false" lowerBound="1" eType="#//MessageKind"/>
     <eStructuralFeatures xsi:type="ecore:EReference" name="argument" upperBound="-1"
         eType="#//ValueSpecification" containment="true">
@@ -4404,7 +4423,7 @@
     <eLiterals name="reply" value="5"/>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="InteractionOperand" eSuperTypes="#//Namespace #//InteractionFragment">
-    <eOperations name="guard_contain_references" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="guard_directly_prior" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
         <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
@@ -4413,7 +4432,7 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="guard_directly_prior" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="guard_contain_references" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
         <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
@@ -4432,6 +4451,15 @@
     </eStructuralFeatures>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="InteractionConstraint" eSuperTypes="#//Constraint">
+    <eOperations name="maxint_positive" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
     <eOperations name="minint_maxint" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
@@ -4450,24 +4478,6 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="maxint_positive" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="dynamic_variables" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
     <eOperations name="global_data" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
@@ -4486,6 +4496,15 @@
         </eGenericType>
       </eParameters>
     </eOperations>
+    <eOperations name="dynamic_variables" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
     <eStructuralFeatures xsi:type="ecore:EReference" name="maxint" ordered="false"
         eType="#//ValueSpecification" containment="true">
       <eAnnotations source="subsets" references="#//Element/ownedElement"/>
@@ -4532,7 +4551,7 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="one_output_pin" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="no_control_or_data_flow" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
         <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
@@ -4541,7 +4560,7 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="no_control_or_data_flow" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="one_output_pin" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
         <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
@@ -4569,7 +4588,7 @@
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="ControlNode" abstract="true" eSuperTypes="#//ActivityNode"/>
   <eClassifiers xsi:type="ecore:EClass" name="ActivityParameterNode" eSuperTypes="#//ObjectNode">
-    <eOperations name="no_outgoing_edges" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="maximum_one_parameter_node" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
         <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
@@ -4587,25 +4606,7 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="has_parameters" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="same_type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="maximum_one_parameter_node" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="no_edges" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
         <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
@@ -4623,7 +4624,25 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="no_edges" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="no_outgoing_edges" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="same_type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="has_parameters" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
         <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
@@ -4656,7 +4675,7 @@
     </eOperations>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="AddStructuralFeatureValueAction" eSuperTypes="#//WriteStructuralFeatureAction">
-    <eOperations name="required_value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="unlimited_natural_and_multiplicity" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
         <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
@@ -4665,7 +4684,7 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="unlimited_natural_and_multiplicity" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="required_value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
         <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
@@ -4696,15 +4715,6 @@
         </eParameters>
       </contents>
     </eAnnotations>
-    <eOperations name="multiplicity_of_result" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
     <eOperations name="input_pin" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
@@ -4723,6 +4733,15 @@
         </eGenericType>
       </eParameters>
     </eOperations>
+    <eOperations name="multiplicity_of_result" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
     <eStructuralFeatures xsi:type="ecore:EReference" name="result" ordered="false"
         eType="#//OutputPin" containment="true">
       <eAnnotations source="subsets" references="#//Action/output"/>
@@ -4734,24 +4753,6 @@
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="StructuralFeatureAction" abstract="true"
       eSuperTypes="#//Action">
-    <eOperations name="multiplicity" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="same_type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
     <eOperations name="visibility" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
@@ -4761,6 +4762,15 @@
         </eGenericType>
       </eParameters>
     </eOperations>
+    <eOperations name="multiplicity" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
     <eOperations name="not_static" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
@@ -4779,6 +4789,15 @@
         </eGenericType>
       </eParameters>
     </eOperations>
+    <eOperations name="same_type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
     <eStructuralFeatures xsi:type="ecore:EReference" name="object" ordered="false"
         lowerBound="1" eType="#//InputPin" containment="true">
       <eAnnotations source="subsets" references="#//Action/input"/>
@@ -4815,7 +4834,7 @@
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="WriteVariableAction" abstract="true"
       eSuperTypes="#//VariableAction">
-    <eOperations name="same_type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="multiplicity" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
         <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
@@ -4824,7 +4843,7 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="multiplicity" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="same_type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
         <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
@@ -4854,7 +4873,7 @@
   <eClassifiers xsi:type="ecore:EClass" name="AnyReceiveEvent" eSuperTypes="#//MessageEvent"/>
   <eClassifiers xsi:type="ecore:EClass" name="MessageEvent" abstract="true" eSuperTypes="#//Event"/>
   <eClassifiers xsi:type="ecore:EClass" name="AssociationClass" eSuperTypes="#//Class #//Association">
-    <eOperations name="cannot_be_defined" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="disjoint_attributes_ends" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
         <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
@@ -4863,7 +4882,7 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="disjoint_attributes_ends" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="cannot_be_defined" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
         <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
@@ -4878,7 +4897,7 @@
         eType="#//Behavior"/>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="BroadcastSignalAction" eSuperTypes="#//InvocationAction">
-    <eOperations name="number_and_order" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="type_ordering_multiplicity" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
         <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
@@ -4887,7 +4906,7 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="type_ordering_multiplicity" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="number_and_order" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
         <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
@@ -4917,7 +4936,7 @@
         eType="#//Port"/>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="CallAction" abstract="true" eSuperTypes="#//InvocationAction">
-    <eOperations name="type_ordering_multiplicity" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="synchronous_call" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
         <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
@@ -4935,7 +4954,7 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="synchronous_call" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="type_ordering_multiplicity" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
         <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
@@ -5003,15 +5022,6 @@
         </eParameters>
       </contents>
     </eAnnotations>
-    <eOperations name="type_target_pin" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
     <eOperations name="argument_pin_equal_parameter" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
@@ -5030,6 +5040,15 @@
         </eGenericType>
       </eParameters>
     </eOperations>
+    <eOperations name="type_target_pin" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
     <eStructuralFeatures xsi:type="ecore:EReference" name="operation" ordered="false"
         lowerBound="1" eType="#//Operation"/>
     <eStructuralFeatures xsi:type="ecore:EReference" name="target" ordered="false"
@@ -5045,6 +5064,15 @@
     </eStructuralFeatures>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="Clause" eSuperTypes="#//Element">
+    <eOperations name="test_and_body" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
     <eOperations name="body_output_pins" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
@@ -5063,15 +5091,6 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="test_and_body" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
     <eStructuralFeatures xsi:type="ecore:EReference" name="body" ordered="false" upperBound="-1"
         eType="#//ExecutableNode"/>
     <eStructuralFeatures xsi:type="ecore:EReference" name="bodyOutput" upperBound="-1"
@@ -5112,7 +5131,7 @@
     </eStructuralFeatures>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="ClearStructuralFeatureAction" eSuperTypes="#//StructuralFeatureAction">
-    <eOperations name="type_of_result" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="multiplicity_of_result" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
         <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
@@ -5121,7 +5140,7 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="multiplicity_of_result" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="type_of_result" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
         <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
@@ -5137,7 +5156,7 @@
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="ClearVariableAction" eSuperTypes="#//VariableAction"/>
   <eClassifiers xsi:type="ecore:EClass" name="CombinedFragment" eSuperTypes="#//InteractionFragment">
-    <eOperations name="minint_and_maxint" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="break" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
         <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
@@ -5146,7 +5165,7 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="break" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="opt_loop_break_neg" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
         <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
@@ -5164,7 +5183,7 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="opt_loop_break_neg" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="minint_and_maxint" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
         <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
@@ -5213,7 +5232,7 @@
     </eAnnotations>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="Component" eSuperTypes="#//Class">
-    <eOperations name="no_nested_classifiers" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="no_packaged_elements" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
         <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
@@ -5222,7 +5241,7 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="no_packaged_elements" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="no_nested_classifiers" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
         <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
@@ -5281,7 +5300,7 @@
     </eStructuralFeatures>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="ConditionalNode" eSuperTypes="#//StructuredActivityNode">
-    <eOperations name="result_no_incoming" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="executable_nodes" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
         <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
@@ -5290,16 +5309,7 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="no_input_pins" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="one_clause_with_executable_node" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="clause_no_predecessor" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
         <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
@@ -5317,7 +5327,7 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="executable_nodes" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="one_clause_with_executable_node" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
         <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
@@ -5326,7 +5336,16 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="clause_no_predecessor" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="result_no_incoming" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="no_input_pins" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
         <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
@@ -5351,7 +5370,7 @@
     </eStructuralFeatures>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="ConsiderIgnoreFragment" eSuperTypes="#//CombinedFragment">
-    <eOperations name="consider_or_ignore" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
         <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
@@ -5360,7 +5379,7 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="consider_or_ignore" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
         <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
@@ -5373,7 +5392,7 @@
         upperBound="-1" eType="#//NamedElement"/>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="Continuation" eSuperTypes="#//InteractionFragment">
-    <eOperations name="first_or_last_interaction_fragment" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="same_name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
         <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
@@ -5382,7 +5401,7 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="same_name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="first_or_last_interaction_fragment" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
         <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
@@ -5482,16 +5501,7 @@
     </eStructuralFeatures>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="LinkEndData" eSuperTypes="#//Element">
-    <eOperations name="same_type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="multiplicity" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="property_is_association_end" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
         <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
@@ -5509,7 +5519,16 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="property_is_association_end" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="same_type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="multiplicity" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
         <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
@@ -5537,6 +5556,15 @@
         eType="#//InputPin"/>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="QualifierValue" eSuperTypes="#//Element">
+    <eOperations name="qualifier_attribute" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
     <eOperations name="multiplicity_of_qualifier" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
@@ -5555,22 +5583,13 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="qualifier_attribute" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
     <eStructuralFeatures xsi:type="ecore:EReference" name="qualifier" ordered="false"
         lowerBound="1" eType="#//Property"/>
     <eStructuralFeatures xsi:type="ecore:EReference" name="value" ordered="false"
         lowerBound="1" eType="#//InputPin"/>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="LinkEndCreationData" eSuperTypes="#//LinkEndData">
-    <eOperations name="single_input_pin" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="create_link_action" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
         <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
@@ -5579,7 +5598,7 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="create_link_action" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="single_input_pin" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
         <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
@@ -5595,7 +5614,7 @@
         defaultValueLiteral="false"/>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="CreateLinkObjectAction" eSuperTypes="#//CreateLinkAction">
-    <eOperations name="multiplicity" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="association_class" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
         <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
@@ -5613,7 +5632,7 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="association_class" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="multiplicity" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
         <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
@@ -5628,24 +5647,6 @@
     </eStructuralFeatures>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="CreateObjectAction" eSuperTypes="#//Action">
-    <eOperations name="classifier_not_abstract" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="multiplicity" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
     <eOperations name="classifier_not_association_class" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
@@ -5655,6 +5656,15 @@
         </eGenericType>
       </eParameters>
     </eOperations>
+    <eOperations name="classifier_not_abstract" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
     <eOperations name="same_type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
@@ -5664,6 +5674,15 @@
         </eGenericType>
       </eParameters>
     </eOperations>
+    <eOperations name="multiplicity" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
     <eStructuralFeatures xsi:type="ecore:EReference" name="classifier" ordered="false"
         lowerBound="1" eType="#//Classifier"/>
     <eStructuralFeatures xsi:type="ecore:EReference" name="result" ordered="false"
@@ -5673,7 +5692,7 @@
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="DataStoreNode" eSuperTypes="#//CentralBufferNode"/>
   <eClassifiers xsi:type="ecore:EClass" name="DecisionNode" eSuperTypes="#//ControlNode">
-    <eOperations name="zero_input_parameters" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="parameters" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
         <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
@@ -5682,25 +5701,7 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="edges" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="decision_input_flow_incoming" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="two_input_parameters" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="incoming_object_one_input_parameter" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
         <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
@@ -5727,7 +5728,7 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="parameters" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="two_input_parameters" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
         <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
@@ -5736,7 +5737,25 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="incoming_object_one_input_parameter" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="decision_input_flow_incoming" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="zero_input_parameters" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="edges" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
         <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
@@ -5751,25 +5770,7 @@
         eType="#//ObjectFlow"/>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="ObjectFlow" eSuperTypes="#//ActivityEdge">
-    <eOperations name="input_and_output_parameter" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="no_actions" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="transformation_behaviour" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="is_multicast_or_is_multireceive" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
         <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
@@ -5796,7 +5797,25 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="same_upper_bounds" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="no_actions" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="input_and_output_parameter" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="transformation_behaviour" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
         <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
@@ -5814,7 +5833,7 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="is_multicast_or_is_multireceive" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="same_upper_bounds" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
         <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
@@ -5843,7 +5862,7 @@
     </eAnnotations>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="LinkEndDestructionData" eSuperTypes="#//LinkEndData">
-    <eOperations name="unlimited_natural_and_multiplicity" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="destroy_link_action" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
         <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
@@ -5852,7 +5871,7 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="destroy_link_action" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="unlimited_natural_and_multiplicity" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
         <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
@@ -6057,15 +6076,6 @@
     <eLiterals name="stream" value="2"/>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="FinalState" eSuperTypes="#//State">
-    <eOperations name="no_exit_behavior" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
     <eOperations name="no_outgoing_transitions" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
@@ -6075,7 +6085,7 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="no_regions" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="cannot_reference_submachine" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
         <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
@@ -6084,7 +6094,7 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="cannot_reference_submachine" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="no_exit_behavior" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
         <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
@@ -6111,6 +6121,15 @@
         </eGenericType>
       </eParameters>
     </eOperations>
+    <eOperations name="no_regions" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="FlowFinalNode" eSuperTypes="#//FinalNode"/>
   <eClassifiers xsi:type="ecore:EClass" name="ForkNode" eSuperTypes="#//ControlNode">
@@ -6164,7 +6183,7 @@
         eType="ecore:EDataType http://www.eclipse.org/uml2/4.0.0/Types#//String" unsettable="true"/>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="InformationFlow" eSuperTypes="#//PackageableElement #//DirectedRelationship">
-    <eOperations name="must_conform" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="sources_and_targets_kind" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
         <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
@@ -6173,7 +6192,7 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="sources_and_targets_kind" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="must_conform" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
         <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
@@ -6211,15 +6230,6 @@
         upperBound="-1" eType="#//Message"/>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="InformationItem" eSuperTypes="#//Classifier">
-    <eOperations name="sources_and_targets" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
     <eOperations name="has_no" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
@@ -6238,6 +6248,15 @@
         </eGenericType>
       </eParameters>
     </eOperations>
+    <eOperations name="sources_and_targets" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
     <eStructuralFeatures xsi:type="ecore:EReference" name="represented" ordered="false"
         upperBound="-1" eType="#//Classifier"/>
   </eClassifiers>
@@ -6400,24 +6419,6 @@
         defaultValueLiteral="0"/>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="LoopNode" eSuperTypes="#//StructuredActivityNode">
-    <eOperations name="result_no_incoming" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="input_edges" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
     <eOperations name="executable_nodes" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
@@ -6436,6 +6437,24 @@
         </eGenericType>
       </eParameters>
     </eOperations>
+    <eOperations name="result_no_incoming" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="input_edges" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
     <eStructuralFeatures xsi:type="ecore:EReference" name="bodyOutput" upperBound="-1"
         eType="#//OutputPin"/>
     <eStructuralFeatures xsi:type="ecore:EReference" name="bodyPart" ordered="false"
@@ -6632,24 +6651,6 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="compatible_multiplicity" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="visibility" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
     <eOperations name="one_open_end" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
@@ -6659,6 +6660,15 @@
         </eGenericType>
       </eParameters>
     </eOperations>
+    <eOperations name="compatible_multiplicity" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
     <eOperations name="navigable_open_end" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
@@ -6668,13 +6678,22 @@
         </eGenericType>
       </eParameters>
     </eOperations>
+    <eOperations name="visibility" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
     <eStructuralFeatures xsi:type="ecore:EReference" name="result" ordered="false"
         lowerBound="1" eType="#//OutputPin" containment="true">
       <eAnnotations source="subsets" references="#//Action/output"/>
     </eStructuralFeatures>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="ReadLinkObjectEndAction" eSuperTypes="#//Action">
-    <eOperations name="property" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="association_of_association" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
         <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
@@ -6692,15 +6711,6 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="ends_of_association" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
     <eOperations name="type_of_result" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
@@ -6710,15 +6720,6 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="multiplicity_of_result" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
     <eOperations name="type_of_object" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
@@ -6728,7 +6729,25 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="association_of_association" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="property" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="multiplicity_of_result" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="ends_of_association" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
         <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
@@ -6749,15 +6768,6 @@
     </eStructuralFeatures>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="ReadLinkObjectEndQualifierAction" eSuperTypes="#//Action">
-    <eOperations name="multiplicity_of_object" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
     <eOperations name="type_of_object" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
@@ -6767,24 +6777,6 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="multiplicity_of_qualifier" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="ends_of_association" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
     <eOperations name="multiplicity_of_result" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
@@ -6803,6 +6795,33 @@
         </eGenericType>
       </eParameters>
     </eOperations>
+    <eOperations name="ends_of_association" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="multiplicity_of_qualifier" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="multiplicity_of_object" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
     <eOperations name="association_of_association" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
@@ -6842,7 +6861,7 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="multiplicity" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
         <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
@@ -6860,7 +6879,7 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="multiplicity" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
         <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
@@ -6935,7 +6954,7 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="classifier_not_abstract" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="multiplicity" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
         <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
@@ -6944,7 +6963,7 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="multiplicity" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="classifier_not_abstract" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
         <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
@@ -6966,6 +6985,15 @@
         upperBound="-1" eType="#//Classifier"/>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="ReduceAction" eSuperTypes="#//Action">
+    <eOperations name="output_types_are_compatible" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
     <eOperations name="reducer_inputs_output" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
@@ -6984,15 +7012,6 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="output_types_are_compatible" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
     <eStructuralFeatures xsi:type="ecore:EReference" name="collection" ordered="false"
         lowerBound="1" eType="#//InputPin" containment="true">
       <eAnnotations source="subsets" references="#//Action/input"/>
@@ -7045,7 +7064,7 @@
     </eStructuralFeatures>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="ReplyAction" eSuperTypes="#//Action">
-    <eOperations name="pins_match_parameter" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="event_on_reply_to_call_trigger" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
         <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
@@ -7054,7 +7073,7 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="event_on_reply_to_call_trigger" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="pins_match_parameter" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
         <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
@@ -7121,7 +7140,7 @@
         lowerBound="1" eType="#//Signal"/>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="StartClassifierBehaviorAction" eSuperTypes="#//Action">
-    <eOperations name="multiplicity" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="type_has_classifier" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
         <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
@@ -7130,7 +7149,7 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="type_has_classifier" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="multiplicity" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
         <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
@@ -7145,16 +7164,7 @@
     </eStructuralFeatures>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="StartObjectBehaviorAction" eSuperTypes="#//CallAction">
-    <eOperations name="number_order_results" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="multiplicity_of_object" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="number_order_arguments" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
         <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
@@ -7172,7 +7182,7 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="number_order_arguments" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="number_order_results" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
         <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
@@ -7190,6 +7200,15 @@
         </eGenericType>
       </eParameters>
     </eOperations>
+    <eOperations name="multiplicity_of_object" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
     <eStructuralFeatures xsi:type="ecore:EReference" name="object" ordered="false"
         lowerBound="1" eType="#//InputPin" containment="true">
       <eAnnotations source="subsets" references="#//Action/input"/>
@@ -7285,7 +7304,7 @@
         upperBound="-1" eType="#//Observation"/>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="TimeEvent" eSuperTypes="#//Event">
-    <eOperations name="when_non_negative" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="starting_time" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
         <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
@@ -7294,7 +7313,7 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="starting_time" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="when_non_negative" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
         <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
@@ -7319,6 +7338,15 @@
         defaultValueLiteral="true"/>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="UnmarshallAction" eSuperTypes="#//Action">
+    <eOperations name="same_type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
     <eOperations name="structural_feature" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
@@ -7328,42 +7356,6 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="number_of_result" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="multiplicity_of_result" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="type_and_ordering" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
-    <eOperations name="unmarshallType_is_classifier" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
-      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
-      <eParameters name="context">
-        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
-        </eGenericType>
-      </eParameters>
-    </eOperations>
     <eOperations name="multiplicity_of_object" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
@@ -7373,7 +7365,34 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="same_type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="type_and_ordering" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="number_of_result" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="unmarshallType_is_classifier" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+      <eParameters name="context">
+        <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="multiplicity_of_result" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
         <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
@@ -7394,7 +7413,7 @@
         lowerBound="1" eType="#//Classifier"/>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="ValuePin" eSuperTypes="#//InputPin">
-    <eOperations name="no_incoming_edges" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="compatible_type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
         <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
@@ -7403,7 +7422,7 @@
         </eGenericType>
       </eParameters>
     </eOperations>
-    <eOperations name="compatible_type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+    <eOperations name="no_incoming_edges" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
       <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
       <eParameters name="context">
         <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/AcceptCallActionOperations.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/AcceptCallActionOperations.java
index 5db4485..1ab0fd0 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/AcceptCallActionOperations.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/AcceptCallActionOperations.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2007 IBM Corporation and others.
+ * Copyright (c) 2005, 2011 IBM Corporation, CEA, and others.
  * All rights reserved.   This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -7,8 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: AcceptCallActionOperations.java,v 1.8 2007/05/03 21:11:51 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.operations;
 
@@ -19,6 +19,9 @@
 import org.eclipse.emf.common.util.DiagnosticChain;
 
 import org.eclipse.uml2.uml.AcceptCallAction;
+import org.eclipse.uml2.uml.CallEvent;
+import org.eclipse.uml2.uml.Trigger;
+import org.eclipse.uml2.uml.UMLPlugin;
 
 import org.eclipse.uml2.uml.util.UMLValidator;
 
@@ -30,9 +33,9 @@
  * <p>
  * The following operations are supported:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.AcceptCallAction#validateResultPins(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Result Pins</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.AcceptCallAction#validateTriggerCallEvent(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Trigger Call Event</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.AcceptCallAction#validateUnmarshall(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Unmarshall</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.AcceptCallAction#validateResultPins(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Result Pins</em>}</li>
  * </ul>
  * </p>
  *
@@ -95,30 +98,34 @@
 	 * @param diagnostics The chain of diagnostics to which problems are to be appended.
 	 * @param context The cache of context-specific information.
 	 * <!-- end-model-doc -->
-	 * @generated
+	 * @generated NOT
 	 */
 	public static boolean validateTriggerCallEvent(
 			AcceptCallAction acceptCallAction, DiagnosticChain diagnostics,
 			Map<Object, Object> context) {
-		// TODO: implement this method
-		// -> specify the condition that violates the invariant
-		// -> verify the details of the diagnostic, including severity and message
-		// Ensure that you remove @generated or mark it @generated NOT
-		if (false) {
-			if (diagnostics != null) {
-				diagnostics
-					.add(new BasicDiagnostic(
-						Diagnostic.ERROR,
-						UMLValidator.DIAGNOSTIC_SOURCE,
-						UMLValidator.ACCEPT_CALL_ACTION__TRIGGER_CALL_EVENT,
-						org.eclipse.emf.ecore.plugin.EcorePlugin.INSTANCE
-							.getString(
-								"_UI_GenericInvariant_diagnostic", new Object[]{"validateTriggerCallEvent", org.eclipse.emf.ecore.util.EObjectValidator.getObjectLabel(acceptCallAction, context)}), //$NON-NLS-1$ //$NON-NLS-2$
-						new Object[]{acceptCallAction}));
+		boolean result = true;
+
+		for (Trigger trigger : acceptCallAction.getTriggers()) {
+
+			if (!(trigger.getEvent() instanceof CallEvent)) {
+				result = false;
+				break;
 			}
-			return false;
 		}
-		return true;
+
+		if (!result && diagnostics != null) {
+			diagnostics
+				.add(new BasicDiagnostic(
+					Diagnostic.WARNING,
+					UMLValidator.DIAGNOSTIC_SOURCE,
+					UMLValidator.ACCEPT_CALL_ACTION__TRIGGER_CALL_EVENT,
+					UMLPlugin.INSTANCE
+						.getString(
+							"_UI_AcceptCallAction_TriggerCallEvent_diagnostic", getMessageSubstitutions(context, acceptCallAction)), //$NON-NLS-1$
+					new Object[]{acceptCallAction}));
+		}
+
+		return result;
 	}
 
 	/**
@@ -131,29 +138,25 @@
 	 * @param diagnostics The chain of diagnostics to which problems are to be appended.
 	 * @param context The cache of context-specific information.
 	 * <!-- end-model-doc -->
-	 * @generated
+	 * @generated NOT
 	 */
 	public static boolean validateUnmarshall(AcceptCallAction acceptCallAction,
 			DiagnosticChain diagnostics, Map<Object, Object> context) {
-		// TODO: implement this method
-		// -> specify the condition that violates the invariant
-		// -> verify the details of the diagnostic, including severity and message
-		// Ensure that you remove @generated or mark it @generated NOT
-		if (false) {
-			if (diagnostics != null) {
-				diagnostics
-					.add(new BasicDiagnostic(
-						Diagnostic.ERROR,
-						UMLValidator.DIAGNOSTIC_SOURCE,
-						UMLValidator.ACCEPT_CALL_ACTION__UNMARSHALL,
-						org.eclipse.emf.ecore.plugin.EcorePlugin.INSTANCE
-							.getString(
-								"_UI_GenericInvariant_diagnostic", new Object[]{"validateUnmarshall", org.eclipse.emf.ecore.util.EObjectValidator.getObjectLabel(acceptCallAction, context)}), //$NON-NLS-1$ //$NON-NLS-2$
-						new Object[]{acceptCallAction}));
-			}
-			return false;
+		boolean result = acceptCallAction.isUnmarshall();
+
+		if (!result && diagnostics != null) {
+			diagnostics
+				.add(new BasicDiagnostic(
+					Diagnostic.WARNING,
+					UMLValidator.DIAGNOSTIC_SOURCE,
+					UMLValidator.ACCEPT_CALL_ACTION__UNMARSHALL,
+					UMLPlugin.INSTANCE
+						.getString(
+							"_UI_AcceptCallAction_Unmarshall_diagnostic", getMessageSubstitutions(context, acceptCallAction)), //$NON-NLS-1$
+					new Object[]{acceptCallAction}));
 		}
-		return true;
+
+		return result;
 	}
 
 } // AcceptCallActionOperations
\ No newline at end of file
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/AcceptEventActionOperations.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/AcceptEventActionOperations.java
index 7502890..1b45907 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/AcceptEventActionOperations.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/AcceptEventActionOperations.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: AcceptEventActionOperations.java,v 1.7 2007/05/03 21:11:51 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.operations;
 
@@ -31,10 +30,10 @@
  * <p>
  * The following operations are supported:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.AcceptEventAction#validateTriggerEvents(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Trigger Events</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.AcceptEventAction#validateNoInputPins(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate No Input Pins</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.AcceptEventAction#validateNoOutputPins(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate No Output Pins</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.AcceptEventAction#validateTriggerEvents(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Trigger Events</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.AcceptEventAction#validateUnmarshallSignalEvents(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Unmarshall Signal Events</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.AcceptEventAction#validateNoOutputPins(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate No Output Pins</em>}</li>
  * </ul>
  * </p>
  *
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ActionInputPinOperations.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ActionInputPinOperations.java
index 306207b..b13ca5f 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ActionInputPinOperations.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ActionInputPinOperations.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ActionInputPinOperations.java,v 1.7 2007/05/03 21:11:53 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.operations;
 
@@ -32,8 +31,8 @@
  * The following operations are supported:
  * <ul>
  *   <li>{@link org.eclipse.uml2.uml.ActionInputPin#validateInputPin(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Input Pin</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.ActionInputPin#validateOneOutputPin(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate One Output Pin</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.ActionInputPin#validateNoControlOrDataFlow(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate No Control Or Data Flow</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.ActionInputPin#validateOneOutputPin(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate One Output Pin</em>}</li>
  * </ul>
  * </p>
  *
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ActivityGroupOperations.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ActivityGroupOperations.java
index ab3c994..a0a19d3 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ActivityGroupOperations.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ActivityGroupOperations.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ActivityGroupOperations.java,v 1.6 2007/05/03 21:11:51 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.operations;
 
@@ -31,9 +30,9 @@
  * <p>
  * The following operations are supported:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.ActivityGroup#validateNodesAndEdges(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Nodes And Edges</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.ActivityGroup#validateGroupOwned(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Group Owned</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.ActivityGroup#validateNotContained(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Not Contained</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.ActivityGroup#validateNodesAndEdges(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Nodes And Edges</em>}</li>
  * </ul>
  * </p>
  *
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ActivityOperations.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ActivityOperations.java
index 6e96756..ffc43c1 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ActivityOperations.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ActivityOperations.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ActivityOperations.java,v 1.6 2007/05/03 21:11:52 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.operations;
 
@@ -19,10 +18,8 @@
 import org.eclipse.emf.common.util.Diagnostic;
 import org.eclipse.emf.common.util.DiagnosticChain;
 
-import org.eclipse.emf.common.util.EList;
 import org.eclipse.uml2.uml.Activity;
 
-import org.eclipse.uml2.uml.StructuredActivityNode;
 import org.eclipse.uml2.uml.util.UMLValidator;
 
 /**
@@ -33,10 +30,9 @@
  * <p>
  * The following operations are supported:
  * <ul>
+ *   <li>{@link org.eclipse.uml2.uml.Activity#validateActivityParameterNode(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Activity Parameter Node</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Activity#validateAutonomous(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Autonomous</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Activity#validateNoSupergroups(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate No Supergroups</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.Activity#validateActivityParameterNode(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Activity Parameter Node</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.Activity#getStructuredNodes() <em>Get Structured Nodes</em>}</li>
  * </ul>
  * </p>
  *
@@ -128,21 +124,6 @@
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * <!-- begin-model-doc -->
-	 * Missing derivation for Activity::/structuredNode : StructuredActivityNode
-	 * true
-	 * @param activity The receiving '<em><b>Activity</b></em>' model object.
-	 * <!-- end-model-doc -->
-	 * @generated NOT
-	 */
-	public static EList<StructuredActivityNode> getStructuredNodes(
-			Activity activity) {
-		return activity.getStructuredNodes();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * <!-- begin-model-doc -->
 	 * An activity cannot be autonomous and have a classifier or behavioral feature context at the same time.
 	 * true
 	 * @param activity The receiving '<em><b>Activity</b></em>' model object.
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ActivityParameterNodeOperations.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ActivityParameterNodeOperations.java
index 49525bc..5158e6b 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ActivityParameterNodeOperations.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ActivityParameterNodeOperations.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ActivityParameterNodeOperations.java,v 1.9 2008/10/02 20:56:22 jbruck Exp $
  */
 package org.eclipse.uml2.uml.internal.operations;
 
@@ -31,13 +30,13 @@
  * <p>
  * The following operations are supported:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.ActivityParameterNode#validateNoOutgoingEdges(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate No Outgoing Edges</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.ActivityParameterNode#validateMaximumTwoParameterNodes(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Maximum Two Parameter Nodes</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.ActivityParameterNode#validateHasParameters(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Has Parameters</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.ActivityParameterNode#validateSameType(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Same Type</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.ActivityParameterNode#validateMaximumOneParameterNode(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Maximum One Parameter Node</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.ActivityParameterNode#validateNoIncomingEdges(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate No Incoming Edges</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.ActivityParameterNode#validateMaximumTwoParameterNodes(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Maximum Two Parameter Nodes</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.ActivityParameterNode#validateNoEdges(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate No Edges</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.ActivityParameterNode#validateNoIncomingEdges(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate No Incoming Edges</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.ActivityParameterNode#validateNoOutgoingEdges(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate No Outgoing Edges</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.ActivityParameterNode#validateSameType(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Same Type</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.ActivityParameterNode#validateHasParameters(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Has Parameters</em>}</li>
  * </ul>
  * </p>
  *
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ActivityPartitionOperations.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ActivityPartitionOperations.java
index 2f90d9a..35db261 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ActivityPartitionOperations.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ActivityPartitionOperations.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ActivityPartitionOperations.java,v 1.8 2007/05/03 21:11:51 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.operations;
 
@@ -31,9 +30,9 @@
  * <p>
  * The following operations are supported:
  * <ul>
+ *   <li>{@link org.eclipse.uml2.uml.ActivityPartition#validateRepresentsPart(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Represents Part</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.ActivityPartition#validateRepresentsClassifier(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Represents Classifier</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.ActivityPartition#validateRepresentsPartAndIsContained(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Represents Part And Is Contained</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.ActivityPartition#validateRepresentsPart(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Represents Part</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.ActivityPartition#validateDimensionNotContained(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Dimension Not Contained</em>}</li>
  * </ul>
  * </p>
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ActorOperations.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ActorOperations.java
index fb50da5..fad4b76 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ActorOperations.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ActorOperations.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2007 IBM Corporation and others.
+ * Copyright (c) 2005, 2011 IBM Corporation, CEA, and others.
  * All rights reserved.   This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -7,8 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ActorOperations.java,v 1.6 2007/05/03 21:11:53 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.operations;
 
@@ -19,6 +19,12 @@
 import org.eclipse.emf.common.util.DiagnosticChain;
 
 import org.eclipse.uml2.uml.Actor;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.Behavior;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPlugin;
+import org.eclipse.uml2.uml.UseCase;
 
 import org.eclipse.uml2.uml.util.UMLValidator;
 
@@ -64,29 +70,35 @@
 	 * @param diagnostics The chain of diagnostics to which problems are to be appended.
 	 * @param context The cache of context-specific information.
 	 * <!-- end-model-doc -->
-	 * @generated
+	 * @generated NOT
 	 */
 	public static boolean validateAssociations(Actor actor,
 			DiagnosticChain diagnostics, Map<Object, Object> context) {
-		// TODO: implement this method
-		// -> specify the condition that violates the invariant
-		// -> verify the details of the diagnostic, including severity and message
-		// Ensure that you remove @generated or mark it @generated NOT
-		if (false) {
-			if (diagnostics != null) {
+		boolean result = true;
+
+		for (Association association : actor.getAssociations()) {
+			Property otherEnd = association.getMemberEnd(null, actor)
+				.getOtherEnd();
+			Type otherEndType = otherEnd == null
+				? null
+				: otherEnd.getType();
+
+			if (!(otherEndType instanceof UseCase || (otherEndType instanceof org.eclipse.uml2.uml.Class && !(otherEndType instanceof Behavior)))) {
+				result &= false;
+
 				diagnostics
 					.add(new BasicDiagnostic(
-						Diagnostic.ERROR,
+						Diagnostic.WARNING,
 						UMLValidator.DIAGNOSTIC_SOURCE,
 						UMLValidator.ACTOR__ASSOCIATIONS,
-						org.eclipse.emf.ecore.plugin.EcorePlugin.INSTANCE
+						UMLPlugin.INSTANCE
 							.getString(
-								"_UI_GenericInvariant_diagnostic", new Object[]{"validateAssociations", org.eclipse.emf.ecore.util.EObjectValidator.getObjectLabel(actor, context)}), //$NON-NLS-1$ //$NON-NLS-2$
-						new Object[]{actor}));
+								"_UI_Actor_Associations_diagnostic", getMessageSubstitutions(context, actor, association)), //$NON-NLS-1$
+						new Object[]{actor, association}));
 			}
-			return false;
 		}
-		return true;
+
+		return result;
 	}
 
 	/**
@@ -99,29 +111,25 @@
 	 * @param diagnostics The chain of diagnostics to which problems are to be appended.
 	 * @param context The cache of context-specific information.
 	 * <!-- end-model-doc -->
-	 * @generated
+	 * @generated NOT
 	 */
 	public static boolean validateMustHaveName(Actor actor,
 			DiagnosticChain diagnostics, Map<Object, Object> context) {
-		// TODO: implement this method
-		// -> specify the condition that violates the invariant
-		// -> verify the details of the diagnostic, including severity and message
-		// Ensure that you remove @generated or mark it @generated NOT
-		if (false) {
-			if (diagnostics != null) {
-				diagnostics
-					.add(new BasicDiagnostic(
-						Diagnostic.ERROR,
-						UMLValidator.DIAGNOSTIC_SOURCE,
-						UMLValidator.ACTOR__MUST_HAVE_NAME,
-						org.eclipse.emf.ecore.plugin.EcorePlugin.INSTANCE
-							.getString(
-								"_UI_GenericInvariant_diagnostic", new Object[]{"validateMustHaveName", org.eclipse.emf.ecore.util.EObjectValidator.getObjectLabel(actor, context)}), //$NON-NLS-1$ //$NON-NLS-2$
-						new Object[]{actor}));
-			}
-			return false;
+		boolean result = !isEmpty(actor.getName());
+
+		if (!result && diagnostics != null) {
+			diagnostics
+				.add(new BasicDiagnostic(
+					Diagnostic.WARNING,
+					UMLValidator.DIAGNOSTIC_SOURCE,
+					UMLValidator.ACTOR__MUST_HAVE_NAME,
+					UMLPlugin.INSTANCE
+						.getString(
+							"_UI_Actor_MustHaveName_diagnostic", getMessageSubstitutions(context, actor)), //$NON-NLS-1$
+					new Object[]{actor}));
 		}
-		return true;
+
+		return result;
 	}
 
 } // ActorOperations
\ No newline at end of file
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/AddStructuralFeatureValueActionOperations.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/AddStructuralFeatureValueActionOperations.java
index 9683b19..8450691 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/AddStructuralFeatureValueActionOperations.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/AddStructuralFeatureValueActionOperations.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: AddStructuralFeatureValueActionOperations.java,v 1.6 2007/05/03 21:11:51 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.operations;
 
@@ -20,6 +19,11 @@
 import org.eclipse.emf.common.util.DiagnosticChain;
 
 import org.eclipse.uml2.uml.AddStructuralFeatureValueAction;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.PrimitiveType;
+import org.eclipse.uml2.uml.StructuralFeature;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPlugin;
 
 import org.eclipse.uml2.uml.util.UMLValidator;
 
@@ -31,8 +35,8 @@
  * <p>
  * The following operations are supported:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.AddStructuralFeatureValueAction#validateRequiredValue(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Required Value</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.AddStructuralFeatureValueAction#validateUnlimitedNaturalAndMultiplicity(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Unlimited Natural And Multiplicity</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.AddStructuralFeatureValueAction#validateRequiredValue(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Required Value</em>}</li>
  * </ul>
  * </p>
  *
@@ -60,30 +64,26 @@
 	 * @param diagnostics The chain of diagnostics to which problems are to be appended.
 	 * @param context The cache of context-specific information.
 	 * <!-- end-model-doc -->
-	 * @generated
+	 * @generated NOT
 	 */
 	public static boolean validateRequiredValue(
 			AddStructuralFeatureValueAction addStructuralFeatureValueAction,
 			DiagnosticChain diagnostics, Map<Object, Object> context) {
-		// TODO: implement this method
-		// -> specify the condition that violates the invariant
-		// -> verify the details of the diagnostic, including severity and message
-		// Ensure that you remove @generated or mark it @generated NOT
-		if (false) {
-			if (diagnostics != null) {
-				diagnostics
-					.add(new BasicDiagnostic(
-						Diagnostic.ERROR,
-						UMLValidator.DIAGNOSTIC_SOURCE,
-						UMLValidator.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__REQUIRED_VALUE,
-						org.eclipse.emf.ecore.plugin.EcorePlugin.INSTANCE
-							.getString(
-								"_UI_GenericInvariant_diagnostic", new Object[]{"validateRequiredValue", org.eclipse.emf.ecore.util.EObjectValidator.getObjectLabel(addStructuralFeatureValueAction, context)}), //$NON-NLS-1$ //$NON-NLS-2$
-						new Object[]{addStructuralFeatureValueAction}));
-			}
-			return false;
+		boolean result = addStructuralFeatureValueAction.getValue() != null;
+
+		if (!result && diagnostics != null) {
+			diagnostics
+				.add(new BasicDiagnostic(
+					Diagnostic.WARNING,
+					UMLValidator.DIAGNOSTIC_SOURCE,
+					UMLValidator.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__REQUIRED_VALUE,
+					UMLPlugin.INSTANCE
+						.getString(
+							"_UI_AddStructuralFeatureValueAction_RequiredValue_diagnostic", getMessageSubstitutions(context, addStructuralFeatureValueAction)), //$NON-NLS-1$
+					new Object[]{addStructuralFeatureValueAction}));
 		}
-		return true;
+
+		return result;
 	}
 
 	/**
@@ -104,30 +104,45 @@
 	 * @param diagnostics The chain of diagnostics to which problems are to be appended.
 	 * @param context The cache of context-specific information.
 	 * <!-- end-model-doc -->
-	 * @generated
+	 * @generated NOT
 	 */
 	public static boolean validateUnlimitedNaturalAndMultiplicity(
 			AddStructuralFeatureValueAction addStructuralFeatureValueAction,
 			DiagnosticChain diagnostics, Map<Object, Object> context) {
-		// TODO: implement this method
-		// -> specify the condition that violates the invariant
-		// -> verify the details of the diagnostic, including severity and message
-		// Ensure that you remove @generated or mark it @generated NOT
-		if (false) {
-			if (diagnostics != null) {
+		boolean result = true;
+
+		StructuralFeature structuralFeature = addStructuralFeatureValueAction
+			.getStructuralFeature();
+
+		if (structuralFeature != null) {
+			InputPin insertAt = addStructuralFeatureValueAction.getInsertAt();
+
+			if (structuralFeature.isOrdered()) {
+				Type insertAtType = insertAt == null
+					? null
+					: insertAt.getType();
+
+				result = insertAtType instanceof PrimitiveType
+					&& safeEquals("PrimitiveTypes::UnlimitedNatural", //$NON-NLS-1$
+						insertAtType.getQualifiedName()) && insertAt.is(1, 1);
+			} else {
+				result = insertAt == null;
+			}
+
+			if (!result && diagnostics != null) {
 				diagnostics
 					.add(new BasicDiagnostic(
-						Diagnostic.ERROR,
+						Diagnostic.WARNING,
 						UMLValidator.DIAGNOSTIC_SOURCE,
 						UMLValidator.ADD_STRUCTURAL_FEATURE_VALUE_ACTION__UNLIMITED_NATURAL_AND_MULTIPLICITY,
-						org.eclipse.emf.ecore.plugin.EcorePlugin.INSTANCE
+						UMLPlugin.INSTANCE
 							.getString(
-								"_UI_GenericInvariant_diagnostic", new Object[]{"validateUnlimitedNaturalAndMultiplicity", org.eclipse.emf.ecore.util.EObjectValidator.getObjectLabel(addStructuralFeatureValueAction, context)}), //$NON-NLS-1$ //$NON-NLS-2$
+								"_UI_AddStructuralFeatureValueAction_UnlimitedNaturalAndMultiplicity_diagnostic", getMessageSubstitutions(context, addStructuralFeatureValueAction)), //$NON-NLS-1$
 						new Object[]{addStructuralFeatureValueAction}));
 			}
-			return false;
 		}
-		return true;
+
+		return result;
 	}
 
 } // AddStructuralFeatureValueActionOperations
\ No newline at end of file
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/AddVariableValueActionOperations.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/AddVariableValueActionOperations.java
index 50cf2f8..0f969c1 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/AddVariableValueActionOperations.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/AddVariableValueActionOperations.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: AddVariableValueActionOperations.java,v 1.6 2007/05/03 21:11:51 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.operations;
 
@@ -20,6 +19,11 @@
 import org.eclipse.emf.common.util.DiagnosticChain;
 
 import org.eclipse.uml2.uml.AddVariableValueAction;
+import org.eclipse.uml2.uml.InputPin;
+import org.eclipse.uml2.uml.PrimitiveType;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPlugin;
+import org.eclipse.uml2.uml.Variable;
 
 import org.eclipse.uml2.uml.util.UMLValidator;
 
@@ -60,30 +64,26 @@
 	 * @param diagnostics The chain of diagnostics to which problems are to be appended.
 	 * @param context The cache of context-specific information.
 	 * <!-- end-model-doc -->
-	 * @generated
+	 * @generated NOT
 	 */
 	public static boolean validateRequiredValue(
 			AddVariableValueAction addVariableValueAction,
 			DiagnosticChain diagnostics, Map<Object, Object> context) {
-		// TODO: implement this method
-		// -> specify the condition that violates the invariant
-		// -> verify the details of the diagnostic, including severity and message
-		// Ensure that you remove @generated or mark it @generated NOT
-		if (false) {
-			if (diagnostics != null) {
-				diagnostics
-					.add(new BasicDiagnostic(
-						Diagnostic.ERROR,
-						UMLValidator.DIAGNOSTIC_SOURCE,
-						UMLValidator.ADD_VARIABLE_VALUE_ACTION__REQUIRED_VALUE,
-						org.eclipse.emf.ecore.plugin.EcorePlugin.INSTANCE
-							.getString(
-								"_UI_GenericInvariant_diagnostic", new Object[]{"validateRequiredValue", org.eclipse.emf.ecore.util.EObjectValidator.getObjectLabel(addVariableValueAction, context)}), //$NON-NLS-1$ //$NON-NLS-2$
-						new Object[]{addVariableValueAction}));
-			}
-			return false;
+		boolean result = addVariableValueAction.getValue() != null;
+
+		if (!result && diagnostics != null) {
+			diagnostics
+				.add(new BasicDiagnostic(
+					Diagnostic.WARNING,
+					UMLValidator.DIAGNOSTIC_SOURCE,
+					UMLValidator.ADD_VARIABLE_VALUE_ACTION__REQUIRED_VALUE,
+					UMLPlugin.INSTANCE
+						.getString(
+							"_UI_AddVariableValueAction_RequiredValue_diagnostic", getMessageSubstitutions(context, addVariableValueAction)), //$NON-NLS-1$
+					new Object[]{addVariableValueAction}));
 		}
-		return true;
+
+		return result;
 	}
 
 	/**
@@ -104,30 +104,44 @@
 	 * @param diagnostics The chain of diagnostics to which problems are to be appended.
 	 * @param context The cache of context-specific information.
 	 * <!-- end-model-doc -->
-	 * @generated
+	 * @generated NOT
 	 */
 	public static boolean validateSingleInputPin(
 			AddVariableValueAction addVariableValueAction,
 			DiagnosticChain diagnostics, Map<Object, Object> context) {
-		// TODO: implement this method
-		// -> specify the condition that violates the invariant
-		// -> verify the details of the diagnostic, including severity and message
-		// Ensure that you remove @generated or mark it @generated NOT
-		if (false) {
-			if (diagnostics != null) {
+		boolean result = true;
+
+		Variable variable = addVariableValueAction.getVariable();
+
+		if (variable != null) {
+			InputPin insertAt = addVariableValueAction.getInsertAt();
+
+			if (variable.isOrdered()) {
+				Type insertAtType = insertAt == null
+					? null
+					: insertAt.getType();
+
+				result = insertAtType instanceof PrimitiveType
+					&& safeEquals("PrimitiveTypes::UnlimitedNatural", //$NON-NLS-1$
+						insertAtType.getQualifiedName()) && insertAt.is(1, 1);
+			} else {
+				result = insertAt == null;
+			}
+
+			if (!result && diagnostics != null) {
 				diagnostics
 					.add(new BasicDiagnostic(
-						Diagnostic.ERROR,
+						Diagnostic.WARNING,
 						UMLValidator.DIAGNOSTIC_SOURCE,
 						UMLValidator.ADD_VARIABLE_VALUE_ACTION__SINGLE_INPUT_PIN,
-						org.eclipse.emf.ecore.plugin.EcorePlugin.INSTANCE
+						UMLPlugin.INSTANCE
 							.getString(
-								"_UI_GenericInvariant_diagnostic", new Object[]{"validateSingleInputPin", org.eclipse.emf.ecore.util.EObjectValidator.getObjectLabel(addVariableValueAction, context)}), //$NON-NLS-1$ //$NON-NLS-2$
+								"_UI_AddVariableValueAction_SingleInputPin_diagnostic", getMessageSubstitutions(context, addVariableValueAction)), //$NON-NLS-1$
 						new Object[]{addVariableValueAction}));
 			}
-			return false;
 		}
-		return true;
+
+		return result;
 	}
 
 } // AddVariableValueActionOperations
\ No newline at end of file
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/AssociationClassOperations.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/AssociationClassOperations.java
index 7738502..93673c5 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/AssociationClassOperations.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/AssociationClassOperations.java
@@ -7,26 +7,23 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: AssociationClassOperations.java,v 1.8 2007/05/03 21:11:52 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.operations;
 
+import java.util.Collections;
 import java.util.Map;
 
 import org.eclipse.emf.common.util.BasicDiagnostic;
 import org.eclipse.emf.common.util.Diagnostic;
 import org.eclipse.emf.common.util.DiagnosticChain;
-import org.eclipse.emf.common.util.ECollections;
-import org.eclipse.emf.common.util.EList;
-
-import org.eclipse.emf.common.util.UniqueEList;
 
 import org.eclipse.uml2.uml.AssociationClass;
 import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPlugin;
 
-import org.eclipse.uml2.uml.Property;
 import org.eclipse.uml2.uml.util.UMLValidator;
 
 /**
@@ -37,8 +34,8 @@
  * <p>
  * The following operations are supported:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.AssociationClass#validateCannotBeDefined(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Cannot Be Defined</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.AssociationClass#validateDisjointAttributesEnds(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Disjoint Attributes Ends</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.AssociationClass#validateCannotBeDefined(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Cannot Be Defined</em>}</li>
  * </ul>
  * </p>
  *
@@ -66,30 +63,37 @@
 	 * @param diagnostics The chain of diagnostics to which problems are to be appended.
 	 * @param context The cache of context-specific information.
 	 * <!-- end-model-doc -->
-	 * @generated
+	 * @generated NOT
 	 */
 	public static boolean validateCannotBeDefined(
 			AssociationClass associationClass, DiagnosticChain diagnostics,
 			Map<Object, Object> context) {
-		// TODO: implement this method
-		// -> specify the condition that violates the invariant
-		// -> verify the details of the diagnostic, including severity and message
-		// Ensure that you remove @generated or mark it @generated NOT
-		if (false) {
-			if (diagnostics != null) {
-				diagnostics
-					.add(new BasicDiagnostic(
-						Diagnostic.ERROR,
-						UMLValidator.DIAGNOSTIC_SOURCE,
-						UMLValidator.ASSOCIATION_CLASS__CANNOT_BE_DEFINED,
-						org.eclipse.emf.ecore.plugin.EcorePlugin.INSTANCE
-							.getString(
-								"_UI_GenericInvariant_diagnostic", new Object[]{"validateCannotBeDefined", org.eclipse.emf.ecore.util.EObjectValidator.getObjectLabel(associationClass, context)}), //$NON-NLS-1$ //$NON-NLS-2$
-						new Object[]{associationClass}));
+		boolean result = true;
+
+		for (Type endType : associationClass.getEndTypes()) {
+
+			if (endType == associationClass
+				|| (endType instanceof Classifier && ((Classifier) endType)
+					.allParents().contains(associationClass))) {
+
+				result = false;
+				break;
 			}
-			return false;
 		}
-		return true;
+
+		if (!result && diagnostics != null) {
+			diagnostics
+				.add(new BasicDiagnostic(
+					Diagnostic.WARNING,
+					UMLValidator.DIAGNOSTIC_SOURCE,
+					UMLValidator.ASSOCIATION_CLASS__CANNOT_BE_DEFINED,
+					UMLPlugin.INSTANCE
+						.getString(
+							"_UI_AssociationClass_CannotBeDefined_diagnostic", getMessageSubstitutions(context, associationClass)), //$NON-NLS-1$
+					new Object[]{associationClass}));
+		}
+
+		return result;
 	}
 
 	/**
@@ -102,56 +106,28 @@
 	 * @param diagnostics The chain of diagnostics to which problems are to be appended.
 	 * @param context The cache of context-specific information.
 	 * <!-- end-model-doc -->
-	 * @generated
+	 * @generated NOT
 	 */
 	public static boolean validateDisjointAttributesEnds(
 			AssociationClass associationClass, DiagnosticChain diagnostics,
 			Map<Object, Object> context) {
-		// TODO: implement this method
-		// -> specify the condition that violates the invariant
-		// -> verify the details of the diagnostic, including severity and message
-		// Ensure that you remove @generated or mark it @generated NOT
-		if (false) {
-			if (diagnostics != null) {
-				diagnostics
-					.add(new BasicDiagnostic(
-						Diagnostic.ERROR,
-						UMLValidator.DIAGNOSTIC_SOURCE,
-						UMLValidator.ASSOCIATION_CLASS__DISJOINT_ATTRIBUTES_ENDS,
-						org.eclipse.emf.ecore.plugin.EcorePlugin.INSTANCE
-							.getString(
-								"_UI_GenericInvariant_diagnostic", new Object[]{"validateDisjointAttributesEnds", org.eclipse.emf.ecore.util.EObjectValidator.getObjectLabel(associationClass, context)}), //$NON-NLS-1$ //$NON-NLS-2$
-						new Object[]{associationClass}));
-			}
-			return false;
-		}
-		return true;
-	}
+		boolean result = Collections.disjoint(
+			associationClass.getOwnedAttributes(),
+			associationClass.getOwnedEnds());
 
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * <!-- begin-model-doc -->
-	 * The operation allConnections results in the set of all AssociationEnds of the Association.
-	 * result = memberEnd->union ( self.parents ()->collect (p | p.allConnections () )
-	 * @param associationClass The receiving '<em><b>Association Class</b></em>' model object.
-	 * <!-- end-model-doc -->
-	 * @generated NOT
-	 */
-	public static EList<Property> allConnections(
-			AssociationClass associationClass) {
-		EList<Property> allConnections = new UniqueEList.FastCompare<Property>(
-			associationClass.getMemberEnds());
-
-		for (Classifier parent : associationClass.allParents()) {
-
-			if (parent instanceof AssociationClass) {
-				allConnections.addAll(((AssociationClass) parent)
-					.getMemberEnds());
-			}
+		if (!result && diagnostics != null) {
+			diagnostics
+				.add(new BasicDiagnostic(
+					Diagnostic.WARNING,
+					UMLValidator.DIAGNOSTIC_SOURCE,
+					UMLValidator.ASSOCIATION_CLASS__DISJOINT_ATTRIBUTES_ENDS,
+					UMLPlugin.INSTANCE
+						.getString(
+							"_UI_AssociationClass_DisjointAttributesEnds_diagnostic", getMessageSubstitutions(context, associationClass)), //$NON-NLS-1$
+					new Object[]{associationClass}));
 		}
 
-		return ECollections.unmodifiableEList(allConnections);
+		return result;
 	}
 
 } // AssociationClassOperations
\ No newline at end of file
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/AssociationOperations.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/AssociationOperations.java
index ece0808..d685577 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/AssociationOperations.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/AssociationOperations.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: AssociationOperations.java,v 1.12 2007/05/03 21:11:52 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.operations;
 
@@ -40,9 +39,9 @@
  * The following operations are supported:
  * <ul>
  *   <li>{@link org.eclipse.uml2.uml.Association#validateSpecializedEndNumber(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Specialized End Number</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.Association#validateSpecializedEndTypes(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Specialized End Types</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.Association#validateBinaryAssociations(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Binary Associations</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Association#validateAssociationEnds(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Association Ends</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.Association#validateBinaryAssociations(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Binary Associations</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.Association#validateSpecializedEndTypes(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Specialized End Types</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Association#isBinary() <em>Is Binary</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Association#getEndTypes() <em>Get End Types</em>}</li>
  * </ul>
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/BehaviorOperations.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/BehaviorOperations.java
index 4bd255b..cdf4762 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/BehaviorOperations.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/BehaviorOperations.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: BehaviorOperations.java,v 1.13 2007/05/03 21:11:51 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.operations;
 
@@ -39,10 +38,10 @@
  * <p>
  * The following operations are supported:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.Behavior#validateMostOneBehaviour(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Most One Behaviour</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.Behavior#validateMustRealize(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Must Realize</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Behavior#validateParametersMatch(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Parameters Match</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Behavior#validateFeatureOfContextClassifier(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Feature Of Context Classifier</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.Behavior#validateMustRealize(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Must Realize</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.Behavior#validateMostOneBehaviour(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Most One Behaviour</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Behavior#getContext() <em>Get Context</em>}</li>
  * </ul>
  * </p>
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/BroadcastSignalActionOperations.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/BroadcastSignalActionOperations.java
index d26160b..3b10b33 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/BroadcastSignalActionOperations.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/BroadcastSignalActionOperations.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2007 IBM Corporation and others.
+ * Copyright (c) 2005, 2011 IBM Corporation, CEA, and others.
  * All rights reserved.   This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -7,8 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
+ *   Kenn Hussey (CEA) - 351774
  *
- * $Id: BroadcastSignalActionOperations.java,v 1.6 2007/05/03 21:11:52 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.operations;
 
@@ -30,8 +30,8 @@
  * <p>
  * The following operations are supported:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.BroadcastSignalAction#validateNumberAndOrder(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Number And Order</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.BroadcastSignalAction#validateTypeOrderingMultiplicity(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Type Ordering Multiplicity</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.BroadcastSignalAction#validateNumberAndOrder(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Number And Order</em>}</li>
  * </ul>
  * </p>
  *
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/CallActionOperations.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/CallActionOperations.java
index bdac673..174d33d 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/CallActionOperations.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/CallActionOperations.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: CallActionOperations.java,v 1.6 2007/05/03 21:11:51 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.operations;
 
@@ -31,9 +30,9 @@
  * <p>
  * The following operations are supported:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.CallAction#validateTypeOrderingMultiplicity(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Type Ordering Multiplicity</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.CallAction#validateNumberAndOrder(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Number And Order</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.CallAction#validateSynchronousCall(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Synchronous Call</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.CallAction#validateNumberAndOrder(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Number And Order</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.CallAction#validateTypeOrderingMultiplicity(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Type Ordering Multiplicity</em>}</li>
  * </ul>
  * </p>
  *
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/CallOperationActionOperations.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/CallOperationActionOperations.java
index 54a673a..78425c5 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/CallOperationActionOperations.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/CallOperationActionOperations.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: CallOperationActionOperations.java,v 1.7 2007/05/03 21:11:51 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.operations;
 
@@ -31,9 +30,9 @@
  * <p>
  * The following operations are supported:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.CallOperationAction#validateTypeTargetPin(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Type Target Pin</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.CallOperationAction#validateArgumentPinEqualParameter(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Argument Pin Equal Parameter</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.CallOperationAction#validateResultPinEqualParameter(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Result Pin Equal Parameter</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.CallOperationAction#validateTypeTargetPin(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Type Target Pin</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.CallOperationAction#validateTypeOrderingMultiplicity(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Type Ordering Multiplicity</em>}</li>
  * </ul>
  * </p>
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ClassifierOperations.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ClassifierOperations.java
index 2ec0740..d92e40f 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ClassifierOperations.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ClassifierOperations.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ClassifierOperations.java,v 1.22 2008/04/28 17:44:48 jbruck Exp $
  */
 package org.eclipse.uml2.uml.internal.operations;
 
@@ -57,10 +56,10 @@
  * The following operations are supported:
  * <ul>
  *   <li>{@link org.eclipse.uml2.uml.Classifier#isTemplate() <em>Is Template</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.Classifier#validateSpecializeType(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Specialize Type</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.Classifier#validateMapsToGeneralizationSet(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Maps To Generalization Set</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Classifier#validateNonFinalParents(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Non Final Parents</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Classifier#validateNoCyclesInGeneralization(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate No Cycles In Generalization</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.Classifier#validateSpecializeType(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Specialize Type</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.Classifier#validateMapsToGeneralizationSet(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Maps To Generalization Set</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Classifier#getAllAttributes() <em>Get All Attributes</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Classifier#getAllOperations() <em>Get All Operations</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Classifier#getAllUsedInterfaces() <em>Get All Used Interfaces</em>}</li>
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ClauseOperations.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ClauseOperations.java
index b454984..1b2ac97 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ClauseOperations.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ClauseOperations.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ClauseOperations.java,v 1.7 2007/05/03 21:11:51 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.operations;
 
@@ -31,9 +30,9 @@
  * <p>
  * The following operations are supported:
  * <ul>
+ *   <li>{@link org.eclipse.uml2.uml.Clause#validateTestAndBody(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Test And Body</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Clause#validateBodyOutputPins(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Body Output Pins</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Clause#validateDeciderOutput(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Decider Output</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.Clause#validateTestAndBody(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Test And Body</em>}</li>
  * </ul>
  * </p>
  *
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ClearStructuralFeatureActionOperations.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ClearStructuralFeatureActionOperations.java
index 0f829b4..6131783 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ClearStructuralFeatureActionOperations.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ClearStructuralFeatureActionOperations.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2008 IBM Corporation and others.
+ * Copyright (c) 2008, 2011 IBM Corporation, CEA, and others.
  * All rights reserved.   This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -7,8 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
+ *   Kenn Hussey (CEA) - 351774
  *
- * $Id: ClearStructuralFeatureActionOperations.java,v 1.1 2008/10/02 20:56:22 jbruck Exp $
  */
 package org.eclipse.uml2.uml.internal.operations;
 
@@ -30,8 +30,8 @@
  * <p>
  * The following operations are supported:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.ClearStructuralFeatureAction#validateTypeOfResult(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Type Of Result</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.ClearStructuralFeatureAction#validateMultiplicityOfResult(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Multiplicity Of Result</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.ClearStructuralFeatureAction#validateTypeOfResult(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Type Of Result</em>}</li>
  * </ul>
  * </p>
  *
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/CollaborationUseOperations.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/CollaborationUseOperations.java
index 7126a81..26067ef 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/CollaborationUseOperations.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/CollaborationUseOperations.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: CollaborationUseOperations.java,v 1.6 2007/05/03 21:11:51 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.operations;
 
@@ -31,9 +30,9 @@
  * <p>
  * The following operations are supported:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.CollaborationUse#validateClientElements(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Client Elements</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.CollaborationUse#validateEveryRole(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Every Role</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.CollaborationUse#validateConnectors(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Connectors</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.CollaborationUse#validateEveryRole(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Every Role</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.CollaborationUse#validateClientElements(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Client Elements</em>}</li>
  * </ul>
  * </p>
  *
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/CombinedFragmentOperations.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/CombinedFragmentOperations.java
index 696b43a..e714a91 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/CombinedFragmentOperations.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/CombinedFragmentOperations.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: CombinedFragmentOperations.java,v 1.7 2007/05/03 21:11:51 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.operations;
 
@@ -35,10 +34,10 @@
  * <p>
  * The following operations are supported:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.CombinedFragment#validateMinintAndMaxint(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Minint And Maxint</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.CombinedFragment#validateBreak(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Break</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.CombinedFragment#validateConsiderAndIgnore(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Consider And Ignore</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.CombinedFragment#validateOptLoopBreakNeg(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Opt Loop Break Neg</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.CombinedFragment#validateConsiderAndIgnore(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Consider And Ignore</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.CombinedFragment#validateMinintAndMaxint(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Minint And Maxint</em>}</li>
  * </ul>
  * </p>
  *
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ComponentOperations.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ComponentOperations.java
index aadd12b..6409c7d 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ComponentOperations.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ComponentOperations.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ComponentOperations.java,v 1.15 2008/10/02 20:56:22 jbruck Exp $
  */
 package org.eclipse.uml2.uml.internal.operations;
 
@@ -48,8 +47,8 @@
  * <p>
  * The following operations are supported:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.Component#validateNoNestedClassifiers(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate No Nested Classifiers</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Component#validateNoPackagedElements(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate No Packaged Elements</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.Component#validateNoNestedClassifiers(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate No Nested Classifiers</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Component#createOwnedClass(java.lang.String, boolean) <em>Create Owned Class</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Component#createOwnedEnumeration(java.lang.String) <em>Create Owned Enumeration</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Component#createOwnedInterface(java.lang.String) <em>Create Owned Interface</em>}</li>
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ConditionalNodeOperations.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ConditionalNodeOperations.java
index 5ec7f1f..0972fe0 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ConditionalNodeOperations.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ConditionalNodeOperations.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ConditionalNodeOperations.java,v 1.6 2007/05/03 21:11:52 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.operations;
 
@@ -31,12 +30,12 @@
  * <p>
  * The following operations are supported:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.ConditionalNode#validateResultNoIncoming(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Result No Incoming</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.ConditionalNode#validateNoInputPins(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate No Input Pins</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.ConditionalNode#validateOneClauseWithExecutableNode(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate One Clause With Executable Node</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.ConditionalNode#validateMatchingOutputPins(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Matching Output Pins</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.ConditionalNode#validateExecutableNodes(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Executable Nodes</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.ConditionalNode#validateClauseNoPredecessor(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Clause No Predecessor</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.ConditionalNode#validateMatchingOutputPins(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Matching Output Pins</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.ConditionalNode#validateOneClauseWithExecutableNode(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate One Clause With Executable Node</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.ConditionalNode#validateResultNoIncoming(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Result No Incoming</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.ConditionalNode#validateNoInputPins(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate No Input Pins</em>}</li>
  * </ul>
  * </p>
  *
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ConnectionPointReferenceOperations.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ConnectionPointReferenceOperations.java
index 282c044..fcb5698 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ConnectionPointReferenceOperations.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ConnectionPointReferenceOperations.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ConnectionPointReferenceOperations.java,v 1.6 2007/05/03 21:11:52 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.operations;
 
@@ -31,8 +30,8 @@
  * <p>
  * The following operations are supported:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.ConnectionPointReference#validateExitPseudostates(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Exit Pseudostates</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.ConnectionPointReference#validateEntryPseudostates(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Entry Pseudostates</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.ConnectionPointReference#validateExitPseudostates(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Exit Pseudostates</em>}</li>
  * </ul>
  * </p>
  *
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ConnectorEndOperations.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ConnectorEndOperations.java
index a507102..c7d3757 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ConnectorEndOperations.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ConnectorEndOperations.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ConnectorEndOperations.java,v 1.9 2007/05/03 21:11:52 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.operations;
 
@@ -39,9 +38,9 @@
  * The following operations are supported:
  * <ul>
  *   <li>{@link org.eclipse.uml2.uml.ConnectorEnd#validateRoleAndPartWithPort(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Role And Part With Port</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.ConnectorEnd#validatePartWithPortEmpty(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Part With Port Empty</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.ConnectorEnd#validateMultiplicity(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Multiplicity</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.ConnectorEnd#validateSelfPartWithPort(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Self Part With Port</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.ConnectorEnd#validateMultiplicity(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Multiplicity</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.ConnectorEnd#validatePartWithPortEmpty(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Part With Port Empty</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.ConnectorEnd#getDefiningEnd() <em>Get Defining End</em>}</li>
  * </ul>
  * </p>
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ConnectorOperations.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ConnectorOperations.java
index edaa37a..5b4ddb3 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ConnectorOperations.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ConnectorOperations.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ConnectorOperations.java,v 1.14 2008/12/09 19:44:05 jbruck Exp $
  */
 package org.eclipse.uml2.uml.internal.operations;
 
@@ -43,10 +42,10 @@
  * <p>
  * The following operations are supported:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.Connector#validateTypes(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Types</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.Connector#validateCompatible(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Compatible</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Connector#validateRoles(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Roles</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Connector#validateBetweenInterfacesPorts(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Between Interfaces Ports</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.Connector#validateCompatible(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Compatible</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.Connector#validateTypes(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Types</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Connector#getKind() <em>Get Kind</em>}</li>
  * </ul>
  * </p>
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ConsiderIgnoreFragmentOperations.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ConsiderIgnoreFragmentOperations.java
index 3634e66..2430a21 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ConsiderIgnoreFragmentOperations.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ConsiderIgnoreFragmentOperations.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2007 IBM Corporation and others.
+ * Copyright (c) 2005, 2011 IBM Corporation, CEA, and others.
  * All rights reserved.   This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -7,8 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
+ *   Kenn Hussey (CEA) - 351774
  *
- * $Id: ConsiderIgnoreFragmentOperations.java,v 1.6 2007/05/03 21:11:52 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.operations;
 
@@ -30,8 +30,8 @@
  * <p>
  * The following operations are supported:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.ConsiderIgnoreFragment#validateConsiderOrIgnore(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Consider Or Ignore</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.ConsiderIgnoreFragment#validateType(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Type</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.ConsiderIgnoreFragment#validateConsiderOrIgnore(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Consider Or Ignore</em>}</li>
  * </ul>
  * </p>
  *
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ConstraintOperations.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ConstraintOperations.java
index bcc3543..e736308 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ConstraintOperations.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ConstraintOperations.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ConstraintOperations.java,v 1.7 2007/05/03 21:11:51 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.operations;
 
@@ -32,9 +31,9 @@
  * <p>
  * The following operations are supported:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.Constraint#validateBooleanValue(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Boolean Value</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.Constraint#validateNoSideEffects(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate No Side Effects</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Constraint#validateNotApplyToSelf(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Not Apply To Self</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.Constraint#validateNoSideEffects(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate No Side Effects</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.Constraint#validateBooleanValue(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Boolean Value</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Constraint#validateValueSpecificationBoolean(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Value Specification Boolean</em>}</li>
  * </ul>
  * </p>
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ContinuationOperations.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ContinuationOperations.java
index 8e90562..d0fbf43 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ContinuationOperations.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ContinuationOperations.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ContinuationOperations.java,v 1.6 2007/05/03 21:11:52 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.operations;
 
@@ -31,8 +30,8 @@
  * <p>
  * The following operations are supported:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.Continuation#validateFirstOrLastInteractionFragment(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate First Or Last Interaction Fragment</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Continuation#validateSameName(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Same Name</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.Continuation#validateFirstOrLastInteractionFragment(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate First Or Last Interaction Fragment</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Continuation#validateGlobal(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Global</em>}</li>
  * </ul>
  * </p>
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/CreateLinkObjectActionOperations.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/CreateLinkObjectActionOperations.java
index 290f42b..36187d3 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/CreateLinkObjectActionOperations.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/CreateLinkObjectActionOperations.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: CreateLinkObjectActionOperations.java,v 1.6 2007/05/03 21:11:52 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.operations;
 
@@ -31,9 +30,9 @@
  * <p>
  * The following operations are supported:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.CreateLinkObjectAction#validateMultiplicity(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Multiplicity</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.CreateLinkObjectAction#validateTypeOfResult(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Type Of Result</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.CreateLinkObjectAction#validateAssociationClass(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Association Class</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.CreateLinkObjectAction#validateTypeOfResult(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Type Of Result</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.CreateLinkObjectAction#validateMultiplicity(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Multiplicity</em>}</li>
  * </ul>
  * </p>
  *
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/CreateObjectActionOperations.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/CreateObjectActionOperations.java
index 2cd2b9f..9d4d3b8 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/CreateObjectActionOperations.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/CreateObjectActionOperations.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: CreateObjectActionOperations.java,v 1.6 2007/05/03 21:11:52 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.operations;
 
@@ -31,10 +30,10 @@
  * <p>
  * The following operations are supported:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.CreateObjectAction#validateClassifierNotAbstract(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Classifier Not Abstract</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.CreateObjectAction#validateMultiplicity(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Multiplicity</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.CreateObjectAction#validateClassifierNotAssociationClass(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Classifier Not Association Class</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.CreateObjectAction#validateClassifierNotAbstract(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Classifier Not Abstract</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.CreateObjectAction#validateSameType(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Same Type</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.CreateObjectAction#validateMultiplicity(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Multiplicity</em>}</li>
  * </ul>
  * </p>
  *
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/DecisionNodeOperations.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/DecisionNodeOperations.java
index 3477a34..24b8a9c 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/DecisionNodeOperations.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/DecisionNodeOperations.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: DecisionNodeOperations.java,v 1.8 2008/10/02 20:56:22 jbruck Exp $
  */
 package org.eclipse.uml2.uml.internal.operations;
 
@@ -31,14 +30,14 @@
  * <p>
  * The following operations are supported:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.DecisionNode#validateZeroInputParameters(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Zero Input Parameters</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.DecisionNode#validateEdges(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Edges</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.DecisionNode#validateDecisionInputFlowIncoming(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Decision Input Flow Incoming</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.DecisionNode#validateTwoInputParameters(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Two Input Parameters</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.DecisionNode#validateIncomingOutgoingEdges(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Incoming Outgoing Edges</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.DecisionNode#validateIncomingControlOneInputParameter(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Incoming Control One Input Parameter</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.DecisionNode#validateParameters(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Parameters</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.DecisionNode#validateIncomingObjectOneInputParameter(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Incoming Object One Input Parameter</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.DecisionNode#validateIncomingOutgoingEdges(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Incoming Outgoing Edges</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.DecisionNode#validateIncomingControlOneInputParameter(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Incoming Control One Input Parameter</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.DecisionNode#validateTwoInputParameters(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Two Input Parameters</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.DecisionNode#validateDecisionInputFlowIncoming(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Decision Input Flow Incoming</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.DecisionNode#validateZeroInputParameters(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Zero Input Parameters</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.DecisionNode#validateEdges(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Edges</em>}</li>
  * </ul>
  * </p>
  *
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/DeploymentSpecificationOperations.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/DeploymentSpecificationOperations.java
index 04f922f..a9d8955 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/DeploymentSpecificationOperations.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/DeploymentSpecificationOperations.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: DeploymentSpecificationOperations.java,v 1.7 2007/05/03 21:11:52 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.operations;
 
@@ -31,8 +30,8 @@
  * <p>
  * The following operations are supported:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.DeploymentSpecification#validateDeploymentTarget(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Deployment Target</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.DeploymentSpecification#validateDeployedElements(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Deployed Elements</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.DeploymentSpecification#validateDeploymentTarget(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Deployment Target</em>}</li>
  * </ul>
  * </p>
  *
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ElementImportOperations.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ElementImportOperations.java
index aac6f34..b66bacd 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ElementImportOperations.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ElementImportOperations.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ElementImportOperations.java,v 1.9 2007/05/03 21:11:52 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.operations;
 
@@ -34,8 +33,8 @@
  * <p>
  * The following operations are supported:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.ElementImport#validateImportedElementIsPublic(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Imported Element Is Public</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.ElementImport#validateVisibilityPublicOrPrivate(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Visibility Public Or Private</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.ElementImport#validateImportedElementIsPublic(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Imported Element Is Public</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.ElementImport#getName() <em>Get Name</em>}</li>
  * </ul>
  * </p>
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ExceptionHandlerOperations.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ExceptionHandlerOperations.java
index aeb9de5..4587212 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ExceptionHandlerOperations.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ExceptionHandlerOperations.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ExceptionHandlerOperations.java,v 1.6 2007/05/03 21:11:52 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.operations;
 
@@ -31,10 +30,10 @@
  * <p>
  * The following operations are supported:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.ExceptionHandler#validateExceptionBody(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Exception Body</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.ExceptionHandler#validateResultPins(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Result Pins</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.ExceptionHandler#validateOneInput(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate One Input</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.ExceptionHandler#validateEdgeSourceTarget(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Edge Source Target</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.ExceptionHandler#validateResultPins(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Result Pins</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.ExceptionHandler#validateExceptionBody(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Exception Body</em>}</li>
  * </ul>
  * </p>
  *
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/FinalStateOperations.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/FinalStateOperations.java
index 8a62192..b96fbc7 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/FinalStateOperations.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/FinalStateOperations.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: FinalStateOperations.java,v 1.7 2007/05/03 21:11:51 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.operations;
 
@@ -31,12 +30,12 @@
  * <p>
  * The following operations are supported:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.FinalState#validateNoExitBehavior(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate No Exit Behavior</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.FinalState#validateNoOutgoingTransitions(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate No Outgoing Transitions</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.FinalState#validateNoRegions(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate No Regions</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.FinalState#validateCannotReferenceSubmachine(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Cannot Reference Submachine</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.FinalState#validateNoExitBehavior(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate No Exit Behavior</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.FinalState#validateNoEntryBehavior(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate No Entry Behavior</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.FinalState#validateNoStateBehavior(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate No State Behavior</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.FinalState#validateNoRegions(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate No Regions</em>}</li>
  * </ul>
  * </p>
  *
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/GeneralizationSetOperations.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/GeneralizationSetOperations.java
index ceb8af9..48cc761 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/GeneralizationSetOperations.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/GeneralizationSetOperations.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2007 IBM Corporation and others.
+ * Copyright (c) 2005, 2011 IBM Corporation, CEA, and others.
  * All rights reserved.   This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -7,8 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
+ *   Kenn Hussey (CEA) - 351774
  *
- * $Id: GeneralizationSetOperations.java,v 1.6 2007/05/03 21:11:51 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.operations;
 
@@ -30,8 +30,8 @@
  * <p>
  * The following operations are supported:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.GeneralizationSet#validateGeneralizationSameClassifier(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Generalization Same Classifier</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.GeneralizationSet#validateMapsToGeneralizationSet(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Maps To Generalization Set</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.GeneralizationSet#validateGeneralizationSameClassifier(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Generalization Same Classifier</em>}</li>
  * </ul>
  * </p>
  *
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/InformationFlowOperations.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/InformationFlowOperations.java
index 289c487..f4e6b03 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/InformationFlowOperations.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/InformationFlowOperations.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: InformationFlowOperations.java,v 1.7 2007/05/03 21:11:51 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.operations;
 
@@ -31,8 +30,8 @@
  * <p>
  * The following operations are supported:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.InformationFlow#validateMustConform(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Must Conform</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.InformationFlow#validateSourcesAndTargetsKind(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Sources And Targets Kind</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.InformationFlow#validateMustConform(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Must Conform</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.InformationFlow#validateConveyClassifiers(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Convey Classifiers</em>}</li>
  * </ul>
  * </p>
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/InformationItemOperations.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/InformationItemOperations.java
index 8cfb184..e222d15 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/InformationItemOperations.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/InformationItemOperations.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2007 IBM Corporation and others.
+ * Copyright (c) 2005, 2011 IBM Corporation, CEA, and others.
  * All rights reserved.   This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -7,8 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
+ *   Kenn Hussey (CEA) - 351774
  *
- * $Id: InformationItemOperations.java,v 1.7 2007/05/03 21:11:52 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.operations;
 
@@ -30,9 +30,9 @@
  * <p>
  * The following operations are supported:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.InformationItem#validateSourcesAndTargets(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Sources And Targets</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.InformationItem#validateHasNo(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Has No</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.InformationItem#validateNotInstantiable(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Not Instantiable</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.InformationItem#validateSourcesAndTargets(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Sources And Targets</em>}</li>
  * </ul>
  * </p>
  *
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/InstanceSpecificationOperations.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/InstanceSpecificationOperations.java
index 974651b..4bfa1c4 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/InstanceSpecificationOperations.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/InstanceSpecificationOperations.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: InstanceSpecificationOperations.java,v 1.6 2007/05/03 21:11:52 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.operations;
 
@@ -31,10 +30,10 @@
  * <p>
  * The following operations are supported:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.InstanceSpecification#validateDeploymentArtifact(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Deployment Artifact</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.InstanceSpecification#validateStructuralFeature(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Structural Feature</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.InstanceSpecification#validateDefiningFeature(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Defining Feature</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.InstanceSpecification#validateDeploymentTarget(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Deployment Target</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.InstanceSpecification#validateDeploymentArtifact(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Deployment Artifact</em>}</li>
  * </ul>
  * </p>
  *
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/InteractionConstraintOperations.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/InteractionConstraintOperations.java
index 0225b7a..88bb75f 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/InteractionConstraintOperations.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/InteractionConstraintOperations.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: InteractionConstraintOperations.java,v 1.7 2007/05/03 21:11:52 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.operations;
 
@@ -31,12 +30,12 @@
  * <p>
  * The following operations are supported:
  * <ul>
+ *   <li>{@link org.eclipse.uml2.uml.InteractionConstraint#validateMaxintPositive(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Maxint Positive</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.InteractionConstraint#validateMinintMaxint(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Minint Maxint</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.InteractionConstraint#validateMinintNonNegative(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Minint Non Negative</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.InteractionConstraint#validateMaxintPositive(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Maxint Positive</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.InteractionConstraint#validateDynamicVariables(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Dynamic Variables</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.InteractionConstraint#validateGlobalData(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Global Data</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.InteractionConstraint#validateMaxintGreaterEqualMinint(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Maxint Greater Equal Minint</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.InteractionConstraint#validateDynamicVariables(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Dynamic Variables</em>}</li>
  * </ul>
  * </p>
  *
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/InteractionOperandOperations.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/InteractionOperandOperations.java
index df40a96..d038add 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/InteractionOperandOperations.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/InteractionOperandOperations.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: InteractionOperandOperations.java,v 1.6 2007/05/03 21:11:51 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.operations;
 
@@ -31,8 +30,8 @@
  * <p>
  * The following operations are supported:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.InteractionOperand#validateGuardContainReferences(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Guard Contain References</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.InteractionOperand#validateGuardDirectlyPrior(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Guard Directly Prior</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.InteractionOperand#validateGuardContainReferences(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Guard Contain References</em>}</li>
  * </ul>
  * </p>
  *
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/InteractionUseOperations.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/InteractionUseOperations.java
index 13c0367..a3dbcbf 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/InteractionUseOperations.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/InteractionUseOperations.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: InteractionUseOperations.java,v 1.6 2007/05/03 21:11:51 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.operations;
 
@@ -31,12 +30,12 @@
  * <p>
  * The following operations are supported:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.InteractionUse#validateGatesMatch(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Gates Match</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.InteractionUse#validateArgumentsAreConstants(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Arguments Are Constants</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.InteractionUse#validateAllLifelines(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate All Lifelines</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.InteractionUse#validateReturnValueRecipientCoverage(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Return Value Recipient Coverage</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.InteractionUse#validateArgumentsCorrespondToParameters(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Arguments Correspond To Parameters</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.InteractionUse#validateGatesMatch(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Gates Match</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.InteractionUse#validateArgumentsAreConstants(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Arguments Are Constants</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.InteractionUse#validateReturnValueTypeRecipientCorrespondence(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Return Value Type Recipient Correspondence</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.InteractionUse#validateAllLifelines(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate All Lifelines</em>}</li>
  * </ul>
  * </p>
  *
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/LifelineOperations.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/LifelineOperations.java
index 5492e82..1f85aef 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/LifelineOperations.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/LifelineOperations.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: LifelineOperations.java,v 1.6 2007/05/03 21:11:52 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.operations;
 
@@ -31,9 +30,9 @@
  * <p>
  * The following operations are supported:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.Lifeline#validateSelectorSpecified(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Selector Specified</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Lifeline#validateInteractionUsesShareLifeline(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Interaction Uses Share Lifeline</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Lifeline#validateSameClassifier(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Same Classifier</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.Lifeline#validateSelectorSpecified(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Selector Specified</em>}</li>
  * </ul>
  * </p>
  *
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/LinkEndCreationDataOperations.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/LinkEndCreationDataOperations.java
index 0d87fbe..e36ab8d 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/LinkEndCreationDataOperations.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/LinkEndCreationDataOperations.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: LinkEndCreationDataOperations.java,v 1.4 2007/05/03 21:11:52 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.operations;
 
@@ -31,8 +30,8 @@
  * <p>
  * The following operations are supported:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.LinkEndCreationData#validateSingleInputPin(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Single Input Pin</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.LinkEndCreationData#validateCreateLinkAction(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Create Link Action</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.LinkEndCreationData#validateSingleInputPin(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Single Input Pin</em>}</li>
  * </ul>
  * </p>
  *
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/LinkEndDataOperations.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/LinkEndDataOperations.java
index 4f50134..4d1a821 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/LinkEndDataOperations.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/LinkEndDataOperations.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: LinkEndDataOperations.java,v 1.4 2007/05/03 21:11:51 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.operations;
 
@@ -31,10 +30,10 @@
  * <p>
  * The following operations are supported:
  * <ul>
+ *   <li>{@link org.eclipse.uml2.uml.LinkEndData#validatePropertyIsAssociationEnd(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Property Is Association End</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.LinkEndData#validateEndObjectInputPin(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate End Object Input Pin</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.LinkEndData#validateSameType(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Same Type</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.LinkEndData#validateMultiplicity(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Multiplicity</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.LinkEndData#validateEndObjectInputPin(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate End Object Input Pin</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.LinkEndData#validatePropertyIsAssociationEnd(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Property Is Association End</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.LinkEndData#validateQualifiers(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Qualifiers</em>}</li>
  * </ul>
  * </p>
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/LinkEndDestructionDataOperations.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/LinkEndDestructionDataOperations.java
index 8fe26cb..8187f43 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/LinkEndDestructionDataOperations.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/LinkEndDestructionDataOperations.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: LinkEndDestructionDataOperations.java,v 1.4 2007/05/03 21:11:51 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.operations;
 
@@ -31,8 +30,8 @@
  * <p>
  * The following operations are supported:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.LinkEndDestructionData#validateUnlimitedNaturalAndMultiplicity(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Unlimited Natural And Multiplicity</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.LinkEndDestructionData#validateDestroyLinkAction(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Destroy Link Action</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.LinkEndDestructionData#validateUnlimitedNaturalAndMultiplicity(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Unlimited Natural And Multiplicity</em>}</li>
  * </ul>
  * </p>
  *
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/LoopNodeOperations.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/LoopNodeOperations.java
index eecba3b..7d9bd03 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/LoopNodeOperations.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/LoopNodeOperations.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: LoopNodeOperations.java,v 1.7 2007/05/03 21:11:52 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.operations;
 
@@ -31,10 +30,10 @@
  * <p>
  * The following operations are supported:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.LoopNode#validateResultNoIncoming(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Result No Incoming</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.LoopNode#validateInputEdges(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Input Edges</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.LoopNode#validateExecutableNodes(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Executable Nodes</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.LoopNode#validateBodyOutputPins(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Body Output Pins</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.LoopNode#validateResultNoIncoming(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Result No Incoming</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.LoopNode#validateInputEdges(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Input Edges</em>}</li>
  * </ul>
  * </p>
  *
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/MessageOperations.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/MessageOperations.java
index e408847..ad9f4d2 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/MessageOperations.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/MessageOperations.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: MessageOperations.java,v 1.11 2007/05/03 21:11:51 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.operations;
 
@@ -47,12 +46,12 @@
  * The following operations are supported:
  * <ul>
  *   <li>{@link org.eclipse.uml2.uml.Message#validateSendingReceivingMessageEvent(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Sending Receiving Message Event</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.Message#validateOccurrenceSpecifications(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Occurrence Specifications</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.Message#validateSignatureIsSignal(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Signature Is Signal</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.Message#validateSignatureIsOperation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Signature Is Operation</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Message#validateArguments(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Arguments</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Message#validateCannotCrossBoundaries(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Cannot Cross Boundaries</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.Message#validateSignatureIsSignal(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Signature Is Signal</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.Message#validateOccurrenceSpecifications(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Occurrence Specifications</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Message#validateSignatureReferTo(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Signature Refer To</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.Message#validateSignatureIsOperation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Signature Is Operation</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Message#getMessageKind() <em>Get Message Kind</em>}</li>
  * </ul>
  * </p>
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/MultiplicityElementOperations.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/MultiplicityElementOperations.java
index f57b489..1a5db44 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/MultiplicityElementOperations.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/MultiplicityElementOperations.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: MultiplicityElementOperations.java,v 1.19 2008/10/02 20:56:22 jbruck Exp $
  */
 package org.eclipse.uml2.uml.internal.operations;
 
@@ -36,10 +35,10 @@
  * <p>
  * The following operations are supported:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.MultiplicityElement#validateUpperGeLower(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Upper Ge Lower</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.MultiplicityElement#validateLowerGe0(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Lower Ge0</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.MultiplicityElement#validateValueSpecificationNoSideEffects(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Value Specification No Side Effects</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.MultiplicityElement#validateUpperGeLower(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Upper Ge Lower</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.MultiplicityElement#validateValueSpecificationConstant(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Value Specification Constant</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.MultiplicityElement#validateValueSpecificationNoSideEffects(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Value Specification No Side Effects</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.MultiplicityElement#setLower(int) <em>Set Lower</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.MultiplicityElement#setUpper(int) <em>Set Upper</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.MultiplicityElement#compatibleWith(org.eclipse.uml2.uml.MultiplicityElement) <em>Compatible With</em>}</li>
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/NamedElementOperations.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/NamedElementOperations.java
index 8f61431..de56ebb 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/NamedElementOperations.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/NamedElementOperations.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: NamedElementOperations.java,v 1.22 2007/05/03 21:11:52 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.operations;
 
@@ -42,9 +41,9 @@
  * <p>
  * The following operations are supported:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.NamedElement#validateVisibilityNeedsOwnership(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Visibility Needs Ownership</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.NamedElement#validateHasQualifiedName(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Has Qualified Name</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.NamedElement#validateHasNoQualifiedName(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Has No Qualified Name</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.NamedElement#validateVisibilityNeedsOwnership(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Visibility Needs Ownership</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.NamedElement#createDependency(org.eclipse.uml2.uml.NamedElement) <em>Create Dependency</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.NamedElement#createUsage(org.eclipse.uml2.uml.NamedElement) <em>Create Usage</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.NamedElement#getLabel() <em>Get Label</em>}</li>
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ObjectFlowOperations.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ObjectFlowOperations.java
index 028c87c..8ec245d 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ObjectFlowOperations.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ObjectFlowOperations.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ObjectFlowOperations.java,v 1.7 2007/05/03 21:11:52 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.operations;
 
@@ -31,14 +30,14 @@
  * <p>
  * The following operations are supported:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.ObjectFlow#validateInputAndOutputParameter(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Input And Output Parameter</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.ObjectFlow#validateNoActions(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate No Actions</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.ObjectFlow#validateTransformationBehaviour(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Transformation Behaviour</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.ObjectFlow#validateIsMulticastOrIsMultireceive(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Is Multicast Or Is Multireceive</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.ObjectFlow#validateSelectionBehaviour(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Selection Behaviour</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.ObjectFlow#validateCompatibleTypes(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Compatible Types</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.ObjectFlow#validateSameUpperBounds(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Same Upper Bounds</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.ObjectFlow#validateNoActions(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate No Actions</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.ObjectFlow#validateInputAndOutputParameter(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Input And Output Parameter</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.ObjectFlow#validateTransformationBehaviour(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Transformation Behaviour</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.ObjectFlow#validateTarget(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Target</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.ObjectFlow#validateIsMulticastOrIsMultireceive(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Is Multicast Or Is Multireceive</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.ObjectFlow#validateSameUpperBounds(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Same Upper Bounds</em>}</li>
  * </ul>
  * </p>
  *
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ObjectNodeOperations.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ObjectNodeOperations.java
index 0f509e9..7b8d226 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ObjectNodeOperations.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ObjectNodeOperations.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ObjectNodeOperations.java,v 1.6 2007/05/03 21:11:52 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.operations;
 
@@ -31,9 +30,9 @@
  * <p>
  * The following operations are supported:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.ObjectNode#validateInputOutputParameter(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Input Output Parameter</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.ObjectNode#validateSelectionBehavior(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Selection Behavior</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.ObjectNode#validateObjectFlowEdges(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Object Flow Edges</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.ObjectNode#validateSelectionBehavior(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Selection Behavior</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.ObjectNode#validateInputOutputParameter(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Input Output Parameter</em>}</li>
  * </ul>
  * </p>
  *
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/OpaqueExpressionOperations.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/OpaqueExpressionOperations.java
index be4354f..28d678e 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/OpaqueExpressionOperations.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/OpaqueExpressionOperations.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: OpaqueExpressionOperations.java,v 1.14 2007/05/03 21:11:52 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.operations;
 
@@ -36,9 +35,9 @@
  * <p>
  * The following operations are supported:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.OpaqueExpression#validateLanguageBodySize(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Language Body Size</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.OpaqueExpression#validateOneReturnResultParameter(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate One Return Result Parameter</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.OpaqueExpression#validateOnlyReturnResultParameters(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Only Return Result Parameters</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.OpaqueExpression#validateOneReturnResultParameter(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate One Return Result Parameter</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.OpaqueExpression#validateLanguageBodySize(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Language Body Size</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.OpaqueExpression#isIntegral() <em>Is Integral</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.OpaqueExpression#isNonNegative() <em>Is Non Negative</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.OpaqueExpression#isPositive() <em>Is Positive</em>}</li>
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ParameterOperations.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ParameterOperations.java
index 8124028..2a84e0a 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ParameterOperations.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ParameterOperations.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ParameterOperations.java,v 1.20 2007/05/04 20:35:34 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.operations;
 
@@ -40,10 +39,10 @@
  * <p>
  * The following operations are supported:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.Parameter#validateInAndOut(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate In And Out</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.Parameter#validateNotException(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Not Exception</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.Parameter#validateConnectorEnd(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Connector End</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Parameter#validateReentrantBehaviors(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Reentrant Behaviors</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.Parameter#validateConnectorEnd(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Connector End</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.Parameter#validateNotException(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Not Exception</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.Parameter#validateInAndOut(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate In And Out</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Parameter#validateStreamAndException(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Stream And Exception</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Parameter#isSetDefault() <em>Is Set Default</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Parameter#setBooleanDefaultValue(boolean) <em>Set Boolean Default Value</em>}</li>
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ParameterSetOperations.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ParameterSetOperations.java
index 5427418..1e55b1d 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ParameterSetOperations.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ParameterSetOperations.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2007 IBM Corporation and others.
+ * Copyright (c) 2005, 2011 IBM Corporation, CEA, and others.
  * All rights reserved.   This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -7,8 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
+ *   Kenn Hussey (CEA) - 351774
  *
- * $Id: ParameterSetOperations.java,v 1.6 2007/05/03 21:11:53 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.operations;
 
@@ -30,9 +30,9 @@
  * <p>
  * The following operations are supported:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.ParameterSet#validateSameParameterizedEntity(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Same Parameterized Entity</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.ParameterSet#validateInput(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Input</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.ParameterSet#validateTwoParameterSets(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Two Parameter Sets</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.ParameterSet#validateInput(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Input</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.ParameterSet#validateSameParameterizedEntity(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Same Parameterized Entity</em>}</li>
  * </ul>
  * </p>
  *
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/PartDecompositionOperations.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/PartDecompositionOperations.java
index b8ff4ca..2c96939 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/PartDecompositionOperations.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/PartDecompositionOperations.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: PartDecompositionOperations.java,v 1.7 2007/05/03 21:11:51 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.operations;
 
@@ -31,9 +30,9 @@
  * <p>
  * The following operations are supported:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.PartDecomposition#validateCommutativityOfDecomposition(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Commutativity Of Decomposition</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.PartDecomposition#validateAssume(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Assume</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.PartDecomposition#validatePartsOfInternalStructures(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Parts Of Internal Structures</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.PartDecomposition#validateAssume(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Assume</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.PartDecomposition#validateCommutativityOfDecomposition(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Commutativity Of Decomposition</em>}</li>
  * </ul>
  * </p>
  *
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/PortOperations.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/PortOperations.java
index c4faf91..3ece47e 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/PortOperations.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/PortOperations.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey - 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: PortOperations.java,v 1.18 2010/09/28 21:02:15 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.operations;
 
@@ -44,9 +43,9 @@
  * <p>
  * The following operations are supported:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.Port#validatePortDestroyed(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Port Destroyed</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.Port#validatePortAggregation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Port Aggregation</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Port#validateDefaultValue(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Default Value</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.Port#validatePortAggregation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Port Aggregation</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.Port#validatePortDestroyed(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Port Destroyed</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Port#getProvideds() <em>Get Provideds</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Port#getRequireds() <em>Get Requireds</em>}</li>
  * </ul>
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/PropertyOperations.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/PropertyOperations.java
index c732216..940fe24 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/PropertyOperations.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/PropertyOperations.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey - 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: PropertyOperations.java,v 1.39 2010/09/28 21:02:15 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.operations;
 
@@ -58,15 +57,15 @@
  * The following operations are supported:
  * <ul>
  *   <li>{@link org.eclipse.uml2.uml.Property#isCompatibleWith(org.eclipse.uml2.uml.ParameterableElement) <em>Is Compatible With</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.Property#validateSubsettingContextConforms(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Subsetting Context Conforms</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.Property#validateDerivedUnionIsReadOnly(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Derived Union Is Read Only</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.Property#validateMultiplicityOfComposite(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Multiplicity Of Composite</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.Property#validateRedefinedPropertyInherited(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Redefined Property Inherited</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.Property#validateSubsettingRules(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Subsetting Rules</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.Property#validateBindingToAttribute(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Binding To Attribute</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.Property#validateDerivedUnionIsDerived(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Derived Union Is Derived</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.Property#validateDeploymentTarget(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Deployment Target</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Property#validateSubsettedPropertyNames(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Subsetted Property Names</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.Property#validateSubsettingRules(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Subsetting Rules</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.Property#validateMultiplicityOfComposite(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Multiplicity Of Composite</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.Property#validateBindingToAttribute(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Binding To Attribute</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.Property#validateRedefinedPropertyInherited(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Redefined Property Inherited</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.Property#validateSubsettingContextConforms(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Subsetting Context Conforms</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.Property#validateDeploymentTarget(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Deployment Target</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.Property#validateDerivedUnionIsDerived(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Derived Union Is Derived</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.Property#validateDerivedUnionIsReadOnly(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Derived Union Is Read Only</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Property#getOtherEnd() <em>Get Other End</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Property#isSetDefault() <em>Is Set Default</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Property#setBooleanDefaultValue(boolean) <em>Set Boolean Default Value</em>}</li>
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ProtocolStateMachineOperations.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ProtocolStateMachineOperations.java
index 7756bb3..f01cf27 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ProtocolStateMachineOperations.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ProtocolStateMachineOperations.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ProtocolStateMachineOperations.java,v 1.6 2007/05/03 21:11:52 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.operations;
 
@@ -31,10 +30,10 @@
  * <p>
  * The following operations are supported:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.ProtocolStateMachine#validateDeepOrShallowHistory(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Deep Or Shallow History</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.ProtocolStateMachine#validateEntryExitDo(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Entry Exit Do</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.ProtocolStateMachine#validatePortsConnected(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Ports Connected</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.ProtocolStateMachine#validateProtocolTransitions(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Protocol Transitions</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.ProtocolStateMachine#validateDeepOrShallowHistory(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Deep Or Shallow History</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.ProtocolStateMachine#validatePortsConnected(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Ports Connected</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.ProtocolStateMachine#validateClassifierContext(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Classifier Context</em>}</li>
  * </ul>
  * </p>
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/PseudostateOperations.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/PseudostateOperations.java
index 9524646..1f9ca2f 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/PseudostateOperations.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/PseudostateOperations.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: PseudostateOperations.java,v 1.7 2007/05/03 21:11:52 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.operations;
 
@@ -31,14 +30,14 @@
  * <p>
  * The following operations are supported:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.Pseudostate#validateTransitionsOutgoing(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Transitions Outgoing</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.Pseudostate#validateChoiceVertex(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Choice Vertex</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.Pseudostate#validateOutgoingFromInitial(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Outgoing From Initial</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.Pseudostate#validateJoinVertex(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Join Vertex</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Pseudostate#validateJunctionVertex(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Junction Vertex</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Pseudostate#validateHistoryVertices(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate History Vertices</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.Pseudostate#validateInitialVertex(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Initial Vertex</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.Pseudostate#validateTransitionsOutgoing(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Transitions Outgoing</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.Pseudostate#validateOutgoingFromInitial(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Outgoing From Initial</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Pseudostate#validateForkVertex(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Fork Vertex</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.Pseudostate#validateJoinVertex(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Join Vertex</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.Pseudostate#validateChoiceVertex(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Choice Vertex</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.Pseudostate#validateInitialVertex(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Initial Vertex</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Pseudostate#validateTransitionsIncoming(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Transitions Incoming</em>}</li>
  * </ul>
  * </p>
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/QualifierValueOperations.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/QualifierValueOperations.java
index 8fa58ef..a754bd8 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/QualifierValueOperations.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/QualifierValueOperations.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: QualifierValueOperations.java,v 1.4 2007/05/03 21:11:51 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.operations;
 
@@ -31,9 +30,9 @@
  * <p>
  * The following operations are supported:
  * <ul>
+ *   <li>{@link org.eclipse.uml2.uml.QualifierValue#validateQualifierAttribute(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Qualifier Attribute</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.QualifierValue#validateMultiplicityOfQualifier(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Multiplicity Of Qualifier</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.QualifierValue#validateTypeOfQualifier(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Type Of Qualifier</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.QualifierValue#validateQualifierAttribute(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Qualifier Attribute</em>}</li>
  * </ul>
  * </p>
  *
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ReadLinkActionOperations.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ReadLinkActionOperations.java
index a047f24..cb693fe 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ReadLinkActionOperations.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ReadLinkActionOperations.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ReadLinkActionOperations.java,v 1.6 2007/05/03 21:11:51 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.operations;
 
@@ -32,10 +31,10 @@
  * The following operations are supported:
  * <ul>
  *   <li>{@link org.eclipse.uml2.uml.ReadLinkAction#validateTypeAndOrdering(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Type And Ordering</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.ReadLinkAction#validateCompatibleMultiplicity(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Compatible Multiplicity</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.ReadLinkAction#validateVisibility(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Visibility</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.ReadLinkAction#validateOneOpenEnd(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate One Open End</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.ReadLinkAction#validateCompatibleMultiplicity(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Compatible Multiplicity</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.ReadLinkAction#validateNavigableOpenEnd(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Navigable Open End</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.ReadLinkAction#validateVisibility(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Visibility</em>}</li>
  * </ul>
  * </p>
  *
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ReadLinkObjectEndActionOperations.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ReadLinkObjectEndActionOperations.java
index 7dbb4db..fbe832c 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ReadLinkObjectEndActionOperations.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ReadLinkObjectEndActionOperations.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ReadLinkObjectEndActionOperations.java,v 1.6 2007/05/03 21:11:52 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.operations;
 
@@ -31,13 +30,13 @@
  * <p>
  * The following operations are supported:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.ReadLinkObjectEndAction#validateProperty(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Property</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.ReadLinkObjectEndAction#validateMultiplicityOfObject(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Multiplicity Of Object</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.ReadLinkObjectEndAction#validateEndsOfAssociation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Ends Of Association</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.ReadLinkObjectEndAction#validateTypeOfResult(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Type Of Result</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.ReadLinkObjectEndAction#validateMultiplicityOfResult(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Multiplicity Of Result</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.ReadLinkObjectEndAction#validateTypeOfObject(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Type Of Object</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.ReadLinkObjectEndAction#validateAssociationOfAssociation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Association Of Association</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.ReadLinkObjectEndAction#validateMultiplicityOfObject(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Multiplicity Of Object</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.ReadLinkObjectEndAction#validateTypeOfResult(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Type Of Result</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.ReadLinkObjectEndAction#validateTypeOfObject(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Type Of Object</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.ReadLinkObjectEndAction#validateProperty(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Property</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.ReadLinkObjectEndAction#validateMultiplicityOfResult(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Multiplicity Of Result</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.ReadLinkObjectEndAction#validateEndsOfAssociation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Ends Of Association</em>}</li>
  * </ul>
  * </p>
  *
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ReadLinkObjectEndQualifierActionOperations.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ReadLinkObjectEndQualifierActionOperations.java
index a24a315..d460325 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ReadLinkObjectEndQualifierActionOperations.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ReadLinkObjectEndQualifierActionOperations.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ReadLinkObjectEndQualifierActionOperations.java,v 1.6 2007/05/03 21:11:51 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.operations;
 
@@ -31,12 +30,12 @@
  * <p>
  * The following operations are supported:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction#validateMultiplicityOfObject(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Multiplicity Of Object</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction#validateTypeOfObject(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Type Of Object</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction#validateMultiplicityOfQualifier(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Multiplicity Of Qualifier</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction#validateEndsOfAssociation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Ends Of Association</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction#validateMultiplicityOfResult(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Multiplicity Of Result</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction#validateSameType(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Same Type</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction#validateEndsOfAssociation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Ends Of Association</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction#validateMultiplicityOfQualifier(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Multiplicity Of Qualifier</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction#validateMultiplicityOfObject(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Multiplicity Of Object</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction#validateAssociationOfAssociation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Association Of Association</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction#validateQualifierAttribute(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Qualifier Attribute</em>}</li>
  * </ul>
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ReadSelfActionOperations.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ReadSelfActionOperations.java
index a69ba60..da4ca93 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ReadSelfActionOperations.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ReadSelfActionOperations.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ReadSelfActionOperations.java,v 1.6 2007/05/03 21:11:52 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.operations;
 
@@ -32,9 +31,9 @@
  * The following operations are supported:
  * <ul>
  *   <li>{@link org.eclipse.uml2.uml.ReadSelfAction#validateContained(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Contained</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.ReadSelfAction#validateMultiplicity(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Multiplicity</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.ReadSelfAction#validateNotStatic(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Not Static</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.ReadSelfAction#validateType(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Type</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.ReadSelfAction#validateNotStatic(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Not Static</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.ReadSelfAction#validateMultiplicity(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Multiplicity</em>}</li>
  * </ul>
  * </p>
  *
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ReclassifyObjectActionOperations.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ReclassifyObjectActionOperations.java
index 2a09a47..94bfab2 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ReclassifyObjectActionOperations.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ReclassifyObjectActionOperations.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ReclassifyObjectActionOperations.java,v 1.6 2007/05/03 21:11:52 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.operations;
 
@@ -32,8 +31,8 @@
  * The following operations are supported:
  * <ul>
  *   <li>{@link org.eclipse.uml2.uml.ReclassifyObjectAction#validateInputPin(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Input Pin</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.ReclassifyObjectAction#validateClassifierNotAbstract(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Classifier Not Abstract</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.ReclassifyObjectAction#validateMultiplicity(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Multiplicity</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.ReclassifyObjectAction#validateClassifierNotAbstract(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Classifier Not Abstract</em>}</li>
  * </ul>
  * </p>
  *
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ReduceActionOperations.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ReduceActionOperations.java
index 2137313..73c155f 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ReduceActionOperations.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ReduceActionOperations.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ReduceActionOperations.java,v 1.4 2007/05/03 21:11:53 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.operations;
 
@@ -31,9 +30,9 @@
  * <p>
  * The following operations are supported:
  * <ul>
+ *   <li>{@link org.eclipse.uml2.uml.ReduceAction#validateOutputTypesAreCompatible(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Output Types Are Compatible</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.ReduceAction#validateReducerInputsOutput(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Reducer Inputs Output</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.ReduceAction#validateInputTypeIsCollection(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Input Type Is Collection</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.ReduceAction#validateOutputTypesAreCompatible(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Output Types Are Compatible</em>}</li>
  * </ul>
  * </p>
  *
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/RegionOperations.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/RegionOperations.java
index ec7c39a..5b39b3b 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/RegionOperations.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/RegionOperations.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: RegionOperations.java,v 1.12 2008/03/25 13:41:38 jbruck Exp $
  */
 package org.eclipse.uml2.uml.internal.operations;
 
@@ -42,10 +41,10 @@
  * The following operations are supported:
  * <ul>
  *   <li>{@link org.eclipse.uml2.uml.Region#isConsistentWith(org.eclipse.uml2.uml.RedefinableElement) <em>Is Consistent With</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.Region#validateDeepHistoryVertex(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Deep History Vertex</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Region#validateShallowHistoryVertex(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Shallow History Vertex</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.Region#validateOwned(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Owned</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.Region#validateDeepHistoryVertex(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Deep History Vertex</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Region#validateInitialVertex(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Initial Vertex</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.Region#validateOwned(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Owned</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Region#belongsToPSM() <em>Belongs To PSM</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Region#containingStateMachine() <em>Containing State Machine</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Region#isRedefinitionContextValid(org.eclipse.uml2.uml.Region) <em>Is Redefinition Context Valid</em>}</li>
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ReplyActionOperations.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ReplyActionOperations.java
index 45c1498..f69590e 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ReplyActionOperations.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ReplyActionOperations.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ReplyActionOperations.java,v 1.6 2007/05/03 21:11:51 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.operations;
 
@@ -31,8 +30,8 @@
  * <p>
  * The following operations are supported:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.ReplyAction#validatePinsMatchParameter(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Pins Match Parameter</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.ReplyAction#validateEventOnReplyToCallTrigger(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Event On Reply To Call Trigger</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.ReplyAction#validatePinsMatchParameter(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Pins Match Parameter</em>}</li>
  * </ul>
  * </p>
  *
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/StartClassifierBehaviorActionOperations.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/StartClassifierBehaviorActionOperations.java
index 26a64ad..92f571c 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/StartClassifierBehaviorActionOperations.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/StartClassifierBehaviorActionOperations.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: StartClassifierBehaviorActionOperations.java,v 1.6 2007/05/03 21:11:52 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.operations;
 
@@ -31,8 +30,8 @@
  * <p>
  * The following operations are supported:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.StartClassifierBehaviorAction#validateMultiplicity(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Multiplicity</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.StartClassifierBehaviorAction#validateTypeHasClassifier(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Type Has Classifier</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.StartClassifierBehaviorAction#validateMultiplicity(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Multiplicity</em>}</li>
  * </ul>
  * </p>
  *
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/StartObjectBehaviorActionOperations.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/StartObjectBehaviorActionOperations.java
index 1cff2fc..9d1011e 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/StartObjectBehaviorActionOperations.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/StartObjectBehaviorActionOperations.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: StartObjectBehaviorActionOperations.java,v 1.1 2008/10/02 20:56:22 jbruck Exp $
  */
 package org.eclipse.uml2.uml.internal.operations;
 
@@ -31,11 +30,11 @@
  * <p>
  * The following operations are supported:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.StartObjectBehaviorAction#validateNumberOrderResults(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Number Order Results</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.StartObjectBehaviorAction#validateMultiplicityOfObject(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Multiplicity Of Object</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.StartObjectBehaviorAction#validateTypeOrderingMultiplicityMatch(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Type Ordering Multiplicity Match</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.StartObjectBehaviorAction#validateNumberOrderArguments(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Number Order Arguments</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.StartObjectBehaviorAction#validateTypeOrderingMultiplicityMatch(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Type Ordering Multiplicity Match</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.StartObjectBehaviorAction#validateNumberOrderResults(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Number Order Results</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.StartObjectBehaviorAction#validateTypeOfObject(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Type Of Object</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.StartObjectBehaviorAction#validateMultiplicityOfObject(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Multiplicity Of Object</em>}</li>
  * </ul>
  * </p>
  *
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/StateMachineOperations.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/StateMachineOperations.java
index 22cfd8f..e93728d 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/StateMachineOperations.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/StateMachineOperations.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: StateMachineOperations.java,v 1.13 2007/05/03 21:11:52 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.operations;
 
@@ -38,10 +37,10 @@
  * <p>
  * The following operations are supported:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.StateMachine#validateConnectionPoints(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Connection Points</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.StateMachine#validateClassifierContext(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Classifier Context</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.StateMachine#validateMethod(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Method</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.StateMachine#validateClassifierContext(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Classifier Context</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.StateMachine#validateContextClassifier(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Context Classifier</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.StateMachine#validateConnectionPoints(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Connection Points</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.StateMachine#LCA(org.eclipse.uml2.uml.State, org.eclipse.uml2.uml.State) <em>LCA</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.StateMachine#ancestor(org.eclipse.uml2.uml.State, org.eclipse.uml2.uml.State) <em>Ancestor</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.StateMachine#isRedefinitionContextValid(org.eclipse.uml2.uml.StateMachine) <em>Is Redefinition Context Valid</em>}</li>
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/StateOperations.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/StateOperations.java
index 9e0d4d8..9d4d27b 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/StateOperations.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/StateOperations.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey - 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: StateOperations.java,v 1.13 2010/09/28 21:02:15 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.operations;
 
@@ -42,10 +41,10 @@
  *   <li>{@link org.eclipse.uml2.uml.State#isConsistentWith(org.eclipse.uml2.uml.RedefinableElement) <em>Is Consistent With</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.State#containingStateMachine() <em>Containing State Machine</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.State#validateEntryOrExit(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Entry Or Exit</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.State#validateSubmachineStates(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Submachine States</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.State#validateCompositeStates(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Composite States</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.State#validateDestinationsOrSourcesOfTransitions(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Destinations Or Sources Of Transitions</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.State#validateSubmachineOrRegions(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Submachine Or Regions</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.State#validateSubmachineStates(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Submachine States</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.State#isComposite() <em>Is Composite</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.State#isOrthogonal() <em>Is Orthogonal</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.State#isRedefinitionContextValid(org.eclipse.uml2.uml.State) <em>Is Redefinition Context Valid</em>}</li>
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/StereotypeOperations.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/StereotypeOperations.java
index 92528c3..013ae83 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/StereotypeOperations.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/StereotypeOperations.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: StereotypeOperations.java,v 1.16 2007/06/01 16:00:39 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.operations;
 
@@ -46,10 +45,10 @@
  * <p>
  * The following operations are supported:
  * <ul>
+ *   <li>{@link org.eclipse.uml2.uml.Stereotype#validateAssociationEndOwnership(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Association End Ownership</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.Stereotype#validateNameNotClash(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Name Not Clash</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Stereotype#validateBinaryAssociationsOnly(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Binary Associations Only</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Stereotype#validateGeneralize(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Generalize</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.Stereotype#validateNameNotClash(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Name Not Clash</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.Stereotype#validateAssociationEndOwnership(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Association End Ownership</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Stereotype#createExtension(org.eclipse.uml2.uml.Class, boolean) <em>Create Extension</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Stereotype#createIcon(java.lang.String) <em>Create Icon</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Stereotype#createIcon(java.lang.String, java.lang.String) <em>Create Icon</em>}</li>
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/StringExpressionOperations.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/StringExpressionOperations.java
index ab9f93d..ba3902a 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/StringExpressionOperations.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/StringExpressionOperations.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: StringExpressionOperations.java,v 1.7 2007/05/03 21:11:53 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.operations;
 
@@ -33,8 +32,8 @@
  * <p>
  * The following operations are supported:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.StringExpression#validateOperands(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Operands</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.StringExpression#validateSubexpressions(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Subexpressions</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.StringExpression#validateOperands(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Operands</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.StringExpression#stringValue() <em>String Value</em>}</li>
  * </ul>
  * </p>
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/StructuralFeatureActionOperations.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/StructuralFeatureActionOperations.java
index b6a01c6..08e9827 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/StructuralFeatureActionOperations.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/StructuralFeatureActionOperations.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: StructuralFeatureActionOperations.java,v 1.6 2007/05/03 21:11:52 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.operations;
 
@@ -31,11 +30,11 @@
  * <p>
  * The following operations are supported:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.StructuralFeatureAction#validateMultiplicity(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Multiplicity</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.StructuralFeatureAction#validateSameType(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Same Type</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.StructuralFeatureAction#validateVisibility(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Visibility</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.StructuralFeatureAction#validateMultiplicity(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Multiplicity</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.StructuralFeatureAction#validateNotStatic(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Not Static</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.StructuralFeatureAction#validateOneFeaturingClassifier(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate One Featuring Classifier</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.StructuralFeatureAction#validateSameType(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Same Type</em>}</li>
  * </ul>
  * </p>
  *
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/StructuredActivityNodeOperations.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/StructuredActivityNodeOperations.java
index b12eb13..7a92924 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/StructuredActivityNodeOperations.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/StructuredActivityNodeOperations.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: StructuredActivityNodeOperations.java,v 1.6 2007/05/03 21:11:52 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.operations;
 
@@ -31,9 +30,9 @@
  * <p>
  * The following operations are supported:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.StructuredActivityNode#validateOutputPinEdges(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Output Pin Edges</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.StructuredActivityNode#validateEdges(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Edges</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.StructuredActivityNode#validateInputPinEdges(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Input Pin Edges</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.StructuredActivityNode#validateEdges(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Edges</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.StructuredActivityNode#validateOutputPinEdges(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Output Pin Edges</em>}</li>
  * </ul>
  * </p>
  *
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/TimeEventOperations.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/TimeEventOperations.java
index 1c8ae6b..20882fb 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/TimeEventOperations.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/TimeEventOperations.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2007 IBM Corporation and others.
+ * Copyright (c) 2005, 2011 IBM Corporation, CEA, and others.
  * All rights reserved.   This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -7,8 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
+ *   Kenn Hussey (CEA) - 351774
  *
- * $Id: TimeEventOperations.java,v 1.7 2007/05/03 21:11:51 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.operations;
 
@@ -30,8 +30,8 @@
  * <p>
  * The following operations are supported:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.TimeEvent#validateWhenNonNegative(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate When Non Negative</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.TimeEvent#validateStartingTime(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Starting Time</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.TimeEvent#validateWhenNonNegative(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate When Non Negative</em>}</li>
  * </ul>
  * </p>
  *
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/TransitionOperations.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/TransitionOperations.java
index aba7955..cefc8f0 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/TransitionOperations.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/TransitionOperations.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: TransitionOperations.java,v 1.13 2008/10/02 20:56:22 jbruck Exp $
  */
 package org.eclipse.uml2.uml.internal.operations;
 
@@ -40,16 +39,16 @@
  * The following operations are supported:
  * <ul>
  *   <li>{@link org.eclipse.uml2.uml.Transition#isConsistentWith(org.eclipse.uml2.uml.RedefinableElement) <em>Is Consistent With</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.Transition#validateStateIsExternal(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate State Is External</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.Transition#validateJoinSegmentGuards(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Join Segment Guards</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.Transition#validateStateIsInternal(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate State Is Internal</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.Transition#validateOutgoingPseudostates(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Outgoing Pseudostates</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.Transition#validateJoinSegmentState(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Join Segment State</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.Transition#validateForkSegmentState(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Fork Segment State</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.Transition#validateSignaturesCompatible(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Signatures Compatible</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Transition#validateStateIsLocal(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate State Is Local</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.Transition#validateInitialTransition(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Initial Transition</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Transition#validateForkSegmentGuards(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Fork Segment Guards</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.Transition#validateJoinSegmentState(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Join Segment State</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.Transition#validateInitialTransition(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Initial Transition</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.Transition#validateOutgoingPseudostates(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Outgoing Pseudostates</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.Transition#validateSignaturesCompatible(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Signatures Compatible</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.Transition#validateStateIsInternal(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate State Is Internal</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.Transition#validateJoinSegmentGuards(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Join Segment Guards</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.Transition#validateForkSegmentState(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Fork Segment State</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.Transition#validateStateIsExternal(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate State Is External</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Transition#containingStateMachine() <em>Containing State Machine</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Transition#redefinitionContext() <em>Redefinition Context</em>}</li>
  * </ul>
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/UnmarshallActionOperations.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/UnmarshallActionOperations.java
index 2022654..ad09ce8 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/UnmarshallActionOperations.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/UnmarshallActionOperations.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: UnmarshallActionOperations.java,v 1.7 2007/05/03 21:11:53 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.operations;
 
@@ -31,13 +30,13 @@
  * <p>
  * The following operations are supported:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.UnmarshallAction#validateStructuralFeature(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Structural Feature</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.UnmarshallAction#validateNumberOfResult(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Number Of Result</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.UnmarshallAction#validateMultiplicityOfResult(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Multiplicity Of Result</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.UnmarshallAction#validateTypeAndOrdering(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Type And Ordering</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.UnmarshallAction#validateUnmarshallTypeIsClassifier(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Unmarshall Type Is Classifier</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.UnmarshallAction#validateMultiplicityOfObject(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Multiplicity Of Object</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.UnmarshallAction#validateSameType(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Same Type</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.UnmarshallAction#validateStructuralFeature(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Structural Feature</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.UnmarshallAction#validateMultiplicityOfObject(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Multiplicity Of Object</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.UnmarshallAction#validateTypeAndOrdering(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Type And Ordering</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.UnmarshallAction#validateNumberOfResult(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Number Of Result</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.UnmarshallAction#validateUnmarshallTypeIsClassifier(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Unmarshall Type Is Classifier</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.UnmarshallAction#validateMultiplicityOfResult(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Multiplicity Of Result</em>}</li>
  * </ul>
  * </p>
  *
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/UseCaseOperations.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/UseCaseOperations.java
index e1069b3..ce9328a 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/UseCaseOperations.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/UseCaseOperations.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: UseCaseOperations.java,v 1.12 2007/05/03 21:11:51 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.operations;
 
@@ -37,10 +36,10 @@
  * <p>
  * The following operations are supported:
  * <ul>
+ *   <li>{@link org.eclipse.uml2.uml.UseCase#validateMustHaveName(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Must Have Name</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.UseCase#validateCannotIncludeSelf(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Cannot Include Self</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.UseCase#validateBinaryAssociations(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Binary Associations</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.UseCase#validateNoAssociationToUseCase(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate No Association To Use Case</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.UseCase#validateCannotIncludeSelf(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Cannot Include Self</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.UseCase#validateMustHaveName(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Must Have Name</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.UseCase#allIncludedUseCases() <em>All Included Use Cases</em>}</li>
  * </ul>
  * </p>
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ValuePinOperations.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ValuePinOperations.java
index ce09e62..b10136d 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ValuePinOperations.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/ValuePinOperations.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ValuePinOperations.java,v 1.7 2007/05/03 21:11:52 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.operations;
 
@@ -31,8 +30,8 @@
  * <p>
  * The following operations are supported:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.ValuePin#validateNoIncomingEdges(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate No Incoming Edges</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.ValuePin#validateCompatibleType(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Compatible Type</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.ValuePin#validateNoIncomingEdges(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate No Incoming Edges</em>}</li>
  * </ul>
  * </p>
  *
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/WriteStructuralFeatureActionOperations.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/WriteStructuralFeatureActionOperations.java
index a299d7a..f7eccbb 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/WriteStructuralFeatureActionOperations.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/WriteStructuralFeatureActionOperations.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: WriteStructuralFeatureActionOperations.java,v 1.7 2008/10/02 20:56:22 jbruck Exp $
  */
 package org.eclipse.uml2.uml.internal.operations;
 
@@ -31,9 +30,9 @@
  * <p>
  * The following operations are supported:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.WriteStructuralFeatureAction#validateMultiplicityOfResult(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Multiplicity Of Result</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.WriteStructuralFeatureAction#validateInputPin(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Input Pin</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.WriteStructuralFeatureAction#validateTypeOfResult(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Type Of Result</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.WriteStructuralFeatureAction#validateMultiplicityOfResult(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Multiplicity Of Result</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.WriteStructuralFeatureAction#validateMultiplicity(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Multiplicity</em>}</li>
  * </ul>
  * </p>
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/WriteVariableActionOperations.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/WriteVariableActionOperations.java
index b49dbcc..25756c8 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/WriteVariableActionOperations.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/WriteVariableActionOperations.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: WriteVariableActionOperations.java,v 1.6 2007/05/03 21:11:51 khussey Exp $
  */
 package org.eclipse.uml2.uml.internal.operations;
 
@@ -31,8 +30,8 @@
  * <p>
  * The following operations are supported:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.WriteVariableAction#validateSameType(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Same Type</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.WriteVariableAction#validateMultiplicity(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Multiplicity</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.WriteVariableAction#validateSameType(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Same Type</em>}</li>
  * </ul>
  * </p>
  *
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/util/UMLAdapterFactory.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/util/UMLAdapterFactory.java
index 1987e70..3f695e6 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/util/UMLAdapterFactory.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/util/UMLAdapterFactory.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey (Embarcadero Technologies) - 205188
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: UMLAdapterFactory.java,v 1.13 2008/10/02 20:57:04 jbruck Exp $
  */
 package org.eclipse.uml2.uml.util;
 
@@ -333,13 +332,13 @@
 		}
 
 		@Override
-		public Adapter caseDirectedRelationship(DirectedRelationship object) {
-			return createDirectedRelationshipAdapter();
+		public Adapter casePackageableElement(PackageableElement object) {
+			return createPackageableElementAdapter();
 		}
 
 		@Override
-		public Adapter caseRelationship(Relationship object) {
-			return createRelationshipAdapter();
+		public Adapter caseParameterableElement(ParameterableElement object) {
+			return createParameterableElementAdapter();
 		}
 
 		@Override
@@ -363,8 +362,13 @@
 		}
 
 		@Override
-		public Adapter caseBehavioredClassifier(BehavioredClassifier object) {
-			return createBehavioredClassifierAdapter();
+		public Adapter caseEncapsulatedClassifier(EncapsulatedClassifier object) {
+			return createEncapsulatedClassifierAdapter();
+		}
+
+		@Override
+		public Adapter caseStructuredClassifier(StructuredClassifier object) {
+			return createStructuredClassifierAdapter();
 		}
 
 		@Override
@@ -388,37 +392,6 @@
 		}
 
 		@Override
-		public Adapter caseTemplateableElement(TemplateableElement object) {
-			return createTemplateableElementAdapter();
-		}
-
-		@Override
-		public Adapter caseTemplateSignature(TemplateSignature object) {
-			return createTemplateSignatureAdapter();
-		}
-
-		@Override
-		public Adapter caseTemplateParameter(TemplateParameter object) {
-			return createTemplateParameterAdapter();
-		}
-
-		@Override
-		public Adapter caseParameterableElement(ParameterableElement object) {
-			return createParameterableElementAdapter();
-		}
-
-		@Override
-		public Adapter caseTemplateBinding(TemplateBinding object) {
-			return createTemplateBindingAdapter();
-		}
-
-		@Override
-		public Adapter caseTemplateParameterSubstitution(
-				TemplateParameterSubstitution object) {
-			return createTemplateParameterSubstitutionAdapter();
-		}
-
-		@Override
 		public Adapter caseExpression(Expression object) {
 			return createExpressionAdapter();
 		}
@@ -439,13 +412,44 @@
 		}
 
 		@Override
-		public Adapter casePackageableElement(PackageableElement object) {
-			return createPackageableElementAdapter();
+		public Adapter casePackage(org.eclipse.uml2.uml.Package object) {
+			return createPackageAdapter();
 		}
 
 		@Override
-		public Adapter casePackage(org.eclipse.uml2.uml.Package object) {
-			return createPackageAdapter();
+		public Adapter caseTemplateableElement(TemplateableElement object) {
+			return createTemplateableElementAdapter();
+		}
+
+		@Override
+		public Adapter caseTemplateSignature(TemplateSignature object) {
+			return createTemplateSignatureAdapter();
+		}
+
+		@Override
+		public Adapter caseTemplateParameter(TemplateParameter object) {
+			return createTemplateParameterAdapter();
+		}
+
+		@Override
+		public Adapter caseTemplateBinding(TemplateBinding object) {
+			return createTemplateBindingAdapter();
+		}
+
+		@Override
+		public Adapter caseDirectedRelationship(DirectedRelationship object) {
+			return createDirectedRelationshipAdapter();
+		}
+
+		@Override
+		public Adapter caseRelationship(Relationship object) {
+			return createRelationshipAdapter();
+		}
+
+		@Override
+		public Adapter caseTemplateParameterSubstitution(
+				TemplateParameterSubstitution object) {
+			return createTemplateParameterSubstitutionAdapter();
 		}
 
 		@Override
@@ -489,6 +493,26 @@
 		}
 
 		@Override
+		public Adapter caseStructuralFeature(StructuralFeature object) {
+			return createStructuralFeatureAdapter();
+		}
+
+		@Override
+		public Adapter caseMultiplicityElement(MultiplicityElement object) {
+			return createMultiplicityElementAdapter();
+		}
+
+		@Override
+		public Adapter caseFeature(Feature object) {
+			return createFeatureAdapter();
+		}
+
+		@Override
+		public Adapter caseRedefinableElement(RedefinableElement object) {
+			return createRedefinableElementAdapter();
+		}
+
+		@Override
 		public Adapter caseConnectableElement(ConnectableElement object) {
 			return createConnectableElementAdapter();
 		}
@@ -499,11 +523,6 @@
 		}
 
 		@Override
-		public Adapter caseMultiplicityElement(MultiplicityElement object) {
-			return createMultiplicityElementAdapter();
-		}
-
-		@Override
 		public Adapter caseConnectableElementTemplateParameter(
 				ConnectableElementTemplateParameter object) {
 			return createConnectableElementTemplateParameterAdapter();
@@ -551,38 +570,23 @@
 		}
 
 		@Override
-		public Adapter caseFeature(Feature object) {
-			return createFeatureAdapter();
-		}
-
-		@Override
-		public Adapter caseRedefinableElement(RedefinableElement object) {
-			return createRedefinableElementAdapter();
-		}
-
-		@Override
 		public Adapter caseBehavior(Behavior object) {
 			return createBehaviorAdapter();
 		}
 
 		@Override
-		public Adapter caseParameter(Parameter object) {
-			return createParameterAdapter();
+		public Adapter caseBehavioredClassifier(BehavioredClassifier object) {
+			return createBehavioredClassifierAdapter();
 		}
 
 		@Override
-		public Adapter caseParameterSet(ParameterSet object) {
-			return createParameterSetAdapter();
+		public Adapter caseInterfaceRealization(InterfaceRealization object) {
+			return createInterfaceRealizationAdapter();
 		}
 
 		@Override
-		public Adapter caseConstraint(Constraint object) {
-			return createConstraintAdapter();
-		}
-
-		@Override
-		public Adapter caseDataType(DataType object) {
-			return createDataTypeAdapter();
+		public Adapter caseRealization(Realization object) {
+			return createRealizationAdapter();
 		}
 
 		@Override
@@ -652,6 +656,11 @@
 		}
 
 		@Override
+		public Adapter caseConstraint(Constraint object) {
+			return createConstraintAdapter();
+		}
+
+		@Override
 		public Adapter caseTransition(Transition object) {
 			return createTransitionAdapter();
 		}
@@ -662,14 +671,24 @@
 		}
 
 		@Override
-		public Adapter caseOperationTemplateParameter(
-				OperationTemplateParameter object) {
-			return createOperationTemplateParameterAdapter();
+		public Adapter caseParameter(Parameter object) {
+			return createParameterAdapter();
 		}
 
 		@Override
-		public Adapter caseStructuralFeature(StructuralFeature object) {
-			return createStructuralFeatureAdapter();
+		public Adapter caseParameterSet(ParameterSet object) {
+			return createParameterSetAdapter();
+		}
+
+		@Override
+		public Adapter caseDataType(DataType object) {
+			return createDataTypeAdapter();
+		}
+
+		@Override
+		public Adapter caseOperationTemplateParameter(
+				OperationTemplateParameter object) {
+			return createOperationTemplateParameterAdapter();
 		}
 
 		@Override
@@ -723,16 +742,6 @@
 		}
 
 		@Override
-		public Adapter caseStructuredClassifier(StructuredClassifier object) {
-			return createStructuredClassifierAdapter();
-		}
-
-		@Override
-		public Adapter caseConnector(Connector object) {
-			return createConnectorAdapter();
-		}
-
-		@Override
 		public Adapter caseGeneralization(Generalization object) {
 			return createGeneralizationAdapter();
 		}
@@ -774,24 +783,14 @@
 		}
 
 		@Override
-		public Adapter caseRealization(Realization object) {
-			return createRealizationAdapter();
-		}
-
-		@Override
 		public Adapter caseClassifierTemplateParameter(
 				ClassifierTemplateParameter object) {
 			return createClassifierTemplateParameterAdapter();
 		}
 
 		@Override
-		public Adapter caseInterfaceRealization(InterfaceRealization object) {
-			return createInterfaceRealizationAdapter();
-		}
-
-		@Override
-		public Adapter caseEncapsulatedClassifier(EncapsulatedClassifier object) {
-			return createEncapsulatedClassifierAdapter();
+		public Adapter caseConnector(Connector object) {
+			return createConnectorAdapter();
 		}
 
 		@Override
@@ -835,13 +834,13 @@
 		}
 
 		@Override
-		public Adapter caseActivityEdge(ActivityEdge object) {
-			return createActivityEdgeAdapter();
+		public Adapter caseActivityGroup(ActivityGroup object) {
+			return createActivityGroupAdapter();
 		}
 
 		@Override
-		public Adapter caseActivityGroup(ActivityGroup object) {
-			return createActivityGroupAdapter();
+		public Adapter caseActivityEdge(ActivityEdge object) {
+			return createActivityEdgeAdapter();
 		}
 
 		@Override
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/util/UMLSwitch.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/util/UMLSwitch.java
index 40116cc..2807888 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/util/UMLSwitch.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/util/UMLSwitch.java
@@ -9,9 +9,8 @@
  *   IBM - initial API and implementation
  *   Kenn Hussey (Embarcadero Technologies) - 205188
  *   Kenn Hussey - 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: UMLSwitch.java,v 1.21 2011/01/27 21:39:04 khussey Exp $
  */
 package org.eclipse.uml2.uml.util;
 
@@ -365,26 +364,28 @@
 					result = defaultCase(theEObject);
 				return result;
 			}
-			case UMLPackage.DIRECTED_RELATIONSHIP : {
-				DirectedRelationship directedRelationship = (DirectedRelationship) theEObject;
-				T result = caseDirectedRelationship(directedRelationship);
+			case UMLPackage.PACKAGEABLE_ELEMENT : {
+				PackageableElement packageableElement = (PackageableElement) theEObject;
+				T result = casePackageableElement(packageableElement);
 				if (result == null)
-					result = caseRelationship(directedRelationship);
+					result = caseNamedElement(packageableElement);
 				if (result == null)
-					result = caseElement(directedRelationship);
+					result = caseParameterableElement(packageableElement);
 				if (result == null)
-					result = caseEModelElement(directedRelationship);
+					result = caseElement(packageableElement);
+				if (result == null)
+					result = caseEModelElement(packageableElement);
 				if (result == null)
 					result = defaultCase(theEObject);
 				return result;
 			}
-			case UMLPackage.RELATIONSHIP : {
-				Relationship relationship = (Relationship) theEObject;
-				T result = caseRelationship(relationship);
+			case UMLPackage.PARAMETERABLE_ELEMENT : {
+				ParameterableElement parameterableElement = (ParameterableElement) theEObject;
+				T result = caseParameterableElement(parameterableElement);
 				if (result == null)
-					result = caseElement(relationship);
+					result = caseElement(parameterableElement);
 				if (result == null)
-					result = caseEModelElement(relationship);
+					result = caseEModelElement(parameterableElement);
 				if (result == null)
 					result = defaultCase(theEObject);
 				return result;
@@ -477,29 +478,58 @@
 					result = defaultCase(theEObject);
 				return result;
 			}
-			case UMLPackage.BEHAVIORED_CLASSIFIER : {
-				BehavioredClassifier behavioredClassifier = (BehavioredClassifier) theEObject;
-				T result = caseBehavioredClassifier(behavioredClassifier);
+			case UMLPackage.ENCAPSULATED_CLASSIFIER : {
+				EncapsulatedClassifier encapsulatedClassifier = (EncapsulatedClassifier) theEObject;
+				T result = caseEncapsulatedClassifier(encapsulatedClassifier);
 				if (result == null)
-					result = caseClassifier(behavioredClassifier);
+					result = caseStructuredClassifier(encapsulatedClassifier);
 				if (result == null)
-					result = caseNamespace(behavioredClassifier);
+					result = caseClassifier(encapsulatedClassifier);
 				if (result == null)
-					result = caseRedefinableElement(behavioredClassifier);
+					result = caseNamespace(encapsulatedClassifier);
 				if (result == null)
-					result = caseType(behavioredClassifier);
+					result = caseRedefinableElement(encapsulatedClassifier);
 				if (result == null)
-					result = caseTemplateableElement(behavioredClassifier);
+					result = caseType(encapsulatedClassifier);
 				if (result == null)
-					result = casePackageableElement(behavioredClassifier);
+					result = caseTemplateableElement(encapsulatedClassifier);
 				if (result == null)
-					result = caseNamedElement(behavioredClassifier);
+					result = casePackageableElement(encapsulatedClassifier);
 				if (result == null)
-					result = caseParameterableElement(behavioredClassifier);
+					result = caseNamedElement(encapsulatedClassifier);
 				if (result == null)
-					result = caseElement(behavioredClassifier);
+					result = caseParameterableElement(encapsulatedClassifier);
 				if (result == null)
-					result = caseEModelElement(behavioredClassifier);
+					result = caseElement(encapsulatedClassifier);
+				if (result == null)
+					result = caseEModelElement(encapsulatedClassifier);
+				if (result == null)
+					result = defaultCase(theEObject);
+				return result;
+			}
+			case UMLPackage.STRUCTURED_CLASSIFIER : {
+				StructuredClassifier structuredClassifier = (StructuredClassifier) theEObject;
+				T result = caseStructuredClassifier(structuredClassifier);
+				if (result == null)
+					result = caseClassifier(structuredClassifier);
+				if (result == null)
+					result = caseNamespace(structuredClassifier);
+				if (result == null)
+					result = caseRedefinableElement(structuredClassifier);
+				if (result == null)
+					result = caseType(structuredClassifier);
+				if (result == null)
+					result = caseTemplateableElement(structuredClassifier);
+				if (result == null)
+					result = casePackageableElement(structuredClassifier);
+				if (result == null)
+					result = caseNamedElement(structuredClassifier);
+				if (result == null)
+					result = caseParameterableElement(structuredClassifier);
+				if (result == null)
+					result = caseElement(structuredClassifier);
+				if (result == null)
+					result = caseEModelElement(structuredClassifier);
 				if (result == null)
 					result = defaultCase(theEObject);
 				return result;
@@ -578,76 +608,6 @@
 					result = defaultCase(theEObject);
 				return result;
 			}
-			case UMLPackage.TEMPLATEABLE_ELEMENT : {
-				TemplateableElement templateableElement = (TemplateableElement) theEObject;
-				T result = caseTemplateableElement(templateableElement);
-				if (result == null)
-					result = caseElement(templateableElement);
-				if (result == null)
-					result = caseEModelElement(templateableElement);
-				if (result == null)
-					result = defaultCase(theEObject);
-				return result;
-			}
-			case UMLPackage.TEMPLATE_SIGNATURE : {
-				TemplateSignature templateSignature = (TemplateSignature) theEObject;
-				T result = caseTemplateSignature(templateSignature);
-				if (result == null)
-					result = caseElement(templateSignature);
-				if (result == null)
-					result = caseEModelElement(templateSignature);
-				if (result == null)
-					result = defaultCase(theEObject);
-				return result;
-			}
-			case UMLPackage.TEMPLATE_PARAMETER : {
-				TemplateParameter templateParameter = (TemplateParameter) theEObject;
-				T result = caseTemplateParameter(templateParameter);
-				if (result == null)
-					result = caseElement(templateParameter);
-				if (result == null)
-					result = caseEModelElement(templateParameter);
-				if (result == null)
-					result = defaultCase(theEObject);
-				return result;
-			}
-			case UMLPackage.PARAMETERABLE_ELEMENT : {
-				ParameterableElement parameterableElement = (ParameterableElement) theEObject;
-				T result = caseParameterableElement(parameterableElement);
-				if (result == null)
-					result = caseElement(parameterableElement);
-				if (result == null)
-					result = caseEModelElement(parameterableElement);
-				if (result == null)
-					result = defaultCase(theEObject);
-				return result;
-			}
-			case UMLPackage.TEMPLATE_BINDING : {
-				TemplateBinding templateBinding = (TemplateBinding) theEObject;
-				T result = caseTemplateBinding(templateBinding);
-				if (result == null)
-					result = caseDirectedRelationship(templateBinding);
-				if (result == null)
-					result = caseRelationship(templateBinding);
-				if (result == null)
-					result = caseElement(templateBinding);
-				if (result == null)
-					result = caseEModelElement(templateBinding);
-				if (result == null)
-					result = defaultCase(theEObject);
-				return result;
-			}
-			case UMLPackage.TEMPLATE_PARAMETER_SUBSTITUTION : {
-				TemplateParameterSubstitution templateParameterSubstitution = (TemplateParameterSubstitution) theEObject;
-				T result = caseTemplateParameterSubstitution(templateParameterSubstitution);
-				if (result == null)
-					result = caseElement(templateParameterSubstitution);
-				if (result == null)
-					result = caseEModelElement(templateParameterSubstitution);
-				if (result == null)
-					result = defaultCase(theEObject);
-				return result;
-			}
 			case UMLPackage.EXPRESSION : {
 				Expression expression = (Expression) theEObject;
 				T result = caseExpression(expression);
@@ -718,21 +678,6 @@
 					result = defaultCase(theEObject);
 				return result;
 			}
-			case UMLPackage.PACKAGEABLE_ELEMENT : {
-				PackageableElement packageableElement = (PackageableElement) theEObject;
-				T result = casePackageableElement(packageableElement);
-				if (result == null)
-					result = caseNamedElement(packageableElement);
-				if (result == null)
-					result = caseParameterableElement(packageableElement);
-				if (result == null)
-					result = caseElement(packageableElement);
-				if (result == null)
-					result = caseEModelElement(packageableElement);
-				if (result == null)
-					result = defaultCase(theEObject);
-				return result;
-			}
 			case UMLPackage.PACKAGE : {
 				org.eclipse.uml2.uml.Package package_ = (org.eclipse.uml2.uml.Package) theEObject;
 				T result = casePackage(package_);
@@ -754,6 +699,89 @@
 					result = defaultCase(theEObject);
 				return result;
 			}
+			case UMLPackage.TEMPLATEABLE_ELEMENT : {
+				TemplateableElement templateableElement = (TemplateableElement) theEObject;
+				T result = caseTemplateableElement(templateableElement);
+				if (result == null)
+					result = caseElement(templateableElement);
+				if (result == null)
+					result = caseEModelElement(templateableElement);
+				if (result == null)
+					result = defaultCase(theEObject);
+				return result;
+			}
+			case UMLPackage.TEMPLATE_SIGNATURE : {
+				TemplateSignature templateSignature = (TemplateSignature) theEObject;
+				T result = caseTemplateSignature(templateSignature);
+				if (result == null)
+					result = caseElement(templateSignature);
+				if (result == null)
+					result = caseEModelElement(templateSignature);
+				if (result == null)
+					result = defaultCase(theEObject);
+				return result;
+			}
+			case UMLPackage.TEMPLATE_PARAMETER : {
+				TemplateParameter templateParameter = (TemplateParameter) theEObject;
+				T result = caseTemplateParameter(templateParameter);
+				if (result == null)
+					result = caseElement(templateParameter);
+				if (result == null)
+					result = caseEModelElement(templateParameter);
+				if (result == null)
+					result = defaultCase(theEObject);
+				return result;
+			}
+			case UMLPackage.TEMPLATE_BINDING : {
+				TemplateBinding templateBinding = (TemplateBinding) theEObject;
+				T result = caseTemplateBinding(templateBinding);
+				if (result == null)
+					result = caseDirectedRelationship(templateBinding);
+				if (result == null)
+					result = caseRelationship(templateBinding);
+				if (result == null)
+					result = caseElement(templateBinding);
+				if (result == null)
+					result = caseEModelElement(templateBinding);
+				if (result == null)
+					result = defaultCase(theEObject);
+				return result;
+			}
+			case UMLPackage.DIRECTED_RELATIONSHIP : {
+				DirectedRelationship directedRelationship = (DirectedRelationship) theEObject;
+				T result = caseDirectedRelationship(directedRelationship);
+				if (result == null)
+					result = caseRelationship(directedRelationship);
+				if (result == null)
+					result = caseElement(directedRelationship);
+				if (result == null)
+					result = caseEModelElement(directedRelationship);
+				if (result == null)
+					result = defaultCase(theEObject);
+				return result;
+			}
+			case UMLPackage.RELATIONSHIP : {
+				Relationship relationship = (Relationship) theEObject;
+				T result = caseRelationship(relationship);
+				if (result == null)
+					result = caseElement(relationship);
+				if (result == null)
+					result = caseEModelElement(relationship);
+				if (result == null)
+					result = defaultCase(theEObject);
+				return result;
+			}
+			case UMLPackage.TEMPLATE_PARAMETER_SUBSTITUTION : {
+				TemplateParameterSubstitution templateParameterSubstitution = (TemplateParameterSubstitution) theEObject;
+				T result = caseTemplateParameterSubstitution(templateParameterSubstitution);
+				if (result == null)
+					result = caseElement(templateParameterSubstitution);
+				if (result == null)
+					result = caseEModelElement(templateParameterSubstitution);
+				if (result == null)
+					result = defaultCase(theEObject);
+				return result;
+			}
 			case UMLPackage.PACKAGE_MERGE : {
 				PackageMerge packageMerge = (PackageMerge) theEObject;
 				T result = casePackageMerge(packageMerge);
@@ -926,6 +954,66 @@
 					result = defaultCase(theEObject);
 				return result;
 			}
+			case UMLPackage.STRUCTURAL_FEATURE : {
+				StructuralFeature structuralFeature = (StructuralFeature) theEObject;
+				T result = caseStructuralFeature(structuralFeature);
+				if (result == null)
+					result = caseFeature(structuralFeature);
+				if (result == null)
+					result = caseTypedElement(structuralFeature);
+				if (result == null)
+					result = caseMultiplicityElement(structuralFeature);
+				if (result == null)
+					result = caseRedefinableElement(structuralFeature);
+				if (result == null)
+					result = caseNamedElement(structuralFeature);
+				if (result == null)
+					result = caseElement(structuralFeature);
+				if (result == null)
+					result = caseEModelElement(structuralFeature);
+				if (result == null)
+					result = defaultCase(theEObject);
+				return result;
+			}
+			case UMLPackage.MULTIPLICITY_ELEMENT : {
+				MultiplicityElement multiplicityElement = (MultiplicityElement) theEObject;
+				T result = caseMultiplicityElement(multiplicityElement);
+				if (result == null)
+					result = caseElement(multiplicityElement);
+				if (result == null)
+					result = caseEModelElement(multiplicityElement);
+				if (result == null)
+					result = defaultCase(theEObject);
+				return result;
+			}
+			case UMLPackage.FEATURE : {
+				Feature feature = (Feature) theEObject;
+				T result = caseFeature(feature);
+				if (result == null)
+					result = caseRedefinableElement(feature);
+				if (result == null)
+					result = caseNamedElement(feature);
+				if (result == null)
+					result = caseElement(feature);
+				if (result == null)
+					result = caseEModelElement(feature);
+				if (result == null)
+					result = defaultCase(theEObject);
+				return result;
+			}
+			case UMLPackage.REDEFINABLE_ELEMENT : {
+				RedefinableElement redefinableElement = (RedefinableElement) theEObject;
+				T result = caseRedefinableElement(redefinableElement);
+				if (result == null)
+					result = caseNamedElement(redefinableElement);
+				if (result == null)
+					result = caseElement(redefinableElement);
+				if (result == null)
+					result = caseEModelElement(redefinableElement);
+				if (result == null)
+					result = defaultCase(theEObject);
+				return result;
+			}
 			case UMLPackage.CONNECTABLE_ELEMENT : {
 				ConnectableElement connectableElement = (ConnectableElement) theEObject;
 				T result = caseConnectableElement(connectableElement);
@@ -956,17 +1044,6 @@
 					result = defaultCase(theEObject);
 				return result;
 			}
-			case UMLPackage.MULTIPLICITY_ELEMENT : {
-				MultiplicityElement multiplicityElement = (MultiplicityElement) theEObject;
-				T result = caseMultiplicityElement(multiplicityElement);
-				if (result == null)
-					result = caseElement(multiplicityElement);
-				if (result == null)
-					result = caseEModelElement(multiplicityElement);
-				if (result == null)
-					result = defaultCase(theEObject);
-				return result;
-			}
 			case UMLPackage.CONNECTABLE_ELEMENT_TEMPLATE_PARAMETER : {
 				ConnectableElementTemplateParameter connectableElementTemplateParameter = (ConnectableElementTemplateParameter) theEObject;
 				T result = caseConnectableElementTemplateParameter(connectableElementTemplateParameter);
@@ -1158,34 +1235,6 @@
 					result = defaultCase(theEObject);
 				return result;
 			}
-			case UMLPackage.FEATURE : {
-				Feature feature = (Feature) theEObject;
-				T result = caseFeature(feature);
-				if (result == null)
-					result = caseRedefinableElement(feature);
-				if (result == null)
-					result = caseNamedElement(feature);
-				if (result == null)
-					result = caseElement(feature);
-				if (result == null)
-					result = caseEModelElement(feature);
-				if (result == null)
-					result = defaultCase(theEObject);
-				return result;
-			}
-			case UMLPackage.REDEFINABLE_ELEMENT : {
-				RedefinableElement redefinableElement = (RedefinableElement) theEObject;
-				T result = caseRedefinableElement(redefinableElement);
-				if (result == null)
-					result = caseNamedElement(redefinableElement);
-				if (result == null)
-					result = caseElement(redefinableElement);
-				if (result == null)
-					result = caseEModelElement(redefinableElement);
-				if (result == null)
-					result = defaultCase(theEObject);
-				return result;
-			}
 			case UMLPackage.BEHAVIOR : {
 				Behavior behavior = (Behavior) theEObject;
 				T result = caseBehavior(behavior);
@@ -1221,80 +1270,81 @@
 					result = defaultCase(theEObject);
 				return result;
 			}
-			case UMLPackage.PARAMETER : {
-				Parameter parameter = (Parameter) theEObject;
-				T result = caseParameter(parameter);
+			case UMLPackage.BEHAVIORED_CLASSIFIER : {
+				BehavioredClassifier behavioredClassifier = (BehavioredClassifier) theEObject;
+				T result = caseBehavioredClassifier(behavioredClassifier);
 				if (result == null)
-					result = caseConnectableElement(parameter);
+					result = caseClassifier(behavioredClassifier);
 				if (result == null)
-					result = caseMultiplicityElement(parameter);
+					result = caseNamespace(behavioredClassifier);
 				if (result == null)
-					result = caseTypedElement(parameter);
+					result = caseRedefinableElement(behavioredClassifier);
 				if (result == null)
-					result = caseParameterableElement(parameter);
+					result = caseType(behavioredClassifier);
 				if (result == null)
-					result = caseNamedElement(parameter);
+					result = caseTemplateableElement(behavioredClassifier);
 				if (result == null)
-					result = caseElement(parameter);
+					result = casePackageableElement(behavioredClassifier);
 				if (result == null)
-					result = caseEModelElement(parameter);
+					result = caseNamedElement(behavioredClassifier);
+				if (result == null)
+					result = caseParameterableElement(behavioredClassifier);
+				if (result == null)
+					result = caseElement(behavioredClassifier);
+				if (result == null)
+					result = caseEModelElement(behavioredClassifier);
 				if (result == null)
 					result = defaultCase(theEObject);
 				return result;
 			}
-			case UMLPackage.PARAMETER_SET : {
-				ParameterSet parameterSet = (ParameterSet) theEObject;
-				T result = caseParameterSet(parameterSet);
+			case UMLPackage.INTERFACE_REALIZATION : {
+				InterfaceRealization interfaceRealization = (InterfaceRealization) theEObject;
+				T result = caseInterfaceRealization(interfaceRealization);
 				if (result == null)
-					result = caseNamedElement(parameterSet);
+					result = caseRealization(interfaceRealization);
 				if (result == null)
-					result = caseElement(parameterSet);
+					result = caseAbstraction(interfaceRealization);
 				if (result == null)
-					result = caseEModelElement(parameterSet);
+					result = caseDependency(interfaceRealization);
+				if (result == null)
+					result = casePackageableElement(interfaceRealization);
+				if (result == null)
+					result = caseDirectedRelationship(interfaceRealization);
+				if (result == null)
+					result = caseNamedElement(interfaceRealization);
+				if (result == null)
+					result = caseParameterableElement(interfaceRealization);
+				if (result == null)
+					result = caseRelationship(interfaceRealization);
+				if (result == null)
+					result = caseElement(interfaceRealization);
+				if (result == null)
+					result = caseEModelElement(interfaceRealization);
 				if (result == null)
 					result = defaultCase(theEObject);
 				return result;
 			}
-			case UMLPackage.CONSTRAINT : {
-				Constraint constraint = (Constraint) theEObject;
-				T result = caseConstraint(constraint);
+			case UMLPackage.REALIZATION : {
+				Realization realization = (Realization) theEObject;
+				T result = caseRealization(realization);
 				if (result == null)
-					result = casePackageableElement(constraint);
+					result = caseAbstraction(realization);
 				if (result == null)
-					result = caseNamedElement(constraint);
+					result = caseDependency(realization);
 				if (result == null)
-					result = caseParameterableElement(constraint);
+					result = casePackageableElement(realization);
 				if (result == null)
-					result = caseElement(constraint);
+					result = caseDirectedRelationship(realization);
 				if (result == null)
-					result = caseEModelElement(constraint);
+					result = caseNamedElement(realization);
 				if (result == null)
-					result = defaultCase(theEObject);
-				return result;
-			}
-			case UMLPackage.DATA_TYPE : {
-				DataType dataType = (DataType) theEObject;
-				T result = caseDataType(dataType);
+					result = caseParameterableElement(realization);
 				if (result == null)
-					result = caseClassifier(dataType);
+					result = caseRelationship(realization);
 				if (result == null)
-					result = caseNamespace(dataType);
+					result = caseElement(realization);
 				if (result == null)
-					result = caseRedefinableElement(dataType);
-				if (result == null)
-					result = caseType(dataType);
-				if (result == null)
-					result = caseTemplateableElement(dataType);
-				if (result == null)
-					result = casePackageableElement(dataType);
-				if (result == null)
-					result = caseNamedElement(dataType);
-				if (result == null)
-					result = caseParameterableElement(dataType);
-				if (result == null)
-					result = caseElement(dataType);
-				if (result == null)
-					result = caseEModelElement(dataType);
+					result = caseEModelElement(realization);
 				if (result == null)
 					result = defaultCase(theEObject);
 				return result;
@@ -1590,6 +1640,23 @@
 					result = defaultCase(theEObject);
 				return result;
 			}
+			case UMLPackage.CONSTRAINT : {
+				Constraint constraint = (Constraint) theEObject;
+				T result = caseConstraint(constraint);
+				if (result == null)
+					result = casePackageableElement(constraint);
+				if (result == null)
+					result = caseNamedElement(constraint);
+				if (result == null)
+					result = caseParameterableElement(constraint);
+				if (result == null)
+					result = caseElement(constraint);
+				if (result == null)
+					result = caseEModelElement(constraint);
+				if (result == null)
+					result = defaultCase(theEObject);
+				return result;
+			}
 			case UMLPackage.TRANSITION : {
 				Transition transition = (Transition) theEObject;
 				T result = caseTransition(transition);
@@ -1622,6 +1689,67 @@
 					result = defaultCase(theEObject);
 				return result;
 			}
+			case UMLPackage.PARAMETER : {
+				Parameter parameter = (Parameter) theEObject;
+				T result = caseParameter(parameter);
+				if (result == null)
+					result = caseConnectableElement(parameter);
+				if (result == null)
+					result = caseMultiplicityElement(parameter);
+				if (result == null)
+					result = caseTypedElement(parameter);
+				if (result == null)
+					result = caseParameterableElement(parameter);
+				if (result == null)
+					result = caseNamedElement(parameter);
+				if (result == null)
+					result = caseElement(parameter);
+				if (result == null)
+					result = caseEModelElement(parameter);
+				if (result == null)
+					result = defaultCase(theEObject);
+				return result;
+			}
+			case UMLPackage.PARAMETER_SET : {
+				ParameterSet parameterSet = (ParameterSet) theEObject;
+				T result = caseParameterSet(parameterSet);
+				if (result == null)
+					result = caseNamedElement(parameterSet);
+				if (result == null)
+					result = caseElement(parameterSet);
+				if (result == null)
+					result = caseEModelElement(parameterSet);
+				if (result == null)
+					result = defaultCase(theEObject);
+				return result;
+			}
+			case UMLPackage.DATA_TYPE : {
+				DataType dataType = (DataType) theEObject;
+				T result = caseDataType(dataType);
+				if (result == null)
+					result = caseClassifier(dataType);
+				if (result == null)
+					result = caseNamespace(dataType);
+				if (result == null)
+					result = caseRedefinableElement(dataType);
+				if (result == null)
+					result = caseType(dataType);
+				if (result == null)
+					result = caseTemplateableElement(dataType);
+				if (result == null)
+					result = casePackageableElement(dataType);
+				if (result == null)
+					result = caseNamedElement(dataType);
+				if (result == null)
+					result = caseParameterableElement(dataType);
+				if (result == null)
+					result = caseElement(dataType);
+				if (result == null)
+					result = caseEModelElement(dataType);
+				if (result == null)
+					result = defaultCase(theEObject);
+				return result;
+			}
 			case UMLPackage.OPERATION_TEMPLATE_PARAMETER : {
 				OperationTemplateParameter operationTemplateParameter = (OperationTemplateParameter) theEObject;
 				T result = caseOperationTemplateParameter(operationTemplateParameter);
@@ -1635,27 +1763,6 @@
 					result = defaultCase(theEObject);
 				return result;
 			}
-			case UMLPackage.STRUCTURAL_FEATURE : {
-				StructuralFeature structuralFeature = (StructuralFeature) theEObject;
-				T result = caseStructuralFeature(structuralFeature);
-				if (result == null)
-					result = caseFeature(structuralFeature);
-				if (result == null)
-					result = caseTypedElement(structuralFeature);
-				if (result == null)
-					result = caseMultiplicityElement(structuralFeature);
-				if (result == null)
-					result = caseRedefinableElement(structuralFeature);
-				if (result == null)
-					result = caseNamedElement(structuralFeature);
-				if (result == null)
-					result = caseElement(structuralFeature);
-				if (result == null)
-					result = caseEModelElement(structuralFeature);
-				if (result == null)
-					result = defaultCase(theEObject);
-				return result;
-			}
 			case UMLPackage.EXTENSION_END : {
 				ExtensionEnd extensionEnd = (ExtensionEnd) theEObject;
 				T result = caseExtensionEnd(extensionEnd);
@@ -1890,50 +1997,6 @@
 					result = defaultCase(theEObject);
 				return result;
 			}
-			case UMLPackage.STRUCTURED_CLASSIFIER : {
-				StructuredClassifier structuredClassifier = (StructuredClassifier) theEObject;
-				T result = caseStructuredClassifier(structuredClassifier);
-				if (result == null)
-					result = caseClassifier(structuredClassifier);
-				if (result == null)
-					result = caseNamespace(structuredClassifier);
-				if (result == null)
-					result = caseRedefinableElement(structuredClassifier);
-				if (result == null)
-					result = caseType(structuredClassifier);
-				if (result == null)
-					result = caseTemplateableElement(structuredClassifier);
-				if (result == null)
-					result = casePackageableElement(structuredClassifier);
-				if (result == null)
-					result = caseNamedElement(structuredClassifier);
-				if (result == null)
-					result = caseParameterableElement(structuredClassifier);
-				if (result == null)
-					result = caseElement(structuredClassifier);
-				if (result == null)
-					result = caseEModelElement(structuredClassifier);
-				if (result == null)
-					result = defaultCase(theEObject);
-				return result;
-			}
-			case UMLPackage.CONNECTOR : {
-				Connector connector = (Connector) theEObject;
-				T result = caseConnector(connector);
-				if (result == null)
-					result = caseFeature(connector);
-				if (result == null)
-					result = caseRedefinableElement(connector);
-				if (result == null)
-					result = caseNamedElement(connector);
-				if (result == null)
-					result = caseElement(connector);
-				if (result == null)
-					result = caseEModelElement(connector);
-				if (result == null)
-					result = defaultCase(theEObject);
-				return result;
-			}
 			case UMLPackage.GENERALIZATION : {
 				Generalization generalization = (Generalization) theEObject;
 				T result = caseGeneralization(generalization);
@@ -2088,31 +2151,6 @@
 					result = defaultCase(theEObject);
 				return result;
 			}
-			case UMLPackage.REALIZATION : {
-				Realization realization = (Realization) theEObject;
-				T result = caseRealization(realization);
-				if (result == null)
-					result = caseAbstraction(realization);
-				if (result == null)
-					result = caseDependency(realization);
-				if (result == null)
-					result = casePackageableElement(realization);
-				if (result == null)
-					result = caseDirectedRelationship(realization);
-				if (result == null)
-					result = caseNamedElement(realization);
-				if (result == null)
-					result = caseParameterableElement(realization);
-				if (result == null)
-					result = caseRelationship(realization);
-				if (result == null)
-					result = caseElement(realization);
-				if (result == null)
-					result = caseEModelElement(realization);
-				if (result == null)
-					result = defaultCase(theEObject);
-				return result;
-			}
 			case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER : {
 				ClassifierTemplateParameter classifierTemplateParameter = (ClassifierTemplateParameter) theEObject;
 				T result = caseClassifierTemplateParameter(classifierTemplateParameter);
@@ -2126,58 +2164,19 @@
 					result = defaultCase(theEObject);
 				return result;
 			}
-			case UMLPackage.INTERFACE_REALIZATION : {
-				InterfaceRealization interfaceRealization = (InterfaceRealization) theEObject;
-				T result = caseInterfaceRealization(interfaceRealization);
+			case UMLPackage.CONNECTOR : {
+				Connector connector = (Connector) theEObject;
+				T result = caseConnector(connector);
 				if (result == null)
-					result = caseRealization(interfaceRealization);
+					result = caseFeature(connector);
 				if (result == null)
-					result = caseAbstraction(interfaceRealization);
+					result = caseRedefinableElement(connector);
 				if (result == null)
-					result = caseDependency(interfaceRealization);
+					result = caseNamedElement(connector);
 				if (result == null)
-					result = casePackageableElement(interfaceRealization);
+					result = caseElement(connector);
 				if (result == null)
-					result = caseDirectedRelationship(interfaceRealization);
-				if (result == null)
-					result = caseNamedElement(interfaceRealization);
-				if (result == null)
-					result = caseParameterableElement(interfaceRealization);
-				if (result == null)
-					result = caseRelationship(interfaceRealization);
-				if (result == null)
-					result = caseElement(interfaceRealization);
-				if (result == null)
-					result = caseEModelElement(interfaceRealization);
-				if (result == null)
-					result = defaultCase(theEObject);
-				return result;
-			}
-			case UMLPackage.ENCAPSULATED_CLASSIFIER : {
-				EncapsulatedClassifier encapsulatedClassifier = (EncapsulatedClassifier) theEObject;
-				T result = caseEncapsulatedClassifier(encapsulatedClassifier);
-				if (result == null)
-					result = caseStructuredClassifier(encapsulatedClassifier);
-				if (result == null)
-					result = caseClassifier(encapsulatedClassifier);
-				if (result == null)
-					result = caseNamespace(encapsulatedClassifier);
-				if (result == null)
-					result = caseRedefinableElement(encapsulatedClassifier);
-				if (result == null)
-					result = caseType(encapsulatedClassifier);
-				if (result == null)
-					result = caseTemplateableElement(encapsulatedClassifier);
-				if (result == null)
-					result = casePackageableElement(encapsulatedClassifier);
-				if (result == null)
-					result = caseNamedElement(encapsulatedClassifier);
-				if (result == null)
-					result = caseParameterableElement(encapsulatedClassifier);
-				if (result == null)
-					result = caseElement(encapsulatedClassifier);
-				if (result == null)
-					result = caseEModelElement(encapsulatedClassifier);
+					result = caseEModelElement(connector);
 				if (result == null)
 					result = defaultCase(theEObject);
 				return result;
@@ -2346,6 +2345,19 @@
 					result = defaultCase(theEObject);
 				return result;
 			}
+			case UMLPackage.ACTIVITY_GROUP : {
+				ActivityGroup activityGroup = (ActivityGroup) theEObject;
+				T result = caseActivityGroup(activityGroup);
+				if (result == null)
+					result = caseNamedElement(activityGroup);
+				if (result == null)
+					result = caseElement(activityGroup);
+				if (result == null)
+					result = caseEModelElement(activityGroup);
+				if (result == null)
+					result = defaultCase(theEObject);
+				return result;
+			}
 			case UMLPackage.ACTIVITY_EDGE : {
 				ActivityEdge activityEdge = (ActivityEdge) theEObject;
 				T result = caseActivityEdge(activityEdge);
@@ -2361,19 +2373,6 @@
 					result = defaultCase(theEObject);
 				return result;
 			}
-			case UMLPackage.ACTIVITY_GROUP : {
-				ActivityGroup activityGroup = (ActivityGroup) theEObject;
-				T result = caseActivityGroup(activityGroup);
-				if (result == null)
-					result = caseNamedElement(activityGroup);
-				if (result == null)
-					result = caseElement(activityGroup);
-				if (result == null)
-					result = caseEModelElement(activityGroup);
-				if (result == null)
-					result = defaultCase(theEObject);
-				return result;
-			}
 			case UMLPackage.ACTIVITY_PARTITION : {
 				ActivityPartition activityPartition = (ActivityPartition) theEObject;
 				T result = caseActivityPartition(activityPartition);
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/util/UMLValidator.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/util/UMLValidator.java
index f6416f4..da2ae58 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/util/UMLValidator.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/util/UMLValidator.java
@@ -9,9 +9,8 @@
  *   IBM - initial API and implementation
  *   Kenn Hussey (Embarcadero Technologies) - 205188, 204200
  *   Kenn Hussey - 286329, 320318, 323000, 323181, 354453
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: UMLValidator.java,v 1.31 2011/05/23 17:47:05 khussey Exp $
  */
 package org.eclipse.uml2.uml.util;
 
@@ -324,7 +323,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int STEREOTYPE__BINARY_ASSOCIATIONS_ONLY = 3;
+	public static final int STEREOTYPE__BINARY_ASSOCIATIONS_ONLY = 5;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Has Owner' of 'Element'.
@@ -340,7 +339,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int NAMED_ELEMENT__HAS_NO_QUALIFIED_NAME = 16;
+	public static final int NAMED_ELEMENT__HAS_NO_QUALIFIED_NAME = 15;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Has Qualified Name' of 'Named Element'.
@@ -348,7 +347,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int NAMED_ELEMENT__HAS_QUALIFIED_NAME = 15;
+	public static final int NAMED_ELEMENT__HAS_QUALIFIED_NAME = 14;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Visibility Needs Ownership' of 'Named Element'.
@@ -356,7 +355,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int NAMED_ELEMENT__VISIBILITY_NEEDS_OWNERSHIP = 14;
+	public static final int NAMED_ELEMENT__VISIBILITY_NEEDS_OWNERSHIP = 16;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Must Be Compatible' of 'Template Parameter'.
@@ -364,7 +363,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int TEMPLATE_PARAMETER__MUST_BE_COMPATIBLE = 20;
+	public static final int TEMPLATE_PARAMETER__MUST_BE_COMPATIBLE = 21;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Own Elements' of 'Template Signature'.
@@ -372,7 +371,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int TEMPLATE_SIGNATURE__OWN_ELEMENTS = 19;
+	public static final int TEMPLATE_SIGNATURE__OWN_ELEMENTS = 20;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Parameter Substitution Formal' of 'Template Binding'.
@@ -380,7 +379,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int TEMPLATE_BINDING__PARAMETER_SUBSTITUTION_FORMAL = 21;
+	public static final int TEMPLATE_BINDING__PARAMETER_SUBSTITUTION_FORMAL = 22;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate One Parameter Substitution' of 'Template Binding'.
@@ -388,7 +387,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int TEMPLATE_BINDING__ONE_PARAMETER_SUBSTITUTION = 22;
+	public static final int TEMPLATE_BINDING__ONE_PARAMETER_SUBSTITUTION = 23;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Must Be Compatible' of 'Template Parameter Substitution'.
@@ -396,7 +395,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int TEMPLATE_PARAMETER_SUBSTITUTION__MUST_BE_COMPATIBLE = 23;
+	public static final int TEMPLATE_PARAMETER_SUBSTITUTION__MUST_BE_COMPATIBLE = 24;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Members Distinguishable' of 'Namespace'.
@@ -412,7 +411,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int ELEMENT_IMPORT__VISIBILITY_PUBLIC_OR_PRIVATE = 28;
+	public static final int ELEMENT_IMPORT__VISIBILITY_PUBLIC_OR_PRIVATE = 27;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Imported Element Is Public' of 'Element Import'.
@@ -420,7 +419,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int ELEMENT_IMPORT__IMPORTED_ELEMENT_IS_PUBLIC = 27;
+	public static final int ELEMENT_IMPORT__IMPORTED_ELEMENT_IS_PUBLIC = 28;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Public Or Private' of 'Package Import'.
@@ -436,7 +435,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int PACKAGE__ELEMENTS_PUBLIC_OR_PRIVATE = 24;
+	public static final int PACKAGE__ELEMENTS_PUBLIC_OR_PRIVATE = 19;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Metaclass Reference Not Specialized' of 'Profile'.
@@ -460,7 +459,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int STEREOTYPE__NAME_NOT_CLASH = 5;
+	public static final int STEREOTYPE__NAME_NOT_CLASH = 4;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Association End Ownership' of 'Stereotype'.
@@ -468,7 +467,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int STEREOTYPE__ASSOCIATION_END_OWNERSHIP = 6;
+	public static final int STEREOTYPE__ASSOCIATION_END_OWNERSHIP = 3;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Generalize' of 'Stereotype'.
@@ -476,7 +475,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int STEREOTYPE__GENERALIZE = 4;
+	public static final int STEREOTYPE__GENERALIZE = 6;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Passive Class' of 'Class'.
@@ -492,7 +491,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int BEHAVIORED_CLASSIFIER__CLASS_BEHAVIOR = 8;
+	public static final int BEHAVIORED_CLASSIFIER__CLASS_BEHAVIOR = 64;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate No Cycles In Generalization' of 'Classifier'.
@@ -500,7 +499,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int CLASSIFIER__NO_CYCLES_IN_GENERALIZATION = 12;
+	public static final int CLASSIFIER__NO_CYCLES_IN_GENERALIZATION = 10;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Specialize Type' of 'Classifier'.
@@ -508,7 +507,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int CLASSIFIER__SPECIALIZE_TYPE = 9;
+	public static final int CLASSIFIER__SPECIALIZE_TYPE = 11;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Maps To Generalization Set' of 'Classifier'.
@@ -516,7 +515,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int CLASSIFIER__MAPS_TO_GENERALIZATION_SET = 10;
+	public static final int CLASSIFIER__MAPS_TO_GENERALIZATION_SET = 12;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Non Final Parents' of 'Classifier'.
@@ -524,7 +523,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int CLASSIFIER__NON_FINAL_PARENTS = 11;
+	public static final int CLASSIFIER__NON_FINAL_PARENTS = 9;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Redefinition Context Valid' of 'Redefinable Element'.
@@ -532,7 +531,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int REDEFINABLE_ELEMENT__REDEFINITION_CONTEXT_VALID = 59;
+	public static final int REDEFINABLE_ELEMENT__REDEFINITION_CONTEXT_VALID = 51;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Redefinition Consistent' of 'Redefinable Element'.
@@ -540,7 +539,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int REDEFINABLE_ELEMENT__REDEFINITION_CONSISTENT = 57;
+	public static final int REDEFINABLE_ELEMENT__REDEFINITION_CONSISTENT = 49;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Non Leaf Redefinition' of 'Redefinable Element'.
@@ -548,7 +547,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int REDEFINABLE_ELEMENT__NON_LEAF_REDEFINITION = 58;
+	public static final int REDEFINABLE_ELEMENT__NON_LEAF_REDEFINITION = 50;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Generalization Same Classifier' of 'Generalization'.
@@ -556,7 +555,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int GENERALIZATION__GENERALIZATION_SAME_CLASSIFIER = 135;
+	public static final int GENERALIZATION__GENERALIZATION_SAME_CLASSIFIER = 131;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Generalization Same Classifier' of 'Generalization Set'.
@@ -564,7 +563,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int GENERALIZATION_SET__GENERALIZATION_SAME_CLASSIFIER = 136;
+	public static final int GENERALIZATION_SET__GENERALIZATION_SAME_CLASSIFIER = 133;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Maps To Generalization Set' of 'Generalization Set'.
@@ -572,7 +571,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int GENERALIZATION_SET__MAPS_TO_GENERALIZATION_SET = 137;
+	public static final int GENERALIZATION_SET__MAPS_TO_GENERALIZATION_SET = 132;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Must Have Name' of 'Use Case'.
@@ -580,7 +579,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int USE_CASE__MUST_HAVE_NAME = 142;
+	public static final int USE_CASE__MUST_HAVE_NAME = 135;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Binary Associations' of 'Use Case'.
@@ -588,7 +587,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int USE_CASE__BINARY_ASSOCIATIONS = 139;
+	public static final int USE_CASE__BINARY_ASSOCIATIONS = 137;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate No Association To Use Case' of 'Use Case'.
@@ -596,7 +595,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int USE_CASE__NO_ASSOCIATION_TO_USE_CASE = 140;
+	public static final int USE_CASE__NO_ASSOCIATION_TO_USE_CASE = 138;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Cannot Include Self' of 'Use Case'.
@@ -604,7 +603,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int USE_CASE__CANNOT_INCLUDE_SELF = 141;
+	public static final int USE_CASE__CANNOT_INCLUDE_SELF = 136;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Extension Points' of 'Extend'.
@@ -612,7 +611,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int EXTEND__EXTENSION_POINTS = 143;
+	public static final int EXTEND__EXTENSION_POINTS = 139;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Not Apply To Self' of 'Constraint'.
@@ -620,7 +619,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int CONSTRAINT__NOT_APPLY_TO_SELF = 74;
+	public static final int CONSTRAINT__NOT_APPLY_TO_SELF = 99;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Value Specification Boolean' of 'Constraint'.
@@ -628,7 +627,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int CONSTRAINT__VALUE_SPECIFICATION_BOOLEAN = 75;
+	public static final int CONSTRAINT__VALUE_SPECIFICATION_BOOLEAN = 102;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Boolean Value' of 'Constraint'.
@@ -636,7 +635,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int CONSTRAINT__BOOLEAN_VALUE = 72;
+	public static final int CONSTRAINT__BOOLEAN_VALUE = 101;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate No Side Effects' of 'Constraint'.
@@ -644,7 +643,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int CONSTRAINT__NO_SIDE_EFFECTS = 73;
+	public static final int CONSTRAINT__NO_SIDE_EFFECTS = 100;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Must Have Name' of 'Extension Point'.
@@ -652,7 +651,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int EXTENSION_POINT__MUST_HAVE_NAME = 144;
+	public static final int EXTENSION_POINT__MUST_HAVE_NAME = 140;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Language Body Size' of 'Opaque Expression'.
@@ -660,7 +659,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int OPAQUE_EXPRESSION__LANGUAGE_BODY_SIZE = 146;
+	public static final int OPAQUE_EXPRESSION__LANGUAGE_BODY_SIZE = 148;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Only Return Result Parameters' of 'Opaque Expression'.
@@ -668,7 +667,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int OPAQUE_EXPRESSION__ONLY_RETURN_RESULT_PARAMETERS = 148;
+	public static final int OPAQUE_EXPRESSION__ONLY_RETURN_RESULT_PARAMETERS = 146;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate One Return Result Parameter' of 'Opaque Expression'.
@@ -684,7 +683,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int PARAMETER__CONNECTOR_END = 66;
+	public static final int PARAMETER__CONNECTOR_END = 114;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Stream And Exception' of 'Parameter'.
@@ -692,7 +691,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int PARAMETER__STREAM_AND_EXCEPTION = 68;
+	public static final int PARAMETER__STREAM_AND_EXCEPTION = 117;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Not Exception' of 'Parameter'.
@@ -700,7 +699,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int PARAMETER__NOT_EXCEPTION = 65;
+	public static final int PARAMETER__NOT_EXCEPTION = 115;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Reentrant Behaviors' of 'Parameter'.
@@ -708,7 +707,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int PARAMETER__REENTRANT_BEHAVIORS = 67;
+	public static final int PARAMETER__REENTRANT_BEHAVIORS = 113;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate In And Out' of 'Parameter'.
@@ -716,7 +715,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int PARAMETER__IN_AND_OUT = 64;
+	public static final int PARAMETER__IN_AND_OUT = 116;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Lower Ge0' of 'Multiplicity Element'.
@@ -724,7 +723,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int MULTIPLICITY_ELEMENT__LOWER_GE0 = 50;
+	public static final int MULTIPLICITY_ELEMENT__LOWER_GE0 = 45;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Upper Ge Lower' of 'Multiplicity Element'.
@@ -732,7 +731,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int MULTIPLICITY_ELEMENT__UPPER_GE_LOWER = 49;
+	public static final int MULTIPLICITY_ELEMENT__UPPER_GE_LOWER = 46;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Value Specification No Side Effects' of 'Multiplicity Element'.
@@ -740,7 +739,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int MULTIPLICITY_ELEMENT__VALUE_SPECIFICATION_NO_SIDE_EFFECTS = 51;
+	public static final int MULTIPLICITY_ELEMENT__VALUE_SPECIFICATION_NO_SIDE_EFFECTS = 48;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Value Specification Constant' of 'Multiplicity Element'.
@@ -748,7 +747,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int MULTIPLICITY_ELEMENT__VALUE_SPECIFICATION_CONSTANT = 52;
+	public static final int MULTIPLICITY_ELEMENT__VALUE_SPECIFICATION_CONSTANT = 47;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Multiplicity' of 'Connector End'.
@@ -756,7 +755,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int CONNECTOR_END__MULTIPLICITY = 47;
+	public static final int CONNECTOR_END__MULTIPLICITY = 54;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Part With Port Empty' of 'Connector End'.
@@ -764,7 +763,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int CONNECTOR_END__PART_WITH_PORT_EMPTY = 46;
+	public static final int CONNECTOR_END__PART_WITH_PORT_EMPTY = 55;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Role And Part With Port' of 'Connector End'.
@@ -772,7 +771,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int CONNECTOR_END__ROLE_AND_PART_WITH_PORT = 45;
+	public static final int CONNECTOR_END__ROLE_AND_PART_WITH_PORT = 52;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Self Part With Port' of 'Connector End'.
@@ -780,7 +779,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int CONNECTOR_END__SELF_PART_WITH_PORT = 48;
+	public static final int CONNECTOR_END__SELF_PART_WITH_PORT = 53;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Multiplicity Of Composite' of 'Property'.
@@ -796,7 +795,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int PROPERTY__SUBSETTING_CONTEXT_CONFORMS = 36;
+	public static final int PROPERTY__SUBSETTING_CONTEXT_CONFORMS = 41;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Redefined Property Inherited' of 'Property'.
@@ -804,7 +803,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int PROPERTY__REDEFINED_PROPERTY_INHERITED = 39;
+	public static final int PROPERTY__REDEFINED_PROPERTY_INHERITED = 40;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Subsetting Rules' of 'Property'.
@@ -812,7 +811,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int PROPERTY__SUBSETTING_RULES = 40;
+	public static final int PROPERTY__SUBSETTING_RULES = 37;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Derived Union Is Derived' of 'Property'.
@@ -820,7 +819,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int PROPERTY__DERIVED_UNION_IS_DERIVED = 42;
+	public static final int PROPERTY__DERIVED_UNION_IS_DERIVED = 43;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Derived Union Is Read Only' of 'Property'.
@@ -828,7 +827,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int PROPERTY__DERIVED_UNION_IS_READ_ONLY = 37;
+	public static final int PROPERTY__DERIVED_UNION_IS_READ_ONLY = 44;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Subsetted Property Names' of 'Property'.
@@ -836,7 +835,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int PROPERTY__SUBSETTED_PROPERTY_NAMES = 44;
+	public static final int PROPERTY__SUBSETTED_PROPERTY_NAMES = 36;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Deployment Target' of 'Property'.
@@ -844,7 +843,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int PROPERTY__DEPLOYMENT_TARGET = 43;
+	public static final int PROPERTY__DEPLOYMENT_TARGET = 42;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Binding To Attribute' of 'Property'.
@@ -852,7 +851,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int PROPERTY__BINDING_TO_ATTRIBUTE = 41;
+	public static final int PROPERTY__BINDING_TO_ATTRIBUTE = 39;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Deployed Elements' of 'Deployment Specification'.
@@ -860,7 +859,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int DEPLOYMENT_SPECIFICATION__DEPLOYED_ELEMENTS = 54;
+	public static final int DEPLOYMENT_SPECIFICATION__DEPLOYED_ELEMENTS = 56;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Deployment Target' of 'Deployment Specification'.
@@ -868,7 +867,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int DEPLOYMENT_SPECIFICATION__DEPLOYMENT_TARGET = 53;
+	public static final int DEPLOYMENT_SPECIFICATION__DEPLOYMENT_TARGET = 57;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate At Most One Return' of 'Operation'.
@@ -876,7 +875,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int OPERATION__AT_MOST_ONE_RETURN = 55;
+	public static final int OPERATION__AT_MOST_ONE_RETURN = 58;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Only Body For Query' of 'Operation'.
@@ -884,7 +883,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int OPERATION__ONLY_BODY_FOR_QUERY = 56;
+	public static final int OPERATION__ONLY_BODY_FOR_QUERY = 59;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Parameters Match' of 'Behavior'.
@@ -892,7 +891,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int BEHAVIOR__PARAMETERS_MATCH = 62;
+	public static final int BEHAVIOR__PARAMETERS_MATCH = 60;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Feature Of Context Classifier' of 'Behavior'.
@@ -900,7 +899,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int BEHAVIOR__FEATURE_OF_CONTEXT_CLASSIFIER = 63;
+	public static final int BEHAVIOR__FEATURE_OF_CONTEXT_CLASSIFIER = 61;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Must Realize' of 'Behavior'.
@@ -908,7 +907,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int BEHAVIOR__MUST_REALIZE = 61;
+	public static final int BEHAVIOR__MUST_REALIZE = 62;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Most One Behaviour' of 'Behavior'.
@@ -916,7 +915,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int BEHAVIOR__MOST_ONE_BEHAVIOUR = 60;
+	public static final int BEHAVIOR__MOST_ONE_BEHAVIOUR = 63;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Same Parameterized Entity' of 'Parameter Set'.
@@ -924,7 +923,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int PARAMETER_SET__SAME_PARAMETERIZED_ENTITY = 69;
+	public static final int PARAMETER_SET__SAME_PARAMETERIZED_ENTITY = 120;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Input' of 'Parameter Set'.
@@ -932,7 +931,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int PARAMETER_SET__INPUT = 70;
+	public static final int PARAMETER_SET__INPUT = 119;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Two Parameter Sets' of 'Parameter Set'.
@@ -940,7 +939,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int PARAMETER_SET__TWO_PARAMETER_SETS = 71;
+	public static final int PARAMETER_SET__TWO_PARAMETER_SETS = 118;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Visibility' of 'Interface'.
@@ -948,7 +947,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int INTERFACE__VISIBILITY = 76;
+	public static final int INTERFACE__VISIBILITY = 65;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Not Query' of 'Reception'.
@@ -956,7 +955,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int RECEPTION__NOT_QUERY = 77;
+	public static final int RECEPTION__NOT_QUERY = 66;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Protocol Transitions' of 'Protocol State Machine'.
@@ -964,7 +963,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int PROTOCOL_STATE_MACHINE__PROTOCOL_TRANSITIONS = 81;
+	public static final int PROTOCOL_STATE_MACHINE__PROTOCOL_TRANSITIONS = 68;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Entry Exit Do' of 'Protocol State Machine'.
@@ -972,7 +971,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int PROTOCOL_STATE_MACHINE__ENTRY_EXIT_DO = 79;
+	public static final int PROTOCOL_STATE_MACHINE__ENTRY_EXIT_DO = 67;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Deep Or Shallow History' of 'Protocol State Machine'.
@@ -980,7 +979,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int PROTOCOL_STATE_MACHINE__DEEP_OR_SHALLOW_HISTORY = 78;
+	public static final int PROTOCOL_STATE_MACHINE__DEEP_OR_SHALLOW_HISTORY = 69;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Ports Connected' of 'Protocol State Machine'.
@@ -988,7 +987,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int PROTOCOL_STATE_MACHINE__PORTS_CONNECTED = 80;
+	public static final int PROTOCOL_STATE_MACHINE__PORTS_CONNECTED = 70;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Classifier Context' of 'Protocol State Machine'.
@@ -996,7 +995,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int PROTOCOL_STATE_MACHINE__CLASSIFIER_CONTEXT = 82;
+	public static final int PROTOCOL_STATE_MACHINE__CLASSIFIER_CONTEXT = 71;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Classifier Context' of 'State Machine'.
@@ -1004,7 +1003,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int STATE_MACHINE__CLASSIFIER_CONTEXT = 84;
+	public static final int STATE_MACHINE__CLASSIFIER_CONTEXT = 73;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Context Classifier' of 'State Machine'.
@@ -1012,7 +1011,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int STATE_MACHINE__CONTEXT_CLASSIFIER = 86;
+	public static final int STATE_MACHINE__CONTEXT_CLASSIFIER = 74;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Connection Points' of 'State Machine'.
@@ -1020,7 +1019,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int STATE_MACHINE__CONNECTION_POINTS = 83;
+	public static final int STATE_MACHINE__CONNECTION_POINTS = 75;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Method' of 'State Machine'.
@@ -1028,7 +1027,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int STATE_MACHINE__METHOD = 85;
+	public static final int STATE_MACHINE__METHOD = 72;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Initial Vertex' of 'Region'.
@@ -1036,7 +1035,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int REGION__INITIAL_VERTEX = 99;
+	public static final int REGION__INITIAL_VERTEX = 87;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Deep History Vertex' of 'Region'.
@@ -1044,7 +1043,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int REGION__DEEP_HISTORY_VERTEX = 96;
+	public static final int REGION__DEEP_HISTORY_VERTEX = 86;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Shallow History Vertex' of 'Region'.
@@ -1052,7 +1051,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int REGION__SHALLOW_HISTORY_VERTEX = 97;
+	public static final int REGION__SHALLOW_HISTORY_VERTEX = 85;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Owned' of 'Region'.
@@ -1060,7 +1059,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int REGION__OWNED = 98;
+	public static final int REGION__OWNED = 88;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Fork Segment Guards' of 'Transition'.
@@ -1068,7 +1067,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int TRANSITION__FORK_SEGMENT_GUARDS = 119;
+	public static final int TRANSITION__FORK_SEGMENT_GUARDS = 104;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Join Segment Guards' of 'Transition'.
@@ -1076,7 +1075,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int TRANSITION__JOIN_SEGMENT_GUARDS = 111;
+	public static final int TRANSITION__JOIN_SEGMENT_GUARDS = 110;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate State Is Internal' of 'Transition'.
@@ -1084,7 +1083,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int TRANSITION__STATE_IS_INTERNAL = 112;
+	public static final int TRANSITION__STATE_IS_INTERNAL = 109;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Fork Segment State' of 'Transition'.
@@ -1092,7 +1091,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int TRANSITION__FORK_SEGMENT_STATE = 115;
+	public static final int TRANSITION__FORK_SEGMENT_STATE = 111;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Join Segment State' of 'Transition'.
@@ -1100,7 +1099,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int TRANSITION__JOIN_SEGMENT_STATE = 114;
+	public static final int TRANSITION__JOIN_SEGMENT_STATE = 105;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Outgoing Pseudostates' of 'Transition'.
@@ -1108,7 +1107,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int TRANSITION__OUTGOING_PSEUDOSTATES = 113;
+	public static final int TRANSITION__OUTGOING_PSEUDOSTATES = 107;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Initial Transition' of 'Transition'.
@@ -1116,7 +1115,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int TRANSITION__INITIAL_TRANSITION = 118;
+	public static final int TRANSITION__INITIAL_TRANSITION = 106;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Signatures Compatible' of 'Transition'.
@@ -1124,7 +1123,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int TRANSITION__SIGNATURES_COMPATIBLE = 116;
+	public static final int TRANSITION__SIGNATURES_COMPATIBLE = 108;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate State Is Local' of 'Transition'.
@@ -1132,7 +1131,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int TRANSITION__STATE_IS_LOCAL = 117;
+	public static final int TRANSITION__STATE_IS_LOCAL = 103;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Port Aggregation' of 'Port'.
@@ -1140,7 +1139,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int PORT__PORT_AGGREGATION = 108;
+	public static final int PORT__PORT_AGGREGATION = 97;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Port Destroyed' of 'Port'.
@@ -1148,7 +1147,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int PORT__PORT_DESTROYED = 107;
+	public static final int PORT__PORT_DESTROYED = 98;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Default Value' of 'Port'.
@@ -1156,7 +1155,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int PORT__DEFAULT_VALUE = 109;
+	public static final int PORT__DEFAULT_VALUE = 96;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate State Is External' of 'Transition'.
@@ -1164,7 +1163,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int TRANSITION__STATE_IS_EXTERNAL = 110;
+	public static final int TRANSITION__STATE_IS_EXTERNAL = 112;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Submachine States' of 'State'.
@@ -1172,7 +1171,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int STATE__SUBMACHINE_STATES = 101;
+	public static final int STATE__SUBMACHINE_STATES = 93;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Destinations Or Sources Of Transitions' of 'State'.
@@ -1180,7 +1179,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int STATE__DESTINATIONS_OR_SOURCES_OF_TRANSITIONS = 103;
+	public static final int STATE__DESTINATIONS_OR_SOURCES_OF_TRANSITIONS = 91;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Submachine Or Regions' of 'State'.
@@ -1188,7 +1187,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int STATE__SUBMACHINE_OR_REGIONS = 104;
+	public static final int STATE__SUBMACHINE_OR_REGIONS = 92;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Composite States' of 'State'.
@@ -1196,7 +1195,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int STATE__COMPOSITE_STATES = 102;
+	public static final int STATE__COMPOSITE_STATES = 90;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Entry Or Exit' of 'State'.
@@ -1204,7 +1203,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int STATE__ENTRY_OR_EXIT = 100;
+	public static final int STATE__ENTRY_OR_EXIT = 89;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Entry Pseudostates' of 'Connection Point Reference'.
@@ -1212,7 +1211,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int CONNECTION_POINT_REFERENCE__ENTRY_PSEUDOSTATES = 106;
+	public static final int CONNECTION_POINT_REFERENCE__ENTRY_PSEUDOSTATES = 94;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Exit Pseudostates' of 'Connection Point Reference'.
@@ -1220,7 +1219,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int CONNECTION_POINT_REFERENCE__EXIT_PSEUDOSTATES = 105;
+	public static final int CONNECTION_POINT_REFERENCE__EXIT_PSEUDOSTATES = 95;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Initial Vertex' of 'Pseudostate'.
@@ -1228,7 +1227,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int PSEUDOSTATE__INITIAL_VERTEX = 93;
+	public static final int PSEUDOSTATE__INITIAL_VERTEX = 83;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate History Vertices' of 'Pseudostate'.
@@ -1236,7 +1235,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int PSEUDOSTATE__HISTORY_VERTICES = 92;
+	public static final int PSEUDOSTATE__HISTORY_VERTICES = 77;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Join Vertex' of 'Pseudostate'.
@@ -1244,7 +1243,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int PSEUDOSTATE__JOIN_VERTEX = 90;
+	public static final int PSEUDOSTATE__JOIN_VERTEX = 81;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Transitions Incoming' of 'Pseudostate'.
@@ -1252,7 +1251,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int PSEUDOSTATE__TRANSITIONS_INCOMING = 95;
+	public static final int PSEUDOSTATE__TRANSITIONS_INCOMING = 84;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Fork Vertex' of 'Pseudostate'.
@@ -1260,7 +1259,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int PSEUDOSTATE__FORK_VERTEX = 94;
+	public static final int PSEUDOSTATE__FORK_VERTEX = 80;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Transitions Outgoing' of 'Pseudostate'.
@@ -1268,7 +1267,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int PSEUDOSTATE__TRANSITIONS_OUTGOING = 87;
+	public static final int PSEUDOSTATE__TRANSITIONS_OUTGOING = 78;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Junction Vertex' of 'Pseudostate'.
@@ -1276,7 +1275,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int PSEUDOSTATE__JUNCTION_VERTEX = 91;
+	public static final int PSEUDOSTATE__JUNCTION_VERTEX = 76;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Choice Vertex' of 'Pseudostate'.
@@ -1284,7 +1283,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int PSEUDOSTATE__CHOICE_VERTEX = 88;
+	public static final int PSEUDOSTATE__CHOICE_VERTEX = 82;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Outgoing From Initial' of 'Pseudostate'.
@@ -1292,7 +1291,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int PSEUDOSTATE__OUTGOING_FROM_INITIAL = 89;
+	public static final int PSEUDOSTATE__OUTGOING_FROM_INITIAL = 79;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Specialized End Number' of 'Association'.
@@ -1308,7 +1307,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int ASSOCIATION__SPECIALIZED_END_TYPES = 33;
+	public static final int ASSOCIATION__SPECIALIZED_END_TYPES = 35;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Binary Associations' of 'Association'.
@@ -1324,7 +1323,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int ASSOCIATION__ASSOCIATION_ENDS = 35;
+	public static final int ASSOCIATION__ASSOCIATION_ENDS = 33;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Client Elements' of 'Collaboration Use'.
@@ -1332,7 +1331,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int COLLABORATION_USE__CLIENT_ELEMENTS = 127;
+	public static final int COLLABORATION_USE__CLIENT_ELEMENTS = 130;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Every Role' of 'Collaboration Use'.
@@ -1340,7 +1339,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int COLLABORATION_USE__EVERY_ROLE = 128;
+	public static final int COLLABORATION_USE__EVERY_ROLE = 129;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Connectors' of 'Collaboration Use'.
@@ -1348,7 +1347,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int COLLABORATION_USE__CONNECTORS = 129;
+	public static final int COLLABORATION_USE__CONNECTORS = 128;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Multiplicities' of 'Structured Classifier'.
@@ -1356,7 +1355,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int STRUCTURED_CLASSIFIER__MULTIPLICITIES = 130;
+	public static final int STRUCTURED_CLASSIFIER__MULTIPLICITIES = 8;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Types' of 'Connector'.
@@ -1364,7 +1363,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int CONNECTOR__TYPES = 131;
+	public static final int CONNECTOR__TYPES = 145;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Compatible' of 'Connector'.
@@ -1372,7 +1371,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int CONNECTOR__COMPATIBLE = 134;
+	public static final int CONNECTOR__COMPATIBLE = 142;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Roles' of 'Connector'.
@@ -1380,7 +1379,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int CONNECTOR__ROLES = 132;
+	public static final int CONNECTOR__ROLES = 143;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Between Interfaces Ports' of 'Connector'.
@@ -1388,7 +1387,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int CONNECTOR__BETWEEN_INTERFACES_PORTS = 133;
+	public static final int CONNECTOR__BETWEEN_INTERFACES_PORTS = 144;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Inherited Parameters' of 'Redefinable Template Signature'.
@@ -1396,7 +1395,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int REDEFINABLE_TEMPLATE_SIGNATURE__INHERITED_PARAMETERS = 138;
+	public static final int REDEFINABLE_TEMPLATE_SIGNATURE__INHERITED_PARAMETERS = 134;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Has Constraining Classifier' of 'Classifier Template Parameter'.
@@ -1404,7 +1403,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int CLASSIFIER_TEMPLATE_PARAMETER__HAS_CONSTRAINING_CLASSIFIER = 145;
+	public static final int CLASSIFIER_TEMPLATE_PARAMETER__HAS_CONSTRAINING_CLASSIFIER = 141;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Non Owned End' of 'Extension'.
@@ -1428,7 +1427,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int EXTENSION_END__MULTIPLICITY = 120;
+	public static final int EXTENSION_END__MULTIPLICITY = 121;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Aggregation' of 'Extension End'.
@@ -1436,7 +1435,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int EXTENSION_END__AGGREGATION = 121;
+	public static final int EXTENSION_END__AGGREGATION = 122;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Classifier Equals Owning Enumeration' of 'Enumeration Literal'.
@@ -1444,7 +1443,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int ENUMERATION_LITERAL__CLASSIFIER_EQUALS_OWNING_ENUMERATION = 122;
+	public static final int ENUMERATION_LITERAL__CLASSIFIER_EQUALS_OWNING_ENUMERATION = 123;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Operands' of 'String Expression'.
@@ -1452,7 +1451,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int STRING_EXPRESSION__OPERANDS = 17;
+	public static final int STRING_EXPRESSION__OPERANDS = 18;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Subexpressions' of 'String Expression'.
@@ -1460,7 +1459,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int STRING_EXPRESSION__SUBEXPRESSIONS = 18;
+	public static final int STRING_EXPRESSION__SUBEXPRESSIONS = 17;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Defining Feature' of 'Instance Specification'.
@@ -1492,7 +1491,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int INSTANCE_SPECIFICATION__DEPLOYMENT_ARTIFACT = 123;
+	public static final int INSTANCE_SPECIFICATION__DEPLOYMENT_ARTIFACT = 127;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate One Output Parameter' of 'Function Behavior'.
@@ -1532,7 +1531,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int ADD_STRUCTURAL_FEATURE_VALUE_ACTION__REQUIRED_VALUE = 231;
+	public static final int ADD_STRUCTURAL_FEATURE_VALUE_ACTION__REQUIRED_VALUE = 232;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Sending Receiving Message Event' of 'Message'.
@@ -1548,7 +1547,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int MESSAGE__SIGNATURE_REFER_TO = 207;
+	public static final int MESSAGE__SIGNATURE_REFER_TO = 208;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Signature Is Operation' of 'Message'.
@@ -1556,7 +1555,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int MESSAGE__SIGNATURE_IS_OPERATION = 208;
+	public static final int MESSAGE__SIGNATURE_IS_OPERATION = 205;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Signature Is Signal' of 'Message'.
@@ -1564,7 +1563,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int MESSAGE__SIGNATURE_IS_SIGNAL = 205;
+	public static final int MESSAGE__SIGNATURE_IS_SIGNAL = 204;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Arguments' of 'Message'.
@@ -1572,7 +1571,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int MESSAGE__ARGUMENTS = 203;
+	public static final int MESSAGE__ARGUMENTS = 206;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Cannot Cross Boundaries' of 'Message'.
@@ -1580,7 +1579,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int MESSAGE__CANNOT_CROSS_BOUNDARIES = 204;
+	public static final int MESSAGE__CANNOT_CROSS_BOUNDARIES = 207;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Occurrence Specifications' of 'Message'.
@@ -1588,7 +1587,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int MESSAGE__OCCURRENCE_SPECIFICATIONS = 206;
+	public static final int MESSAGE__OCCURRENCE_SPECIFICATIONS = 203;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Interaction Uses Share Lifeline' of 'Lifeline'.
@@ -1596,7 +1595,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int LIFELINE__INTERACTION_USES_SHARE_LIFELINE = 189;
+	public static final int LIFELINE__INTERACTION_USES_SHARE_LIFELINE = 188;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Selector Specified' of 'Lifeline'.
@@ -1604,7 +1603,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int LIFELINE__SELECTOR_SPECIFIED = 188;
+	public static final int LIFELINE__SELECTOR_SPECIFIED = 190;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Same Classifier' of 'Lifeline'.
@@ -1612,7 +1611,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int LIFELINE__SAME_CLASSIFIER = 190;
+	public static final int LIFELINE__SAME_CLASSIFIER = 189;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Parts Of Internal Structures' of 'Part Decomposition'.
@@ -1620,7 +1619,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int PART_DECOMPOSITION__PARTS_OF_INTERNAL_STRUCTURES = 193;
+	public static final int PART_DECOMPOSITION__PARTS_OF_INTERNAL_STRUCTURES = 191;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Assume' of 'Part Decomposition'.
@@ -1636,7 +1635,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int PART_DECOMPOSITION__COMMUTATIVITY_OF_DECOMPOSITION = 191;
+	public static final int PART_DECOMPOSITION__COMMUTATIVITY_OF_DECOMPOSITION = 193;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Gates Match' of 'Interaction Use'.
@@ -1644,7 +1643,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int INTERACTION_USE__GATES_MATCH = 194;
+	public static final int INTERACTION_USE__GATES_MATCH = 197;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate All Lifelines' of 'Interaction Use'.
@@ -1652,7 +1651,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int INTERACTION_USE__ALL_LIFELINES = 199;
+	public static final int INTERACTION_USE__ALL_LIFELINES = 194;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Arguments Correspond To Parameters' of 'Interaction Use'.
@@ -1660,7 +1659,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int INTERACTION_USE__ARGUMENTS_CORRESPOND_TO_PARAMETERS = 197;
+	public static final int INTERACTION_USE__ARGUMENTS_CORRESPOND_TO_PARAMETERS = 196;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Return Value Type Recipient Correspondence' of 'Interaction Use'.
@@ -1668,7 +1667,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int INTERACTION_USE__RETURN_VALUE_TYPE_RECIPIENT_CORRESPONDENCE = 198;
+	public static final int INTERACTION_USE__RETURN_VALUE_TYPE_RECIPIENT_CORRESPONDENCE = 199;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Arguments Are Constants' of 'Interaction Use'.
@@ -1676,7 +1675,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int INTERACTION_USE__ARGUMENTS_ARE_CONSTANTS = 195;
+	public static final int INTERACTION_USE__ARGUMENTS_ARE_CONSTANTS = 198;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Return Value Recipient Coverage' of 'Interaction Use'.
@@ -1684,7 +1683,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int INTERACTION_USE__RETURN_VALUE_RECIPIENT_COVERAGE = 196;
+	public static final int INTERACTION_USE__RETURN_VALUE_RECIPIENT_COVERAGE = 195;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Messages Actual Gate' of 'Gate'.
@@ -1724,7 +1723,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int ACTIVITY_EDGE__SOURCE_AND_TARGET = 162;
+	public static final int ACTIVITY_EDGE__SOURCE_AND_TARGET = 165;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Owned' of 'Activity Edge'.
@@ -1732,7 +1731,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int ACTIVITY_EDGE__OWNED = 161;
+	public static final int ACTIVITY_EDGE__OWNED = 164;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Structured Node' of 'Activity Edge'.
@@ -1740,7 +1739,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int ACTIVITY_EDGE__STRUCTURED_NODE = 163;
+	public static final int ACTIVITY_EDGE__STRUCTURED_NODE = 166;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate No Supergroups' of 'Activity'.
@@ -1748,7 +1747,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int ACTIVITY__NO_SUPERGROUPS = 159;
+	public static final int ACTIVITY__NO_SUPERGROUPS = 160;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Activity Parameter Node' of 'Activity'.
@@ -1756,7 +1755,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int ACTIVITY__ACTIVITY_PARAMETER_NODE = 160;
+	public static final int ACTIVITY__ACTIVITY_PARAMETER_NODE = 158;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Autonomous' of 'Activity'.
@@ -1764,7 +1763,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int ACTIVITY__AUTONOMOUS = 158;
+	public static final int ACTIVITY__AUTONOMOUS = 159;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Dimension Not Contained' of 'Activity Partition'.
@@ -1780,7 +1779,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int STRUCTURED_ACTIVITY_NODE__OUTPUT_PIN_EDGES = 171;
+	public static final int STRUCTURED_ACTIVITY_NODE__OUTPUT_PIN_EDGES = 173;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Represents Part' of 'Activity Partition'.
@@ -1788,7 +1787,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int ACTIVITY_PARTITION__REPRESENTS_PART = 169;
+	public static final int ACTIVITY_PARTITION__REPRESENTS_PART = 167;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Represents Classifier' of 'Activity Partition'.
@@ -1796,7 +1795,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int ACTIVITY_PARTITION__REPRESENTS_CLASSIFIER = 167;
+	public static final int ACTIVITY_PARTITION__REPRESENTS_CLASSIFIER = 168;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Represents Part And Is Contained' of 'Activity Partition'.
@@ -1804,7 +1803,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int ACTIVITY_PARTITION__REPRESENTS_PART_AND_IS_CONTAINED = 168;
+	public static final int ACTIVITY_PARTITION__REPRESENTS_PART_AND_IS_CONTAINED = 169;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Nodes And Edges' of 'Activity Group'.
@@ -1812,7 +1811,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int ACTIVITY_GROUP__NODES_AND_EDGES = 164;
+	public static final int ACTIVITY_GROUP__NODES_AND_EDGES = 163;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Not Contained' of 'Activity Group'.
@@ -1820,7 +1819,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int ACTIVITY_GROUP__NOT_CONTAINED = 166;
+	public static final int ACTIVITY_GROUP__NOT_CONTAINED = 162;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Group Owned' of 'Activity Group'.
@@ -1828,7 +1827,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int ACTIVITY_GROUP__GROUP_OWNED = 165;
+	public static final int ACTIVITY_GROUP__GROUP_OWNED = 161;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Edges' of 'Structured Activity Node'.
@@ -1844,7 +1843,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int STRUCTURED_ACTIVITY_NODE__INPUT_PIN_EDGES = 173;
+	public static final int STRUCTURED_ACTIVITY_NODE__INPUT_PIN_EDGES = 171;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Owned' of 'Variable'.
@@ -1868,7 +1867,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int EXCEPTION_HANDLER__EXCEPTION_BODY = 182;
+	public static final int EXCEPTION_HANDLER__EXCEPTION_BODY = 185;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Result Pins' of 'Exception Handler'.
@@ -1876,7 +1875,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int EXCEPTION_HANDLER__RESULT_PINS = 183;
+	public static final int EXCEPTION_HANDLER__RESULT_PINS = 184;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate One Input' of 'Exception Handler'.
@@ -1884,7 +1883,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int EXCEPTION_HANDLER__ONE_INPUT = 184;
+	public static final int EXCEPTION_HANDLER__ONE_INPUT = 182;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Edge Source Target' of 'Exception Handler'.
@@ -1892,7 +1891,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int EXCEPTION_HANDLER__EDGE_SOURCE_TARGET = 185;
+	public static final int EXCEPTION_HANDLER__EDGE_SOURCE_TARGET = 183;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Object Flow Edges' of 'Object Node'.
@@ -1900,7 +1899,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int OBJECT_NODE__OBJECT_FLOW_EDGES = 178;
+	public static final int OBJECT_NODE__OBJECT_FLOW_EDGES = 176;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Selection Behavior' of 'Object Node'.
@@ -1916,7 +1915,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int OBJECT_NODE__INPUT_OUTPUT_PARAMETER = 176;
+	public static final int OBJECT_NODE__INPUT_OUTPUT_PARAMETER = 178;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Incoming Edges Structured Only' of 'Output Pin'.
@@ -1948,7 +1947,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int INTERACTION_OPERAND__GUARD_DIRECTLY_PRIOR = 210;
+	public static final int INTERACTION_OPERAND__GUARD_DIRECTLY_PRIOR = 209;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Guard Contain References' of 'Interaction Operand'.
@@ -1956,7 +1955,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int INTERACTION_OPERAND__GUARD_CONTAIN_REFERENCES = 209;
+	public static final int INTERACTION_OPERAND__GUARD_CONTAIN_REFERENCES = 210;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Dynamic Variables' of 'Interaction Constraint'.
@@ -1964,7 +1963,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int INTERACTION_CONSTRAINT__DYNAMIC_VARIABLES = 214;
+	public static final int INTERACTION_CONSTRAINT__DYNAMIC_VARIABLES = 216;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Global Data' of 'Interaction Constraint'.
@@ -1972,7 +1971,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int INTERACTION_CONSTRAINT__GLOBAL_DATA = 215;
+	public static final int INTERACTION_CONSTRAINT__GLOBAL_DATA = 214;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Minint Maxint' of 'Interaction Constraint'.
@@ -1980,7 +1979,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int INTERACTION_CONSTRAINT__MININT_MAXINT = 211;
+	public static final int INTERACTION_CONSTRAINT__MININT_MAXINT = 212;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Minint Non Negative' of 'Interaction Constraint'.
@@ -1988,7 +1987,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int INTERACTION_CONSTRAINT__MININT_NON_NEGATIVE = 212;
+	public static final int INTERACTION_CONSTRAINT__MININT_NON_NEGATIVE = 213;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Maxint Positive' of 'Interaction Constraint'.
@@ -1996,7 +1995,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int INTERACTION_CONSTRAINT__MAXINT_POSITIVE = 213;
+	public static final int INTERACTION_CONSTRAINT__MAXINT_POSITIVE = 211;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Maxint Greater Equal Minint' of 'Interaction Constraint'.
@@ -2004,7 +2003,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int INTERACTION_CONSTRAINT__MAXINT_GREATER_EQUAL_MININT = 216;
+	public static final int INTERACTION_CONSTRAINT__MAXINT_GREATER_EQUAL_MININT = 215;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Irreflexsive Transitive Closure' of 'General Ordering'.
@@ -2036,7 +2035,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int COMBINED_FRAGMENT__OPT_LOOP_BREAK_NEG = 272;
+	public static final int COMBINED_FRAGMENT__OPT_LOOP_BREAK_NEG = 270;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Minint And Maxint' of 'Combined Fragment'.
@@ -2044,7 +2043,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int COMBINED_FRAGMENT__MININT_AND_MAXINT = 269;
+	public static final int COMBINED_FRAGMENT__MININT_AND_MAXINT = 272;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Break' of 'Combined Fragment'.
@@ -2052,7 +2051,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int COMBINED_FRAGMENT__BREAK = 270;
+	public static final int COMBINED_FRAGMENT__BREAK = 269;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Consider And Ignore' of 'Combined Fragment'.
@@ -2068,7 +2067,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int CONTINUATION__SAME_NAME = 285;
+	public static final int CONTINUATION__SAME_NAME = 284;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Global' of 'Continuation'.
@@ -2084,7 +2083,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int CONTINUATION__FIRST_OR_LAST_INTERACTION_FRAGMENT = 284;
+	public static final int CONTINUATION__FIRST_OR_LAST_INTERACTION_FRAGMENT = 285;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Consider Or Ignore' of 'Consider Ignore Fragment'.
@@ -2092,7 +2091,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int CONSIDER_IGNORE_FRAGMENT__CONSIDER_OR_IGNORE = 282;
+	public static final int CONSIDER_IGNORE_FRAGMENT__CONSIDER_OR_IGNORE = 283;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Type' of 'Consider Ignore Fragment'.
@@ -2100,7 +2099,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int CONSIDER_IGNORE_FRAGMENT__TYPE = 283;
+	public static final int CONSIDER_IGNORE_FRAGMENT__TYPE = 282;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Classifier Not Abstract' of 'Create Object Action'.
@@ -2108,7 +2107,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int CREATE_OBJECT_ACTION__CLASSIFIER_NOT_ABSTRACT = 306;
+	public static final int CREATE_OBJECT_ACTION__CLASSIFIER_NOT_ABSTRACT = 307;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Classifier Not Association Class' of 'Create Object Action'.
@@ -2116,7 +2115,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int CREATE_OBJECT_ACTION__CLASSIFIER_NOT_ASSOCIATION_CLASS = 308;
+	public static final int CREATE_OBJECT_ACTION__CLASSIFIER_NOT_ASSOCIATION_CLASS = 306;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Same Type' of 'Create Object Action'.
@@ -2124,7 +2123,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int CREATE_OBJECT_ACTION__SAME_TYPE = 309;
+	public static final int CREATE_OBJECT_ACTION__SAME_TYPE = 308;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Multiplicity' of 'Create Object Action'.
@@ -2132,7 +2131,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int CREATE_OBJECT_ACTION__MULTIPLICITY = 307;
+	public static final int CREATE_OBJECT_ACTION__MULTIPLICITY = 309;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Multiplicity' of 'Destroy Object Action'.
@@ -2204,7 +2203,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int READ_SELF_ACTION__TYPE = 394;
+	public static final int READ_SELF_ACTION__TYPE = 392;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Multiplicity' of 'Read Self Action'.
@@ -2212,7 +2211,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int READ_SELF_ACTION__MULTIPLICITY = 392;
+	public static final int READ_SELF_ACTION__MULTIPLICITY = 394;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Not Static' of 'Structural Feature Action'.
@@ -2220,7 +2219,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int STRUCTURAL_FEATURE_ACTION__NOT_STATIC = 240;
+	public static final int STRUCTURAL_FEATURE_ACTION__NOT_STATIC = 239;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Same Type' of 'Structural Feature Action'.
@@ -2228,7 +2227,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int STRUCTURAL_FEATURE_ACTION__SAME_TYPE = 238;
+	public static final int STRUCTURAL_FEATURE_ACTION__SAME_TYPE = 241;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Multiplicity' of 'Structural Feature Action'.
@@ -2236,7 +2235,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int STRUCTURAL_FEATURE_ACTION__MULTIPLICITY = 237;
+	public static final int STRUCTURAL_FEATURE_ACTION__MULTIPLICITY = 238;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Visibility' of 'Structural Feature Action'.
@@ -2244,7 +2243,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int STRUCTURAL_FEATURE_ACTION__VISIBILITY = 239;
+	public static final int STRUCTURAL_FEATURE_ACTION__VISIBILITY = 237;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate One Featuring Classifier' of 'Structural Feature Action'.
@@ -2252,7 +2251,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int STRUCTURAL_FEATURE_ACTION__ONE_FEATURING_CLASSIFIER = 241;
+	public static final int STRUCTURAL_FEATURE_ACTION__ONE_FEATURING_CLASSIFIER = 240;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Required Value' of 'Add Variable Value Action'.
@@ -2284,7 +2283,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int WRITE_STRUCTURAL_FEATURE_ACTION__INPUT_PIN = 234;
+	public static final int WRITE_STRUCTURAL_FEATURE_ACTION__INPUT_PIN = 233;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Type Of Result' of 'Write Structural Feature Action'.
@@ -2292,7 +2291,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int WRITE_STRUCTURAL_FEATURE_ACTION__TYPE_OF_RESULT = 235;
+	public static final int WRITE_STRUCTURAL_FEATURE_ACTION__TYPE_OF_RESULT = 234;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Multiplicity Of Result' of 'Write Structural Feature Action'.
@@ -2300,7 +2299,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int WRITE_STRUCTURAL_FEATURE_ACTION__MULTIPLICITY_OF_RESULT = 233;
+	public static final int WRITE_STRUCTURAL_FEATURE_ACTION__MULTIPLICITY_OF_RESULT = 235;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Multiplicity' of 'Write Structural Feature Action'.
@@ -2316,7 +2315,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int CLEAR_STRUCTURAL_FEATURE_ACTION__TYPE_OF_RESULT = 267;
+	public static final int CLEAR_STRUCTURAL_FEATURE_ACTION__TYPE_OF_RESULT = 268;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Multiplicity Of Result' of 'Clear Structural Feature Action'.
@@ -2324,7 +2323,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int CLEAR_STRUCTURAL_FEATURE_ACTION__MULTIPLICITY_OF_RESULT = 268;
+	public static final int CLEAR_STRUCTURAL_FEATURE_ACTION__MULTIPLICITY_OF_RESULT = 267;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Non Unique Removal' of 'Remove Structural Feature Value Action'.
@@ -2340,7 +2339,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int ADD_STRUCTURAL_FEATURE_VALUE_ACTION__UNLIMITED_NATURAL_AND_MULTIPLICITY = 232;
+	public static final int ADD_STRUCTURAL_FEATURE_VALUE_ACTION__UNLIMITED_NATURAL_AND_MULTIPLICITY = 231;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Same Association' of 'Link Action'.
@@ -2372,7 +2371,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int LINK_END_DATA__PROPERTY_IS_ASSOCIATION_END = 296;
+	public static final int LINK_END_DATA__PROPERTY_IS_ASSOCIATION_END = 293;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Same Type' of 'Link End Data'.
@@ -2380,7 +2379,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int LINK_END_DATA__SAME_TYPE = 293;
+	public static final int LINK_END_DATA__SAME_TYPE = 295;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Multiplicity' of 'Link End Data'.
@@ -2388,7 +2387,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int LINK_END_DATA__MULTIPLICITY = 294;
+	public static final int LINK_END_DATA__MULTIPLICITY = 296;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Qualifiers' of 'Link End Data'.
@@ -2404,7 +2403,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int LINK_END_DATA__END_OBJECT_INPUT_PIN = 295;
+	public static final int LINK_END_DATA__END_OBJECT_INPUT_PIN = 294;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Qualifier Attribute' of 'Qualifier Value'.
@@ -2412,7 +2411,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int QUALIFIER_VALUE__QUALIFIER_ATTRIBUTE = 300;
+	public static final int QUALIFIER_VALUE__QUALIFIER_ATTRIBUTE = 298;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Type Of Qualifier' of 'Qualifier Value'.
@@ -2420,7 +2419,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int QUALIFIER_VALUE__TYPE_OF_QUALIFIER = 299;
+	public static final int QUALIFIER_VALUE__TYPE_OF_QUALIFIER = 300;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Multiplicity Of Qualifier' of 'Qualifier Value'.
@@ -2428,7 +2427,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int QUALIFIER_VALUE__MULTIPLICITY_OF_QUALIFIER = 298;
+	public static final int QUALIFIER_VALUE__MULTIPLICITY_OF_QUALIFIER = 299;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate One Open End' of 'Read Link Action'.
@@ -2436,7 +2435,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int READ_LINK_ACTION__ONE_OPEN_END = 374;
+	public static final int READ_LINK_ACTION__ONE_OPEN_END = 372;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Type And Ordering' of 'Read Link Action'.
@@ -2452,7 +2451,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int READ_LINK_ACTION__COMPATIBLE_MULTIPLICITY = 372;
+	public static final int READ_LINK_ACTION__COMPATIBLE_MULTIPLICITY = 373;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Navigable Open End' of 'Read Link Action'.
@@ -2460,7 +2459,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int READ_LINK_ACTION__NAVIGABLE_OPEN_END = 375;
+	public static final int READ_LINK_ACTION__NAVIGABLE_OPEN_END = 374;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Visibility' of 'Read Link Action'.
@@ -2468,7 +2467,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int READ_LINK_ACTION__VISIBILITY = 373;
+	public static final int READ_LINK_ACTION__VISIBILITY = 375;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Create Link Action' of 'Link End Creation Data'.
@@ -2476,7 +2475,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int LINK_END_CREATION_DATA__CREATE_LINK_ACTION = 302;
+	public static final int LINK_END_CREATION_DATA__CREATE_LINK_ACTION = 301;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Single Input Pin' of 'Link End Creation Data'.
@@ -2484,7 +2483,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int LINK_END_CREATION_DATA__SINGLE_INPUT_PIN = 301;
+	public static final int LINK_END_CREATION_DATA__SINGLE_INPUT_PIN = 302;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Association Not Abstract' of 'Create Link Action'.
@@ -2508,7 +2507,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int LINK_END_DESTRUCTION_DATA__DESTROY_LINK_ACTION = 327;
+	public static final int LINK_END_DESTRUCTION_DATA__DESTROY_LINK_ACTION = 326;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Unlimited Natural And Multiplicity' of 'Link End Destruction Data'.
@@ -2516,7 +2515,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int LINK_END_DESTRUCTION_DATA__UNLIMITED_NATURAL_AND_MULTIPLICITY = 326;
+	public static final int LINK_END_DESTRUCTION_DATA__UNLIMITED_NATURAL_AND_MULTIPLICITY = 327;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Same Type' of 'Clear Association Action'.
@@ -2540,7 +2539,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int BROADCAST_SIGNAL_ACTION__NUMBER_AND_ORDER = 249;
+	public static final int BROADCAST_SIGNAL_ACTION__NUMBER_AND_ORDER = 250;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Type Ordering Multiplicity' of 'Broadcast Signal Action'.
@@ -2548,7 +2547,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int BROADCAST_SIGNAL_ACTION__TYPE_ORDERING_MULTIPLICITY = 250;
+	public static final int BROADCAST_SIGNAL_ACTION__TYPE_ORDERING_MULTIPLICITY = 249;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate On Port Receiver' of 'Invocation Action'.
@@ -2604,7 +2603,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int VALUE_PIN__COMPATIBLE_TYPE = 431;
+	public static final int VALUE_PIN__COMPATIBLE_TYPE = 430;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate No Incoming Edges' of 'Value Pin'.
@@ -2612,7 +2611,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int VALUE_PIN__NO_INCOMING_EDGES = 430;
+	public static final int VALUE_PIN__NO_INCOMING_EDGES = 431;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Synchronous Call' of 'Call Action'.
@@ -2620,7 +2619,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int CALL_ACTION__SYNCHRONOUS_CALL = 254;
+	public static final int CALL_ACTION__SYNCHRONOUS_CALL = 252;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Number And Order' of 'Call Action'.
@@ -2636,7 +2635,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int CALL_ACTION__TYPE_ORDERING_MULTIPLICITY = 252;
+	public static final int CALL_ACTION__TYPE_ORDERING_MULTIPLICITY = 254;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Number Order' of 'Send Signal Action'.
@@ -2660,7 +2659,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int CALL_OPERATION_ACTION__ARGUMENT_PIN_EQUAL_PARAMETER = 259;
+	public static final int CALL_OPERATION_ACTION__ARGUMENT_PIN_EQUAL_PARAMETER = 258;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Result Pin Equal Parameter' of 'Call Operation Action'.
@@ -2668,7 +2667,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int CALL_OPERATION_ACTION__RESULT_PIN_EQUAL_PARAMETER = 260;
+	public static final int CALL_OPERATION_ACTION__RESULT_PIN_EQUAL_PARAMETER = 259;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Type Target Pin' of 'Call Operation Action'.
@@ -2676,7 +2675,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int CALL_OPERATION_ACTION__TYPE_TARGET_PIN = 258;
+	public static final int CALL_OPERATION_ACTION__TYPE_TARGET_PIN = 260;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Type Ordering Multiplicity' of 'Call Operation Action'.
@@ -2716,7 +2715,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int INFORMATION_ITEM__SOURCES_AND_TARGETS = 349;
+	public static final int INFORMATION_ITEM__SOURCES_AND_TARGETS = 351;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Has No' of 'Information Item'.
@@ -2724,7 +2723,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int INFORMATION_ITEM__HAS_NO = 350;
+	public static final int INFORMATION_ITEM__HAS_NO = 349;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Not Instantiable' of 'Information Item'.
@@ -2732,7 +2731,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int INFORMATION_ITEM__NOT_INSTANTIABLE = 351;
+	public static final int INFORMATION_ITEM__NOT_INSTANTIABLE = 350;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Sources And Targets Kind' of 'Information Flow'.
@@ -2740,7 +2739,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int INFORMATION_FLOW__SOURCES_AND_TARGETS_KIND = 347;
+	public static final int INFORMATION_FLOW__SOURCES_AND_TARGETS_KIND = 346;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Must Conform' of 'Information Flow'.
@@ -2748,7 +2747,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int INFORMATION_FLOW__MUST_CONFORM = 346;
+	public static final int INFORMATION_FLOW__MUST_CONFORM = 347;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Convey Classifiers' of 'Information Flow'.
@@ -2788,7 +2787,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int WRITE_VARIABLE_ACTION__SAME_TYPE = 244;
+	public static final int WRITE_VARIABLE_ACTION__SAME_TYPE = 245;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Multiplicity' of 'Write Variable Action'.
@@ -2796,7 +2795,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int WRITE_VARIABLE_ACTION__MULTIPLICITY = 245;
+	public static final int WRITE_VARIABLE_ACTION__MULTIPLICITY = 244;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Single Input Pin' of 'Add Variable Value Action'.
@@ -2820,7 +2819,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int ACTION_INPUT_PIN__ONE_OUTPUT_PIN = 219;
+	public static final int ACTION_INPUT_PIN__ONE_OUTPUT_PIN = 220;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Input Pin' of 'Action Input Pin'.
@@ -2836,7 +2835,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int ACTION_INPUT_PIN__NO_CONTROL_OR_DATA_FLOW = 220;
+	public static final int ACTION_INPUT_PIN__NO_CONTROL_OR_DATA_FLOW = 219;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Type Is Classifier' of 'Read Extent Action'.
@@ -2860,7 +2859,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int RECLASSIFY_OBJECT_ACTION__CLASSIFIER_NOT_ABSTRACT = 400;
+	public static final int RECLASSIFY_OBJECT_ACTION__CLASSIFIER_NOT_ABSTRACT = 401;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Multiplicity' of 'Reclassify Object Action'.
@@ -2868,7 +2867,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int RECLASSIFY_OBJECT_ACTION__MULTIPLICITY = 401;
+	public static final int RECLASSIFY_OBJECT_ACTION__MULTIPLICITY = 400;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Input Pin' of 'Reclassify Object Action'.
@@ -2916,7 +2915,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int START_CLASSIFIER_BEHAVIOR_ACTION__MULTIPLICITY = 411;
+	public static final int START_CLASSIFIER_BEHAVIOR_ACTION__MULTIPLICITY = 412;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Type Has Classifier' of 'Start Classifier Behavior Action'.
@@ -2924,7 +2923,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int START_CLASSIFIER_BEHAVIOR_ACTION__TYPE_HAS_CLASSIFIER = 412;
+	public static final int START_CLASSIFIER_BEHAVIOR_ACTION__TYPE_HAS_CLASSIFIER = 411;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Property' of 'Read Link Object End Action'.
@@ -2932,7 +2931,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int READ_LINK_OBJECT_END_ACTION__PROPERTY = 376;
+	public static final int READ_LINK_OBJECT_END_ACTION__PROPERTY = 380;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Association Of Association' of 'Read Link Object End Action'.
@@ -2940,7 +2939,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int READ_LINK_OBJECT_END_ACTION__ASSOCIATION_OF_ASSOCIATION = 382;
+	public static final int READ_LINK_OBJECT_END_ACTION__ASSOCIATION_OF_ASSOCIATION = 376;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Ends Of Association' of 'Read Link Object End Action'.
@@ -2948,7 +2947,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int READ_LINK_OBJECT_END_ACTION__ENDS_OF_ASSOCIATION = 378;
+	public static final int READ_LINK_OBJECT_END_ACTION__ENDS_OF_ASSOCIATION = 382;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Type Of Object' of 'Read Link Object End Action'.
@@ -2956,7 +2955,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int READ_LINK_OBJECT_END_ACTION__TYPE_OF_OBJECT = 381;
+	public static final int READ_LINK_OBJECT_END_ACTION__TYPE_OF_OBJECT = 379;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Multiplicity Of Object' of 'Read Link Object End Action'.
@@ -2972,7 +2971,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int READ_LINK_OBJECT_END_ACTION__TYPE_OF_RESULT = 379;
+	public static final int READ_LINK_OBJECT_END_ACTION__TYPE_OF_RESULT = 378;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Multiplicity Of Result' of 'Read Link Object End Action'.
@@ -2980,7 +2979,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int READ_LINK_OBJECT_END_ACTION__MULTIPLICITY_OF_RESULT = 380;
+	public static final int READ_LINK_OBJECT_END_ACTION__MULTIPLICITY_OF_RESULT = 381;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Qualifier Attribute' of 'Read Link Object End Qualifier Action'.
@@ -3012,7 +3011,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int READ_LINK_OBJECT_END_QUALIFIER_ACTION__TYPE_OF_OBJECT = 384;
+	public static final int READ_LINK_OBJECT_END_QUALIFIER_ACTION__TYPE_OF_OBJECT = 383;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Multiplicity Of Qualifier' of 'Read Link Object End Qualifier Action'.
@@ -3020,7 +3019,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int READ_LINK_OBJECT_END_QUALIFIER_ACTION__MULTIPLICITY_OF_QUALIFIER = 385;
+	public static final int READ_LINK_OBJECT_END_QUALIFIER_ACTION__MULTIPLICITY_OF_QUALIFIER = 387;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Multiplicity Of Object' of 'Read Link Object End Qualifier Action'.
@@ -3028,7 +3027,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int READ_LINK_OBJECT_END_QUALIFIER_ACTION__MULTIPLICITY_OF_OBJECT = 383;
+	public static final int READ_LINK_OBJECT_END_QUALIFIER_ACTION__MULTIPLICITY_OF_OBJECT = 388;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Same Type' of 'Read Link Object End Qualifier Action'.
@@ -3036,7 +3035,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int READ_LINK_OBJECT_END_QUALIFIER_ACTION__SAME_TYPE = 388;
+	public static final int READ_LINK_OBJECT_END_QUALIFIER_ACTION__SAME_TYPE = 385;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Multiplicity Of Result' of 'Read Link Object End Qualifier Action'.
@@ -3044,7 +3043,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int READ_LINK_OBJECT_END_QUALIFIER_ACTION__MULTIPLICITY_OF_RESULT = 387;
+	public static final int READ_LINK_OBJECT_END_QUALIFIER_ACTION__MULTIPLICITY_OF_RESULT = 384;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Association Class' of 'Create Link Object Action'.
@@ -3052,7 +3051,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int CREATE_LINK_OBJECT_ACTION__ASSOCIATION_CLASS = 305;
+	public static final int CREATE_LINK_OBJECT_ACTION__ASSOCIATION_CLASS = 303;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Type Of Result' of 'Create Link Object Action'.
@@ -3068,7 +3067,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int CREATE_LINK_OBJECT_ACTION__MULTIPLICITY = 303;
+	public static final int CREATE_LINK_OBJECT_ACTION__MULTIPLICITY = 305;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate No Input Pins' of 'Accept Event Action'.
@@ -3076,7 +3075,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int ACCEPT_EVENT_ACTION__NO_INPUT_PINS = 153;
+	public static final int ACCEPT_EVENT_ACTION__NO_INPUT_PINS = 152;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate No Output Pins' of 'Accept Event Action'.
@@ -3084,7 +3083,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int ACCEPT_EVENT_ACTION__NO_OUTPUT_PINS = 154;
+	public static final int ACCEPT_EVENT_ACTION__NO_OUTPUT_PINS = 155;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Trigger Events' of 'Accept Event Action'.
@@ -3092,7 +3091,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int ACCEPT_EVENT_ACTION__TRIGGER_EVENTS = 152;
+	public static final int ACCEPT_EVENT_ACTION__TRIGGER_EVENTS = 153;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Unmarshall Signal Events' of 'Accept Event Action'.
@@ -3100,7 +3099,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int ACCEPT_EVENT_ACTION__UNMARSHALL_SIGNAL_EVENTS = 155;
+	public static final int ACCEPT_EVENT_ACTION__UNMARSHALL_SIGNAL_EVENTS = 154;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Result Pins' of 'Accept Call Action'.
@@ -3108,7 +3107,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int ACCEPT_CALL_ACTION__RESULT_PINS = 149;
+	public static final int ACCEPT_CALL_ACTION__RESULT_PINS = 151;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Trigger Call Event' of 'Accept Call Action'.
@@ -3116,7 +3115,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int ACCEPT_CALL_ACTION__TRIGGER_CALL_EVENT = 150;
+	public static final int ACCEPT_CALL_ACTION__TRIGGER_CALL_EVENT = 149;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Unmarshall' of 'Accept Call Action'.
@@ -3124,7 +3123,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int ACCEPT_CALL_ACTION__UNMARSHALL = 151;
+	public static final int ACCEPT_CALL_ACTION__UNMARSHALL = 150;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Pins Match Parameter' of 'Reply Action'.
@@ -3132,7 +3131,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int REPLY_ACTION__PINS_MATCH_PARAMETER = 407;
+	public static final int REPLY_ACTION__PINS_MATCH_PARAMETER = 408;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Event On Reply To Call Trigger' of 'Reply Action'.
@@ -3140,7 +3139,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int REPLY_ACTION__EVENT_ON_REPLY_TO_CALL_TRIGGER = 408;
+	public static final int REPLY_ACTION__EVENT_ON_REPLY_TO_CALL_TRIGGER = 407;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Same Type' of 'Unmarshall Action'.
@@ -3148,7 +3147,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int UNMARSHALL_ACTION__SAME_TYPE = 429;
+	public static final int UNMARSHALL_ACTION__SAME_TYPE = 423;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Multiplicity Of Object' of 'Unmarshall Action'.
@@ -3156,7 +3155,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int UNMARSHALL_ACTION__MULTIPLICITY_OF_OBJECT = 428;
+	public static final int UNMARSHALL_ACTION__MULTIPLICITY_OF_OBJECT = 425;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Number Of Result' of 'Unmarshall Action'.
@@ -3164,7 +3163,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int UNMARSHALL_ACTION__NUMBER_OF_RESULT = 424;
+	public static final int UNMARSHALL_ACTION__NUMBER_OF_RESULT = 427;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Type And Ordering' of 'Unmarshall Action'.
@@ -3180,7 +3179,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int UNMARSHALL_ACTION__MULTIPLICITY_OF_RESULT = 425;
+	public static final int UNMARSHALL_ACTION__MULTIPLICITY_OF_RESULT = 429;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Structural Feature' of 'Unmarshall Action'.
@@ -3188,7 +3187,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int UNMARSHALL_ACTION__STRUCTURAL_FEATURE = 423;
+	public static final int UNMARSHALL_ACTION__STRUCTURAL_FEATURE = 424;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Unmarshall Type Is Classifier' of 'Unmarshall Action'.
@@ -3196,7 +3195,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int UNMARSHALL_ACTION__UNMARSHALL_TYPE_IS_CLASSIFIER = 427;
+	public static final int UNMARSHALL_ACTION__UNMARSHALL_TYPE_IS_CLASSIFIER = 428;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Input Type Is Collection' of 'Reduce Action'.
@@ -3204,7 +3203,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int REDUCE_ACTION__INPUT_TYPE_IS_COLLECTION = 403;
+	public static final int REDUCE_ACTION__INPUT_TYPE_IS_COLLECTION = 404;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Output Types Are Compatible' of 'Reduce Action'.
@@ -3212,7 +3211,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int REDUCE_ACTION__OUTPUT_TYPES_ARE_COMPATIBLE = 404;
+	public static final int REDUCE_ACTION__OUTPUT_TYPES_ARE_COMPATIBLE = 402;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Reducer Inputs Output' of 'Reduce Action'.
@@ -3220,7 +3219,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int REDUCE_ACTION__REDUCER_INPUTS_OUTPUT = 402;
+	public static final int REDUCE_ACTION__REDUCER_INPUTS_OUTPUT = 403;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Type Of Object' of 'Start Object Behavior Action'.
@@ -3228,7 +3227,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int START_OBJECT_BEHAVIOR_ACTION__TYPE_OF_OBJECT = 417;
+	public static final int START_OBJECT_BEHAVIOR_ACTION__TYPE_OF_OBJECT = 416;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Multiplicity Of Object' of 'Start Object Behavior Action'.
@@ -3236,7 +3235,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int START_OBJECT_BEHAVIOR_ACTION__MULTIPLICITY_OF_OBJECT = 414;
+	public static final int START_OBJECT_BEHAVIOR_ACTION__MULTIPLICITY_OF_OBJECT = 417;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Number Order Arguments' of 'Start Object Behavior Action'.
@@ -3244,7 +3243,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int START_OBJECT_BEHAVIOR_ACTION__NUMBER_ORDER_ARGUMENTS = 416;
+	public static final int START_OBJECT_BEHAVIOR_ACTION__NUMBER_ORDER_ARGUMENTS = 413;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Number Order Results' of 'Start Object Behavior Action'.
@@ -3252,7 +3251,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int START_OBJECT_BEHAVIOR_ACTION__NUMBER_ORDER_RESULTS = 413;
+	public static final int START_OBJECT_BEHAVIOR_ACTION__NUMBER_ORDER_RESULTS = 415;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Type Ordering Multiplicity Match' of 'Start Object Behavior Action'.
@@ -3260,7 +3259,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int START_OBJECT_BEHAVIOR_ACTION__TYPE_ORDERING_MULTIPLICITY_MATCH = 415;
+	public static final int START_OBJECT_BEHAVIOR_ACTION__TYPE_ORDERING_MULTIPLICITY_MATCH = 414;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Object Nodes' of 'Control Flow'.
@@ -3292,7 +3291,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int ACTIVITY_PARAMETER_NODE__HAS_PARAMETERS = 224;
+	public static final int ACTIVITY_PARAMETER_NODE__HAS_PARAMETERS = 228;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Same Type' of 'Activity Parameter Node'.
@@ -3300,7 +3299,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int ACTIVITY_PARAMETER_NODE__SAME_TYPE = 225;
+	public static final int ACTIVITY_PARAMETER_NODE__SAME_TYPE = 227;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate No Edges' of 'Activity Parameter Node'.
@@ -3308,7 +3307,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int ACTIVITY_PARAMETER_NODE__NO_EDGES = 228;
+	public static final int ACTIVITY_PARAMETER_NODE__NO_EDGES = 224;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate No Incoming Edges' of 'Activity Parameter Node'.
@@ -3316,7 +3315,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int ACTIVITY_PARAMETER_NODE__NO_INCOMING_EDGES = 227;
+	public static final int ACTIVITY_PARAMETER_NODE__NO_INCOMING_EDGES = 225;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate No Outgoing Edges' of 'Activity Parameter Node'.
@@ -3324,7 +3323,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int ACTIVITY_PARAMETER_NODE__NO_OUTGOING_EDGES = 222;
+	public static final int ACTIVITY_PARAMETER_NODE__NO_OUTGOING_EDGES = 226;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Maximum One Parameter Node' of 'Activity Parameter Node'.
@@ -3332,7 +3331,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int ACTIVITY_PARAMETER_NODE__MAXIMUM_ONE_PARAMETER_NODE = 226;
+	public static final int ACTIVITY_PARAMETER_NODE__MAXIMUM_ONE_PARAMETER_NODE = 222;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Maximum Two Parameter Nodes' of 'Activity Parameter Node'.
@@ -3388,7 +3387,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int DECISION_NODE__INCOMING_OUTGOING_EDGES = 314;
+	public static final int DECISION_NODE__INCOMING_OUTGOING_EDGES = 312;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Edges' of 'Decision Node'.
@@ -3396,7 +3395,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int DECISION_NODE__EDGES = 311;
+	public static final int DECISION_NODE__EDGES = 317;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Decision Input Flow Incoming' of 'Decision Node'.
@@ -3404,7 +3403,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int DECISION_NODE__DECISION_INPUT_FLOW_INCOMING = 312;
+	public static final int DECISION_NODE__DECISION_INPUT_FLOW_INCOMING = 315;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Parameters' of 'Decision Node'.
@@ -3412,7 +3411,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int DECISION_NODE__PARAMETERS = 316;
+	public static final int DECISION_NODE__PARAMETERS = 310;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Zero Input Parameters' of 'Decision Node'.
@@ -3420,7 +3419,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int DECISION_NODE__ZERO_INPUT_PARAMETERS = 310;
+	public static final int DECISION_NODE__ZERO_INPUT_PARAMETERS = 316;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Incoming Object One Input Parameter' of 'Decision Node'.
@@ -3428,7 +3427,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int DECISION_NODE__INCOMING_OBJECT_ONE_INPUT_PARAMETER = 317;
+	public static final int DECISION_NODE__INCOMING_OBJECT_ONE_INPUT_PARAMETER = 311;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Incoming Control One Input Parameter' of 'Decision Node'.
@@ -3436,7 +3435,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int DECISION_NODE__INCOMING_CONTROL_ONE_INPUT_PARAMETER = 315;
+	public static final int DECISION_NODE__INCOMING_CONTROL_ONE_INPUT_PARAMETER = 313;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Two Input Parameters' of 'Decision Node'.
@@ -3444,7 +3443,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int DECISION_NODE__TWO_INPUT_PARAMETERS = 313;
+	public static final int DECISION_NODE__TWO_INPUT_PARAMETERS = 314;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate One Outgoing Edge' of 'Join Node'.
@@ -3468,7 +3467,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int OBJECT_FLOW__NO_ACTIONS = 319;
+	public static final int OBJECT_FLOW__NO_ACTIONS = 321;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Compatible Types' of 'Object Flow'.
@@ -3476,7 +3475,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int OBJECT_FLOW__COMPATIBLE_TYPES = 322;
+	public static final int OBJECT_FLOW__COMPATIBLE_TYPES = 320;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Same Upper Bounds' of 'Object Flow'.
@@ -3484,7 +3483,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int OBJECT_FLOW__SAME_UPPER_BOUNDS = 323;
+	public static final int OBJECT_FLOW__SAME_UPPER_BOUNDS = 325;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Target' of 'Object Flow'.
@@ -3500,7 +3499,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int OBJECT_FLOW__TRANSFORMATION_BEHAVIOUR = 320;
+	public static final int OBJECT_FLOW__TRANSFORMATION_BEHAVIOUR = 323;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Selection Behaviour' of 'Object Flow'.
@@ -3508,7 +3507,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int OBJECT_FLOW__SELECTION_BEHAVIOUR = 321;
+	public static final int OBJECT_FLOW__SELECTION_BEHAVIOUR = 319;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Input And Output Parameter' of 'Object Flow'.
@@ -3516,7 +3515,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int OBJECT_FLOW__INPUT_AND_OUTPUT_PARAMETER = 318;
+	public static final int OBJECT_FLOW__INPUT_AND_OUTPUT_PARAMETER = 322;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Is Multicast Or Is Multireceive' of 'Object Flow'.
@@ -3524,7 +3523,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int OBJECT_FLOW__IS_MULTICAST_OR_IS_MULTIRECEIVE = 325;
+	public static final int OBJECT_FLOW__IS_MULTICAST_OR_IS_MULTIRECEIVE = 318;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Result No Incoming' of 'Conditional Node'.
@@ -3532,7 +3531,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int CONDITIONAL_NODE__RESULT_NO_INCOMING = 276;
+	public static final int CONDITIONAL_NODE__RESULT_NO_INCOMING = 280;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate No Input Pins' of 'Conditional Node'.
@@ -3540,7 +3539,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int CONDITIONAL_NODE__NO_INPUT_PINS = 277;
+	public static final int CONDITIONAL_NODE__NO_INPUT_PINS = 281;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate One Clause With Executable Node' of 'Conditional Node'.
@@ -3548,7 +3547,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int CONDITIONAL_NODE__ONE_CLAUSE_WITH_EXECUTABLE_NODE = 278;
+	public static final int CONDITIONAL_NODE__ONE_CLAUSE_WITH_EXECUTABLE_NODE = 279;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Matching Output Pins' of 'Conditional Node'.
@@ -3556,7 +3555,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int CONDITIONAL_NODE__MATCHING_OUTPUT_PINS = 279;
+	public static final int CONDITIONAL_NODE__MATCHING_OUTPUT_PINS = 278;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Executable Nodes' of 'Conditional Node'.
@@ -3564,7 +3563,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int CONDITIONAL_NODE__EXECUTABLE_NODES = 280;
+	public static final int CONDITIONAL_NODE__EXECUTABLE_NODES = 276;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Clause No Predecessor' of 'Conditional Node'.
@@ -3572,7 +3571,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int CONDITIONAL_NODE__CLAUSE_NO_PREDECESSOR = 281;
+	public static final int CONDITIONAL_NODE__CLAUSE_NO_PREDECESSOR = 277;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Decider Output' of 'Clause'.
@@ -3580,7 +3579,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int CLAUSE__DECIDER_OUTPUT = 263;
+	public static final int CLAUSE__DECIDER_OUTPUT = 264;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Test And Body' of 'Clause'.
@@ -3588,7 +3587,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int CLAUSE__TEST_AND_BODY = 264;
+	public static final int CLAUSE__TEST_AND_BODY = 262;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Body Output Pins' of 'Clause'.
@@ -3596,7 +3595,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int CLAUSE__BODY_OUTPUT_PINS = 262;
+	public static final int CLAUSE__BODY_OUTPUT_PINS = 263;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Input Edges' of 'Loop Node'.
@@ -3604,7 +3603,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int LOOP_NODE__INPUT_EDGES = 357;
+	public static final int LOOP_NODE__INPUT_EDGES = 359;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Executable Nodes' of 'Loop Node'.
@@ -3612,7 +3611,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int LOOP_NODE__EXECUTABLE_NODES = 358;
+	public static final int LOOP_NODE__EXECUTABLE_NODES = 356;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Body Output Pins' of 'Loop Node'.
@@ -3620,7 +3619,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int LOOP_NODE__BODY_OUTPUT_PINS = 359;
+	public static final int LOOP_NODE__BODY_OUTPUT_PINS = 357;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Result No Incoming' of 'Loop Node'.
@@ -3628,7 +3627,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int LOOP_NODE__RESULT_NO_INCOMING = 356;
+	public static final int LOOP_NODE__RESULT_NO_INCOMING = 358;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Expansion Nodes' of 'Expansion Region'.
@@ -3660,7 +3659,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int COMPONENT__NO_NESTED_CLASSIFIERS = 274;
+	public static final int COMPONENT__NO_NESTED_CLASSIFIERS = 275;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate No Packaged Elements' of 'Component'.
@@ -3668,7 +3667,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int COMPONENT__NO_PACKAGED_ELEMENTS = 275;
+	public static final int COMPONENT__NO_PACKAGED_ELEMENTS = 274;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate No Outgoing Transitions' of 'Final State'.
@@ -3676,7 +3675,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int FINAL_STATE__NO_OUTGOING_TRANSITIONS = 337;
+	public static final int FINAL_STATE__NO_OUTGOING_TRANSITIONS = 336;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate No Regions' of 'Final State'.
@@ -3684,7 +3683,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int FINAL_STATE__NO_REGIONS = 338;
+	public static final int FINAL_STATE__NO_REGIONS = 341;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Cannot Reference Submachine' of 'Final State'.
@@ -3692,7 +3691,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int FINAL_STATE__CANNOT_REFERENCE_SUBMACHINE = 339;
+	public static final int FINAL_STATE__CANNOT_REFERENCE_SUBMACHINE = 337;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate No Entry Behavior' of 'Final State'.
@@ -3700,7 +3699,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int FINAL_STATE__NO_ENTRY_BEHAVIOR = 340;
+	public static final int FINAL_STATE__NO_ENTRY_BEHAVIOR = 339;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate No Exit Behavior' of 'Final State'.
@@ -3708,7 +3707,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int FINAL_STATE__NO_EXIT_BEHAVIOR = 336;
+	public static final int FINAL_STATE__NO_EXIT_BEHAVIOR = 338;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate No State Behavior' of 'Final State'.
@@ -3716,7 +3715,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int FINAL_STATE__NO_STATE_BEHAVIOR = 341;
+	public static final int FINAL_STATE__NO_STATE_BEHAVIOR = 340;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate When Non Negative' of 'Time Event'.
@@ -3724,7 +3723,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int TIME_EVENT__WHEN_NON_NEGATIVE = 421;
+	public static final int TIME_EVENT__WHEN_NON_NEGATIVE = 422;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Starting Time' of 'Time Event'.
@@ -3732,7 +3731,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int TIME_EVENT__STARTING_TIME = 422;
+	public static final int TIME_EVENT__STARTING_TIME = 421;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Belongs To Psm' of 'Protocol Transition'.
@@ -3764,7 +3763,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int ASSOCIATION_CLASS__CANNOT_BE_DEFINED = 247;
+	public static final int ASSOCIATION_CLASS__CANNOT_BE_DEFINED = 248;
 
 	/**
 	 * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Disjoint Attributes Ends' of 'Association Class'.
@@ -3772,7 +3771,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public static final int ASSOCIATION_CLASS__DISJOINT_ATTRIBUTES_ENDS = 248;
+	public static final int ASSOCIATION_CLASS__DISJOINT_ATTRIBUTES_ENDS = 247;
 
 	/**
 	 * A constant with a fixed name that can be used as the base value for additional hand written constants.
@@ -3827,12 +3826,12 @@
 			case UMLPackage.DEPENDENCY :
 				return validateDependency((Dependency) value, diagnostics,
 					context);
-			case UMLPackage.DIRECTED_RELATIONSHIP :
-				return validateDirectedRelationship(
-					(DirectedRelationship) value, diagnostics, context);
-			case UMLPackage.RELATIONSHIP :
-				return validateRelationship((Relationship) value, diagnostics,
-					context);
+			case UMLPackage.PACKAGEABLE_ELEMENT :
+				return validatePackageableElement((PackageableElement) value,
+					diagnostics, context);
+			case UMLPackage.PARAMETERABLE_ELEMENT :
+				return validateParameterableElement(
+					(ParameterableElement) value, diagnostics, context);
 			case UMLPackage.ELEMENT :
 				return validateElement((Element) value, diagnostics, context);
 			case UMLPackage.COMMENT :
@@ -3843,9 +3842,12 @@
 			case UMLPackage.CLASS :
 				return validateClass((org.eclipse.uml2.uml.Class) value,
 					diagnostics, context);
-			case UMLPackage.BEHAVIORED_CLASSIFIER :
-				return validateBehavioredClassifier(
-					(BehavioredClassifier) value, diagnostics, context);
+			case UMLPackage.ENCAPSULATED_CLASSIFIER :
+				return validateEncapsulatedClassifier(
+					(EncapsulatedClassifier) value, diagnostics, context);
+			case UMLPackage.STRUCTURED_CLASSIFIER :
+				return validateStructuredClassifier(
+					(StructuredClassifier) value, diagnostics, context);
 			case UMLPackage.CLASSIFIER :
 				return validateClassifier((Classifier) value, diagnostics,
 					context);
@@ -3858,24 +3860,6 @@
 			case UMLPackage.STRING_EXPRESSION :
 				return validateStringExpression((StringExpression) value,
 					diagnostics, context);
-			case UMLPackage.TEMPLATEABLE_ELEMENT :
-				return validateTemplateableElement((TemplateableElement) value,
-					diagnostics, context);
-			case UMLPackage.TEMPLATE_SIGNATURE :
-				return validateTemplateSignature((TemplateSignature) value,
-					diagnostics, context);
-			case UMLPackage.TEMPLATE_PARAMETER :
-				return validateTemplateParameter((TemplateParameter) value,
-					diagnostics, context);
-			case UMLPackage.PARAMETERABLE_ELEMENT :
-				return validateParameterableElement(
-					(ParameterableElement) value, diagnostics, context);
-			case UMLPackage.TEMPLATE_BINDING :
-				return validateTemplateBinding((TemplateBinding) value,
-					diagnostics, context);
-			case UMLPackage.TEMPLATE_PARAMETER_SUBSTITUTION :
-				return validateTemplateParameterSubstitution(
-					(TemplateParameterSubstitution) value, diagnostics, context);
 			case UMLPackage.EXPRESSION :
 				return validateExpression((Expression) value, diagnostics,
 					context);
@@ -3887,12 +3871,30 @@
 					context);
 			case UMLPackage.TYPE :
 				return validateType((Type) value, diagnostics, context);
-			case UMLPackage.PACKAGEABLE_ELEMENT :
-				return validatePackageableElement((PackageableElement) value,
-					diagnostics, context);
 			case UMLPackage.PACKAGE :
 				return validatePackage((org.eclipse.uml2.uml.Package) value,
 					diagnostics, context);
+			case UMLPackage.TEMPLATEABLE_ELEMENT :
+				return validateTemplateableElement((TemplateableElement) value,
+					diagnostics, context);
+			case UMLPackage.TEMPLATE_SIGNATURE :
+				return validateTemplateSignature((TemplateSignature) value,
+					diagnostics, context);
+			case UMLPackage.TEMPLATE_PARAMETER :
+				return validateTemplateParameter((TemplateParameter) value,
+					diagnostics, context);
+			case UMLPackage.TEMPLATE_BINDING :
+				return validateTemplateBinding((TemplateBinding) value,
+					diagnostics, context);
+			case UMLPackage.DIRECTED_RELATIONSHIP :
+				return validateDirectedRelationship(
+					(DirectedRelationship) value, diagnostics, context);
+			case UMLPackage.RELATIONSHIP :
+				return validateRelationship((Relationship) value, diagnostics,
+					context);
+			case UMLPackage.TEMPLATE_PARAMETER_SUBSTITUTION :
+				return validateTemplateParameterSubstitution(
+					(TemplateParameterSubstitution) value, diagnostics, context);
 			case UMLPackage.PACKAGE_MERGE :
 				return validatePackageMerge((PackageMerge) value, diagnostics,
 					context);
@@ -3915,15 +3917,23 @@
 					context);
 			case UMLPackage.PROPERTY :
 				return validateProperty((Property) value, diagnostics, context);
+			case UMLPackage.STRUCTURAL_FEATURE :
+				return validateStructuralFeature((StructuralFeature) value,
+					diagnostics, context);
+			case UMLPackage.MULTIPLICITY_ELEMENT :
+				return validateMultiplicityElement((MultiplicityElement) value,
+					diagnostics, context);
+			case UMLPackage.FEATURE :
+				return validateFeature((Feature) value, diagnostics, context);
+			case UMLPackage.REDEFINABLE_ELEMENT :
+				return validateRedefinableElement((RedefinableElement) value,
+					diagnostics, context);
 			case UMLPackage.CONNECTABLE_ELEMENT :
 				return validateConnectableElement((ConnectableElement) value,
 					diagnostics, context);
 			case UMLPackage.CONNECTOR_END :
 				return validateConnectorEnd((ConnectorEnd) value, diagnostics,
 					context);
-			case UMLPackage.MULTIPLICITY_ELEMENT :
-				return validateMultiplicityElement((MultiplicityElement) value,
-					diagnostics, context);
 			case UMLPackage.CONNECTABLE_ELEMENT_TEMPLATE_PARAMETER :
 				return validateConnectableElementTemplateParameter(
 					(ConnectableElementTemplateParameter) value, diagnostics,
@@ -3951,24 +3961,17 @@
 			case UMLPackage.BEHAVIORAL_FEATURE :
 				return validateBehavioralFeature((BehavioralFeature) value,
 					diagnostics, context);
-			case UMLPackage.FEATURE :
-				return validateFeature((Feature) value, diagnostics, context);
-			case UMLPackage.REDEFINABLE_ELEMENT :
-				return validateRedefinableElement((RedefinableElement) value,
-					diagnostics, context);
 			case UMLPackage.BEHAVIOR :
 				return validateBehavior((Behavior) value, diagnostics, context);
-			case UMLPackage.PARAMETER :
-				return validateParameter((Parameter) value, diagnostics,
+			case UMLPackage.BEHAVIORED_CLASSIFIER :
+				return validateBehavioredClassifier(
+					(BehavioredClassifier) value, diagnostics, context);
+			case UMLPackage.INTERFACE_REALIZATION :
+				return validateInterfaceRealization(
+					(InterfaceRealization) value, diagnostics, context);
+			case UMLPackage.REALIZATION :
+				return validateRealization((Realization) value, diagnostics,
 					context);
-			case UMLPackage.PARAMETER_SET :
-				return validateParameterSet((ParameterSet) value, diagnostics,
-					context);
-			case UMLPackage.CONSTRAINT :
-				return validateConstraint((Constraint) value, diagnostics,
-					context);
-			case UMLPackage.DATA_TYPE :
-				return validateDataType((DataType) value, diagnostics, context);
 			case UMLPackage.INTERFACE :
 				return validateInterface((Interface) value, diagnostics,
 					context);
@@ -4001,18 +4004,26 @@
 				return validateEvent((Event) value, diagnostics, context);
 			case UMLPackage.PORT :
 				return validatePort((Port) value, diagnostics, context);
+			case UMLPackage.CONSTRAINT :
+				return validateConstraint((Constraint) value, diagnostics,
+					context);
 			case UMLPackage.TRANSITION :
 				return validateTransition((Transition) value, diagnostics,
 					context);
 			case UMLPackage.PROTOCOL_CONFORMANCE :
 				return validateProtocolConformance((ProtocolConformance) value,
 					diagnostics, context);
+			case UMLPackage.PARAMETER :
+				return validateParameter((Parameter) value, diagnostics,
+					context);
+			case UMLPackage.PARAMETER_SET :
+				return validateParameterSet((ParameterSet) value, diagnostics,
+					context);
+			case UMLPackage.DATA_TYPE :
+				return validateDataType((DataType) value, diagnostics, context);
 			case UMLPackage.OPERATION_TEMPLATE_PARAMETER :
 				return validateOperationTemplateParameter(
 					(OperationTemplateParameter) value, diagnostics, context);
-			case UMLPackage.STRUCTURAL_FEATURE :
-				return validateStructuralFeature((StructuralFeature) value,
-					diagnostics, context);
 			case UMLPackage.EXTENSION_END :
 				return validateExtensionEnd((ExtensionEnd) value, diagnostics,
 					context);
@@ -4040,12 +4051,6 @@
 			case UMLPackage.COLLABORATION :
 				return validateCollaboration((Collaboration) value,
 					diagnostics, context);
-			case UMLPackage.STRUCTURED_CLASSIFIER :
-				return validateStructuredClassifier(
-					(StructuredClassifier) value, diagnostics, context);
-			case UMLPackage.CONNECTOR :
-				return validateConnector((Connector) value, diagnostics,
-					context);
 			case UMLPackage.GENERALIZATION :
 				return validateGeneralization((Generalization) value,
 					diagnostics, context);
@@ -4067,18 +4072,12 @@
 			case UMLPackage.SUBSTITUTION :
 				return validateSubstitution((Substitution) value, diagnostics,
 					context);
-			case UMLPackage.REALIZATION :
-				return validateRealization((Realization) value, diagnostics,
-					context);
 			case UMLPackage.CLASSIFIER_TEMPLATE_PARAMETER :
 				return validateClassifierTemplateParameter(
 					(ClassifierTemplateParameter) value, diagnostics, context);
-			case UMLPackage.INTERFACE_REALIZATION :
-				return validateInterfaceRealization(
-					(InterfaceRealization) value, diagnostics, context);
-			case UMLPackage.ENCAPSULATED_CLASSIFIER :
-				return validateEncapsulatedClassifier(
-					(EncapsulatedClassifier) value, diagnostics, context);
+			case UMLPackage.CONNECTOR :
+				return validateConnector((Connector) value, diagnostics,
+					context);
 			case UMLPackage.IMAGE :
 				return validateImage((Image) value, diagnostics, context);
 			case UMLPackage.OPAQUE_EXPRESSION :
@@ -4100,12 +4099,12 @@
 					context);
 			case UMLPackage.ACTIVITY :
 				return validateActivity((Activity) value, diagnostics, context);
-			case UMLPackage.ACTIVITY_EDGE :
-				return validateActivityEdge((ActivityEdge) value, diagnostics,
-					context);
 			case UMLPackage.ACTIVITY_GROUP :
 				return validateActivityGroup((ActivityGroup) value,
 					diagnostics, context);
+			case UMLPackage.ACTIVITY_EDGE :
+				return validateActivityEdge((ActivityEdge) value, diagnostics,
+					context);
 			case UMLPackage.ACTIVITY_PARTITION :
 				return validateActivityPartition((ActivityPartition) value,
 					diagnostics, context);
@@ -4520,18 +4519,18 @@
 			case UMLPackage.CALL_CONCURRENCY_KIND :
 				return validateCallConcurrencyKind((CallConcurrencyKind) value,
 					diagnostics, context);
-			case UMLPackage.PARAMETER_DIRECTION_KIND :
-				return validateParameterDirectionKind(
-					(ParameterDirectionKind) value, diagnostics, context);
-			case UMLPackage.PARAMETER_EFFECT_KIND :
-				return validateParameterEffectKind((ParameterEffectKind) value,
-					diagnostics, context);
 			case UMLPackage.TRANSITION_KIND :
 				return validateTransitionKind((TransitionKind) value,
 					diagnostics, context);
 			case UMLPackage.PSEUDOSTATE_KIND :
 				return validatePseudostateKind((PseudostateKind) value,
 					diagnostics, context);
+			case UMLPackage.PARAMETER_DIRECTION_KIND :
+				return validateParameterDirectionKind(
+					(ParameterDirectionKind) value, diagnostics, context);
+			case UMLPackage.PARAMETER_EFFECT_KIND :
+				return validateParameterEffectKind((ParameterEffectKind) value,
+					diagnostics, context);
 			case UMLPackage.AGGREGATION_KIND :
 				return validateAggregationKind((AggregationKind) value,
 					diagnostics, context);
@@ -4803,14 +4802,14 @@
 			result &= validateElement_validateNotOwnSelf(literalSpecification,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				literalSpecification, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				literalSpecification, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				literalSpecification, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				literalSpecification, diagnostics, context);
 		return result;
 	}
 
@@ -4855,14 +4854,14 @@
 			result &= validateElement_validateNotOwnSelf(valueSpecification,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				valueSpecification, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				valueSpecification, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				valueSpecification, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				valueSpecification, diagnostics, context);
 		return result;
 	}
 
@@ -4904,14 +4903,14 @@
 			result &= validateElement_validateNotOwnSelf(typedElement,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				typedElement, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				typedElement, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				typedElement, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				typedElement, diagnostics, context);
 		return result;
 	}
 
@@ -4953,14 +4952,14 @@
 			result &= validateElement_validateNotOwnSelf(namedElement,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				namedElement, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				namedElement, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				namedElement, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				namedElement, diagnostics, context);
 		return result;
 	}
 
@@ -5038,14 +5037,14 @@
 			result &= validateElement_validateNotOwnSelf(dependency,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				dependency, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(dependency,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				dependency, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				dependency, diagnostics, context);
 		return result;
 	}
 
@@ -5090,14 +5089,14 @@
 			result &= validateElement_validateNotOwnSelf(packageableElement,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				packageableElement, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				packageableElement, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				packageableElement, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				packageableElement, diagnostics, context);
 		return result;
 	}
 
@@ -5470,15 +5469,15 @@
 			result &= validateElement_validateNotOwnSelf(namespace,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				namespace, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(namespace,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				namespace, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				namespace, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateNamespace_validateMembersDistinguishable(
 				namespace, diagnostics, context);
 		return result;
@@ -5534,10 +5533,10 @@
 			result &= validateElement_validateNotOwnSelf(elementImport,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateElementImport_validateImportedElementIsPublic(
+			result &= validateElementImport_validateVisibilityPublicOrPrivate(
 				elementImport, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateElementImport_validateVisibilityPublicOrPrivate(
+			result &= validateElementImport_validateImportedElementIsPublic(
 				elementImport, diagnostics, context);
 		return result;
 	}
@@ -5660,15 +5659,15 @@
 			result &= validateElement_validateNotOwnSelf(package_, diagnostics,
 				context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				package_, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(package_,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(package_,
 				diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				package_, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateNamespace_validateMembersDistinguishable(
 				package_, diagnostics, context);
 		if (result || diagnostics != null)
@@ -5764,14 +5763,14 @@
 			result &= validateElement_validateNotOwnSelf(type, diagnostics,
 				context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				type, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(type,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(type,
 				diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				type, diagnostics, context);
 		return result;
 	}
 
@@ -5854,15 +5853,15 @@
 			result &= validateElement_validateNotOwnSelf(profile, diagnostics,
 				context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				profile, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(profile,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(profile,
 				diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				profile, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateNamespace_validateMembersDistinguishable(profile,
 				diagnostics, context);
 		if (result || diagnostics != null)
@@ -5939,15 +5938,15 @@
 			result &= validateElement_validateNotOwnSelf(stereotype,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				stereotype, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(stereotype,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				stereotype, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				stereotype, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateNamespace_validateMembersDistinguishable(
 				stereotype, diagnostics, context);
 		if (result || diagnostics != null)
@@ -5960,18 +5959,18 @@
 			result &= validateRedefinableElement_validateRedefinitionContextValid(
 				stereotype, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateClassifier_validateSpecializeType(stereotype,
-				diagnostics, context);
-		if (result || diagnostics != null)
-			result &= validateClassifier_validateMapsToGeneralizationSet(
-				stereotype, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateClassifier_validateNonFinalParents(stereotype,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateClassifier_validateNoCyclesInGeneralization(
 				stereotype, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateClassifier_validateSpecializeType(stereotype,
+				diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateClassifier_validateMapsToGeneralizationSet(
+				stereotype, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateStructuredClassifier_validateMultiplicities(
 				stereotype, diagnostics, context);
 		if (result || diagnostics != null)
@@ -5981,17 +5980,17 @@
 			result &= validateClass_validatePassiveClass(stereotype,
 				diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateStereotype_validateAssociationEndOwnership(
+				stereotype, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateStereotype_validateNameNotClash(stereotype,
+				diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateStereotype_validateBinaryAssociationsOnly(
 				stereotype, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateStereotype_validateGeneralize(stereotype,
 				diagnostics, context);
-		if (result || diagnostics != null)
-			result &= validateStereotype_validateNameNotClash(stereotype,
-				diagnostics, context);
-		if (result || diagnostics != null)
-			result &= validateStereotype_validateAssociationEndOwnership(
-				stereotype, diagnostics, context);
 		return result;
 	}
 
@@ -6077,15 +6076,15 @@
 			result &= validateElement_validateNotOwnSelf(class_, diagnostics,
 				context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				class_, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(class_,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(class_,
 				diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				class_, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateNamespace_validateMembersDistinguishable(class_,
 				diagnostics, context);
 		if (result || diagnostics != null)
@@ -6098,18 +6097,18 @@
 			result &= validateRedefinableElement_validateRedefinitionContextValid(
 				class_, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateClassifier_validateSpecializeType(class_,
-				diagnostics, context);
-		if (result || diagnostics != null)
-			result &= validateClassifier_validateMapsToGeneralizationSet(
-				class_, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateClassifier_validateNonFinalParents(class_,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateClassifier_validateNoCyclesInGeneralization(
 				class_, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateClassifier_validateSpecializeType(class_,
+				diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateClassifier_validateMapsToGeneralizationSet(
+				class_, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateStructuredClassifier_validateMultiplicities(
 				class_, diagnostics, context);
 		if (result || diagnostics != null)
@@ -6174,15 +6173,15 @@
 			result &= validateElement_validateNotOwnSelf(behavioredClassifier,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				behavioredClassifier, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				behavioredClassifier, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				behavioredClassifier, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				behavioredClassifier, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateNamespace_validateMembersDistinguishable(
 				behavioredClassifier, diagnostics, context);
 		if (result || diagnostics != null)
@@ -6195,18 +6194,18 @@
 			result &= validateRedefinableElement_validateRedefinitionContextValid(
 				behavioredClassifier, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateClassifier_validateSpecializeType(
-				behavioredClassifier, diagnostics, context);
-		if (result || diagnostics != null)
-			result &= validateClassifier_validateMapsToGeneralizationSet(
-				behavioredClassifier, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateClassifier_validateNonFinalParents(
 				behavioredClassifier, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateClassifier_validateNoCyclesInGeneralization(
 				behavioredClassifier, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateClassifier_validateSpecializeType(
+				behavioredClassifier, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateClassifier_validateMapsToGeneralizationSet(
+				behavioredClassifier, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateBehavioredClassifier_validateClassBehavior(
 				behavioredClassifier, diagnostics, context);
 		return result;
@@ -6261,15 +6260,15 @@
 			result &= validateElement_validateNotOwnSelf(classifier,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				classifier, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(classifier,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				classifier, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				classifier, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateNamespace_validateMembersDistinguishable(
 				classifier, diagnostics, context);
 		if (result || diagnostics != null)
@@ -6282,17 +6281,17 @@
 			result &= validateRedefinableElement_validateRedefinitionContextValid(
 				classifier, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateClassifier_validateSpecializeType(classifier,
-				diagnostics, context);
-		if (result || diagnostics != null)
-			result &= validateClassifier_validateMapsToGeneralizationSet(
-				classifier, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateClassifier_validateNonFinalParents(classifier,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateClassifier_validateNoCyclesInGeneralization(
 				classifier, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateClassifier_validateSpecializeType(classifier,
+				diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateClassifier_validateMapsToGeneralizationSet(
+				classifier, diagnostics, context);
 		return result;
 	}
 
@@ -6386,15 +6385,15 @@
 			result &= validateElement_validateNotOwnSelf(redefinableElement,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				redefinableElement, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				redefinableElement, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				redefinableElement, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				redefinableElement, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateRedefinableElement_validateRedefinitionConsistent(
 				redefinableElement, diagnostics, context);
 		if (result || diagnostics != null)
@@ -6542,20 +6541,20 @@
 			result &= validateElement_validateNotOwnSelf(generalizationSet,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				generalizationSet, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				generalizationSet, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				generalizationSet, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateGeneralizationSet_validateGeneralizationSameClassifier(
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
 				generalizationSet, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateGeneralizationSet_validateMapsToGeneralizationSet(
 				generalizationSet, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateGeneralizationSet_validateGeneralizationSameClassifier(
+				generalizationSet, diagnostics, context);
 		return result;
 	}
 
@@ -6621,15 +6620,15 @@
 			result &= validateElement_validateNotOwnSelf(feature, diagnostics,
 				context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				feature, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(feature,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(feature,
 				diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				feature, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateRedefinableElement_validateRedefinitionConsistent(
 				feature, diagnostics, context);
 		if (result || diagnostics != null)
@@ -6677,15 +6676,15 @@
 			result &= validateElement_validateNotOwnSelf(useCase, diagnostics,
 				context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				useCase, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(useCase,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(useCase,
 				diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				useCase, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateNamespace_validateMembersDistinguishable(useCase,
 				diagnostics, context);
 		if (result || diagnostics != null)
@@ -6698,31 +6697,31 @@
 			result &= validateRedefinableElement_validateRedefinitionContextValid(
 				useCase, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateClassifier_validateSpecializeType(useCase,
-				diagnostics, context);
-		if (result || diagnostics != null)
-			result &= validateClassifier_validateMapsToGeneralizationSet(
-				useCase, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateClassifier_validateNonFinalParents(useCase,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateClassifier_validateNoCyclesInGeneralization(
 				useCase, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateClassifier_validateSpecializeType(useCase,
+				diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateClassifier_validateMapsToGeneralizationSet(
+				useCase, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateBehavioredClassifier_validateClassBehavior(
 				useCase, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateUseCase_validateBinaryAssociations(useCase,
-				diagnostics, context);
-		if (result || diagnostics != null)
-			result &= validateUseCase_validateNoAssociationToUseCase(useCase,
+			result &= validateUseCase_validateMustHaveName(useCase,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateUseCase_validateCannotIncludeSelf(useCase,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateUseCase_validateMustHaveName(useCase,
+			result &= validateUseCase_validateBinaryAssociations(useCase,
+				diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateUseCase_validateNoAssociationToUseCase(useCase,
 				diagnostics, context);
 		return result;
 	}
@@ -6808,14 +6807,14 @@
 			result &= validateElement_validateNotOwnSelf(include, diagnostics,
 				context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				include, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(include,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(include,
 				diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				include, diagnostics, context);
 		return result;
 	}
 
@@ -6854,15 +6853,15 @@
 			result &= validateElement_validateNotOwnSelf(extend, diagnostics,
 				context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				extend, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(extend,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(extend,
 				diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				extend, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateExtend_validateExtensionPoints(extend,
 				diagnostics, context);
 		return result;
@@ -6916,22 +6915,22 @@
 			result &= validateElement_validateNotOwnSelf(constraint,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				constraint, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(constraint,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				constraint, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateConstraint_validateBooleanValue(constraint,
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				constraint, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateConstraint_validateNotApplyToSelf(constraint,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateConstraint_validateNoSideEffects(constraint,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateConstraint_validateNotApplyToSelf(constraint,
+			result &= validateConstraint_validateBooleanValue(constraint,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateConstraint_validateValueSpecificationBoolean(
@@ -7027,15 +7026,15 @@
 			result &= validateElement_validateNotOwnSelf(extensionPoint,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				extensionPoint, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				extensionPoint, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				extensionPoint, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				extensionPoint, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateRedefinableElement_validateRedefinitionConsistent(
 				extensionPoint, diagnostics, context);
 		if (result || diagnostics != null)
@@ -7100,14 +7099,14 @@
 			result &= validateElement_validateNotOwnSelf(substitution,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				substitution, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				substitution, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				substitution, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				substitution, diagnostics, context);
 		return result;
 	}
 
@@ -7148,14 +7147,14 @@
 			result &= validateElement_validateNotOwnSelf(realization,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				realization, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				realization, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				realization, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				realization, diagnostics, context);
 		return result;
 	}
 
@@ -7196,14 +7195,14 @@
 			result &= validateElement_validateNotOwnSelf(abstraction,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				abstraction, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				abstraction, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				abstraction, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				abstraction, diagnostics, context);
 		return result;
 	}
 
@@ -7246,22 +7245,22 @@
 			result &= validateElement_validateNotOwnSelf(opaqueExpression,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				opaqueExpression, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				opaqueExpression, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				opaqueExpression, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateOpaqueExpression_validateLanguageBodySize(
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				opaqueExpression, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateOpaqueExpression_validateOnlyReturnResultParameters(
 				opaqueExpression, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateOpaqueExpression_validateOneReturnResultParameter(
 				opaqueExpression, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateOpaqueExpression_validateOnlyReturnResultParameters(
+			result &= validateOpaqueExpression_validateLanguageBodySize(
 				opaqueExpression, diagnostics, context);
 		return result;
 	}
@@ -7341,37 +7340,37 @@
 			result &= validateElement_validateNotOwnSelf(parameter,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				parameter, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(parameter,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				parameter, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateMultiplicityElement_validateUpperGeLower(
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
 				parameter, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateMultiplicityElement_validateLowerGe0(parameter,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateMultiplicityElement_validateValueSpecificationNoSideEffects(
+			result &= validateMultiplicityElement_validateUpperGeLower(
 				parameter, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateMultiplicityElement_validateValueSpecificationConstant(
 				parameter, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateParameter_validateInAndOut(parameter,
-				diagnostics, context);
+			result &= validateMultiplicityElement_validateValueSpecificationNoSideEffects(
+				parameter, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateParameter_validateNotException(parameter,
+			result &= validateParameter_validateReentrantBehaviors(parameter,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateParameter_validateConnectorEnd(parameter,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateParameter_validateReentrantBehaviors(parameter,
+			result &= validateParameter_validateNotException(parameter,
+				diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateParameter_validateInAndOut(parameter,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateParameter_validateStreamAndException(parameter,
@@ -7477,17 +7476,17 @@
 			result &= validateElement_validateNotOwnSelf(multiplicityElement,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateMultiplicityElement_validateUpperGeLower(
-				multiplicityElement, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateMultiplicityElement_validateLowerGe0(
 				multiplicityElement, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateMultiplicityElement_validateValueSpecificationNoSideEffects(
+			result &= validateMultiplicityElement_validateUpperGeLower(
 				multiplicityElement, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateMultiplicityElement_validateValueSpecificationConstant(
 				multiplicityElement, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateMultiplicityElement_validateValueSpecificationNoSideEffects(
+				multiplicityElement, diagnostics, context);
 		return result;
 	}
 
@@ -7582,14 +7581,14 @@
 			result &= validateElement_validateNotOwnSelf(connectableElement,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				connectableElement, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				connectableElement, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				connectableElement, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				connectableElement, diagnostics, context);
 		return result;
 	}
 
@@ -7631,28 +7630,28 @@
 			result &= validateElement_validateNotOwnSelf(connectorEnd,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateMultiplicityElement_validateUpperGeLower(
-				connectorEnd, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateMultiplicityElement_validateLowerGe0(
 				connectorEnd, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateMultiplicityElement_validateValueSpecificationNoSideEffects(
+			result &= validateMultiplicityElement_validateUpperGeLower(
 				connectorEnd, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateMultiplicityElement_validateValueSpecificationConstant(
 				connectorEnd, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateMultiplicityElement_validateValueSpecificationNoSideEffects(
+				connectorEnd, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateConnectorEnd_validateRoleAndPartWithPort(
 				connectorEnd, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateConnectorEnd_validatePartWithPortEmpty(
+			result &= validateConnectorEnd_validateSelfPartWithPort(
 				connectorEnd, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateConnectorEnd_validateMultiplicity(connectorEnd,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateConnectorEnd_validateSelfPartWithPort(
+			result &= validateConnectorEnd_validatePartWithPortEmpty(
 				connectorEnd, diagnostics, context);
 		return result;
 	}
@@ -7742,15 +7741,15 @@
 			result &= validateElement_validateNotOwnSelf(property, diagnostics,
 				context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				property, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(property,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(property,
 				diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				property, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateRedefinableElement_validateRedefinitionConsistent(
 				property, diagnostics, context);
 		if (result || diagnostics != null)
@@ -7760,43 +7759,43 @@
 			result &= validateRedefinableElement_validateRedefinitionContextValid(
 				property, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateMultiplicityElement_validateUpperGeLower(
-				property, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateMultiplicityElement_validateLowerGe0(property,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateMultiplicityElement_validateValueSpecificationNoSideEffects(
+			result &= validateMultiplicityElement_validateUpperGeLower(
 				property, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateMultiplicityElement_validateValueSpecificationConstant(
 				property, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateProperty_validateSubsettingContextConforms(
+			result &= validateMultiplicityElement_validateValueSpecificationNoSideEffects(
 				property, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateProperty_validateDerivedUnionIsReadOnly(property,
+			result &= validateProperty_validateSubsettedPropertyNames(property,
+				diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateProperty_validateSubsettingRules(property,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateProperty_validateMultiplicityOfComposite(
 				property, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateProperty_validateBindingToAttribute(property,
+				diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateProperty_validateRedefinedPropertyInherited(
 				property, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateProperty_validateSubsettingRules(property,
-				diagnostics, context);
+			result &= validateProperty_validateSubsettingContextConforms(
+				property, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateProperty_validateBindingToAttribute(property,
+			result &= validateProperty_validateDeploymentTarget(property,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateProperty_validateDerivedUnionIsDerived(property,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateProperty_validateDeploymentTarget(property,
-				diagnostics, context);
-		if (result || diagnostics != null)
-			result &= validateProperty_validateSubsettedPropertyNames(property,
+			result &= validateProperty_validateDerivedUnionIsReadOnly(property,
 				diagnostics, context);
 		return result;
 	}
@@ -7947,14 +7946,14 @@
 			result &= validateElement_validateNotOwnSelf(deploymentTarget,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				deploymentTarget, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				deploymentTarget, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				deploymentTarget, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				deploymentTarget, diagnostics, context);
 		return result;
 	}
 
@@ -7995,14 +7994,14 @@
 			result &= validateElement_validateNotOwnSelf(deployment,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				deployment, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(deployment,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				deployment, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				deployment, diagnostics, context);
 		return result;
 	}
 
@@ -8045,14 +8044,14 @@
 			result &= validateElement_validateNotOwnSelf(deployedArtifact,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				deployedArtifact, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				deployedArtifact, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				deployedArtifact, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				deployedArtifact, diagnostics, context);
 		return result;
 	}
 
@@ -8097,15 +8096,15 @@
 			result &= validateElement_validateNotOwnSelf(
 				deploymentSpecification, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				deploymentSpecification, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				deploymentSpecification, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				deploymentSpecification, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				deploymentSpecification, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateNamespace_validateMembersDistinguishable(
 				deploymentSpecification, diagnostics, context);
 		if (result || diagnostics != null)
@@ -8118,23 +8117,23 @@
 			result &= validateRedefinableElement_validateRedefinitionContextValid(
 				deploymentSpecification, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateClassifier_validateSpecializeType(
-				deploymentSpecification, diagnostics, context);
-		if (result || diagnostics != null)
-			result &= validateClassifier_validateMapsToGeneralizationSet(
-				deploymentSpecification, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateClassifier_validateNonFinalParents(
 				deploymentSpecification, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateClassifier_validateNoCyclesInGeneralization(
 				deploymentSpecification, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateDeploymentSpecification_validateDeploymentTarget(
+			result &= validateClassifier_validateSpecializeType(
+				deploymentSpecification, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateClassifier_validateMapsToGeneralizationSet(
 				deploymentSpecification, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateDeploymentSpecification_validateDeployedElements(
 				deploymentSpecification, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateDeploymentSpecification_validateDeploymentTarget(
+				deploymentSpecification, diagnostics, context);
 		return result;
 	}
 
@@ -8201,15 +8200,15 @@
 			result &= validateElement_validateNotOwnSelf(artifact, diagnostics,
 				context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				artifact, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(artifact,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(artifact,
 				diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				artifact, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateNamespace_validateMembersDistinguishable(
 				artifact, diagnostics, context);
 		if (result || diagnostics != null)
@@ -8222,17 +8221,17 @@
 			result &= validateRedefinableElement_validateRedefinitionContextValid(
 				artifact, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateClassifier_validateSpecializeType(artifact,
-				diagnostics, context);
-		if (result || diagnostics != null)
-			result &= validateClassifier_validateMapsToGeneralizationSet(
-				artifact, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateClassifier_validateNonFinalParents(artifact,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateClassifier_validateNoCyclesInGeneralization(
 				artifact, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateClassifier_validateSpecializeType(artifact,
+				diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateClassifier_validateMapsToGeneralizationSet(
+				artifact, diagnostics, context);
 		return result;
 	}
 
@@ -8274,14 +8273,14 @@
 			result &= validateElement_validateNotOwnSelf(manifestation,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				manifestation, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				manifestation, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				manifestation, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				manifestation, diagnostics, context);
 		return result;
 	}
 
@@ -8322,15 +8321,15 @@
 			result &= validateElement_validateNotOwnSelf(operation,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				operation, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(operation,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				operation, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				operation, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateNamespace_validateMembersDistinguishable(
 				operation, diagnostics, context);
 		if (result || diagnostics != null)
@@ -8415,15 +8414,15 @@
 			result &= validateElement_validateNotOwnSelf(behavioralFeature,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				behavioralFeature, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				behavioralFeature, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				behavioralFeature, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				behavioralFeature, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateNamespace_validateMembersDistinguishable(
 				behavioralFeature, diagnostics, context);
 		if (result || diagnostics != null)
@@ -8475,15 +8474,15 @@
 			result &= validateElement_validateNotOwnSelf(behavior, diagnostics,
 				context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				behavior, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(behavior,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(behavior,
 				diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				behavior, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateNamespace_validateMembersDistinguishable(
 				behavior, diagnostics, context);
 		if (result || diagnostics != null)
@@ -8496,18 +8495,18 @@
 			result &= validateRedefinableElement_validateRedefinitionContextValid(
 				behavior, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateClassifier_validateSpecializeType(behavior,
-				diagnostics, context);
-		if (result || diagnostics != null)
-			result &= validateClassifier_validateMapsToGeneralizationSet(
-				behavior, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateClassifier_validateNonFinalParents(behavior,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateClassifier_validateNoCyclesInGeneralization(
 				behavior, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateClassifier_validateSpecializeType(behavior,
+				diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateClassifier_validateMapsToGeneralizationSet(
+				behavior, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateStructuredClassifier_validateMultiplicities(
 				behavior, diagnostics, context);
 		if (result || diagnostics != null)
@@ -8517,17 +8516,17 @@
 			result &= validateClass_validatePassiveClass(behavior, diagnostics,
 				context);
 		if (result || diagnostics != null)
-			result &= validateBehavior_validateMostOneBehaviour(behavior,
-				diagnostics, context);
-		if (result || diagnostics != null)
-			result &= validateBehavior_validateMustRealize(behavior,
-				diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateBehavior_validateParametersMatch(behavior,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateBehavior_validateFeatureOfContextClassifier(
 				behavior, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateBehavior_validateMustRealize(behavior,
+				diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateBehavior_validateMostOneBehaviour(behavior,
+				diagnostics, context);
 		return result;
 	}
 
@@ -8615,22 +8614,22 @@
 			result &= validateElement_validateNotOwnSelf(parameterSet,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				parameterSet, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				parameterSet, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				parameterSet, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateParameterSet_validateSameParameterizedEntity(
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				parameterSet, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateParameterSet_validateTwoParameterSets(
 				parameterSet, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateParameterSet_validateInput(parameterSet,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateParameterSet_validateTwoParameterSets(
+			result &= validateParameterSet_validateSameParameterizedEntity(
 				parameterSet, diagnostics, context);
 		return result;
 	}
@@ -8709,15 +8708,15 @@
 			result &= validateElement_validateNotOwnSelf(dataType, diagnostics,
 				context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				dataType, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(dataType,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(dataType,
 				diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				dataType, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateNamespace_validateMembersDistinguishable(
 				dataType, diagnostics, context);
 		if (result || diagnostics != null)
@@ -8730,17 +8729,17 @@
 			result &= validateRedefinableElement_validateRedefinitionContextValid(
 				dataType, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateClassifier_validateSpecializeType(dataType,
-				diagnostics, context);
-		if (result || diagnostics != null)
-			result &= validateClassifier_validateMapsToGeneralizationSet(
-				dataType, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateClassifier_validateNonFinalParents(dataType,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateClassifier_validateNoCyclesInGeneralization(
 				dataType, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateClassifier_validateSpecializeType(dataType,
+				diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateClassifier_validateMapsToGeneralizationSet(
+				dataType, diagnostics, context);
 		return result;
 	}
 
@@ -8781,15 +8780,15 @@
 			result &= validateElement_validateNotOwnSelf(interface_,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				interface_, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(interface_,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				interface_, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				interface_, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateNamespace_validateMembersDistinguishable(
 				interface_, diagnostics, context);
 		if (result || diagnostics != null)
@@ -8802,18 +8801,18 @@
 			result &= validateRedefinableElement_validateRedefinitionContextValid(
 				interface_, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateClassifier_validateSpecializeType(interface_,
-				diagnostics, context);
-		if (result || diagnostics != null)
-			result &= validateClassifier_validateMapsToGeneralizationSet(
-				interface_, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateClassifier_validateNonFinalParents(interface_,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateClassifier_validateNoCyclesInGeneralization(
 				interface_, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateClassifier_validateSpecializeType(interface_,
+				diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateClassifier_validateMapsToGeneralizationSet(
+				interface_, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateInterface_validateVisibility(interface_,
 				diagnostics, context);
 		return result;
@@ -8867,15 +8866,15 @@
 			result &= validateElement_validateNotOwnSelf(reception,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				reception, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(reception,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				reception, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				reception, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateNamespace_validateMembersDistinguishable(
 				reception, diagnostics, context);
 		if (result || diagnostics != null)
@@ -8939,15 +8938,15 @@
 			result &= validateElement_validateNotOwnSelf(signal, diagnostics,
 				context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				signal, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(signal,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(signal,
 				diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				signal, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateNamespace_validateMembersDistinguishable(signal,
 				diagnostics, context);
 		if (result || diagnostics != null)
@@ -8960,17 +8959,17 @@
 			result &= validateRedefinableElement_validateRedefinitionContextValid(
 				signal, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateClassifier_validateSpecializeType(signal,
-				diagnostics, context);
-		if (result || diagnostics != null)
-			result &= validateClassifier_validateMapsToGeneralizationSet(
-				signal, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateClassifier_validateNonFinalParents(signal,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateClassifier_validateNoCyclesInGeneralization(
 				signal, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateClassifier_validateSpecializeType(signal,
+				diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateClassifier_validateMapsToGeneralizationSet(
+				signal, diagnostics, context);
 		return result;
 	}
 
@@ -9015,15 +9014,15 @@
 			result &= validateElement_validateNotOwnSelf(protocolStateMachine,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				protocolStateMachine, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				protocolStateMachine, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				protocolStateMachine, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				protocolStateMachine, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateNamespace_validateMembersDistinguishable(
 				protocolStateMachine, diagnostics, context);
 		if (result || diagnostics != null)
@@ -9036,18 +9035,18 @@
 			result &= validateRedefinableElement_validateRedefinitionContextValid(
 				protocolStateMachine, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateClassifier_validateSpecializeType(
-				protocolStateMachine, diagnostics, context);
-		if (result || diagnostics != null)
-			result &= validateClassifier_validateMapsToGeneralizationSet(
-				protocolStateMachine, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateClassifier_validateNonFinalParents(
 				protocolStateMachine, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateClassifier_validateNoCyclesInGeneralization(
 				protocolStateMachine, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateClassifier_validateSpecializeType(
+				protocolStateMachine, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateClassifier_validateMapsToGeneralizationSet(
+				protocolStateMachine, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateStructuredClassifier_validateMultiplicities(
 				protocolStateMachine, diagnostics, context);
 		if (result || diagnostics != null)
@@ -9057,40 +9056,40 @@
 			result &= validateClass_validatePassiveClass(protocolStateMachine,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateBehavior_validateMostOneBehaviour(
-				protocolStateMachine, diagnostics, context);
-		if (result || diagnostics != null)
-			result &= validateBehavior_validateMustRealize(
-				protocolStateMachine, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateBehavior_validateParametersMatch(
 				protocolStateMachine, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateBehavior_validateFeatureOfContextClassifier(
 				protocolStateMachine, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateStateMachine_validateConnectionPoints(
+			result &= validateBehavior_validateMustRealize(
 				protocolStateMachine, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateProtocolStateMachine_validateClassifierContext(
+			result &= validateBehavior_validateMostOneBehaviour(
 				protocolStateMachine, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateStateMachine_validateMethod(protocolStateMachine,
 				diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateProtocolStateMachine_validateClassifierContext(
+				protocolStateMachine, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateStateMachine_validateContextClassifier(
 				protocolStateMachine, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateProtocolStateMachine_validateDeepOrShallowHistory(
+			result &= validateStateMachine_validateConnectionPoints(
 				protocolStateMachine, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateProtocolStateMachine_validateEntryExitDo(
 				protocolStateMachine, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateProtocolStateMachine_validatePortsConnected(
+			result &= validateProtocolStateMachine_validateProtocolTransitions(
 				protocolStateMachine, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateProtocolStateMachine_validateProtocolTransitions(
+			result &= validateProtocolStateMachine_validateDeepOrShallowHistory(
+				protocolStateMachine, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateProtocolStateMachine_validatePortsConnected(
 				protocolStateMachine, diagnostics, context);
 		return result;
 	}
@@ -9197,15 +9196,15 @@
 			result &= validateElement_validateNotOwnSelf(stateMachine,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				stateMachine, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				stateMachine, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				stateMachine, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				stateMachine, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateNamespace_validateMembersDistinguishable(
 				stateMachine, diagnostics, context);
 		if (result || diagnostics != null)
@@ -9218,18 +9217,18 @@
 			result &= validateRedefinableElement_validateRedefinitionContextValid(
 				stateMachine, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateClassifier_validateSpecializeType(stateMachine,
-				diagnostics, context);
-		if (result || diagnostics != null)
-			result &= validateClassifier_validateMapsToGeneralizationSet(
-				stateMachine, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateClassifier_validateNonFinalParents(stateMachine,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateClassifier_validateNoCyclesInGeneralization(
 				stateMachine, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateClassifier_validateSpecializeType(stateMachine,
+				diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateClassifier_validateMapsToGeneralizationSet(
+				stateMachine, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateStructuredClassifier_validateMultiplicities(
 				stateMachine, diagnostics, context);
 		if (result || diagnostics != null)
@@ -9239,29 +9238,29 @@
 			result &= validateClass_validatePassiveClass(stateMachine,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateBehavior_validateMostOneBehaviour(stateMachine,
-				diagnostics, context);
-		if (result || diagnostics != null)
-			result &= validateBehavior_validateMustRealize(stateMachine,
-				diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateBehavior_validateParametersMatch(stateMachine,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateBehavior_validateFeatureOfContextClassifier(
 				stateMachine, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateStateMachine_validateConnectionPoints(
-				stateMachine, diagnostics, context);
+			result &= validateBehavior_validateMustRealize(stateMachine,
+				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateStateMachine_validateClassifierContext(
-				stateMachine, diagnostics, context);
+			result &= validateBehavior_validateMostOneBehaviour(stateMachine,
+				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateStateMachine_validateMethod(stateMachine,
 				diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateStateMachine_validateClassifierContext(
+				stateMachine, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateStateMachine_validateContextClassifier(
 				stateMachine, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateStateMachine_validateConnectionPoints(
+				stateMachine, diagnostics, context);
 		return result;
 	}
 
@@ -9348,15 +9347,15 @@
 			result &= validateElement_validateNotOwnSelf(region, diagnostics,
 				context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				region, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(region,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(region,
 				diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				region, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateNamespace_validateMembersDistinguishable(region,
 				diagnostics, context);
 		if (result || diagnostics != null)
@@ -9369,16 +9368,16 @@
 			result &= validateRedefinableElement_validateRedefinitionContextValid(
 				region, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateRegion_validateDeepHistoryVertex(region,
-				diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateRegion_validateShallowHistoryVertex(region,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateRegion_validateOwned(region, diagnostics, context);
+			result &= validateRegion_validateDeepHistoryVertex(region,
+				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateRegion_validateInitialVertex(region, diagnostics,
 				context);
+		if (result || diagnostics != null)
+			result &= validateRegion_validateOwned(region, diagnostics, context);
 		return result;
 	}
 
@@ -9461,14 +9460,14 @@
 			result &= validateElement_validateNotOwnSelf(vertex, diagnostics,
 				context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				vertex, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(vertex,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(vertex,
 				diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				vertex, diagnostics, context);
 		return result;
 	}
 
@@ -9509,15 +9508,15 @@
 			result &= validateElement_validateNotOwnSelf(transition,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				transition, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(transition,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				transition, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				transition, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateNamespace_validateMembersDistinguishable(
 				transition, diagnostics, context);
 		if (result || diagnostics != null)
@@ -9530,34 +9529,34 @@
 			result &= validateRedefinableElement_validateRedefinitionContextValid(
 				transition, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateTransition_validateStateIsExternal(transition,
+			result &= validateTransition_validateStateIsLocal(transition,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateTransition_validateJoinSegmentGuards(transition,
+			result &= validateTransition_validateForkSegmentGuards(transition,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateTransition_validateStateIsInternal(transition,
-				diagnostics, context);
-		if (result || diagnostics != null)
-			result &= validateTransition_validateOutgoingPseudostates(
-				transition, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateTransition_validateJoinSegmentState(transition,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateTransition_validateForkSegmentState(transition,
-				diagnostics, context);
-		if (result || diagnostics != null)
-			result &= validateTransition_validateSignaturesCompatible(
-				transition, diagnostics, context);
-		if (result || diagnostics != null)
-			result &= validateTransition_validateStateIsLocal(transition,
-				diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateTransition_validateInitialTransition(transition,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateTransition_validateForkSegmentGuards(transition,
+			result &= validateTransition_validateOutgoingPseudostates(
+				transition, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateTransition_validateSignaturesCompatible(
+				transition, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateTransition_validateStateIsInternal(transition,
+				diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateTransition_validateJoinSegmentGuards(transition,
+				diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateTransition_validateForkSegmentState(transition,
+				diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateTransition_validateStateIsExternal(transition,
 				diagnostics, context);
 		return result;
 	}
@@ -9718,14 +9717,14 @@
 			result &= validateElement_validateNotOwnSelf(trigger, diagnostics,
 				context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				trigger, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(trigger,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(trigger,
 				diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				trigger, diagnostics, context);
 		return result;
 	}
 
@@ -9764,14 +9763,14 @@
 			result &= validateElement_validateNotOwnSelf(event, diagnostics,
 				context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				event, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(event,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(event,
 				diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				event, diagnostics, context);
 		return result;
 	}
 
@@ -9810,15 +9809,15 @@
 			result &= validateElement_validateNotOwnSelf(port, diagnostics,
 				context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				port, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(port,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(port,
 				diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				port, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateRedefinableElement_validateRedefinitionConsistent(
 				port, diagnostics, context);
 		if (result || diagnostics != null)
@@ -9828,52 +9827,52 @@
 			result &= validateRedefinableElement_validateRedefinitionContextValid(
 				port, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateMultiplicityElement_validateUpperGeLower(port,
-				diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateMultiplicityElement_validateLowerGe0(port,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateMultiplicityElement_validateValueSpecificationNoSideEffects(
-				port, diagnostics, context);
+			result &= validateMultiplicityElement_validateUpperGeLower(port,
+				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateMultiplicityElement_validateValueSpecificationConstant(
 				port, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateProperty_validateSubsettingContextConforms(port,
-				diagnostics, context);
+			result &= validateMultiplicityElement_validateValueSpecificationNoSideEffects(
+				port, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateProperty_validateDerivedUnionIsReadOnly(port,
-				diagnostics, context);
-		if (result || diagnostics != null)
-			result &= validateProperty_validateMultiplicityOfComposite(port,
-				diagnostics, context);
-		if (result || diagnostics != null)
-			result &= validateProperty_validateRedefinedPropertyInherited(port,
+			result &= validateProperty_validateSubsettedPropertyNames(port,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateProperty_validateSubsettingRules(port,
 				diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateProperty_validateMultiplicityOfComposite(port,
+				diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateProperty_validateBindingToAttribute(port,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateProperty_validateDerivedUnionIsDerived(port,
+			result &= validateProperty_validateRedefinedPropertyInherited(port,
+				diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateProperty_validateSubsettingContextConforms(port,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateProperty_validateDeploymentTarget(port,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateProperty_validateSubsettedPropertyNames(port,
+			result &= validateProperty_validateDerivedUnionIsDerived(port,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validatePort_validatePortDestroyed(port, diagnostics,
+			result &= validateProperty_validateDerivedUnionIsReadOnly(port,
+				diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validatePort_validateDefaultValue(port, diagnostics,
 				context);
 		if (result || diagnostics != null)
 			result &= validatePort_validatePortAggregation(port, diagnostics,
 				context);
 		if (result || diagnostics != null)
-			result &= validatePort_validateDefaultValue(port, diagnostics,
+			result &= validatePort_validatePortDestroyed(port, diagnostics,
 				context);
 		return result;
 	}
@@ -9946,15 +9945,15 @@
 			result &= validateElement_validateNotOwnSelf(state, diagnostics,
 				context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				state, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(state,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(state,
 				diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				state, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateNamespace_validateMembersDistinguishable(state,
 				diagnostics, context);
 		if (result || diagnostics != null)
@@ -9970,9 +9969,6 @@
 			result &= validateState_validateEntryOrExit(state, diagnostics,
 				context);
 		if (result || diagnostics != null)
-			result &= validateState_validateSubmachineStates(state,
-				diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateState_validateCompositeStates(state, diagnostics,
 				context);
 		if (result || diagnostics != null)
@@ -9981,6 +9977,9 @@
 		if (result || diagnostics != null)
 			result &= validateState_validateSubmachineOrRegions(state,
 				diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateState_validateSubmachineStates(state,
+				diagnostics, context);
 		return result;
 	}
 
@@ -10082,20 +10081,20 @@
 			result &= validateElement_validateNotOwnSelf(
 				connectionPointReference, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				connectionPointReference, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				connectionPointReference, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				connectionPointReference, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateConnectionPointReference_validateExitPseudostates(
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
 				connectionPointReference, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateConnectionPointReference_validateEntryPseudostates(
 				connectionPointReference, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateConnectionPointReference_validateExitPseudostates(
+				connectionPointReference, diagnostics, context);
 		return result;
 	}
 
@@ -10162,39 +10161,39 @@
 			result &= validateElement_validateNotOwnSelf(pseudostate,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				pseudostate, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				pseudostate, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				pseudostate, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validatePseudostate_validateTransitionsOutgoing(
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
 				pseudostate, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validatePseudostate_validateChoiceVertex(pseudostate,
-				diagnostics, context);
-		if (result || diagnostics != null)
-			result &= validatePseudostate_validateOutgoingFromInitial(
-				pseudostate, diagnostics, context);
-		if (result || diagnostics != null)
-			result &= validatePseudostate_validateJoinVertex(pseudostate,
-				diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validatePseudostate_validateJunctionVertex(pseudostate,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validatePseudostate_validateHistoryVertices(pseudostate,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validatePseudostate_validateInitialVertex(pseudostate,
-				diagnostics, context);
+			result &= validatePseudostate_validateTransitionsOutgoing(
+				pseudostate, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validatePseudostate_validateOutgoingFromInitial(
+				pseudostate, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validatePseudostate_validateForkVertex(pseudostate,
 				diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validatePseudostate_validateJoinVertex(pseudostate,
+				diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validatePseudostate_validateChoiceVertex(pseudostate,
+				diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validatePseudostate_validateInitialVertex(pseudostate,
+				diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validatePseudostate_validateTransitionsIncoming(
 				pseudostate, diagnostics, context);
 		return result;
@@ -10437,15 +10436,15 @@
 			result &= validateElement_validateNotOwnSelf(structuralFeature,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				structuralFeature, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				structuralFeature, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				structuralFeature, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				structuralFeature, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateRedefinableElement_validateRedefinitionConsistent(
 				structuralFeature, diagnostics, context);
 		if (result || diagnostics != null)
@@ -10455,17 +10454,17 @@
 			result &= validateRedefinableElement_validateRedefinitionContextValid(
 				structuralFeature, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateMultiplicityElement_validateUpperGeLower(
-				structuralFeature, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateMultiplicityElement_validateLowerGe0(
 				structuralFeature, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateMultiplicityElement_validateValueSpecificationNoSideEffects(
+			result &= validateMultiplicityElement_validateUpperGeLower(
 				structuralFeature, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateMultiplicityElement_validateValueSpecificationConstant(
 				structuralFeature, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateMultiplicityElement_validateValueSpecificationNoSideEffects(
+				structuralFeature, diagnostics, context);
 		return result;
 	}
 
@@ -10506,15 +10505,15 @@
 			result &= validateElement_validateNotOwnSelf(association,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				association, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				association, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				association, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				association, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateNamespace_validateMembersDistinguishable(
 				association, diagnostics, context);
 		if (result || diagnostics != null)
@@ -10527,29 +10526,29 @@
 			result &= validateRedefinableElement_validateRedefinitionContextValid(
 				association, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateClassifier_validateSpecializeType(association,
-				diagnostics, context);
-		if (result || diagnostics != null)
-			result &= validateClassifier_validateMapsToGeneralizationSet(
-				association, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateClassifier_validateNonFinalParents(association,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateClassifier_validateNoCyclesInGeneralization(
 				association, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateClassifier_validateSpecializeType(association,
+				diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateClassifier_validateMapsToGeneralizationSet(
+				association, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateAssociation_validateSpecializedEndNumber(
 				association, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateAssociation_validateSpecializedEndTypes(
-				association, diagnostics, context);
-		if (result || diagnostics != null)
-			result &= validateAssociation_validateBinaryAssociations(
-				association, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateAssociation_validateAssociationEnds(association,
 				diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateAssociation_validateBinaryAssociations(
+				association, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateAssociation_validateSpecializedEndTypes(
+				association, diagnostics, context);
 		return result;
 	}
 
@@ -10686,22 +10685,22 @@
 			result &= validateElement_validateNotOwnSelf(collaborationUse,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				collaborationUse, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				collaborationUse, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				collaborationUse, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateCollaborationUse_validateClientElements(
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				collaborationUse, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateCollaborationUse_validateConnectors(
 				collaborationUse, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateCollaborationUse_validateEveryRole(
 				collaborationUse, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateCollaborationUse_validateConnectors(
+			result &= validateCollaborationUse_validateClientElements(
 				collaborationUse, diagnostics, context);
 		return result;
 	}
@@ -10780,15 +10779,15 @@
 			result &= validateElement_validateNotOwnSelf(collaboration,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				collaboration, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				collaboration, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				collaboration, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				collaboration, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateNamespace_validateMembersDistinguishable(
 				collaboration, diagnostics, context);
 		if (result || diagnostics != null)
@@ -10801,18 +10800,18 @@
 			result &= validateRedefinableElement_validateRedefinitionContextValid(
 				collaboration, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateClassifier_validateSpecializeType(collaboration,
-				diagnostics, context);
-		if (result || diagnostics != null)
-			result &= validateClassifier_validateMapsToGeneralizationSet(
-				collaboration, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateClassifier_validateNonFinalParents(collaboration,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateClassifier_validateNoCyclesInGeneralization(
 				collaboration, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateClassifier_validateSpecializeType(collaboration,
+				diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateClassifier_validateMapsToGeneralizationSet(
+				collaboration, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateStructuredClassifier_validateMultiplicities(
 				collaboration, diagnostics, context);
 		if (result || diagnostics != null)
@@ -10862,15 +10861,15 @@
 			result &= validateElement_validateNotOwnSelf(structuredClassifier,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				structuredClassifier, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				structuredClassifier, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				structuredClassifier, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				structuredClassifier, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateNamespace_validateMembersDistinguishable(
 				structuredClassifier, diagnostics, context);
 		if (result || diagnostics != null)
@@ -10883,18 +10882,18 @@
 			result &= validateRedefinableElement_validateRedefinitionContextValid(
 				structuredClassifier, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateClassifier_validateSpecializeType(
-				structuredClassifier, diagnostics, context);
-		if (result || diagnostics != null)
-			result &= validateClassifier_validateMapsToGeneralizationSet(
-				structuredClassifier, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateClassifier_validateNonFinalParents(
 				structuredClassifier, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateClassifier_validateNoCyclesInGeneralization(
 				structuredClassifier, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateClassifier_validateSpecializeType(
+				structuredClassifier, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateClassifier_validateMapsToGeneralizationSet(
+				structuredClassifier, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateStructuredClassifier_validateMultiplicities(
 				structuredClassifier, diagnostics, context);
 		return result;
@@ -10950,15 +10949,15 @@
 			result &= validateElement_validateNotOwnSelf(connector,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				connector, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(connector,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				connector, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				connector, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateRedefinableElement_validateRedefinitionConsistent(
 				connector, diagnostics, context);
 		if (result || diagnostics != null)
@@ -10968,8 +10967,8 @@
 			result &= validateRedefinableElement_validateRedefinitionContextValid(
 				connector, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateConnector_validateTypes(connector, diagnostics,
-				context);
+			result &= validateConnector_validateCompatible(connector,
+				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateConnector_validateRoles(connector, diagnostics,
 				context);
@@ -10977,8 +10976,8 @@
 			result &= validateConnector_validateBetweenInterfacesPorts(
 				connector, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateConnector_validateCompatible(connector,
-				diagnostics, context);
+			result &= validateConnector_validateTypes(connector, diagnostics,
+				context);
 		return result;
 	}
 
@@ -11068,15 +11067,15 @@
 			result &= validateElement_validateNotOwnSelf(
 				redefinableTemplateSignature, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				redefinableTemplateSignature, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				redefinableTemplateSignature, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				redefinableTemplateSignature, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				redefinableTemplateSignature, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateRedefinableElement_validateRedefinitionConsistent(
 				redefinableTemplateSignature, diagnostics, context);
 		if (result || diagnostics != null)
@@ -11210,14 +11209,14 @@
 			result &= validateElement_validateNotOwnSelf(interfaceRealization,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				interfaceRealization, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				interfaceRealization, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				interfaceRealization, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				interfaceRealization, diagnostics, context);
 		return result;
 	}
 
@@ -11262,15 +11261,15 @@
 			result &= validateElement_validateNotOwnSelf(
 				encapsulatedClassifier, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				encapsulatedClassifier, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				encapsulatedClassifier, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				encapsulatedClassifier, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				encapsulatedClassifier, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateNamespace_validateMembersDistinguishable(
 				encapsulatedClassifier, diagnostics, context);
 		if (result || diagnostics != null)
@@ -11283,18 +11282,18 @@
 			result &= validateRedefinableElement_validateRedefinitionContextValid(
 				encapsulatedClassifier, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateClassifier_validateSpecializeType(
-				encapsulatedClassifier, diagnostics, context);
-		if (result || diagnostics != null)
-			result &= validateClassifier_validateMapsToGeneralizationSet(
-				encapsulatedClassifier, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateClassifier_validateNonFinalParents(
 				encapsulatedClassifier, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateClassifier_validateNoCyclesInGeneralization(
 				encapsulatedClassifier, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateClassifier_validateSpecializeType(
+				encapsulatedClassifier, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateClassifier_validateMapsToGeneralizationSet(
+				encapsulatedClassifier, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateStructuredClassifier_validateMultiplicities(
 				encapsulatedClassifier, diagnostics, context);
 		return result;
@@ -11337,15 +11336,15 @@
 			result &= validateElement_validateNotOwnSelf(extension,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				extension, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(extension,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				extension, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				extension, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateNamespace_validateMembersDistinguishable(
 				extension, diagnostics, context);
 		if (result || diagnostics != null)
@@ -11358,29 +11357,29 @@
 			result &= validateRedefinableElement_validateRedefinitionContextValid(
 				extension, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateClassifier_validateSpecializeType(extension,
-				diagnostics, context);
-		if (result || diagnostics != null)
-			result &= validateClassifier_validateMapsToGeneralizationSet(
-				extension, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateClassifier_validateNonFinalParents(extension,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateClassifier_validateNoCyclesInGeneralization(
 				extension, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateClassifier_validateSpecializeType(extension,
+				diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateClassifier_validateMapsToGeneralizationSet(
+				extension, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateAssociation_validateSpecializedEndNumber(
 				extension, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateAssociation_validateSpecializedEndTypes(
-				extension, diagnostics, context);
+			result &= validateAssociation_validateAssociationEnds(extension,
+				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateAssociation_validateBinaryAssociations(extension,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateAssociation_validateAssociationEnds(extension,
-				diagnostics, context);
+			result &= validateAssociation_validateSpecializedEndTypes(
+				extension, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateExtension_validateNonOwnedEnd(extension,
 				diagnostics, context);
@@ -11450,15 +11449,15 @@
 			result &= validateElement_validateNotOwnSelf(extensionEnd,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				extensionEnd, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				extensionEnd, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				extensionEnd, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				extensionEnd, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateRedefinableElement_validateRedefinitionConsistent(
 				extensionEnd, diagnostics, context);
 		if (result || diagnostics != null)
@@ -11468,43 +11467,43 @@
 			result &= validateRedefinableElement_validateRedefinitionContextValid(
 				extensionEnd, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateMultiplicityElement_validateUpperGeLower(
-				extensionEnd, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateMultiplicityElement_validateLowerGe0(
 				extensionEnd, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateMultiplicityElement_validateValueSpecificationNoSideEffects(
+			result &= validateMultiplicityElement_validateUpperGeLower(
 				extensionEnd, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateMultiplicityElement_validateValueSpecificationConstant(
 				extensionEnd, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateProperty_validateSubsettingContextConforms(
+			result &= validateMultiplicityElement_validateValueSpecificationNoSideEffects(
 				extensionEnd, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateProperty_validateDerivedUnionIsReadOnly(
-				extensionEnd, diagnostics, context);
-		if (result || diagnostics != null)
-			result &= validateProperty_validateMultiplicityOfComposite(
-				extensionEnd, diagnostics, context);
-		if (result || diagnostics != null)
-			result &= validateProperty_validateRedefinedPropertyInherited(
+			result &= validateProperty_validateSubsettedPropertyNames(
 				extensionEnd, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateProperty_validateSubsettingRules(extensionEnd,
 				diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateProperty_validateMultiplicityOfComposite(
+				extensionEnd, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateProperty_validateBindingToAttribute(extensionEnd,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateProperty_validateDerivedUnionIsDerived(
+			result &= validateProperty_validateRedefinedPropertyInherited(
+				extensionEnd, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateProperty_validateSubsettingContextConforms(
 				extensionEnd, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateProperty_validateDeploymentTarget(extensionEnd,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateProperty_validateSubsettedPropertyNames(
+			result &= validateProperty_validateDerivedUnionIsDerived(
+				extensionEnd, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateProperty_validateDerivedUnionIsReadOnly(
 				extensionEnd, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateExtensionEnd_validateMultiplicity(extensionEnd,
@@ -11615,20 +11614,20 @@
 			result &= validateElement_validateNotOwnSelf(stringExpression,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				stringExpression, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				stringExpression, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				stringExpression, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateStringExpression_validateOperands(
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
 				stringExpression, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateStringExpression_validateSubexpressions(
 				stringExpression, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateStringExpression_validateOperands(
+				stringExpression, diagnostics, context);
 		return result;
 	}
 
@@ -11693,14 +11692,14 @@
 			result &= validateElement_validateNotOwnSelf(expression,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				expression, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(expression,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				expression, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				expression, diagnostics, context);
 		return result;
 	}
 
@@ -11743,14 +11742,14 @@
 			result &= validateElement_validateNotOwnSelf(literalInteger,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				literalInteger, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				literalInteger, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				literalInteger, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				literalInteger, diagnostics, context);
 		return result;
 	}
 
@@ -11792,14 +11791,14 @@
 			result &= validateElement_validateNotOwnSelf(literalString,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				literalString, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				literalString, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				literalString, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				literalString, diagnostics, context);
 		return result;
 	}
 
@@ -11842,14 +11841,14 @@
 			result &= validateElement_validateNotOwnSelf(literalBoolean,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				literalBoolean, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				literalBoolean, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				literalBoolean, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				literalBoolean, diagnostics, context);
 		return result;
 	}
 
@@ -11890,14 +11889,14 @@
 			result &= validateElement_validateNotOwnSelf(literalNull,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				literalNull, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				literalNull, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				literalNull, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				literalNull, diagnostics, context);
 		return result;
 	}
 
@@ -11938,14 +11937,14 @@
 			result &= validateElement_validateNotOwnSelf(literalReal,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				literalReal, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				literalReal, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				literalReal, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				literalReal, diagnostics, context);
 		return result;
 	}
 
@@ -12027,16 +12026,13 @@
 			result &= validateElement_validateNotOwnSelf(instanceSpecification,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				instanceSpecification, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				instanceSpecification, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				instanceSpecification, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateInstanceSpecification_validateDeploymentArtifact(
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
 				instanceSpecification, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateInstanceSpecification_validateStructuralFeature(
@@ -12047,6 +12043,9 @@
 		if (result || diagnostics != null)
 			result &= validateInstanceSpecification_validateDeploymentTarget(
 				instanceSpecification, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateInstanceSpecification_validateDeploymentArtifact(
+				instanceSpecification, diagnostics, context);
 		return result;
 	}
 
@@ -12139,15 +12138,15 @@
 			result &= validateElement_validateNotOwnSelf(enumeration,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				enumeration, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				enumeration, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				enumeration, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				enumeration, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateNamespace_validateMembersDistinguishable(
 				enumeration, diagnostics, context);
 		if (result || diagnostics != null)
@@ -12160,17 +12159,17 @@
 			result &= validateRedefinableElement_validateRedefinitionContextValid(
 				enumeration, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateClassifier_validateSpecializeType(enumeration,
-				diagnostics, context);
-		if (result || diagnostics != null)
-			result &= validateClassifier_validateMapsToGeneralizationSet(
-				enumeration, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateClassifier_validateNonFinalParents(enumeration,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateClassifier_validateNoCyclesInGeneralization(
 				enumeration, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateClassifier_validateSpecializeType(enumeration,
+				diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateClassifier_validateMapsToGeneralizationSet(
+				enumeration, diagnostics, context);
 		return result;
 	}
 
@@ -12215,16 +12214,13 @@
 			result &= validateElement_validateNotOwnSelf(enumerationLiteral,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				enumerationLiteral, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				enumerationLiteral, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				enumerationLiteral, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateInstanceSpecification_validateDeploymentArtifact(
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
 				enumerationLiteral, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateInstanceSpecification_validateStructuralFeature(
@@ -12236,6 +12232,9 @@
 			result &= validateInstanceSpecification_validateDeploymentTarget(
 				enumerationLiteral, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateInstanceSpecification_validateDeploymentArtifact(
+				enumerationLiteral, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateEnumerationLiteral_validateClassifierEqualsOwningEnumeration(
 				enumerationLiteral, diagnostics, context);
 		return result;
@@ -12292,15 +12291,15 @@
 			result &= validateElement_validateNotOwnSelf(primitiveType,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				primitiveType, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				primitiveType, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				primitiveType, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				primitiveType, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateNamespace_validateMembersDistinguishable(
 				primitiveType, diagnostics, context);
 		if (result || diagnostics != null)
@@ -12313,17 +12312,17 @@
 			result &= validateRedefinableElement_validateRedefinitionContextValid(
 				primitiveType, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateClassifier_validateSpecializeType(primitiveType,
-				diagnostics, context);
-		if (result || diagnostics != null)
-			result &= validateClassifier_validateMapsToGeneralizationSet(
-				primitiveType, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateClassifier_validateNonFinalParents(primitiveType,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateClassifier_validateNoCyclesInGeneralization(
 				primitiveType, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateClassifier_validateSpecializeType(primitiveType,
+				diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateClassifier_validateMapsToGeneralizationSet(
+				primitiveType, diagnostics, context);
 		return result;
 	}
 
@@ -12365,14 +12364,14 @@
 			result &= validateElement_validateNotOwnSelf(instanceValue,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				instanceValue, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				instanceValue, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				instanceValue, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				instanceValue, diagnostics, context);
 		return result;
 	}
 
@@ -12417,14 +12416,14 @@
 			result &= validateElement_validateNotOwnSelf(
 				literalUnlimitedNatural, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				literalUnlimitedNatural, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				literalUnlimitedNatural, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				literalUnlimitedNatural, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				literalUnlimitedNatural, diagnostics, context);
 		return result;
 	}
 
@@ -12467,15 +12466,15 @@
 			result &= validateElement_validateNotOwnSelf(opaqueBehavior,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				opaqueBehavior, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				opaqueBehavior, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				opaqueBehavior, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				opaqueBehavior, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateNamespace_validateMembersDistinguishable(
 				opaqueBehavior, diagnostics, context);
 		if (result || diagnostics != null)
@@ -12488,18 +12487,18 @@
 			result &= validateRedefinableElement_validateRedefinitionContextValid(
 				opaqueBehavior, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateClassifier_validateSpecializeType(opaqueBehavior,
-				diagnostics, context);
-		if (result || diagnostics != null)
-			result &= validateClassifier_validateMapsToGeneralizationSet(
-				opaqueBehavior, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateClassifier_validateNonFinalParents(
 				opaqueBehavior, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateClassifier_validateNoCyclesInGeneralization(
 				opaqueBehavior, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateClassifier_validateSpecializeType(opaqueBehavior,
+				diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateClassifier_validateMapsToGeneralizationSet(
+				opaqueBehavior, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateStructuredClassifier_validateMultiplicities(
 				opaqueBehavior, diagnostics, context);
 		if (result || diagnostics != null)
@@ -12509,17 +12508,17 @@
 			result &= validateClass_validatePassiveClass(opaqueBehavior,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateBehavior_validateMostOneBehaviour(opaqueBehavior,
-				diagnostics, context);
-		if (result || diagnostics != null)
-			result &= validateBehavior_validateMustRealize(opaqueBehavior,
-				diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateBehavior_validateParametersMatch(opaqueBehavior,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateBehavior_validateFeatureOfContextClassifier(
 				opaqueBehavior, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateBehavior_validateMustRealize(opaqueBehavior,
+				diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateBehavior_validateMostOneBehaviour(opaqueBehavior,
+				diagnostics, context);
 		return result;
 	}
 
@@ -12562,15 +12561,15 @@
 			result &= validateElement_validateNotOwnSelf(functionBehavior,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				functionBehavior, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				functionBehavior, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				functionBehavior, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				functionBehavior, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateNamespace_validateMembersDistinguishable(
 				functionBehavior, diagnostics, context);
 		if (result || diagnostics != null)
@@ -12583,18 +12582,18 @@
 			result &= validateRedefinableElement_validateRedefinitionContextValid(
 				functionBehavior, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateClassifier_validateSpecializeType(
-				functionBehavior, diagnostics, context);
-		if (result || diagnostics != null)
-			result &= validateClassifier_validateMapsToGeneralizationSet(
-				functionBehavior, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateClassifier_validateNonFinalParents(
 				functionBehavior, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateClassifier_validateNoCyclesInGeneralization(
 				functionBehavior, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateClassifier_validateSpecializeType(
+				functionBehavior, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateClassifier_validateMapsToGeneralizationSet(
+				functionBehavior, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateStructuredClassifier_validateMultiplicities(
 				functionBehavior, diagnostics, context);
 		if (result || diagnostics != null)
@@ -12604,16 +12603,16 @@
 			result &= validateClass_validatePassiveClass(functionBehavior,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateBehavior_validateMostOneBehaviour(
+			result &= validateBehavior_validateParametersMatch(
+				functionBehavior, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateBehavior_validateFeatureOfContextClassifier(
 				functionBehavior, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateBehavior_validateMustRealize(functionBehavior,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateBehavior_validateParametersMatch(
-				functionBehavior, diagnostics, context);
-		if (result || diagnostics != null)
-			result &= validateBehavior_validateFeatureOfContextClassifier(
+			result &= validateBehavior_validateMostOneBehaviour(
 				functionBehavior, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateFunctionBehavior_validateOneOutputParameter(
@@ -12684,15 +12683,15 @@
 			result &= validateElement_validateNotOwnSelf(actor, diagnostics,
 				context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				actor, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(actor,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(actor,
 				diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				actor, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateNamespace_validateMembersDistinguishable(actor,
 				diagnostics, context);
 		if (result || diagnostics != null)
@@ -12705,18 +12704,18 @@
 			result &= validateRedefinableElement_validateRedefinitionContextValid(
 				actor, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateClassifier_validateSpecializeType(actor,
-				diagnostics, context);
-		if (result || diagnostics != null)
-			result &= validateClassifier_validateMapsToGeneralizationSet(actor,
-				diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateClassifier_validateNonFinalParents(actor,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateClassifier_validateNoCyclesInGeneralization(
 				actor, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateClassifier_validateSpecializeType(actor,
+				diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateClassifier_validateMapsToGeneralizationSet(actor,
+				diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateBehavioredClassifier_validateClassBehavior(actor,
 				diagnostics, context);
 		if (result || diagnostics != null)
@@ -12785,14 +12784,14 @@
 			result &= validateElement_validateNotOwnSelf(usage, diagnostics,
 				context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				usage, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(usage,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(usage,
 				diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				usage, diagnostics, context);
 		return result;
 	}
 
@@ -12832,35 +12831,35 @@
 			result &= validateElement_validateNotOwnSelf(message, diagnostics,
 				context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				message, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(message,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(message,
 				diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				message, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateMessage_validateSendingReceivingMessageEvent(
 				message, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateMessage_validateOccurrenceSpecifications(message,
+				diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateMessage_validateSignatureIsSignal(message,
+				diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateMessage_validateSignatureIsOperation(message,
+				diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateMessage_validateArguments(message, diagnostics,
 				context);
 		if (result || diagnostics != null)
 			result &= validateMessage_validateCannotCrossBoundaries(message,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateMessage_validateSignatureIsSignal(message,
-				diagnostics, context);
-		if (result || diagnostics != null)
-			result &= validateMessage_validateOccurrenceSpecifications(message,
-				diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateMessage_validateSignatureReferTo(message,
 				diagnostics, context);
-		if (result || diagnostics != null)
-			result &= validateMessage_validateSignatureIsOperation(message,
-				diagnostics, context);
 		return result;
 	}
 
@@ -12983,14 +12982,14 @@
 			result &= validateElement_validateNotOwnSelf(messageEnd,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				messageEnd, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(messageEnd,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				messageEnd, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				messageEnd, diagnostics, context);
 		return result;
 	}
 
@@ -13031,15 +13030,15 @@
 			result &= validateElement_validateNotOwnSelf(interaction,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				interaction, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				interaction, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				interaction, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				interaction, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateNamespace_validateMembersDistinguishable(
 				interaction, diagnostics, context);
 		if (result || diagnostics != null)
@@ -13052,18 +13051,18 @@
 			result &= validateRedefinableElement_validateRedefinitionContextValid(
 				interaction, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateClassifier_validateSpecializeType(interaction,
-				diagnostics, context);
-		if (result || diagnostics != null)
-			result &= validateClassifier_validateMapsToGeneralizationSet(
-				interaction, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateClassifier_validateNonFinalParents(interaction,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateClassifier_validateNoCyclesInGeneralization(
 				interaction, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateClassifier_validateSpecializeType(interaction,
+				diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateClassifier_validateMapsToGeneralizationSet(
+				interaction, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateStructuredClassifier_validateMultiplicities(
 				interaction, diagnostics, context);
 		if (result || diagnostics != null)
@@ -13073,17 +13072,17 @@
 			result &= validateClass_validatePassiveClass(interaction,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateBehavior_validateMostOneBehaviour(interaction,
-				diagnostics, context);
-		if (result || diagnostics != null)
-			result &= validateBehavior_validateMustRealize(interaction,
-				diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateBehavior_validateParametersMatch(interaction,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateBehavior_validateFeatureOfContextClassifier(
 				interaction, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateBehavior_validateMustRealize(interaction,
+				diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateBehavior_validateMostOneBehaviour(interaction,
+				diagnostics, context);
 		return result;
 	}
 
@@ -13128,14 +13127,14 @@
 			result &= validateElement_validateNotOwnSelf(interactionFragment,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				interactionFragment, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				interactionFragment, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				interactionFragment, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				interactionFragment, diagnostics, context);
 		return result;
 	}
 
@@ -13176,23 +13175,23 @@
 			result &= validateElement_validateNotOwnSelf(lifeline, diagnostics,
 				context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				lifeline, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(lifeline,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(lifeline,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateLifeline_validateSelectorSpecified(lifeline,
-				diagnostics, context);
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				lifeline, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateLifeline_validateInteractionUsesShareLifeline(
 				lifeline, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateLifeline_validateSameClassifier(lifeline,
 				diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateLifeline_validateSelectorSpecified(lifeline,
+				diagnostics, context);
 		return result;
 	}
 
@@ -13272,19 +13271,16 @@
 			result &= validateElement_validateNotOwnSelf(partDecomposition,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				partDecomposition, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				partDecomposition, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				partDecomposition, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateInteractionUse_validateGatesMatch(
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
 				partDecomposition, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateInteractionUse_validateArgumentsAreConstants(
+			result &= validateInteractionUse_validateAllLifelines(
 				partDecomposition, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateInteractionUse_validateReturnValueRecipientCoverage(
@@ -13293,19 +13289,22 @@
 			result &= validateInteractionUse_validateArgumentsCorrespondToParameters(
 				partDecomposition, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateInteractionUse_validateGatesMatch(
+				partDecomposition, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateInteractionUse_validateArgumentsAreConstants(
+				partDecomposition, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateInteractionUse_validateReturnValueTypeRecipientCorrespondence(
 				partDecomposition, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateInteractionUse_validateAllLifelines(
-				partDecomposition, diagnostics, context);
-		if (result || diagnostics != null)
-			result &= validatePartDecomposition_validateCommutativityOfDecomposition(
+			result &= validatePartDecomposition_validatePartsOfInternalStructures(
 				partDecomposition, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validatePartDecomposition_validateAssume(
 				partDecomposition, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validatePartDecomposition_validatePartsOfInternalStructures(
+			result &= validatePartDecomposition_validateCommutativityOfDecomposition(
 				partDecomposition, diagnostics, context);
 		return result;
 	}
@@ -13387,19 +13386,16 @@
 			result &= validateElement_validateNotOwnSelf(interactionUse,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				interactionUse, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				interactionUse, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				interactionUse, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateInteractionUse_validateGatesMatch(interactionUse,
-				diagnostics, context);
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				interactionUse, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateInteractionUse_validateArgumentsAreConstants(
+			result &= validateInteractionUse_validateAllLifelines(
 				interactionUse, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateInteractionUse_validateReturnValueRecipientCoverage(
@@ -13408,10 +13404,13 @@
 			result &= validateInteractionUse_validateArgumentsCorrespondToParameters(
 				interactionUse, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateInteractionUse_validateReturnValueTypeRecipientCorrespondence(
+			result &= validateInteractionUse_validateGatesMatch(interactionUse,
+				diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateInteractionUse_validateArgumentsAreConstants(
 				interactionUse, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateInteractionUse_validateAllLifelines(
+			result &= validateInteractionUse_validateReturnValueTypeRecipientCorrespondence(
 				interactionUse, diagnostics, context);
 		return result;
 	}
@@ -13527,15 +13526,15 @@
 			result &= validateElement_validateNotOwnSelf(gate, diagnostics,
 				context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				gate, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(gate,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(gate,
 				diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				gate, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateGate_validateMessagesCombinedFragment(gate,
 				diagnostics, context);
 		if (result || diagnostics != null)
@@ -13601,15 +13600,15 @@
 			result &= validateElement_validateNotOwnSelf(action, diagnostics,
 				context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				action, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(action,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(action,
 				diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				action, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateRedefinableElement_validateRedefinitionConsistent(
 				action, diagnostics, context);
 		if (result || diagnostics != null)
@@ -13666,15 +13665,15 @@
 			result &= validateElement_validateNotOwnSelf(executableNode,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				executableNode, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				executableNode, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				executableNode, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				executableNode, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateRedefinableElement_validateRedefinitionConsistent(
 				executableNode, diagnostics, context);
 		if (result || diagnostics != null)
@@ -13730,15 +13729,15 @@
 			result &= validateElement_validateNotOwnSelf(activityNode,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				activityNode, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				activityNode, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				activityNode, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				activityNode, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateRedefinableElement_validateRedefinitionConsistent(
 				activityNode, diagnostics, context);
 		if (result || diagnostics != null)
@@ -13818,15 +13817,15 @@
 			result &= validateElement_validateNotOwnSelf(activityEdge,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				activityEdge, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				activityEdge, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				activityEdge, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				activityEdge, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateRedefinableElement_validateRedefinitionConsistent(
 				activityEdge, diagnostics, context);
 		if (result || diagnostics != null)
@@ -13920,15 +13919,15 @@
 			result &= validateElement_validateNotOwnSelf(activity, diagnostics,
 				context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				activity, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(activity,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(activity,
 				diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				activity, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateNamespace_validateMembersDistinguishable(
 				activity, diagnostics, context);
 		if (result || diagnostics != null)
@@ -13941,18 +13940,18 @@
 			result &= validateRedefinableElement_validateRedefinitionContextValid(
 				activity, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateClassifier_validateSpecializeType(activity,
-				diagnostics, context);
-		if (result || diagnostics != null)
-			result &= validateClassifier_validateMapsToGeneralizationSet(
-				activity, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateClassifier_validateNonFinalParents(activity,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateClassifier_validateNoCyclesInGeneralization(
 				activity, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateClassifier_validateSpecializeType(activity,
+				diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateClassifier_validateMapsToGeneralizationSet(
+				activity, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateStructuredClassifier_validateMultiplicities(
 				activity, diagnostics, context);
 		if (result || diagnostics != null)
@@ -13962,26 +13961,26 @@
 			result &= validateClass_validatePassiveClass(activity, diagnostics,
 				context);
 		if (result || diagnostics != null)
-			result &= validateBehavior_validateMostOneBehaviour(activity,
-				diagnostics, context);
-		if (result || diagnostics != null)
-			result &= validateBehavior_validateMustRealize(activity,
-				diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateBehavior_validateParametersMatch(activity,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateBehavior_validateFeatureOfContextClassifier(
 				activity, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateBehavior_validateMustRealize(activity,
+				diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateBehavior_validateMostOneBehaviour(activity,
+				diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateActivity_validateActivityParameterNode(activity,
+				diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateActivity_validateAutonomous(activity,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateActivity_validateNoSupergroups(activity,
 				diagnostics, context);
-		if (result || diagnostics != null)
-			result &= validateActivity_validateActivityParameterNode(activity,
-				diagnostics, context);
 		return result;
 	}
 
@@ -14059,16 +14058,13 @@
 			result &= validateElement_validateNotOwnSelf(activityPartition,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				activityPartition, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				activityPartition, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				activityPartition, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateActivityGroup_validateNodesAndEdges(
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
 				activityPartition, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateActivityGroup_validateGroupOwned(
@@ -14077,15 +14073,18 @@
 			result &= validateActivityGroup_validateNotContained(
 				activityPartition, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateActivityGroup_validateNodesAndEdges(
+				activityPartition, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateActivityPartition_validateRepresentsPart(
+				activityPartition, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateActivityPartition_validateRepresentsClassifier(
 				activityPartition, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateActivityPartition_validateRepresentsPartAndIsContained(
 				activityPartition, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateActivityPartition_validateRepresentsPart(
-				activityPartition, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateActivityPartition_validateDimensionNotContained(
 				activityPartition, diagnostics, context);
 		return result;
@@ -14180,16 +14179,13 @@
 			result &= validateElement_validateNotOwnSelf(activityGroup,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				activityGroup, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				activityGroup, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				activityGroup, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateActivityGroup_validateNodesAndEdges(
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
 				activityGroup, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateActivityGroup_validateGroupOwned(activityGroup,
@@ -14197,6 +14193,9 @@
 		if (result || diagnostics != null)
 			result &= validateActivityGroup_validateNotContained(activityGroup,
 				diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateActivityGroup_validateNodesAndEdges(
+				activityGroup, diagnostics, context);
 		return result;
 	}
 
@@ -14277,15 +14276,15 @@
 			result &= validateElement_validateNotOwnSelf(
 				structuredActivityNode, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				structuredActivityNode, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				structuredActivityNode, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				structuredActivityNode, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				structuredActivityNode, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateRedefinableElement_validateRedefinitionConsistent(
 				structuredActivityNode, diagnostics, context);
 		if (result || diagnostics != null)
@@ -14304,22 +14303,22 @@
 			result &= validateNamespace_validateMembersDistinguishable(
 				structuredActivityNode, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateActivityGroup_validateNodesAndEdges(
-				structuredActivityNode, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateActivityGroup_validateGroupOwned(
 				structuredActivityNode, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateActivityGroup_validateNotContained(
 				structuredActivityNode, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateStructuredActivityNode_validateOutputPinEdges(
+			result &= validateActivityGroup_validateNodesAndEdges(
+				structuredActivityNode, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateStructuredActivityNode_validateInputPinEdges(
 				structuredActivityNode, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateStructuredActivityNode_validateEdges(
 				structuredActivityNode, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateStructuredActivityNode_validateInputPinEdges(
+			result &= validateStructuredActivityNode_validateOutputPinEdges(
 				structuredActivityNode, diagnostics, context);
 		return result;
 	}
@@ -14399,27 +14398,27 @@
 			result &= validateElement_validateNotOwnSelf(variable, diagnostics,
 				context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				variable, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(variable,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(variable,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateMultiplicityElement_validateUpperGeLower(
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
 				variable, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateMultiplicityElement_validateLowerGe0(variable,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateMultiplicityElement_validateValueSpecificationNoSideEffects(
+			result &= validateMultiplicityElement_validateUpperGeLower(
 				variable, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateMultiplicityElement_validateValueSpecificationConstant(
 				variable, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateMultiplicityElement_validateValueSpecificationNoSideEffects(
+				variable, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateVariable_validateOwned(variable, diagnostics,
 				context);
 		return result;
@@ -14477,16 +14476,13 @@
 			result &= validateElement_validateNotOwnSelf(
 				interruptibleActivityRegion, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				interruptibleActivityRegion, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				interruptibleActivityRegion, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				interruptibleActivityRegion, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateActivityGroup_validateNodesAndEdges(
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
 				interruptibleActivityRegion, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateActivityGroup_validateGroupOwned(
@@ -14495,6 +14491,9 @@
 			result &= validateActivityGroup_validateNotContained(
 				interruptibleActivityRegion, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateActivityGroup_validateNodesAndEdges(
+				interruptibleActivityRegion, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateInterruptibleActivityRegion_validateInterruptingEdges(
 				interruptibleActivityRegion, diagnostics, context);
 		return result;
@@ -14552,16 +14551,16 @@
 			result &= validateElement_validateNotOwnSelf(exceptionHandler,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateExceptionHandler_validateExceptionBody(
+			result &= validateExceptionHandler_validateOneInput(
+				exceptionHandler, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateExceptionHandler_validateEdgeSourceTarget(
 				exceptionHandler, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateExceptionHandler_validateResultPins(
 				exceptionHandler, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateExceptionHandler_validateOneInput(
-				exceptionHandler, diagnostics, context);
-		if (result || diagnostics != null)
-			result &= validateExceptionHandler_validateEdgeSourceTarget(
+			result &= validateExceptionHandler_validateExceptionBody(
 				exceptionHandler, diagnostics, context);
 		return result;
 	}
@@ -14651,15 +14650,15 @@
 			result &= validateElement_validateNotOwnSelf(objectNode,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				objectNode, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(objectNode,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				objectNode, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				objectNode, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateRedefinableElement_validateRedefinitionConsistent(
 				objectNode, diagnostics, context);
 		if (result || diagnostics != null)
@@ -14675,14 +14674,14 @@
 			result &= validateActivityNode_validateOwnedStructuredNode(
 				objectNode, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateObjectNode_validateInputOutputParameter(
-				objectNode, diagnostics, context);
+			result &= validateObjectNode_validateObjectFlowEdges(objectNode,
+				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateObjectNode_validateSelectionBehavior(objectNode,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateObjectNode_validateObjectFlowEdges(objectNode,
-				diagnostics, context);
+			result &= validateObjectNode_validateInputOutputParameter(
+				objectNode, diagnostics, context);
 		return result;
 	}
 
@@ -14759,15 +14758,15 @@
 			result &= validateElement_validateNotOwnSelf(outputPin,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				outputPin, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(outputPin,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				outputPin, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				outputPin, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateRedefinableElement_validateRedefinitionConsistent(
 				outputPin, diagnostics, context);
 		if (result || diagnostics != null)
@@ -14783,27 +14782,27 @@
 			result &= validateActivityNode_validateOwnedStructuredNode(
 				outputPin, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateObjectNode_validateInputOutputParameter(
-				outputPin, diagnostics, context);
+			result &= validateObjectNode_validateObjectFlowEdges(outputPin,
+				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateObjectNode_validateSelectionBehavior(outputPin,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateObjectNode_validateObjectFlowEdges(outputPin,
-				diagnostics, context);
-		if (result || diagnostics != null)
-			result &= validateMultiplicityElement_validateUpperGeLower(
+			result &= validateObjectNode_validateInputOutputParameter(
 				outputPin, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateMultiplicityElement_validateLowerGe0(outputPin,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateMultiplicityElement_validateValueSpecificationNoSideEffects(
+			result &= validateMultiplicityElement_validateUpperGeLower(
 				outputPin, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateMultiplicityElement_validateValueSpecificationConstant(
 				outputPin, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateMultiplicityElement_validateValueSpecificationNoSideEffects(
+				outputPin, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validatePin_validateControlPins(outputPin, diagnostics,
 				context);
 		if (result || diagnostics != null)
@@ -14859,15 +14858,15 @@
 			result &= validateElement_validateNotOwnSelf(pin, diagnostics,
 				context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				pin, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(pin,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(pin,
 				diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				pin, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateRedefinableElement_validateRedefinitionConsistent(
 				pin, diagnostics, context);
 		if (result || diagnostics != null)
@@ -14883,27 +14882,27 @@
 			result &= validateActivityNode_validateOwnedStructuredNode(pin,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateObjectNode_validateInputOutputParameter(pin,
+			result &= validateObjectNode_validateObjectFlowEdges(pin,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateObjectNode_validateSelectionBehavior(pin,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateObjectNode_validateObjectFlowEdges(pin,
-				diagnostics, context);
-		if (result || diagnostics != null)
-			result &= validateMultiplicityElement_validateUpperGeLower(pin,
+			result &= validateObjectNode_validateInputOutputParameter(pin,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateMultiplicityElement_validateLowerGe0(pin,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateMultiplicityElement_validateValueSpecificationNoSideEffects(
-				pin, diagnostics, context);
+			result &= validateMultiplicityElement_validateUpperGeLower(pin,
+				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateMultiplicityElement_validateValueSpecificationConstant(
 				pin, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateMultiplicityElement_validateValueSpecificationNoSideEffects(
+				pin, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validatePin_validateControlPins(pin, diagnostics, context);
 		return result;
 	}
@@ -14956,15 +14955,15 @@
 			result &= validateElement_validateNotOwnSelf(inputPin, diagnostics,
 				context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				inputPin, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(inputPin,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(inputPin,
 				diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				inputPin, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateRedefinableElement_validateRedefinitionConsistent(
 				inputPin, diagnostics, context);
 		if (result || diagnostics != null)
@@ -14980,25 +14979,25 @@
 			result &= validateActivityNode_validateOwnedStructuredNode(
 				inputPin, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateObjectNode_validateInputOutputParameter(inputPin,
+			result &= validateObjectNode_validateObjectFlowEdges(inputPin,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateObjectNode_validateSelectionBehavior(inputPin,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateObjectNode_validateObjectFlowEdges(inputPin,
+			result &= validateObjectNode_validateInputOutputParameter(inputPin,
+				diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateMultiplicityElement_validateLowerGe0(inputPin,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateMultiplicityElement_validateUpperGeLower(
 				inputPin, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateMultiplicityElement_validateLowerGe0(inputPin,
-				diagnostics, context);
-		if (result || diagnostics != null)
-			result &= validateMultiplicityElement_validateValueSpecificationNoSideEffects(
+			result &= validateMultiplicityElement_validateValueSpecificationConstant(
 				inputPin, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateMultiplicityElement_validateValueSpecificationConstant(
+			result &= validateMultiplicityElement_validateValueSpecificationNoSideEffects(
 				inputPin, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validatePin_validateControlPins(inputPin, diagnostics,
@@ -15061,15 +15060,15 @@
 			result &= validateElement_validateNotOwnSelf(generalOrdering,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				generalOrdering, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				generalOrdering, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				generalOrdering, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				generalOrdering, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateGeneralOrdering_validateIrreflexsiveTransitiveClosure(
 				generalOrdering, diagnostics, context);
 		return result;
@@ -15129,14 +15128,14 @@
 			result &= validateElement_validateNotOwnSelf(
 				occurrenceSpecification, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				occurrenceSpecification, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				occurrenceSpecification, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				occurrenceSpecification, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				occurrenceSpecification, diagnostics, context);
 		return result;
 	}
 
@@ -15181,22 +15180,22 @@
 			result &= validateElement_validateNotOwnSelf(interactionOperand,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				interactionOperand, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				interactionOperand, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				interactionOperand, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				interactionOperand, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateNamespace_validateMembersDistinguishable(
 				interactionOperand, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateInteractionOperand_validateGuardContainReferences(
+			result &= validateInteractionOperand_validateGuardDirectlyPrior(
 				interactionOperand, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateInteractionOperand_validateGuardDirectlyPrior(
+			result &= validateInteractionOperand_validateGuardContainReferences(
 				interactionOperand, diagnostics, context);
 		return result;
 	}
@@ -15268,44 +15267,44 @@
 			result &= validateElement_validateNotOwnSelf(interactionConstraint,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				interactionConstraint, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				interactionConstraint, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				interactionConstraint, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateConstraint_validateBooleanValue(
-				interactionConstraint, diagnostics, context);
-		if (result || diagnostics != null)
-			result &= validateConstraint_validateNoSideEffects(
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
 				interactionConstraint, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateConstraint_validateNotApplyToSelf(
 				interactionConstraint, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateConstraint_validateNoSideEffects(
+				interactionConstraint, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateConstraint_validateBooleanValue(
+				interactionConstraint, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateConstraint_validateValueSpecificationBoolean(
 				interactionConstraint, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateInteractionConstraint_validateMaxintPositive(
+				interactionConstraint, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateInteractionConstraint_validateMinintMaxint(
 				interactionConstraint, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateInteractionConstraint_validateMinintNonNegative(
 				interactionConstraint, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateInteractionConstraint_validateMaxintPositive(
-				interactionConstraint, diagnostics, context);
-		if (result || diagnostics != null)
-			result &= validateInteractionConstraint_validateDynamicVariables(
-				interactionConstraint, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateInteractionConstraint_validateGlobalData(
 				interactionConstraint, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateInteractionConstraint_validateMaxintGreaterEqualMinint(
 				interactionConstraint, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateInteractionConstraint_validateDynamicVariables(
+				interactionConstraint, diagnostics, context);
 		return result;
 	}
 
@@ -15426,15 +15425,15 @@
 			result &= validateElement_validateNotOwnSelf(
 				executionSpecification, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				executionSpecification, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				executionSpecification, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				executionSpecification, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				executionSpecification, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateExecutionSpecification_validateSameLifeline(
 				executionSpecification, diagnostics, context);
 		return result;
@@ -15494,14 +15493,14 @@
 			result &= validateElement_validateNotOwnSelf(
 				executionOccurrenceSpecification, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				executionOccurrenceSpecification, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				executionOccurrenceSpecification, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				executionOccurrenceSpecification, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				executionOccurrenceSpecification, diagnostics, context);
 		return result;
 	}
 
@@ -15544,14 +15543,14 @@
 			result &= validateElement_validateNotOwnSelf(stateInvariant,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				stateInvariant, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				stateInvariant, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				stateInvariant, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				stateInvariant, diagnostics, context);
 		return result;
 	}
 
@@ -15596,15 +15595,15 @@
 			result &= validateElement_validateNotOwnSelf(
 				actionExecutionSpecification, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				actionExecutionSpecification, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				actionExecutionSpecification, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				actionExecutionSpecification, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				actionExecutionSpecification, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateExecutionSpecification_validateSameLifeline(
 				actionExecutionSpecification, diagnostics, context);
 		if (result || diagnostics != null)
@@ -15667,15 +15666,15 @@
 			result &= validateElement_validateNotOwnSelf(
 				behaviorExecutionSpecification, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				behaviorExecutionSpecification, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				behaviorExecutionSpecification, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				behaviorExecutionSpecification, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				behaviorExecutionSpecification, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateExecutionSpecification_validateSameLifeline(
 				behaviorExecutionSpecification, diagnostics, context);
 		return result;
@@ -15719,14 +15718,14 @@
 			result &= validateElement_validateNotOwnSelf(messageEvent,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				messageEvent, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				messageEvent, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				messageEvent, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				messageEvent, diagnostics, context);
 		return result;
 	}
 
@@ -15771,14 +15770,14 @@
 			result &= validateElement_validateNotOwnSelf(
 				messageOccurrenceSpecification, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				messageOccurrenceSpecification, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				messageOccurrenceSpecification, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				messageOccurrenceSpecification, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				messageOccurrenceSpecification, diagnostics, context);
 		return result;
 	}
 
@@ -15821,25 +15820,25 @@
 			result &= validateElement_validateNotOwnSelf(combinedFragment,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				combinedFragment, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				combinedFragment, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				combinedFragment, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateCombinedFragment_validateMinintAndMaxint(
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
 				combinedFragment, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateCombinedFragment_validateBreak(combinedFragment,
 				diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateCombinedFragment_validateOptLoopBreakNeg(
+				combinedFragment, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateCombinedFragment_validateConsiderAndIgnore(
 				combinedFragment, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateCombinedFragment_validateOptLoopBreakNeg(
+			result &= validateCombinedFragment_validateMinintAndMaxint(
 				combinedFragment, diagnostics, context);
 		return result;
 	}
@@ -15930,21 +15929,21 @@
 			result &= validateElement_validateNotOwnSelf(continuation,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				continuation, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				continuation, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				continuation, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateContinuation_validateFirstOrLastInteractionFragment(
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
 				continuation, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateContinuation_validateSameName(continuation,
 				diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateContinuation_validateFirstOrLastInteractionFragment(
+				continuation, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateContinuation_validateGlobal(continuation,
 				diagnostics, context);
 		return result;
@@ -16028,32 +16027,32 @@
 			result &= validateElement_validateNotOwnSelf(
 				considerIgnoreFragment, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				considerIgnoreFragment, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				considerIgnoreFragment, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				considerIgnoreFragment, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateCombinedFragment_validateMinintAndMaxint(
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
 				considerIgnoreFragment, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateCombinedFragment_validateBreak(
 				considerIgnoreFragment, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateCombinedFragment_validateConsiderAndIgnore(
-				considerIgnoreFragment, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateCombinedFragment_validateOptLoopBreakNeg(
 				considerIgnoreFragment, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateConsiderIgnoreFragment_validateConsiderOrIgnore(
+			result &= validateCombinedFragment_validateConsiderAndIgnore(
+				considerIgnoreFragment, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateCombinedFragment_validateMinintAndMaxint(
 				considerIgnoreFragment, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateConsiderIgnoreFragment_validateType(
 				considerIgnoreFragment, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateConsiderIgnoreFragment_validateConsiderOrIgnore(
+				considerIgnoreFragment, diagnostics, context);
 		return result;
 	}
 
@@ -16119,14 +16118,14 @@
 			result &= validateElement_validateNotOwnSelf(callEvent,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				callEvent, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(callEvent,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				callEvent, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				callEvent, diagnostics, context);
 		return result;
 	}
 
@@ -16167,14 +16166,14 @@
 			result &= validateElement_validateNotOwnSelf(changeEvent,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				changeEvent, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				changeEvent, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				changeEvent, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				changeEvent, diagnostics, context);
 		return result;
 	}
 
@@ -16215,14 +16214,14 @@
 			result &= validateElement_validateNotOwnSelf(signalEvent,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				signalEvent, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				signalEvent, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				signalEvent, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				signalEvent, diagnostics, context);
 		return result;
 	}
 
@@ -16265,14 +16264,14 @@
 			result &= validateElement_validateNotOwnSelf(anyReceiveEvent,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				anyReceiveEvent, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				anyReceiveEvent, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				anyReceiveEvent, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				anyReceiveEvent, diagnostics, context);
 		return result;
 	}
 
@@ -16317,15 +16316,15 @@
 			result &= validateElement_validateNotOwnSelf(createObjectAction,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				createObjectAction, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				createObjectAction, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				createObjectAction, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				createObjectAction, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateRedefinableElement_validateRedefinitionConsistent(
 				createObjectAction, diagnostics, context);
 		if (result || diagnostics != null)
@@ -16341,17 +16340,17 @@
 			result &= validateActivityNode_validateOwnedStructuredNode(
 				createObjectAction, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateCreateObjectAction_validateClassifierNotAbstract(
-				createObjectAction, diagnostics, context);
-		if (result || diagnostics != null)
-			result &= validateCreateObjectAction_validateMultiplicity(
-				createObjectAction, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateCreateObjectAction_validateClassifierNotAssociationClass(
 				createObjectAction, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateCreateObjectAction_validateClassifierNotAbstract(
+				createObjectAction, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateCreateObjectAction_validateSameType(
 				createObjectAction, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateCreateObjectAction_validateMultiplicity(
+				createObjectAction, diagnostics, context);
 		return result;
 	}
 
@@ -16446,15 +16445,15 @@
 			result &= validateElement_validateNotOwnSelf(destroyObjectAction,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				destroyObjectAction, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				destroyObjectAction, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				destroyObjectAction, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				destroyObjectAction, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateRedefinableElement_validateRedefinitionConsistent(
 				destroyObjectAction, diagnostics, context);
 		if (result || diagnostics != null)
@@ -16543,15 +16542,15 @@
 			result &= validateElement_validateNotOwnSelf(
 				destructionOccurrenceSpecification, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				destructionOccurrenceSpecification, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				destructionOccurrenceSpecification, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				destructionOccurrenceSpecification, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				destructionOccurrenceSpecification, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateDestructionOccurrenceSpecification_validateNoOccurrenceSpecificationsBelow(
 				destructionOccurrenceSpecification, diagnostics, context);
 		return result;
@@ -16611,15 +16610,15 @@
 			result &= validateElement_validateNotOwnSelf(testIdentityAction,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				testIdentityAction, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				testIdentityAction, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				testIdentityAction, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				testIdentityAction, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateRedefinableElement_validateRedefinitionConsistent(
 				testIdentityAction, diagnostics, context);
 		if (result || diagnostics != null)
@@ -16721,15 +16720,15 @@
 			result &= validateElement_validateNotOwnSelf(readSelfAction,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				readSelfAction, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				readSelfAction, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				readSelfAction, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				readSelfAction, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateRedefinableElement_validateRedefinitionConsistent(
 				readSelfAction, diagnostics, context);
 		if (result || diagnostics != null)
@@ -16748,14 +16747,14 @@
 			result &= validateReadSelfAction_validateContained(readSelfAction,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateReadSelfAction_validateMultiplicity(
-				readSelfAction, diagnostics, context);
+			result &= validateReadSelfAction_validateType(readSelfAction,
+				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateReadSelfAction_validateNotStatic(readSelfAction,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateReadSelfAction_validateType(readSelfAction,
-				diagnostics, context);
+			result &= validateReadSelfAction_validateMultiplicity(
+				readSelfAction, diagnostics, context);
 		return result;
 	}
 
@@ -16848,15 +16847,15 @@
 			result &= validateElement_validateNotOwnSelf(
 				structuralFeatureAction, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				structuralFeatureAction, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				structuralFeatureAction, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				structuralFeatureAction, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				structuralFeatureAction, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateRedefinableElement_validateRedefinitionConsistent(
 				structuralFeatureAction, diagnostics, context);
 		if (result || diagnostics != null)
@@ -16872,20 +16871,20 @@
 			result &= validateActivityNode_validateOwnedStructuredNode(
 				structuralFeatureAction, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateStructuralFeatureAction_validateMultiplicity(
-				structuralFeatureAction, diagnostics, context);
-		if (result || diagnostics != null)
-			result &= validateStructuralFeatureAction_validateSameType(
-				structuralFeatureAction, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateStructuralFeatureAction_validateVisibility(
 				structuralFeatureAction, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateStructuralFeatureAction_validateMultiplicity(
+				structuralFeatureAction, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateStructuralFeatureAction_validateNotStatic(
 				structuralFeatureAction, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateStructuralFeatureAction_validateOneFeaturingClassifier(
 				structuralFeatureAction, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateStructuralFeatureAction_validateSameType(
+				structuralFeatureAction, diagnostics, context);
 		return result;
 	}
 
@@ -16992,15 +16991,15 @@
 			result &= validateElement_validateNotOwnSelf(
 				readStructuralFeatureAction, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				readStructuralFeatureAction, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				readStructuralFeatureAction, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				readStructuralFeatureAction, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				readStructuralFeatureAction, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateRedefinableElement_validateRedefinitionConsistent(
 				readStructuralFeatureAction, diagnostics, context);
 		if (result || diagnostics != null)
@@ -17016,21 +17015,21 @@
 			result &= validateActivityNode_validateOwnedStructuredNode(
 				readStructuralFeatureAction, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateReadStructuralFeatureAction_validateMultiplicity(
-				readStructuralFeatureAction, diagnostics, context);
-		if (result || diagnostics != null)
-			result &= validateStructuralFeatureAction_validateSameType(
-				readStructuralFeatureAction, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateStructuralFeatureAction_validateVisibility(
 				readStructuralFeatureAction, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateReadStructuralFeatureAction_validateMultiplicity(
+				readStructuralFeatureAction, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateStructuralFeatureAction_validateNotStatic(
 				readStructuralFeatureAction, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateStructuralFeatureAction_validateOneFeaturingClassifier(
 				readStructuralFeatureAction, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateStructuralFeatureAction_validateSameType(
+				readStructuralFeatureAction, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateReadStructuralFeatureAction_validateTypeAndOrdering(
 				readStructuralFeatureAction, diagnostics, context);
 		return result;
@@ -17103,15 +17102,15 @@
 			result &= validateElement_validateNotOwnSelf(
 				writeStructuralFeatureAction, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				writeStructuralFeatureAction, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				writeStructuralFeatureAction, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				writeStructuralFeatureAction, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				writeStructuralFeatureAction, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateRedefinableElement_validateRedefinitionConsistent(
 				writeStructuralFeatureAction, diagnostics, context);
 		if (result || diagnostics != null)
@@ -17127,22 +17126,19 @@
 			result &= validateActivityNode_validateOwnedStructuredNode(
 				writeStructuralFeatureAction, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateWriteStructuralFeatureAction_validateMultiplicity(
-				writeStructuralFeatureAction, diagnostics, context);
-		if (result || diagnostics != null)
-			result &= validateStructuralFeatureAction_validateSameType(
-				writeStructuralFeatureAction, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateStructuralFeatureAction_validateVisibility(
 				writeStructuralFeatureAction, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateWriteStructuralFeatureAction_validateMultiplicity(
+				writeStructuralFeatureAction, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateStructuralFeatureAction_validateNotStatic(
 				writeStructuralFeatureAction, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateStructuralFeatureAction_validateOneFeaturingClassifier(
 				writeStructuralFeatureAction, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateWriteStructuralFeatureAction_validateMultiplicityOfResult(
+			result &= validateStructuralFeatureAction_validateSameType(
 				writeStructuralFeatureAction, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateWriteStructuralFeatureAction_validateInputPin(
@@ -17150,6 +17146,9 @@
 		if (result || diagnostics != null)
 			result &= validateWriteStructuralFeatureAction_validateTypeOfResult(
 				writeStructuralFeatureAction, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateWriteStructuralFeatureAction_validateMultiplicityOfResult(
+				writeStructuralFeatureAction, diagnostics, context);
 		return result;
 	}
 
@@ -17246,15 +17245,15 @@
 			result &= validateElement_validateNotOwnSelf(
 				clearStructuralFeatureAction, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				clearStructuralFeatureAction, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				clearStructuralFeatureAction, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				clearStructuralFeatureAction, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				clearStructuralFeatureAction, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateRedefinableElement_validateRedefinitionConsistent(
 				clearStructuralFeatureAction, diagnostics, context);
 		if (result || diagnostics != null)
@@ -17270,26 +17269,26 @@
 			result &= validateActivityNode_validateOwnedStructuredNode(
 				clearStructuralFeatureAction, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateStructuralFeatureAction_validateMultiplicity(
-				clearStructuralFeatureAction, diagnostics, context);
-		if (result || diagnostics != null)
-			result &= validateStructuralFeatureAction_validateSameType(
-				clearStructuralFeatureAction, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateStructuralFeatureAction_validateVisibility(
 				clearStructuralFeatureAction, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateStructuralFeatureAction_validateMultiplicity(
+				clearStructuralFeatureAction, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateStructuralFeatureAction_validateNotStatic(
 				clearStructuralFeatureAction, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateStructuralFeatureAction_validateOneFeaturingClassifier(
 				clearStructuralFeatureAction, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateClearStructuralFeatureAction_validateTypeOfResult(
+			result &= validateStructuralFeatureAction_validateSameType(
 				clearStructuralFeatureAction, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateClearStructuralFeatureAction_validateMultiplicityOfResult(
 				clearStructuralFeatureAction, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateClearStructuralFeatureAction_validateTypeOfResult(
+				clearStructuralFeatureAction, diagnostics, context);
 		return result;
 	}
 
@@ -17360,15 +17359,15 @@
 			result &= validateElement_validateNotOwnSelf(
 				removeStructuralFeatureValueAction, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				removeStructuralFeatureValueAction, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				removeStructuralFeatureValueAction, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				removeStructuralFeatureValueAction, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				removeStructuralFeatureValueAction, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateRedefinableElement_validateRedefinitionConsistent(
 				removeStructuralFeatureValueAction, diagnostics, context);
 		if (result || diagnostics != null)
@@ -17384,22 +17383,19 @@
 			result &= validateActivityNode_validateOwnedStructuredNode(
 				removeStructuralFeatureValueAction, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateWriteStructuralFeatureAction_validateMultiplicity(
-				removeStructuralFeatureValueAction, diagnostics, context);
-		if (result || diagnostics != null)
-			result &= validateStructuralFeatureAction_validateSameType(
-				removeStructuralFeatureValueAction, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateStructuralFeatureAction_validateVisibility(
 				removeStructuralFeatureValueAction, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateWriteStructuralFeatureAction_validateMultiplicity(
+				removeStructuralFeatureValueAction, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateStructuralFeatureAction_validateNotStatic(
 				removeStructuralFeatureValueAction, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateStructuralFeatureAction_validateOneFeaturingClassifier(
 				removeStructuralFeatureValueAction, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateWriteStructuralFeatureAction_validateMultiplicityOfResult(
+			result &= validateStructuralFeatureAction_validateSameType(
 				removeStructuralFeatureValueAction, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateWriteStructuralFeatureAction_validateInputPin(
@@ -17408,6 +17404,9 @@
 			result &= validateWriteStructuralFeatureAction_validateTypeOfResult(
 				removeStructuralFeatureValueAction, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateWriteStructuralFeatureAction_validateMultiplicityOfResult(
+				removeStructuralFeatureValueAction, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateRemoveStructuralFeatureValueAction_validateNonUniqueRemoval(
 				removeStructuralFeatureValueAction, diagnostics, context);
 		return result;
@@ -17467,15 +17466,15 @@
 			result &= validateElement_validateNotOwnSelf(
 				addStructuralFeatureValueAction, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				addStructuralFeatureValueAction, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				addStructuralFeatureValueAction, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				addStructuralFeatureValueAction, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				addStructuralFeatureValueAction, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateRedefinableElement_validateRedefinitionConsistent(
 				addStructuralFeatureValueAction, diagnostics, context);
 		if (result || diagnostics != null)
@@ -17491,22 +17490,19 @@
 			result &= validateActivityNode_validateOwnedStructuredNode(
 				addStructuralFeatureValueAction, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateWriteStructuralFeatureAction_validateMultiplicity(
-				addStructuralFeatureValueAction, diagnostics, context);
-		if (result || diagnostics != null)
-			result &= validateStructuralFeatureAction_validateSameType(
-				addStructuralFeatureValueAction, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateStructuralFeatureAction_validateVisibility(
 				addStructuralFeatureValueAction, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateWriteStructuralFeatureAction_validateMultiplicity(
+				addStructuralFeatureValueAction, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateStructuralFeatureAction_validateNotStatic(
 				addStructuralFeatureValueAction, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateStructuralFeatureAction_validateOneFeaturingClassifier(
 				addStructuralFeatureValueAction, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateWriteStructuralFeatureAction_validateMultiplicityOfResult(
+			result &= validateStructuralFeatureAction_validateSameType(
 				addStructuralFeatureValueAction, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateWriteStructuralFeatureAction_validateInputPin(
@@ -17515,11 +17511,14 @@
 			result &= validateWriteStructuralFeatureAction_validateTypeOfResult(
 				addStructuralFeatureValueAction, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateAddStructuralFeatureValueAction_validateRequiredValue(
+			result &= validateWriteStructuralFeatureAction_validateMultiplicityOfResult(
 				addStructuralFeatureValueAction, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateAddStructuralFeatureValueAction_validateUnlimitedNaturalAndMultiplicity(
 				addStructuralFeatureValueAction, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateAddStructuralFeatureValueAction_validateRequiredValue(
+				addStructuralFeatureValueAction, diagnostics, context);
 		return result;
 	}
 
@@ -17586,15 +17585,15 @@
 			result &= validateElement_validateNotOwnSelf(linkAction,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				linkAction, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(linkAction,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				linkAction, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				linkAction, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateRedefinableElement_validateRedefinitionConsistent(
 				linkAction, diagnostics, context);
 		if (result || diagnostics != null)
@@ -17692,18 +17691,18 @@
 			result &= validateElement_validateNotOwnSelf(linkEndData,
 				diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateLinkEndData_validatePropertyIsAssociationEnd(
+				linkEndData, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateLinkEndData_validateEndObjectInputPin(
+				linkEndData, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateLinkEndData_validateSameType(linkEndData,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateLinkEndData_validateMultiplicity(linkEndData,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateLinkEndData_validateEndObjectInputPin(
-				linkEndData, diagnostics, context);
-		if (result || diagnostics != null)
-			result &= validateLinkEndData_validatePropertyIsAssociationEnd(
-				linkEndData, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateLinkEndData_validateQualifiers(linkEndData,
 				diagnostics, context);
 		return result;
@@ -17809,14 +17808,14 @@
 			result &= validateElement_validateNotOwnSelf(qualifierValue,
 				diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateQualifierValue_validateQualifierAttribute(
+				qualifierValue, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateQualifierValue_validateMultiplicityOfQualifier(
 				qualifierValue, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateQualifierValue_validateTypeOfQualifier(
 				qualifierValue, diagnostics, context);
-		if (result || diagnostics != null)
-			result &= validateQualifierValue_validateQualifierAttribute(
-				qualifierValue, diagnostics, context);
 		return result;
 	}
 
@@ -17896,15 +17895,15 @@
 			result &= validateElement_validateNotOwnSelf(readLinkAction,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				readLinkAction, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				readLinkAction, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				readLinkAction, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				readLinkAction, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateRedefinableElement_validateRedefinitionConsistent(
 				readLinkAction, diagnostics, context);
 		if (result || diagnostics != null)
@@ -17932,17 +17931,17 @@
 			result &= validateReadLinkAction_validateTypeAndOrdering(
 				readLinkAction, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateReadLinkAction_validateOneOpenEnd(readLinkAction,
+				diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateReadLinkAction_validateCompatibleMultiplicity(
 				readLinkAction, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateReadLinkAction_validateNavigableOpenEnd(
+				readLinkAction, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateReadLinkAction_validateVisibility(readLinkAction,
 				diagnostics, context);
-		if (result || diagnostics != null)
-			result &= validateReadLinkAction_validateOneOpenEnd(readLinkAction,
-				diagnostics, context);
-		if (result || diagnostics != null)
-			result &= validateReadLinkAction_validateNavigableOpenEnd(
-				readLinkAction, diagnostics, context);
 		return result;
 	}
 
@@ -18048,25 +18047,25 @@
 			result &= validateElement_validateNotOwnSelf(linkEndCreationData,
 				diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateLinkEndData_validatePropertyIsAssociationEnd(
+				linkEndCreationData, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateLinkEndData_validateEndObjectInputPin(
+				linkEndCreationData, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateLinkEndData_validateSameType(linkEndCreationData,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateLinkEndData_validateMultiplicity(
 				linkEndCreationData, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateLinkEndData_validateEndObjectInputPin(
-				linkEndCreationData, diagnostics, context);
-		if (result || diagnostics != null)
-			result &= validateLinkEndData_validatePropertyIsAssociationEnd(
-				linkEndCreationData, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateLinkEndData_validateQualifiers(
 				linkEndCreationData, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateLinkEndCreationData_validateSingleInputPin(
+			result &= validateLinkEndCreationData_validateCreateLinkAction(
 				linkEndCreationData, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateLinkEndCreationData_validateCreateLinkAction(
+			result &= validateLinkEndCreationData_validateSingleInputPin(
 				linkEndCreationData, diagnostics, context);
 		return result;
 	}
@@ -18135,15 +18134,15 @@
 			result &= validateElement_validateNotOwnSelf(createLinkAction,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				createLinkAction, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				createLinkAction, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				createLinkAction, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				createLinkAction, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateRedefinableElement_validateRedefinitionConsistent(
 				createLinkAction, diagnostics, context);
 		if (result || diagnostics != null)
@@ -18228,15 +18227,15 @@
 			result &= validateElement_validateNotOwnSelf(writeLinkAction,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				writeLinkAction, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				writeLinkAction, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				writeLinkAction, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				writeLinkAction, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateRedefinableElement_validateRedefinitionConsistent(
 				writeLinkAction, diagnostics, context);
 		if (result || diagnostics != null)
@@ -18318,15 +18317,15 @@
 			result &= validateElement_validateNotOwnSelf(destroyLinkAction,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				destroyLinkAction, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				destroyLinkAction, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				destroyLinkAction, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				destroyLinkAction, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateRedefinableElement_validateRedefinitionConsistent(
 				destroyLinkAction, diagnostics, context);
 		if (result || diagnostics != null)
@@ -18397,25 +18396,25 @@
 			result &= validateElement_validateNotOwnSelf(
 				linkEndDestructionData, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateLinkEndData_validatePropertyIsAssociationEnd(
+				linkEndDestructionData, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateLinkEndData_validateEndObjectInputPin(
+				linkEndDestructionData, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateLinkEndData_validateSameType(
 				linkEndDestructionData, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateLinkEndData_validateMultiplicity(
 				linkEndDestructionData, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateLinkEndData_validateEndObjectInputPin(
-				linkEndDestructionData, diagnostics, context);
-		if (result || diagnostics != null)
-			result &= validateLinkEndData_validatePropertyIsAssociationEnd(
-				linkEndDestructionData, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateLinkEndData_validateQualifiers(
 				linkEndDestructionData, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateLinkEndDestructionData_validateUnlimitedNaturalAndMultiplicity(
+			result &= validateLinkEndDestructionData_validateDestroyLinkAction(
 				linkEndDestructionData, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateLinkEndDestructionData_validateDestroyLinkAction(
+			result &= validateLinkEndDestructionData_validateUnlimitedNaturalAndMultiplicity(
 				linkEndDestructionData, diagnostics, context);
 		return result;
 	}
@@ -18487,15 +18486,15 @@
 			result &= validateElement_validateNotOwnSelf(
 				clearAssociationAction, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				clearAssociationAction, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				clearAssociationAction, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				clearAssociationAction, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				clearAssociationAction, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateRedefinableElement_validateRedefinitionConsistent(
 				clearAssociationAction, diagnostics, context);
 		if (result || diagnostics != null)
@@ -18585,15 +18584,15 @@
 			result &= validateElement_validateNotOwnSelf(broadcastSignalAction,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				broadcastSignalAction, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				broadcastSignalAction, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				broadcastSignalAction, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				broadcastSignalAction, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateRedefinableElement_validateRedefinitionConsistent(
 				broadcastSignalAction, diagnostics, context);
 		if (result || diagnostics != null)
@@ -18612,10 +18611,10 @@
 			result &= validateInvocationAction_validateOnPortReceiver(
 				broadcastSignalAction, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateBroadcastSignalAction_validateNumberAndOrder(
+			result &= validateBroadcastSignalAction_validateTypeOrderingMultiplicity(
 				broadcastSignalAction, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateBroadcastSignalAction_validateTypeOrderingMultiplicity(
+			result &= validateBroadcastSignalAction_validateNumberAndOrder(
 				broadcastSignalAction, diagnostics, context);
 		return result;
 	}
@@ -18685,15 +18684,15 @@
 			result &= validateElement_validateNotOwnSelf(invocationAction,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				invocationAction, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				invocationAction, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				invocationAction, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				invocationAction, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateRedefinableElement_validateRedefinitionConsistent(
 				invocationAction, diagnostics, context);
 		if (result || diagnostics != null)
@@ -18765,15 +18764,15 @@
 			result &= validateElement_validateNotOwnSelf(sendObjectAction,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				sendObjectAction, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				sendObjectAction, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				sendObjectAction, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				sendObjectAction, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateRedefinableElement_validateRedefinitionConsistent(
 				sendObjectAction, diagnostics, context);
 		if (result || diagnostics != null)
@@ -18835,15 +18834,15 @@
 			result &= validateElement_validateNotOwnSelf(
 				valueSpecificationAction, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				valueSpecificationAction, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				valueSpecificationAction, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				valueSpecificationAction, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				valueSpecificationAction, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateRedefinableElement_validateRedefinitionConsistent(
 				valueSpecificationAction, diagnostics, context);
 		if (result || diagnostics != null)
@@ -18932,14 +18931,14 @@
 			result &= validateElement_validateNotOwnSelf(timeExpression,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				timeExpression, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				timeExpression, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				timeExpression, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				timeExpression, diagnostics, context);
 		return result;
 	}
 
@@ -18980,14 +18979,14 @@
 			result &= validateElement_validateNotOwnSelf(observation,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				observation, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				observation, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				observation, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				observation, diagnostics, context);
 		return result;
 	}
 
@@ -19028,14 +19027,14 @@
 			result &= validateElement_validateNotOwnSelf(duration, diagnostics,
 				context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				duration, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(duration,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(duration,
 				diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				duration, diagnostics, context);
 		return result;
 	}
 
@@ -19076,15 +19075,15 @@
 			result &= validateElement_validateNotOwnSelf(valuePin, diagnostics,
 				context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				valuePin, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(valuePin,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(valuePin,
 				diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				valuePin, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateRedefinableElement_validateRedefinitionConsistent(
 				valuePin, diagnostics, context);
 		if (result || diagnostics != null)
@@ -19100,25 +19099,25 @@
 			result &= validateActivityNode_validateOwnedStructuredNode(
 				valuePin, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateObjectNode_validateInputOutputParameter(valuePin,
+			result &= validateObjectNode_validateObjectFlowEdges(valuePin,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateObjectNode_validateSelectionBehavior(valuePin,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateObjectNode_validateObjectFlowEdges(valuePin,
+			result &= validateObjectNode_validateInputOutputParameter(valuePin,
+				diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateMultiplicityElement_validateLowerGe0(valuePin,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateMultiplicityElement_validateUpperGeLower(
 				valuePin, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateMultiplicityElement_validateLowerGe0(valuePin,
-				diagnostics, context);
-		if (result || diagnostics != null)
-			result &= validateMultiplicityElement_validateValueSpecificationNoSideEffects(
+			result &= validateMultiplicityElement_validateValueSpecificationConstant(
 				valuePin, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateMultiplicityElement_validateValueSpecificationConstant(
+			result &= validateMultiplicityElement_validateValueSpecificationNoSideEffects(
 				valuePin, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validatePin_validateControlPins(valuePin, diagnostics,
@@ -19127,10 +19126,10 @@
 			result &= validateInputPin_validateOutgoingEdgesStructuredOnly(
 				valuePin, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateValuePin_validateNoIncomingEdges(valuePin,
+			result &= validateValuePin_validateCompatibleType(valuePin,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateValuePin_validateCompatibleType(valuePin,
+			result &= validateValuePin_validateNoIncomingEdges(valuePin,
 				diagnostics, context);
 		return result;
 	}
@@ -19196,14 +19195,14 @@
 			result &= validateElement_validateNotOwnSelf(durationInterval,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				durationInterval, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				durationInterval, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				durationInterval, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				durationInterval, diagnostics, context);
 		return result;
 	}
 
@@ -19244,14 +19243,14 @@
 			result &= validateElement_validateNotOwnSelf(interval, diagnostics,
 				context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				interval, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(interval,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(interval,
 				diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				interval, diagnostics, context);
 		return result;
 	}
 
@@ -19294,22 +19293,22 @@
 			result &= validateElement_validateNotOwnSelf(timeConstraint,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				timeConstraint, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				timeConstraint, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				timeConstraint, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateConstraint_validateBooleanValue(timeConstraint,
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				timeConstraint, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateConstraint_validateNotApplyToSelf(timeConstraint,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateConstraint_validateNoSideEffects(timeConstraint,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateConstraint_validateNotApplyToSelf(timeConstraint,
+			result &= validateConstraint_validateBooleanValue(timeConstraint,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateConstraint_validateValueSpecificationBoolean(
@@ -19358,22 +19357,22 @@
 			result &= validateElement_validateNotOwnSelf(intervalConstraint,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				intervalConstraint, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				intervalConstraint, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				intervalConstraint, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateConstraint_validateBooleanValue(
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				intervalConstraint, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateConstraint_validateNotApplyToSelf(
 				intervalConstraint, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateConstraint_validateNoSideEffects(
 				intervalConstraint, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateConstraint_validateNotApplyToSelf(
+			result &= validateConstraint_validateBooleanValue(
 				intervalConstraint, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateConstraint_validateValueSpecificationBoolean(
@@ -19419,14 +19418,14 @@
 			result &= validateElement_validateNotOwnSelf(timeInterval,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				timeInterval, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				timeInterval, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				timeInterval, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				timeInterval, diagnostics, context);
 		return result;
 	}
 
@@ -19471,22 +19470,22 @@
 			result &= validateElement_validateNotOwnSelf(durationConstraint,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				durationConstraint, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				durationConstraint, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				durationConstraint, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateConstraint_validateBooleanValue(
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				durationConstraint, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateConstraint_validateNotApplyToSelf(
 				durationConstraint, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateConstraint_validateNoSideEffects(
 				durationConstraint, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateConstraint_validateNotApplyToSelf(
+			result &= validateConstraint_validateBooleanValue(
 				durationConstraint, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateConstraint_validateValueSpecificationBoolean(
@@ -19549,14 +19548,14 @@
 			result &= validateElement_validateNotOwnSelf(timeObservation,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				timeObservation, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				timeObservation, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				timeObservation, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				timeObservation, diagnostics, context);
 		return result;
 	}
 
@@ -19601,15 +19600,15 @@
 			result &= validateElement_validateNotOwnSelf(durationObservation,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				durationObservation, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				durationObservation, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				durationObservation, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				durationObservation, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateDurationObservation_validateFirstEventMultiplicity(
 				durationObservation, diagnostics, context);
 		return result;
@@ -19666,15 +19665,15 @@
 			result &= validateElement_validateNotOwnSelf(opaqueAction,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				opaqueAction, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				opaqueAction, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				opaqueAction, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				opaqueAction, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateRedefinableElement_validateRedefinitionConsistent(
 				opaqueAction, diagnostics, context);
 		if (result || diagnostics != null)
@@ -19729,15 +19728,15 @@
 			result &= validateElement_validateNotOwnSelf(callAction,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				callAction, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(callAction,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				callAction, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				callAction, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateRedefinableElement_validateRedefinitionConsistent(
 				callAction, diagnostics, context);
 		if (result || diagnostics != null)
@@ -19756,14 +19755,14 @@
 			result &= validateInvocationAction_validateOnPortReceiver(
 				callAction, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateCallAction_validateTypeOrderingMultiplicity(
-				callAction, diagnostics, context);
+			result &= validateCallAction_validateSynchronousCall(callAction,
+				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateCallAction_validateNumberAndOrder(callAction,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateCallAction_validateSynchronousCall(callAction,
-				diagnostics, context);
+			result &= validateCallAction_validateTypeOrderingMultiplicity(
+				callAction, diagnostics, context);
 		return result;
 	}
 
@@ -19843,15 +19842,15 @@
 			result &= validateElement_validateNotOwnSelf(sendSignalAction,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				sendSignalAction, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				sendSignalAction, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				sendSignalAction, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				sendSignalAction, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateRedefinableElement_validateRedefinitionConsistent(
 				sendSignalAction, diagnostics, context);
 		if (result || diagnostics != null)
@@ -19944,15 +19943,15 @@
 			result &= validateElement_validateNotOwnSelf(callOperationAction,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				callOperationAction, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				callOperationAction, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				callOperationAction, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				callOperationAction, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateRedefinableElement_validateRedefinitionConsistent(
 				callOperationAction, diagnostics, context);
 		if (result || diagnostics != null)
@@ -19971,16 +19970,13 @@
 			result &= validateInvocationAction_validateOnPortReceiver(
 				callOperationAction, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateCallOperationAction_validateTypeOrderingMultiplicity(
+			result &= validateCallAction_validateSynchronousCall(
 				callOperationAction, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateCallAction_validateNumberAndOrder(
 				callOperationAction, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateCallAction_validateSynchronousCall(
-				callOperationAction, diagnostics, context);
-		if (result || diagnostics != null)
-			result &= validateCallOperationAction_validateTypeTargetPin(
+			result &= validateCallOperationAction_validateTypeOrderingMultiplicity(
 				callOperationAction, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateCallOperationAction_validateArgumentPinEqualParameter(
@@ -19988,6 +19984,9 @@
 		if (result || diagnostics != null)
 			result &= validateCallOperationAction_validateResultPinEqualParameter(
 				callOperationAction, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateCallOperationAction_validateTypeTargetPin(
+				callOperationAction, diagnostics, context);
 		return result;
 	}
 
@@ -20083,15 +20082,15 @@
 			result &= validateElement_validateNotOwnSelf(callBehaviorAction,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				callBehaviorAction, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				callBehaviorAction, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				callBehaviorAction, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				callBehaviorAction, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateRedefinableElement_validateRedefinitionConsistent(
 				callBehaviorAction, diagnostics, context);
 		if (result || diagnostics != null)
@@ -20110,13 +20109,13 @@
 			result &= validateInvocationAction_validateOnPortReceiver(
 				callBehaviorAction, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateCallBehaviorAction_validateTypeOrderingMultiplicity(
+			result &= validateCallAction_validateSynchronousCall(
 				callBehaviorAction, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateCallAction_validateNumberAndOrder(
 				callBehaviorAction, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateCallAction_validateSynchronousCall(
+			result &= validateCallBehaviorAction_validateTypeOrderingMultiplicity(
 				callBehaviorAction, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateCallBehaviorAction_validateResultPinEqualParameter(
@@ -20205,15 +20204,15 @@
 			result &= validateElement_validateNotOwnSelf(informationItem,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				informationItem, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				informationItem, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				informationItem, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				informationItem, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateNamespace_validateMembersDistinguishable(
 				informationItem, diagnostics, context);
 		if (result || diagnostics != null)
@@ -20226,19 +20225,16 @@
 			result &= validateRedefinableElement_validateRedefinitionContextValid(
 				informationItem, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateClassifier_validateSpecializeType(
-				informationItem, diagnostics, context);
-		if (result || diagnostics != null)
-			result &= validateClassifier_validateMapsToGeneralizationSet(
-				informationItem, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateClassifier_validateNonFinalParents(
 				informationItem, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateClassifier_validateNoCyclesInGeneralization(
 				informationItem, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateInformationItem_validateSourcesAndTargets(
+			result &= validateClassifier_validateSpecializeType(
+				informationItem, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateClassifier_validateMapsToGeneralizationSet(
 				informationItem, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateInformationItem_validateHasNo(informationItem,
@@ -20246,6 +20242,9 @@
 		if (result || diagnostics != null)
 			result &= validateInformationItem_validateNotInstantiable(
 				informationItem, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateInformationItem_validateSourcesAndTargets(
+				informationItem, diagnostics, context);
 		return result;
 	}
 
@@ -20324,21 +20323,21 @@
 			result &= validateElement_validateNotOwnSelf(informationFlow,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				informationFlow, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				informationFlow, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				informationFlow, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateInformationFlow_validateMustConform(
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
 				informationFlow, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateInformationFlow_validateSourcesAndTargetsKind(
 				informationFlow, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateInformationFlow_validateMustConform(
+				informationFlow, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateInformationFlow_validateConveyClassifiers(
 				informationFlow, diagnostics, context);
 		return result;
@@ -20416,15 +20415,15 @@
 			result &= validateElement_validateNotOwnSelf(model, diagnostics,
 				context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				model, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(model,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(model,
 				diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				model, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateNamespace_validateMembersDistinguishable(model,
 				diagnostics, context);
 		if (result || diagnostics != null)
@@ -20472,15 +20471,15 @@
 			result &= validateElement_validateNotOwnSelf(variableAction,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				variableAction, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				variableAction, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				variableAction, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				variableAction, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateRedefinableElement_validateRedefinitionConsistent(
 				variableAction, diagnostics, context);
 		if (result || diagnostics != null)
@@ -20554,15 +20553,15 @@
 			result &= validateElement_validateNotOwnSelf(readVariableAction,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				readVariableAction, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				readVariableAction, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				readVariableAction, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				readVariableAction, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateRedefinableElement_validateRedefinitionConsistent(
 				readVariableAction, diagnostics, context);
 		if (result || diagnostics != null)
@@ -20655,15 +20654,15 @@
 			result &= validateElement_validateNotOwnSelf(writeVariableAction,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				writeVariableAction, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				writeVariableAction, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				writeVariableAction, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				writeVariableAction, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateRedefinableElement_validateRedefinitionConsistent(
 				writeVariableAction, diagnostics, context);
 		if (result || diagnostics != null)
@@ -20682,10 +20681,10 @@
 			result &= validateVariableAction_validateScopeOfVariable(
 				writeVariableAction, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateWriteVariableAction_validateSameType(
+			result &= validateWriteVariableAction_validateMultiplicity(
 				writeVariableAction, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateWriteVariableAction_validateMultiplicity(
+			result &= validateWriteVariableAction_validateSameType(
 				writeVariableAction, diagnostics, context);
 		return result;
 	}
@@ -20755,15 +20754,15 @@
 			result &= validateElement_validateNotOwnSelf(clearVariableAction,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				clearVariableAction, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				clearVariableAction, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				clearVariableAction, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				clearVariableAction, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateRedefinableElement_validateRedefinitionConsistent(
 				clearVariableAction, diagnostics, context);
 		if (result || diagnostics != null)
@@ -20825,15 +20824,15 @@
 			result &= validateElement_validateNotOwnSelf(
 				addVariableValueAction, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				addVariableValueAction, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				addVariableValueAction, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				addVariableValueAction, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				addVariableValueAction, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateRedefinableElement_validateRedefinitionConsistent(
 				addVariableValueAction, diagnostics, context);
 		if (result || diagnostics != null)
@@ -20852,10 +20851,10 @@
 			result &= validateVariableAction_validateScopeOfVariable(
 				addVariableValueAction, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateWriteVariableAction_validateSameType(
+			result &= validateWriteVariableAction_validateMultiplicity(
 				addVariableValueAction, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateWriteVariableAction_validateMultiplicity(
+			result &= validateWriteVariableAction_validateSameType(
 				addVariableValueAction, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateAddVariableValueAction_validateRequiredValue(
@@ -20933,15 +20932,15 @@
 			result &= validateElement_validateNotOwnSelf(
 				removeVariableValueAction, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				removeVariableValueAction, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				removeVariableValueAction, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				removeVariableValueAction, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				removeVariableValueAction, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateRedefinableElement_validateRedefinitionConsistent(
 				removeVariableValueAction, diagnostics, context);
 		if (result || diagnostics != null)
@@ -20960,10 +20959,10 @@
 			result &= validateVariableAction_validateScopeOfVariable(
 				removeVariableValueAction, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateWriteVariableAction_validateSameType(
+			result &= validateWriteVariableAction_validateMultiplicity(
 				removeVariableValueAction, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateWriteVariableAction_validateMultiplicity(
+			result &= validateWriteVariableAction_validateSameType(
 				removeVariableValueAction, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateRemoveVariableValueAction_validateUnlimitedNatural(
@@ -21025,15 +21024,15 @@
 			result &= validateElement_validateNotOwnSelf(raiseExceptionAction,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				raiseExceptionAction, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				raiseExceptionAction, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				raiseExceptionAction, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				raiseExceptionAction, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateRedefinableElement_validateRedefinitionConsistent(
 				raiseExceptionAction, diagnostics, context);
 		if (result || diagnostics != null)
@@ -21090,15 +21089,15 @@
 			result &= validateElement_validateNotOwnSelf(actionInputPin,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				actionInputPin, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				actionInputPin, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				actionInputPin, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				actionInputPin, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateRedefinableElement_validateRedefinitionConsistent(
 				actionInputPin, diagnostics, context);
 		if (result || diagnostics != null)
@@ -21114,27 +21113,27 @@
 			result &= validateActivityNode_validateOwnedStructuredNode(
 				actionInputPin, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateObjectNode_validateInputOutputParameter(
+			result &= validateObjectNode_validateObjectFlowEdges(
 				actionInputPin, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateObjectNode_validateSelectionBehavior(
 				actionInputPin, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateObjectNode_validateObjectFlowEdges(
-				actionInputPin, diagnostics, context);
-		if (result || diagnostics != null)
-			result &= validateMultiplicityElement_validateUpperGeLower(
+			result &= validateObjectNode_validateInputOutputParameter(
 				actionInputPin, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateMultiplicityElement_validateLowerGe0(
 				actionInputPin, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateMultiplicityElement_validateValueSpecificationNoSideEffects(
+			result &= validateMultiplicityElement_validateUpperGeLower(
 				actionInputPin, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateMultiplicityElement_validateValueSpecificationConstant(
 				actionInputPin, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateMultiplicityElement_validateValueSpecificationNoSideEffects(
+				actionInputPin, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validatePin_validateControlPins(actionInputPin,
 				diagnostics, context);
 		if (result || diagnostics != null)
@@ -21144,10 +21143,10 @@
 			result &= validateActionInputPin_validateInputPin(actionInputPin,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateActionInputPin_validateOneOutputPin(
+			result &= validateActionInputPin_validateNoControlOrDataFlow(
 				actionInputPin, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateActionInputPin_validateNoControlOrDataFlow(
+			result &= validateActionInputPin_validateOneOutputPin(
 				actionInputPin, diagnostics, context);
 		return result;
 	}
@@ -21227,15 +21226,15 @@
 			result &= validateElement_validateNotOwnSelf(readExtentAction,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				readExtentAction, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				readExtentAction, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				readExtentAction, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				readExtentAction, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateRedefinableElement_validateRedefinitionConsistent(
 				readExtentAction, diagnostics, context);
 		if (result || diagnostics != null)
@@ -21325,15 +21324,15 @@
 			result &= validateElement_validateNotOwnSelf(
 				reclassifyObjectAction, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				reclassifyObjectAction, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				reclassifyObjectAction, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				reclassifyObjectAction, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				reclassifyObjectAction, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateRedefinableElement_validateRedefinitionConsistent(
 				reclassifyObjectAction, diagnostics, context);
 		if (result || diagnostics != null)
@@ -21352,10 +21351,10 @@
 			result &= validateReclassifyObjectAction_validateInputPin(
 				reclassifyObjectAction, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateReclassifyObjectAction_validateClassifierNotAbstract(
+			result &= validateReclassifyObjectAction_validateMultiplicity(
 				reclassifyObjectAction, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateReclassifyObjectAction_validateMultiplicity(
+			result &= validateReclassifyObjectAction_validateClassifierNotAbstract(
 				reclassifyObjectAction, diagnostics, context);
 		return result;
 	}
@@ -21439,15 +21438,15 @@
 			result &= validateElement_validateNotOwnSelf(
 				readIsClassifiedObjectAction, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				readIsClassifiedObjectAction, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				readIsClassifiedObjectAction, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				readIsClassifiedObjectAction, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				readIsClassifiedObjectAction, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateRedefinableElement_validateRedefinitionConsistent(
 				readIsClassifiedObjectAction, diagnostics, context);
 		if (result || diagnostics != null)
@@ -21570,15 +21569,15 @@
 			result &= validateElement_validateNotOwnSelf(
 				startClassifierBehaviorAction, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				startClassifierBehaviorAction, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				startClassifierBehaviorAction, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				startClassifierBehaviorAction, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				startClassifierBehaviorAction, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateRedefinableElement_validateRedefinitionConsistent(
 				startClassifierBehaviorAction, diagnostics, context);
 		if (result || diagnostics != null)
@@ -21594,10 +21593,10 @@
 			result &= validateActivityNode_validateOwnedStructuredNode(
 				startClassifierBehaviorAction, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateStartClassifierBehaviorAction_validateMultiplicity(
+			result &= validateStartClassifierBehaviorAction_validateTypeHasClassifier(
 				startClassifierBehaviorAction, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateStartClassifierBehaviorAction_validateTypeHasClassifier(
+			result &= validateStartClassifierBehaviorAction_validateMultiplicity(
 				startClassifierBehaviorAction, diagnostics, context);
 		return result;
 	}
@@ -21669,15 +21668,15 @@
 			result &= validateElement_validateNotOwnSelf(
 				readLinkObjectEndAction, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				readLinkObjectEndAction, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				readLinkObjectEndAction, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				readLinkObjectEndAction, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				readLinkObjectEndAction, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateRedefinableElement_validateRedefinitionConsistent(
 				readLinkObjectEndAction, diagnostics, context);
 		if (result || diagnostics != null)
@@ -21693,25 +21692,25 @@
 			result &= validateActivityNode_validateOwnedStructuredNode(
 				readLinkObjectEndAction, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateReadLinkObjectEndAction_validateProperty(
+			result &= validateReadLinkObjectEndAction_validateAssociationOfAssociation(
 				readLinkObjectEndAction, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateReadLinkObjectEndAction_validateMultiplicityOfObject(
 				readLinkObjectEndAction, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateReadLinkObjectEndAction_validateEndsOfAssociation(
-				readLinkObjectEndAction, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateReadLinkObjectEndAction_validateTypeOfResult(
 				readLinkObjectEndAction, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateReadLinkObjectEndAction_validateMultiplicityOfResult(
-				readLinkObjectEndAction, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateReadLinkObjectEndAction_validateTypeOfObject(
 				readLinkObjectEndAction, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateReadLinkObjectEndAction_validateAssociationOfAssociation(
+			result &= validateReadLinkObjectEndAction_validateProperty(
+				readLinkObjectEndAction, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateReadLinkObjectEndAction_validateMultiplicityOfResult(
+				readLinkObjectEndAction, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateReadLinkObjectEndAction_validateEndsOfAssociation(
 				readLinkObjectEndAction, diagnostics, context);
 		return result;
 	}
@@ -21847,15 +21846,15 @@
 			result &= validateElement_validateNotOwnSelf(
 				readLinkObjectEndQualifierAction, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				readLinkObjectEndQualifierAction, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				readLinkObjectEndQualifierAction, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				readLinkObjectEndQualifierAction, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				readLinkObjectEndQualifierAction, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateRedefinableElement_validateRedefinitionConsistent(
 				readLinkObjectEndQualifierAction, diagnostics, context);
 		if (result || diagnostics != null)
@@ -21871,24 +21870,24 @@
 			result &= validateActivityNode_validateOwnedStructuredNode(
 				readLinkObjectEndQualifierAction, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateReadLinkObjectEndQualifierAction_validateMultiplicityOfObject(
-				readLinkObjectEndQualifierAction, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateReadLinkObjectEndQualifierAction_validateTypeOfObject(
 				readLinkObjectEndQualifierAction, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateReadLinkObjectEndQualifierAction_validateMultiplicityOfQualifier(
-				readLinkObjectEndQualifierAction, diagnostics, context);
-		if (result || diagnostics != null)
-			result &= validateReadLinkObjectEndQualifierAction_validateEndsOfAssociation(
-				readLinkObjectEndQualifierAction, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateReadLinkObjectEndQualifierAction_validateMultiplicityOfResult(
 				readLinkObjectEndQualifierAction, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateReadLinkObjectEndQualifierAction_validateSameType(
 				readLinkObjectEndQualifierAction, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateReadLinkObjectEndQualifierAction_validateEndsOfAssociation(
+				readLinkObjectEndQualifierAction, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateReadLinkObjectEndQualifierAction_validateMultiplicityOfQualifier(
+				readLinkObjectEndQualifierAction, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateReadLinkObjectEndQualifierAction_validateMultiplicityOfObject(
+				readLinkObjectEndQualifierAction, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateReadLinkObjectEndQualifierAction_validateAssociationOfAssociation(
 				readLinkObjectEndQualifierAction, diagnostics, context);
 		if (result || diagnostics != null)
@@ -22042,15 +22041,15 @@
 			result &= validateElement_validateNotOwnSelf(
 				createLinkObjectAction, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				createLinkObjectAction, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				createLinkObjectAction, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				createLinkObjectAction, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				createLinkObjectAction, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateRedefinableElement_validateRedefinitionConsistent(
 				createLinkObjectAction, diagnostics, context);
 		if (result || diagnostics != null)
@@ -22081,13 +22080,13 @@
 			result &= validateCreateLinkAction_validateAssociationNotAbstract(
 				createLinkObjectAction, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateCreateLinkObjectAction_validateMultiplicity(
+			result &= validateCreateLinkObjectAction_validateAssociationClass(
 				createLinkObjectAction, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateCreateLinkObjectAction_validateTypeOfResult(
 				createLinkObjectAction, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateCreateLinkObjectAction_validateAssociationClass(
+			result &= validateCreateLinkObjectAction_validateMultiplicity(
 				createLinkObjectAction, diagnostics, context);
 		return result;
 	}
@@ -22171,15 +22170,15 @@
 			result &= validateElement_validateNotOwnSelf(acceptEventAction,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				acceptEventAction, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				acceptEventAction, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				acceptEventAction, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				acceptEventAction, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateRedefinableElement_validateRedefinitionConsistent(
 				acceptEventAction, diagnostics, context);
 		if (result || diagnostics != null)
@@ -22195,17 +22194,17 @@
 			result &= validateActivityNode_validateOwnedStructuredNode(
 				acceptEventAction, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateAcceptEventAction_validateTriggerEvents(
-				acceptEventAction, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateAcceptEventAction_validateNoInputPins(
 				acceptEventAction, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateAcceptEventAction_validateNoOutputPins(
+			result &= validateAcceptEventAction_validateTriggerEvents(
 				acceptEventAction, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateAcceptEventAction_validateUnmarshallSignalEvents(
 				acceptEventAction, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateAcceptEventAction_validateNoOutputPins(
+				acceptEventAction, diagnostics, context);
 		return result;
 	}
 
@@ -22297,15 +22296,15 @@
 			result &= validateElement_validateNotOwnSelf(acceptCallAction,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				acceptCallAction, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				acceptCallAction, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				acceptCallAction, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				acceptCallAction, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateRedefinableElement_validateRedefinitionConsistent(
 				acceptCallAction, diagnostics, context);
 		if (result || diagnostics != null)
@@ -22321,19 +22320,16 @@
 			result &= validateActivityNode_validateOwnedStructuredNode(
 				acceptCallAction, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateAcceptEventAction_validateTriggerEvents(
-				acceptCallAction, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateAcceptEventAction_validateNoInputPins(
 				acceptCallAction, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateAcceptEventAction_validateNoOutputPins(
+			result &= validateAcceptEventAction_validateTriggerEvents(
 				acceptCallAction, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateAcceptEventAction_validateUnmarshallSignalEvents(
 				acceptCallAction, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateAcceptCallAction_validateResultPins(
+			result &= validateAcceptEventAction_validateNoOutputPins(
 				acceptCallAction, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateAcceptCallAction_validateTriggerCallEvent(
@@ -22341,6 +22337,9 @@
 		if (result || diagnostics != null)
 			result &= validateAcceptCallAction_validateUnmarshall(
 				acceptCallAction, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateAcceptCallAction_validateResultPins(
+				acceptCallAction, diagnostics, context);
 		return result;
 	}
 
@@ -22417,15 +22416,15 @@
 			result &= validateElement_validateNotOwnSelf(replyAction,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				replyAction, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				replyAction, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				replyAction, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				replyAction, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateRedefinableElement_validateRedefinitionConsistent(
 				replyAction, diagnostics, context);
 		if (result || diagnostics != null)
@@ -22441,10 +22440,10 @@
 			result &= validateActivityNode_validateOwnedStructuredNode(
 				replyAction, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateReplyAction_validatePinsMatchParameter(
+			result &= validateReplyAction_validateEventOnReplyToCallTrigger(
 				replyAction, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateReplyAction_validateEventOnReplyToCallTrigger(
+			result &= validateReplyAction_validatePinsMatchParameter(
 				replyAction, diagnostics, context);
 		return result;
 	}
@@ -22513,15 +22512,15 @@
 			result &= validateElement_validateNotOwnSelf(unmarshallAction,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				unmarshallAction, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				unmarshallAction, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				unmarshallAction, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				unmarshallAction, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateRedefinableElement_validateRedefinitionConsistent(
 				unmarshallAction, diagnostics, context);
 		if (result || diagnostics != null)
@@ -22537,25 +22536,25 @@
 			result &= validateActivityNode_validateOwnedStructuredNode(
 				unmarshallAction, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateUnmarshallAction_validateSameType(
+				unmarshallAction, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateUnmarshallAction_validateStructuralFeature(
 				unmarshallAction, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateUnmarshallAction_validateNumberOfResult(
-				unmarshallAction, diagnostics, context);
-		if (result || diagnostics != null)
-			result &= validateUnmarshallAction_validateMultiplicityOfResult(
-				unmarshallAction, diagnostics, context);
-		if (result || diagnostics != null)
-			result &= validateUnmarshallAction_validateTypeAndOrdering(
-				unmarshallAction, diagnostics, context);
-		if (result || diagnostics != null)
-			result &= validateUnmarshallAction_validateUnmarshallTypeIsClassifier(
-				unmarshallAction, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateUnmarshallAction_validateMultiplicityOfObject(
 				unmarshallAction, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateUnmarshallAction_validateSameType(
+			result &= validateUnmarshallAction_validateTypeAndOrdering(
+				unmarshallAction, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateUnmarshallAction_validateNumberOfResult(
+				unmarshallAction, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateUnmarshallAction_validateUnmarshallTypeIsClassifier(
+				unmarshallAction, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateUnmarshallAction_validateMultiplicityOfResult(
 				unmarshallAction, diagnostics, context);
 		return result;
 	}
@@ -22685,15 +22684,15 @@
 			result &= validateElement_validateNotOwnSelf(reduceAction,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				reduceAction, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				reduceAction, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				reduceAction, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				reduceAction, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateRedefinableElement_validateRedefinitionConsistent(
 				reduceAction, diagnostics, context);
 		if (result || diagnostics != null)
@@ -22709,14 +22708,14 @@
 			result &= validateActivityNode_validateOwnedStructuredNode(
 				reduceAction, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateReduceAction_validateOutputTypesAreCompatible(
+				reduceAction, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateReduceAction_validateReducerInputsOutput(
 				reduceAction, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateReduceAction_validateInputTypeIsCollection(
 				reduceAction, diagnostics, context);
-		if (result || diagnostics != null)
-			result &= validateReduceAction_validateOutputTypesAreCompatible(
-				reduceAction, diagnostics, context);
 		return result;
 	}
 
@@ -22798,15 +22797,15 @@
 			result &= validateElement_validateNotOwnSelf(
 				startObjectBehaviorAction, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				startObjectBehaviorAction, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				startObjectBehaviorAction, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				startObjectBehaviorAction, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				startObjectBehaviorAction, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateRedefinableElement_validateRedefinitionConsistent(
 				startObjectBehaviorAction, diagnostics, context);
 		if (result || diagnostics != null)
@@ -22825,29 +22824,29 @@
 			result &= validateInvocationAction_validateOnPortReceiver(
 				startObjectBehaviorAction, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateCallAction_validateTypeOrderingMultiplicity(
+			result &= validateCallAction_validateSynchronousCall(
 				startObjectBehaviorAction, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateCallAction_validateNumberAndOrder(
 				startObjectBehaviorAction, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateCallAction_validateSynchronousCall(
-				startObjectBehaviorAction, diagnostics, context);
-		if (result || diagnostics != null)
-			result &= validateStartObjectBehaviorAction_validateNumberOrderResults(
-				startObjectBehaviorAction, diagnostics, context);
-		if (result || diagnostics != null)
-			result &= validateStartObjectBehaviorAction_validateMultiplicityOfObject(
-				startObjectBehaviorAction, diagnostics, context);
-		if (result || diagnostics != null)
-			result &= validateStartObjectBehaviorAction_validateTypeOrderingMultiplicityMatch(
+			result &= validateCallAction_validateTypeOrderingMultiplicity(
 				startObjectBehaviorAction, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateStartObjectBehaviorAction_validateNumberOrderArguments(
 				startObjectBehaviorAction, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateStartObjectBehaviorAction_validateTypeOrderingMultiplicityMatch(
+				startObjectBehaviorAction, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateStartObjectBehaviorAction_validateNumberOrderResults(
+				startObjectBehaviorAction, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateStartObjectBehaviorAction_validateTypeOfObject(
 				startObjectBehaviorAction, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateStartObjectBehaviorAction_validateMultiplicityOfObject(
+				startObjectBehaviorAction, diagnostics, context);
 		return result;
 	}
 
@@ -22953,15 +22952,15 @@
 			result &= validateElement_validateNotOwnSelf(controlNode,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				controlNode, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				controlNode, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				controlNode, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				controlNode, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateRedefinableElement_validateRedefinitionConsistent(
 				controlNode, diagnostics, context);
 		if (result || diagnostics != null)
@@ -23016,15 +23015,15 @@
 			result &= validateElement_validateNotOwnSelf(controlFlow,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				controlFlow, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				controlFlow, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				controlFlow, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				controlFlow, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateRedefinableElement_validateRedefinitionConsistent(
 				controlFlow, diagnostics, context);
 		if (result || diagnostics != null)
@@ -23097,15 +23096,15 @@
 			result &= validateElement_validateNotOwnSelf(initialNode,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				initialNode, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				initialNode, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				initialNode, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				initialNode, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateRedefinableElement_validateRedefinitionConsistent(
 				initialNode, diagnostics, context);
 		if (result || diagnostics != null)
@@ -23194,15 +23193,15 @@
 			result &= validateElement_validateNotOwnSelf(activityParameterNode,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				activityParameterNode, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				activityParameterNode, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				activityParameterNode, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				activityParameterNode, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateRedefinableElement_validateRedefinitionConsistent(
 				activityParameterNode, diagnostics, context);
 		if (result || diagnostics != null)
@@ -23218,35 +23217,35 @@
 			result &= validateActivityNode_validateOwnedStructuredNode(
 				activityParameterNode, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateObjectNode_validateInputOutputParameter(
+			result &= validateObjectNode_validateObjectFlowEdges(
 				activityParameterNode, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateObjectNode_validateSelectionBehavior(
 				activityParameterNode, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateObjectNode_validateObjectFlowEdges(
-				activityParameterNode, diagnostics, context);
-		if (result || diagnostics != null)
-			result &= validateActivityParameterNode_validateNoOutgoingEdges(
-				activityParameterNode, diagnostics, context);
-		if (result || diagnostics != null)
-			result &= validateActivityParameterNode_validateMaximumTwoParameterNodes(
-				activityParameterNode, diagnostics, context);
-		if (result || diagnostics != null)
-			result &= validateActivityParameterNode_validateHasParameters(
-				activityParameterNode, diagnostics, context);
-		if (result || diagnostics != null)
-			result &= validateActivityParameterNode_validateSameType(
+			result &= validateObjectNode_validateInputOutputParameter(
 				activityParameterNode, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateActivityParameterNode_validateMaximumOneParameterNode(
 				activityParameterNode, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateActivityParameterNode_validateNoIncomingEdges(
+			result &= validateActivityParameterNode_validateMaximumTwoParameterNodes(
 				activityParameterNode, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateActivityParameterNode_validateNoEdges(
 				activityParameterNode, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateActivityParameterNode_validateNoIncomingEdges(
+				activityParameterNode, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateActivityParameterNode_validateNoOutgoingEdges(
+				activityParameterNode, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateActivityParameterNode_validateSameType(
+				activityParameterNode, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateActivityParameterNode_validateHasParameters(
+				activityParameterNode, diagnostics, context);
 		return result;
 	}
 
@@ -23376,15 +23375,15 @@
 			result &= validateElement_validateNotOwnSelf(forkNode, diagnostics,
 				context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				forkNode, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(forkNode,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(forkNode,
 				diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				forkNode, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateRedefinableElement_validateRedefinitionConsistent(
 				forkNode, diagnostics, context);
 		if (result || diagnostics != null)
@@ -23468,15 +23467,15 @@
 			result &= validateElement_validateNotOwnSelf(flowFinalNode,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				flowFinalNode, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				flowFinalNode, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				flowFinalNode, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				flowFinalNode, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateRedefinableElement_validateRedefinitionConsistent(
 				flowFinalNode, diagnostics, context);
 		if (result || diagnostics != null)
@@ -23534,15 +23533,15 @@
 			result &= validateElement_validateNotOwnSelf(finalNode,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				finalNode, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(finalNode,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				finalNode, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				finalNode, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateRedefinableElement_validateRedefinitionConsistent(
 				finalNode, diagnostics, context);
 		if (result || diagnostics != null)
@@ -23615,15 +23614,15 @@
 			result &= validateElement_validateNotOwnSelf(centralBufferNode,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				centralBufferNode, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				centralBufferNode, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				centralBufferNode, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				centralBufferNode, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateRedefinableElement_validateRedefinitionConsistent(
 				centralBufferNode, diagnostics, context);
 		if (result || diagnostics != null)
@@ -23639,13 +23638,13 @@
 			result &= validateActivityNode_validateOwnedStructuredNode(
 				centralBufferNode, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateObjectNode_validateInputOutputParameter(
+			result &= validateObjectNode_validateObjectFlowEdges(
 				centralBufferNode, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateObjectNode_validateSelectionBehavior(
 				centralBufferNode, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateObjectNode_validateObjectFlowEdges(
+			result &= validateObjectNode_validateInputOutputParameter(
 				centralBufferNode, diagnostics, context);
 		return result;
 	}
@@ -23687,15 +23686,15 @@
 			result &= validateElement_validateNotOwnSelf(mergeNode,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				mergeNode, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(mergeNode,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				mergeNode, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				mergeNode, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateRedefinableElement_validateRedefinitionConsistent(
 				mergeNode, diagnostics, context);
 		if (result || diagnostics != null)
@@ -23780,15 +23779,15 @@
 			result &= validateElement_validateNotOwnSelf(decisionNode,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				decisionNode, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				decisionNode, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				decisionNode, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				decisionNode, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateRedefinableElement_validateRedefinitionConsistent(
 				decisionNode, diagnostics, context);
 		if (result || diagnostics != null)
@@ -23804,16 +23803,10 @@
 			result &= validateActivityNode_validateOwnedStructuredNode(
 				decisionNode, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateDecisionNode_validateZeroInputParameters(
-				decisionNode, diagnostics, context);
-		if (result || diagnostics != null)
-			result &= validateDecisionNode_validateEdges(decisionNode,
+			result &= validateDecisionNode_validateParameters(decisionNode,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateDecisionNode_validateDecisionInputFlowIncoming(
-				decisionNode, diagnostics, context);
-		if (result || diagnostics != null)
-			result &= validateDecisionNode_validateTwoInputParameters(
+			result &= validateDecisionNode_validateIncomingObjectOneInputParameter(
 				decisionNode, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateDecisionNode_validateIncomingOutgoingEdges(
@@ -23822,11 +23815,17 @@
 			result &= validateDecisionNode_validateIncomingControlOneInputParameter(
 				decisionNode, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateDecisionNode_validateParameters(decisionNode,
-				diagnostics, context);
-		if (result || diagnostics != null)
-			result &= validateDecisionNode_validateIncomingObjectOneInputParameter(
+			result &= validateDecisionNode_validateTwoInputParameters(
 				decisionNode, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateDecisionNode_validateDecisionInputFlowIncoming(
+				decisionNode, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateDecisionNode_validateZeroInputParameters(
+				decisionNode, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateDecisionNode_validateEdges(decisionNode,
+				diagnostics, context);
 		return result;
 	}
 
@@ -23969,15 +23968,15 @@
 			result &= validateElement_validateNotOwnSelf(activityFinalNode,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				activityFinalNode, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				activityFinalNode, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				activityFinalNode, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				activityFinalNode, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateRedefinableElement_validateRedefinitionConsistent(
 				activityFinalNode, diagnostics, context);
 		if (result || diagnostics != null)
@@ -24035,15 +24034,15 @@
 			result &= validateElement_validateNotOwnSelf(joinNode, diagnostics,
 				context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				joinNode, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(joinNode,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(joinNode,
 				diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				joinNode, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateRedefinableElement_validateRedefinitionConsistent(
 				joinNode, diagnostics, context);
 		if (result || diagnostics != null)
@@ -24128,15 +24127,15 @@
 			result &= validateElement_validateNotOwnSelf(dataStoreNode,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				dataStoreNode, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				dataStoreNode, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				dataStoreNode, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				dataStoreNode, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateRedefinableElement_validateRedefinitionConsistent(
 				dataStoreNode, diagnostics, context);
 		if (result || diagnostics != null)
@@ -24152,14 +24151,14 @@
 			result &= validateActivityNode_validateOwnedStructuredNode(
 				dataStoreNode, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateObjectNode_validateInputOutputParameter(
-				dataStoreNode, diagnostics, context);
+			result &= validateObjectNode_validateObjectFlowEdges(dataStoreNode,
+				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateObjectNode_validateSelectionBehavior(
 				dataStoreNode, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateObjectNode_validateObjectFlowEdges(dataStoreNode,
-				diagnostics, context);
+			result &= validateObjectNode_validateInputOutputParameter(
+				dataStoreNode, diagnostics, context);
 		return result;
 	}
 
@@ -24200,15 +24199,15 @@
 			result &= validateElement_validateNotOwnSelf(objectFlow,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				objectFlow, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(objectFlow,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				objectFlow, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				objectFlow, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateRedefinableElement_validateRedefinitionConsistent(
 				objectFlow, diagnostics, context);
 		if (result || diagnostics != null)
@@ -24227,13 +24226,7 @@
 			result &= validateActivityEdge_validateStructuredNode(objectFlow,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateObjectFlow_validateInputAndOutputParameter(
-				objectFlow, diagnostics, context);
-		if (result || diagnostics != null)
-			result &= validateObjectFlow_validateNoActions(objectFlow,
-				diagnostics, context);
-		if (result || diagnostics != null)
-			result &= validateObjectFlow_validateTransformationBehaviour(
+			result &= validateObjectFlow_validateIsMulticastOrIsMultireceive(
 				objectFlow, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateObjectFlow_validateSelectionBehaviour(objectFlow,
@@ -24242,14 +24235,20 @@
 			result &= validateObjectFlow_validateCompatibleTypes(objectFlow,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateObjectFlow_validateSameUpperBounds(objectFlow,
+			result &= validateObjectFlow_validateNoActions(objectFlow,
 				diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateObjectFlow_validateInputAndOutputParameter(
+				objectFlow, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateObjectFlow_validateTransformationBehaviour(
+				objectFlow, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateObjectFlow_validateTarget(objectFlow,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateObjectFlow_validateIsMulticastOrIsMultireceive(
-				objectFlow, diagnostics, context);
+			result &= validateObjectFlow_validateSameUpperBounds(objectFlow,
+				diagnostics, context);
 		return result;
 	}
 
@@ -24386,15 +24385,15 @@
 			result &= validateElement_validateNotOwnSelf(sequenceNode,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				sequenceNode, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				sequenceNode, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				sequenceNode, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				sequenceNode, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateRedefinableElement_validateRedefinitionConsistent(
 				sequenceNode, diagnostics, context);
 		if (result || diagnostics != null)
@@ -24413,22 +24412,22 @@
 			result &= validateNamespace_validateMembersDistinguishable(
 				sequenceNode, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateActivityGroup_validateNodesAndEdges(sequenceNode,
-				diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateActivityGroup_validateGroupOwned(sequenceNode,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateActivityGroup_validateNotContained(sequenceNode,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateStructuredActivityNode_validateOutputPinEdges(
+			result &= validateActivityGroup_validateNodesAndEdges(sequenceNode,
+				diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateStructuredActivityNode_validateInputPinEdges(
 				sequenceNode, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateStructuredActivityNode_validateEdges(
 				sequenceNode, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateStructuredActivityNode_validateInputPinEdges(
+			result &= validateStructuredActivityNode_validateOutputPinEdges(
 				sequenceNode, diagnostics, context);
 		return result;
 	}
@@ -24472,15 +24471,15 @@
 			result &= validateElement_validateNotOwnSelf(conditionalNode,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				conditionalNode, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				conditionalNode, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				conditionalNode, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				conditionalNode, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateRedefinableElement_validateRedefinitionConsistent(
 				conditionalNode, diagnostics, context);
 		if (result || diagnostics != null)
@@ -24499,34 +24498,22 @@
 			result &= validateNamespace_validateMembersDistinguishable(
 				conditionalNode, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateActivityGroup_validateNodesAndEdges(
-				conditionalNode, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateActivityGroup_validateGroupOwned(conditionalNode,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateActivityGroup_validateNotContained(
 				conditionalNode, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateStructuredActivityNode_validateOutputPinEdges(
-				conditionalNode, diagnostics, context);
-		if (result || diagnostics != null)
-			result &= validateStructuredActivityNode_validateEdges(
+			result &= validateActivityGroup_validateNodesAndEdges(
 				conditionalNode, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateStructuredActivityNode_validateInputPinEdges(
 				conditionalNode, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateConditionalNode_validateResultNoIncoming(
+			result &= validateStructuredActivityNode_validateEdges(
 				conditionalNode, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateConditionalNode_validateNoInputPins(
-				conditionalNode, diagnostics, context);
-		if (result || diagnostics != null)
-			result &= validateConditionalNode_validateOneClauseWithExecutableNode(
-				conditionalNode, diagnostics, context);
-		if (result || diagnostics != null)
-			result &= validateConditionalNode_validateMatchingOutputPins(
+			result &= validateStructuredActivityNode_validateOutputPinEdges(
 				conditionalNode, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateConditionalNode_validateExecutableNodes(
@@ -24534,6 +24521,18 @@
 		if (result || diagnostics != null)
 			result &= validateConditionalNode_validateClauseNoPredecessor(
 				conditionalNode, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateConditionalNode_validateMatchingOutputPins(
+				conditionalNode, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateConditionalNode_validateOneClauseWithExecutableNode(
+				conditionalNode, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateConditionalNode_validateResultNoIncoming(
+				conditionalNode, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateConditionalNode_validateNoInputPins(
+				conditionalNode, diagnostics, context);
 		return result;
 	}
 
@@ -24646,14 +24645,14 @@
 			result &= validateElement_validateNotOwnSelf(clause, diagnostics,
 				context);
 		if (result || diagnostics != null)
+			result &= validateClause_validateTestAndBody(clause, diagnostics,
+				context);
+		if (result || diagnostics != null)
 			result &= validateClause_validateBodyOutputPins(clause,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateClause_validateDeciderOutput(clause, diagnostics,
 				context);
-		if (result || diagnostics != null)
-			result &= validateClause_validateTestAndBody(clause, diagnostics,
-				context);
 		return result;
 	}
 
@@ -24727,15 +24726,15 @@
 			result &= validateElement_validateNotOwnSelf(loopNode, diagnostics,
 				context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				loopNode, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(loopNode,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(loopNode,
 				diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				loopNode, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateRedefinableElement_validateRedefinitionConsistent(
 				loopNode, diagnostics, context);
 		if (result || diagnostics != null)
@@ -24754,35 +24753,35 @@
 			result &= validateNamespace_validateMembersDistinguishable(
 				loopNode, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateActivityGroup_validateNodesAndEdges(loopNode,
-				diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateActivityGroup_validateGroupOwned(loopNode,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateActivityGroup_validateNotContained(loopNode,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateStructuredActivityNode_validateOutputPinEdges(
-				loopNode, diagnostics, context);
-		if (result || diagnostics != null)
-			result &= validateStructuredActivityNode_validateEdges(loopNode,
+			result &= validateActivityGroup_validateNodesAndEdges(loopNode,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateStructuredActivityNode_validateInputPinEdges(
 				loopNode, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateLoopNode_validateResultNoIncoming(loopNode,
+			result &= validateStructuredActivityNode_validateEdges(loopNode,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateLoopNode_validateInputEdges(loopNode,
-				diagnostics, context);
+			result &= validateStructuredActivityNode_validateOutputPinEdges(
+				loopNode, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateLoopNode_validateExecutableNodes(loopNode,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateLoopNode_validateBodyOutputPins(loopNode,
 				diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateLoopNode_validateResultNoIncoming(loopNode,
+				diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateLoopNode_validateInputEdges(loopNode,
+				diagnostics, context);
 		return result;
 	}
 
@@ -24868,15 +24867,15 @@
 			result &= validateElement_validateNotOwnSelf(expansionNode,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				expansionNode, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				expansionNode, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				expansionNode, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				expansionNode, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateRedefinableElement_validateRedefinitionConsistent(
 				expansionNode, diagnostics, context);
 		if (result || diagnostics != null)
@@ -24892,14 +24891,14 @@
 			result &= validateActivityNode_validateOwnedStructuredNode(
 				expansionNode, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateObjectNode_validateInputOutputParameter(
-				expansionNode, diagnostics, context);
+			result &= validateObjectNode_validateObjectFlowEdges(expansionNode,
+				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateObjectNode_validateSelectionBehavior(
 				expansionNode, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateObjectNode_validateObjectFlowEdges(expansionNode,
-				diagnostics, context);
+			result &= validateObjectNode_validateInputOutputParameter(
+				expansionNode, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateExpansionNode_validateRegionAsInputOrOutput(
 				expansionNode, diagnostics, context);
@@ -24958,15 +24957,15 @@
 			result &= validateElement_validateNotOwnSelf(expansionRegion,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				expansionRegion, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				expansionRegion, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				expansionRegion, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				expansionRegion, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateRedefinableElement_validateRedefinitionConsistent(
 				expansionRegion, diagnostics, context);
 		if (result || diagnostics != null)
@@ -24985,22 +24984,22 @@
 			result &= validateNamespace_validateMembersDistinguishable(
 				expansionRegion, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateActivityGroup_validateNodesAndEdges(
-				expansionRegion, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateActivityGroup_validateGroupOwned(expansionRegion,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateActivityGroup_validateNotContained(
 				expansionRegion, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateStructuredActivityNode_validateOutputPinEdges(
+			result &= validateActivityGroup_validateNodesAndEdges(
+				expansionRegion, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateStructuredActivityNode_validateInputPinEdges(
 				expansionRegion, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateStructuredActivityNode_validateEdges(
 				expansionRegion, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateStructuredActivityNode_validateInputPinEdges(
+			result &= validateStructuredActivityNode_validateOutputPinEdges(
 				expansionRegion, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateExpansionRegion_validateExpansionNodes(
@@ -25061,14 +25060,14 @@
 			result &= validateElement_validateNotOwnSelf(componentRealization,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				componentRealization, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				componentRealization, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				componentRealization, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				componentRealization, diagnostics, context);
 		return result;
 	}
 
@@ -25109,15 +25108,15 @@
 			result &= validateElement_validateNotOwnSelf(component,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				component, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(component,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				component, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				component, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateNamespace_validateMembersDistinguishable(
 				component, diagnostics, context);
 		if (result || diagnostics != null)
@@ -25130,18 +25129,18 @@
 			result &= validateRedefinableElement_validateRedefinitionContextValid(
 				component, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateClassifier_validateSpecializeType(component,
-				diagnostics, context);
-		if (result || diagnostics != null)
-			result &= validateClassifier_validateMapsToGeneralizationSet(
-				component, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateClassifier_validateNonFinalParents(component,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateClassifier_validateNoCyclesInGeneralization(
 				component, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateClassifier_validateSpecializeType(component,
+				diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateClassifier_validateMapsToGeneralizationSet(
+				component, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateStructuredClassifier_validateMultiplicities(
 				component, diagnostics, context);
 		if (result || diagnostics != null)
@@ -25151,10 +25150,10 @@
 			result &= validateClass_validatePassiveClass(component,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateComponent_validateNoNestedClassifiers(component,
+			result &= validateComponent_validateNoPackagedElements(component,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateComponent_validateNoPackagedElements(component,
+			result &= validateComponent_validateNoNestedClassifiers(component,
 				diagnostics, context);
 		return result;
 	}
@@ -25218,15 +25217,15 @@
 			result &= validateElement_validateNotOwnSelf(node, diagnostics,
 				context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				node, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(node,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(node,
 				diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				node, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateNamespace_validateMembersDistinguishable(node,
 				diagnostics, context);
 		if (result || diagnostics != null)
@@ -25239,18 +25238,18 @@
 			result &= validateRedefinableElement_validateRedefinitionContextValid(
 				node, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateClassifier_validateSpecializeType(node,
-				diagnostics, context);
-		if (result || diagnostics != null)
-			result &= validateClassifier_validateMapsToGeneralizationSet(node,
-				diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateClassifier_validateNonFinalParents(node,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateClassifier_validateNoCyclesInGeneralization(node,
 				diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateClassifier_validateSpecializeType(node,
+				diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateClassifier_validateMapsToGeneralizationSet(node,
+				diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateStructuredClassifier_validateMultiplicities(node,
 				diagnostics, context);
 		if (result || diagnostics != null)
@@ -25311,15 +25310,15 @@
 			result &= validateElement_validateNotOwnSelf(device, diagnostics,
 				context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				device, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(device,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(device,
 				diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				device, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateNamespace_validateMembersDistinguishable(device,
 				diagnostics, context);
 		if (result || diagnostics != null)
@@ -25332,18 +25331,18 @@
 			result &= validateRedefinableElement_validateRedefinitionContextValid(
 				device, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateClassifier_validateSpecializeType(device,
-				diagnostics, context);
-		if (result || diagnostics != null)
-			result &= validateClassifier_validateMapsToGeneralizationSet(
-				device, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateClassifier_validateNonFinalParents(device,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateClassifier_validateNoCyclesInGeneralization(
 				device, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateClassifier_validateSpecializeType(device,
+				diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateClassifier_validateMapsToGeneralizationSet(
+				device, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateStructuredClassifier_validateMultiplicities(
 				device, diagnostics, context);
 		if (result || diagnostics != null)
@@ -25399,15 +25398,15 @@
 			result &= validateElement_validateNotOwnSelf(executionEnvironment,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				executionEnvironment, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				executionEnvironment, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				executionEnvironment, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				executionEnvironment, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateNamespace_validateMembersDistinguishable(
 				executionEnvironment, diagnostics, context);
 		if (result || diagnostics != null)
@@ -25420,18 +25419,18 @@
 			result &= validateRedefinableElement_validateRedefinitionContextValid(
 				executionEnvironment, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateClassifier_validateSpecializeType(
-				executionEnvironment, diagnostics, context);
-		if (result || diagnostics != null)
-			result &= validateClassifier_validateMapsToGeneralizationSet(
-				executionEnvironment, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateClassifier_validateNonFinalParents(
 				executionEnvironment, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateClassifier_validateNoCyclesInGeneralization(
 				executionEnvironment, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateClassifier_validateSpecializeType(
+				executionEnvironment, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateClassifier_validateMapsToGeneralizationSet(
+				executionEnvironment, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateStructuredClassifier_validateMultiplicities(
 				executionEnvironment, diagnostics, context);
 		if (result || diagnostics != null)
@@ -25486,15 +25485,15 @@
 			result &= validateElement_validateNotOwnSelf(communicationPath,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				communicationPath, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				communicationPath, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				communicationPath, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				communicationPath, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateNamespace_validateMembersDistinguishable(
 				communicationPath, diagnostics, context);
 		if (result || diagnostics != null)
@@ -25507,28 +25506,28 @@
 			result &= validateRedefinableElement_validateRedefinitionContextValid(
 				communicationPath, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateClassifier_validateSpecializeType(
-				communicationPath, diagnostics, context);
-		if (result || diagnostics != null)
-			result &= validateClassifier_validateMapsToGeneralizationSet(
-				communicationPath, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateClassifier_validateNonFinalParents(
 				communicationPath, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateClassifier_validateNoCyclesInGeneralization(
 				communicationPath, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateClassifier_validateSpecializeType(
+				communicationPath, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateClassifier_validateMapsToGeneralizationSet(
+				communicationPath, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateAssociation_validateSpecializedEndNumber(
 				communicationPath, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateAssociation_validateSpecializedEndTypes(
+			result &= validateCommunicationPath_validateAssociationEnds(
 				communicationPath, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateAssociation_validateBinaryAssociations(
 				communicationPath, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateCommunicationPath_validateAssociationEnds(
+			result &= validateAssociation_validateSpecializedEndTypes(
 				communicationPath, diagnostics, context);
 		return result;
 	}
@@ -25582,15 +25581,15 @@
 			result &= validateElement_validateNotOwnSelf(finalState,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				finalState, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(finalState,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				finalState, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				finalState, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateNamespace_validateMembersDistinguishable(
 				finalState, diagnostics, context);
 		if (result || diagnostics != null)
@@ -25606,9 +25605,6 @@
 			result &= validateState_validateEntryOrExit(finalState,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateState_validateSubmachineStates(finalState,
-				diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateState_validateCompositeStates(finalState,
 				diagnostics, context);
 		if (result || diagnostics != null)
@@ -25618,23 +25614,26 @@
 			result &= validateState_validateSubmachineOrRegions(finalState,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateFinalState_validateNoExitBehavior(finalState,
+			result &= validateState_validateSubmachineStates(finalState,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateFinalState_validateNoOutgoingTransitions(
 				finalState, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateFinalState_validateNoRegions(finalState,
-				diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateFinalState_validateCannotReferenceSubmachine(
 				finalState, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateFinalState_validateNoExitBehavior(finalState,
+				diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateFinalState_validateNoEntryBehavior(finalState,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateFinalState_validateNoStateBehavior(finalState,
 				diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateFinalState_validateNoRegions(finalState,
+				diagnostics, context);
 		return result;
 	}
 
@@ -25747,20 +25746,20 @@
 			result &= validateElement_validateNotOwnSelf(timeEvent,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				timeEvent, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(timeEvent,
 				diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				timeEvent, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateTimeEvent_validateWhenNonNegative(timeEvent,
-				diagnostics, context);
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				timeEvent, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateTimeEvent_validateStartingTime(timeEvent,
 				diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateTimeEvent_validateWhenNonNegative(timeEvent,
+				diagnostics, context);
 		return result;
 	}
 
@@ -25828,15 +25827,15 @@
 			result &= validateElement_validateNotOwnSelf(protocolTransition,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				protocolTransition, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				protocolTransition, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				protocolTransition, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				protocolTransition, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateNamespace_validateMembersDistinguishable(
 				protocolTransition, diagnostics, context);
 		if (result || diagnostics != null)
@@ -25849,34 +25848,34 @@
 			result &= validateRedefinableElement_validateRedefinitionContextValid(
 				protocolTransition, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateTransition_validateStateIsExternal(
+			result &= validateTransition_validateStateIsLocal(
 				protocolTransition, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateTransition_validateJoinSegmentGuards(
-				protocolTransition, diagnostics, context);
-		if (result || diagnostics != null)
-			result &= validateTransition_validateStateIsInternal(
-				protocolTransition, diagnostics, context);
-		if (result || diagnostics != null)
-			result &= validateTransition_validateOutgoingPseudostates(
+			result &= validateTransition_validateForkSegmentGuards(
 				protocolTransition, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateTransition_validateJoinSegmentState(
 				protocolTransition, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateTransition_validateForkSegmentState(
+			result &= validateTransition_validateInitialTransition(
+				protocolTransition, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateTransition_validateOutgoingPseudostates(
 				protocolTransition, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateTransition_validateSignaturesCompatible(
 				protocolTransition, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateTransition_validateStateIsLocal(
+			result &= validateTransition_validateStateIsInternal(
 				protocolTransition, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateTransition_validateInitialTransition(
+			result &= validateTransition_validateJoinSegmentGuards(
 				protocolTransition, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateTransition_validateForkSegmentGuards(
+			result &= validateTransition_validateForkSegmentState(
+				protocolTransition, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateTransition_validateStateIsExternal(
 				protocolTransition, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateProtocolTransition_validateRefersToOperation(
@@ -25967,15 +25966,15 @@
 			result &= validateElement_validateNotOwnSelf(associationClass,
 				diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateNamedElement_validateVisibilityNeedsOwnership(
-				associationClass, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasQualifiedName(
 				associationClass, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateNamedElement_validateHasNoQualifiedName(
 				associationClass, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateNamedElement_validateVisibilityNeedsOwnership(
+				associationClass, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateNamespace_validateMembersDistinguishable(
 				associationClass, diagnostics, context);
 		if (result || diagnostics != null)
@@ -25988,18 +25987,18 @@
 			result &= validateRedefinableElement_validateRedefinitionContextValid(
 				associationClass, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateClassifier_validateSpecializeType(
-				associationClass, diagnostics, context);
-		if (result || diagnostics != null)
-			result &= validateClassifier_validateMapsToGeneralizationSet(
-				associationClass, diagnostics, context);
-		if (result || diagnostics != null)
 			result &= validateClassifier_validateNonFinalParents(
 				associationClass, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateClassifier_validateNoCyclesInGeneralization(
 				associationClass, diagnostics, context);
 		if (result || diagnostics != null)
+			result &= validateClassifier_validateSpecializeType(
+				associationClass, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateClassifier_validateMapsToGeneralizationSet(
+				associationClass, diagnostics, context);
+		if (result || diagnostics != null)
 			result &= validateStructuredClassifier_validateMultiplicities(
 				associationClass, diagnostics, context);
 		if (result || diagnostics != null)
@@ -26012,20 +26011,20 @@
 			result &= validateAssociation_validateSpecializedEndNumber(
 				associationClass, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateAssociation_validateSpecializedEndTypes(
+			result &= validateAssociation_validateAssociationEnds(
 				associationClass, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateAssociation_validateBinaryAssociations(
 				associationClass, diagnostics, context);
 		if (result || diagnostics != null)
-			result &= validateAssociation_validateAssociationEnds(
-				associationClass, diagnostics, context);
-		if (result || diagnostics != null)
-			result &= validateAssociationClass_validateCannotBeDefined(
+			result &= validateAssociation_validateSpecializedEndTypes(
 				associationClass, diagnostics, context);
 		if (result || diagnostics != null)
 			result &= validateAssociationClass_validateDisjointAttributesEnds(
 				associationClass, diagnostics, context);
+		if (result || diagnostics != null)
+			result &= validateAssociationClass_validateCannotBeDefined(
+				associationClass, diagnostics, context);
 		return result;
 	}
 
diff --git a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/AcceptCallActionTest.java b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/AcceptCallActionTest.java
index 9a351a5..b79ebb7 100644
--- a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/AcceptCallActionTest.java
+++ b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/AcceptCallActionTest.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2007 IBM Corporation and others.
+ * Copyright (c) 2005, 2011 IBM Corporation, CEA, and others.
  * All rights reserved.   This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -7,8 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
+ *   Kenn Hussey (CEA) - 351774
  *
- * $Id: AcceptCallActionTest.java,v 1.6 2007/02/14 20:06:13 khussey Exp $
  */
 package org.eclipse.uml2.uml.tests;
 
@@ -24,9 +24,9 @@
  * <p>
  * The following operations are tested:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.AcceptCallAction#validateResultPins(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Result Pins</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.AcceptCallAction#validateTriggerCallEvent(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Trigger Call Event</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.AcceptCallAction#validateUnmarshall(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Unmarshall</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.AcceptCallAction#validateResultPins(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Result Pins</em>}</li>
  * </ul>
  * </p>
  * @generated
diff --git a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/AcceptEventActionTest.java b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/AcceptEventActionTest.java
index 71d7d56..08f2eef 100644
--- a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/AcceptEventActionTest.java
+++ b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/AcceptEventActionTest.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: AcceptEventActionTest.java,v 1.6 2007/02/14 20:06:12 khussey Exp $
  */
 package org.eclipse.uml2.uml.tests;
 
@@ -25,10 +24,10 @@
  * <p>
  * The following operations are tested:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.AcceptEventAction#validateTriggerEvents(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Trigger Events</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.AcceptEventAction#validateNoInputPins(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate No Input Pins</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.AcceptEventAction#validateNoOutputPins(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate No Output Pins</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.AcceptEventAction#validateTriggerEvents(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Trigger Events</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.AcceptEventAction#validateUnmarshallSignalEvents(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Unmarshall Signal Events</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.AcceptEventAction#validateNoOutputPins(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate No Output Pins</em>}</li>
  * </ul>
  * </p>
  * @generated
diff --git a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ActionInputPinTest.java b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ActionInputPinTest.java
index e33adf5..c25c17f 100644
--- a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ActionInputPinTest.java
+++ b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ActionInputPinTest.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ActionInputPinTest.java,v 1.6 2007/02/14 20:06:14 khussey Exp $
  */
 package org.eclipse.uml2.uml.tests;
 
@@ -26,8 +25,8 @@
  * The following operations are tested:
  * <ul>
  *   <li>{@link org.eclipse.uml2.uml.ActionInputPin#validateInputPin(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Input Pin</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.ActionInputPin#validateOneOutputPin(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate One Output Pin</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.ActionInputPin#validateNoControlOrDataFlow(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate No Control Or Data Flow</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.ActionInputPin#validateOneOutputPin(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate One Output Pin</em>}</li>
  * </ul>
  * </p>
  * @generated
diff --git a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ActivityGroupTest.java b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ActivityGroupTest.java
index eab1ecb..be427ff 100644
--- a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ActivityGroupTest.java
+++ b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ActivityGroupTest.java
@@ -7,24 +7,31 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ActivityGroupTest.java,v 1.5 2007/02/14 20:06:12 khussey Exp $
  */
 package org.eclipse.uml2.uml.tests;
 
+import org.eclipse.uml2.uml.Activity;
 import org.eclipse.uml2.uml.ActivityGroup;
+import org.eclipse.uml2.uml.UMLFactory;
 
 /**
  * <!-- begin-user-doc -->
  * A test case for the model object '<em><b>Activity Group</b></em>'.
  * <!-- end-user-doc -->
  * <p>
+ * The following features are tested:
+ * <ul>
+ *   <li>{@link org.eclipse.uml2.uml.ActivityGroup#getInActivity() <em>In Activity</em>}</li>
+ * </ul>
+ * </p>
+ * <p>
  * The following operations are tested:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.ActivityGroup#validateNodesAndEdges(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Nodes And Edges</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.ActivityGroup#validateGroupOwned(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Group Owned</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.ActivityGroup#validateNotContained(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Not Contained</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.ActivityGroup#validateNodesAndEdges(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Nodes And Edges</em>}</li>
  * </ul>
  * </p>
  * @generated
@@ -54,6 +61,52 @@
 	}
 
 	/**
+	 * Tests the '{@link org.eclipse.uml2.uml.ActivityGroup#getInActivity() <em>In Activity</em>}' feature getter.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.uml2.uml.ActivityGroup#getInActivity()
+	 * @generated NOT
+	 */
+	public void testGetInActivity() {
+		Activity activity = UMLFactory.eINSTANCE.createActivity();
+		activity.getOwnedGroups().add(getFixture());
+
+		assertEquals(activity, getFixture().getInActivity());
+
+		activity.getGroups().remove(getFixture());
+
+		assertNull(getFixture().getInActivity());
+	}
+
+	/**
+	 * Tests the '{@link org.eclipse.uml2.uml.ActivityGroup#setInActivity(org.eclipse.uml2.uml.Activity) <em>In Activity</em>}' feature setter.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.uml2.uml.ActivityGroup#setInActivity(org.eclipse.uml2.uml.Activity)
+	 * @generated NOT
+	 */
+	public void testSetInActivity() {
+		Activity activity1 = UMLFactory.eINSTANCE.createActivity();
+		getFixture().setInActivity(activity1);
+
+		assertTrue(activity1.getOwnedGroups().contains(getFixture()));
+		assertTrue(activity1.getGroups().contains(getFixture()));
+
+		Activity activity2 = UMLFactory.eINSTANCE.createActivity();
+		getFixture().setInActivity(activity2);
+
+		assertFalse(activity1.getOwnedGroups().contains(getFixture()));
+		assertFalse(activity1.getGroups().contains(getFixture()));
+		assertTrue(activity2.getOwnedGroups().contains(getFixture()));
+		assertTrue(activity2.getGroups().contains(getFixture()));
+
+		getFixture().setInActivity(null);
+
+		assertFalse(activity2.getOwnedGroups().contains(getFixture()));
+		assertFalse(activity2.getGroups().contains(getFixture()));
+	}
+
+	/**
 	 * Tests the '{@link org.eclipse.uml2.uml.ActivityGroup#validateNodesAndEdges(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Nodes And Edges</em>}' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
diff --git a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ActivityNodeTest.java b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ActivityNodeTest.java
index 47bc8c0..5a6c718 100644
--- a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ActivityNodeTest.java
+++ b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ActivityNodeTest.java
@@ -7,19 +7,26 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ActivityNodeTest.java,v 1.5 2007/02/14 20:06:14 khussey Exp $
  */
 package org.eclipse.uml2.uml.tests;
 
+import org.eclipse.uml2.uml.Activity;
 import org.eclipse.uml2.uml.ActivityNode;
+import org.eclipse.uml2.uml.UMLFactory;
 
 /**
  * <!-- begin-user-doc -->
  * A test case for the model object '<em><b>Activity Node</b></em>'.
  * <!-- end-user-doc -->
  * <p>
+ * The following features are tested:
+ * <ul>
+ *   <li>{@link org.eclipse.uml2.uml.ActivityNode#getActivity() <em>Activity</em>}</li>
+ * </ul>
+ * </p>
+ * <p>
  * The following operations are tested:
  * <ul>
  *   <li>{@link org.eclipse.uml2.uml.ActivityNode#validateOwned(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Owned</em>}</li>
@@ -53,6 +60,52 @@
 	}
 
 	/**
+	 * Tests the '{@link org.eclipse.uml2.uml.ActivityNode#getActivity() <em>Activity</em>}' feature getter.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.uml2.uml.ActivityNode#getActivity()
+	 * @generated NOT
+	 */
+	public void testGetActivity() {
+		Activity activity = UMLFactory.eINSTANCE.createActivity();
+		activity.getOwnedNodes().add(getFixture());
+
+		assertEquals(activity, getFixture().getActivity());
+
+		activity.getNodes().remove(getFixture());
+
+		assertNull(getFixture().getActivity());
+	}
+
+	/**
+	 * Tests the '{@link org.eclipse.uml2.uml.ActivityNode#setActivity(org.eclipse.uml2.uml.Activity) <em>Activity</em>}' feature setter.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.uml2.uml.ActivityNode#setActivity(org.eclipse.uml2.uml.Activity)
+	 * @generated NOT
+	 */
+	public void testSetActivity() {
+		Activity activity1 = UMLFactory.eINSTANCE.createActivity();
+		getFixture().setActivity(activity1);
+
+		assertTrue(activity1.getOwnedNodes().contains(getFixture()));
+		assertTrue(activity1.getNodes().contains(getFixture()));
+
+		Activity activity2 = UMLFactory.eINSTANCE.createActivity();
+		getFixture().setActivity(activity2);
+
+		assertFalse(activity1.getOwnedNodes().contains(getFixture()));
+		assertFalse(activity1.getNodes().contains(getFixture()));
+		assertTrue(activity2.getOwnedNodes().contains(getFixture()));
+		assertTrue(activity2.getNodes().contains(getFixture()));
+
+		getFixture().setActivity(null);
+
+		assertFalse(activity2.getOwnedNodes().contains(getFixture()));
+		assertFalse(activity2.getNodes().contains(getFixture()));
+	}
+
+	/**
 	 * Tests the '{@link org.eclipse.uml2.uml.ActivityNode#validateOwned(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Owned</em>}' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
diff --git a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ActivityParameterNodeTest.java b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ActivityParameterNodeTest.java
index 6762bfb..431501a 100644
--- a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ActivityParameterNodeTest.java
+++ b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ActivityParameterNodeTest.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ActivityParameterNodeTest.java,v 1.4 2008/10/02 21:00:20 jbruck Exp $
  */
 package org.eclipse.uml2.uml.tests;
 
@@ -25,13 +24,13 @@
  * <p>
  * The following operations are tested:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.ActivityParameterNode#validateNoOutgoingEdges(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate No Outgoing Edges</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.ActivityParameterNode#validateMaximumTwoParameterNodes(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Maximum Two Parameter Nodes</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.ActivityParameterNode#validateHasParameters(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Has Parameters</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.ActivityParameterNode#validateSameType(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Same Type</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.ActivityParameterNode#validateMaximumOneParameterNode(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Maximum One Parameter Node</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.ActivityParameterNode#validateNoIncomingEdges(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate No Incoming Edges</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.ActivityParameterNode#validateMaximumTwoParameterNodes(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Maximum Two Parameter Nodes</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.ActivityParameterNode#validateNoEdges(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate No Edges</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.ActivityParameterNode#validateNoIncomingEdges(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate No Incoming Edges</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.ActivityParameterNode#validateNoOutgoingEdges(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate No Outgoing Edges</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.ActivityParameterNode#validateSameType(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Same Type</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.ActivityParameterNode#validateHasParameters(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Has Parameters</em>}</li>
  * </ul>
  * </p>
  * @generated
diff --git a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ActivityPartitionTest.java b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ActivityPartitionTest.java
index 109d7c2..69efa5a 100644
--- a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ActivityPartitionTest.java
+++ b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ActivityPartitionTest.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ActivityPartitionTest.java,v 1.6 2007/02/14 20:06:12 khussey Exp $
  */
 package org.eclipse.uml2.uml.tests;
 
@@ -25,9 +24,9 @@
  * <p>
  * The following operations are tested:
  * <ul>
+ *   <li>{@link org.eclipse.uml2.uml.ActivityPartition#validateRepresentsPart(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Represents Part</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.ActivityPartition#validateRepresentsClassifier(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Represents Classifier</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.ActivityPartition#validateRepresentsPartAndIsContained(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Represents Part And Is Contained</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.ActivityPartition#validateRepresentsPart(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Represents Part</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.ActivityPartition#validateDimensionNotContained(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Dimension Not Contained</em>}</li>
  * </ul>
  * </p>
diff --git a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ActivityTest.java b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ActivityTest.java
index 17371f6..0dcabef 100644
--- a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ActivityTest.java
+++ b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ActivityTest.java
@@ -7,15 +7,17 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ActivityTest.java,v 1.7 2007/02/14 20:06:13 khussey Exp $
  */
 package org.eclipse.uml2.uml.tests;
 
 import junit.textui.TestRunner;
 
 import org.eclipse.uml2.uml.Activity;
+import org.eclipse.uml2.uml.ActivityGroup;
+import org.eclipse.uml2.uml.ActivityNode;
+import org.eclipse.uml2.uml.ActivityPartition;
 import org.eclipse.uml2.uml.StructuredActivityNode;
 import org.eclipse.uml2.uml.UMLFactory;
 
@@ -26,15 +28,16 @@
  * <p>
  * The following features are tested:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.Activity#getStructuredNodes() <em>Structured Node</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.Activity#getGroups() <em>Group</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.Activity#getNodes() <em>Node</em>}</li>
  * </ul>
  * </p>
  * <p>
  * The following operations are tested:
  * <ul>
+ *   <li>{@link org.eclipse.uml2.uml.Activity#validateActivityParameterNode(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Activity Parameter Node</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Activity#validateAutonomous(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Autonomous</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Activity#validateNoSupergroups(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate No Supergroups</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.Activity#validateActivityParameterNode(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Activity Parameter Node</em>}</li>
  * </ul>
  * </p>
  * @generated
@@ -97,27 +100,78 @@
 	}
 
 	/**
-	 * Tests the '{@link org.eclipse.uml2.uml.Activity#getStructuredNodes() <em>Structured Node</em>}' feature getter.
+	 * Tests the '{@link org.eclipse.uml2.uml.Activity#getGroups() <em>Group</em>}' feature getter.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @see org.eclipse.uml2.uml.Activity#getStructuredNodes()
+	 * @see org.eclipse.uml2.uml.Activity#getGroups()
 	 * @generated NOT
 	 */
-	public void testGetStructuredNodes() {
-		StructuredActivityNode structuredNode1 = UMLFactory.eINSTANCE
-			.createStructuredActivityNode();
-		getFixture().getNodes().add(structuredNode1);
+	public void testGetGroups() {
+		ActivityGroup ownedGroup = UMLFactory.eINSTANCE.createInterruptibleActivityRegion();
+		getFixture().getOwnedGroups().add(ownedGroup);
+		
+		assertTrue(getFixture().getOwnedGroups().contains(ownedGroup));
+		assertTrue(getFixture().getGroups().contains(ownedGroup));
+		
+		getFixture().getGroups().remove(ownedGroup);
 
-		assertSame(getFixture(), structuredNode1.getActivity());
+		assertFalse(getFixture().getOwnedGroups().contains(ownedGroup));
+		assertFalse(getFixture().getGroups().contains(ownedGroup));
 
-		StructuredActivityNode structuredNode2 = UMLFactory.eINSTANCE
-			.createStructuredActivityNode();
-		getFixture().getGroups().add(structuredNode2);
+		ActivityPartition partition = UMLFactory.eINSTANCE.createActivityPartition();
+		getFixture().getPartitions().add(partition);
+		
+		assertTrue(getFixture().getPartitions().contains(partition));
+		assertTrue(getFixture().getOwnedGroups().contains(partition));
+		assertTrue(getFixture().getGroups().contains(partition));
+		
+		getFixture().getGroups().remove(partition);
 
-		assertSame(getFixture(), structuredNode2.getActivity());
+		assertFalse(getFixture().getPartitions().contains(partition));
+		assertFalse(getFixture().getOwnedGroups().contains(partition));
+		assertFalse(getFixture().getGroups().contains(partition));
 
-		assertTrue(getFixture().getStructuredNodes().contains(structuredNode1));
-		assertTrue(getFixture().getStructuredNodes().contains(structuredNode2));
+		StructuredActivityNode structuredNode = UMLFactory.eINSTANCE.createStructuredActivityNode();
+		getFixture().getStructuredNodes().add(structuredNode);
+		
+		assertTrue(getFixture().getStructuredNodes().contains(structuredNode));
+		assertTrue(getFixture().getGroups().contains(structuredNode));
+		
+		getFixture().getGroups().remove(structuredNode);
+		
+		assertFalse(getFixture().getStructuredNodes().contains(structuredNode));
+		assertFalse(getFixture().getGroups().contains(structuredNode));
+	}
+
+	/**
+	 * Tests the '{@link org.eclipse.uml2.uml.Activity#getNodes() <em>Node</em>}' feature getter.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.eclipse.uml2.uml.Activity#getNodes()
+	 * @generated NOT
+	 */
+	public void testGetNodes() {
+		ActivityNode ownedNode = UMLFactory.eINSTANCE.createCentralBufferNode();
+		getFixture().getOwnedNodes().add(ownedNode);
+		
+		assertTrue(getFixture().getOwnedNodes().contains(ownedNode));
+		assertTrue(getFixture().getNodes().contains(ownedNode));
+		
+		getFixture().getNodes().remove(ownedNode);
+
+		assertFalse(getFixture().getOwnedNodes().contains(ownedNode));
+		assertFalse(getFixture().getNodes().contains(ownedNode));
+
+		StructuredActivityNode structuredNode = UMLFactory.eINSTANCE.createStructuredActivityNode();
+		getFixture().getStructuredNodes().add(structuredNode);
+		
+		assertTrue(getFixture().getStructuredNodes().contains(structuredNode));
+		assertTrue(getFixture().getNodes().contains(structuredNode));
+		
+		getFixture().getNodes().remove(structuredNode);
+		
+		assertFalse(getFixture().getStructuredNodes().contains(structuredNode));
+		assertFalse(getFixture().getNodes().contains(structuredNode));
 	}
 
 	/**
diff --git a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/AddStructuralFeatureValueActionTest.java b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/AddStructuralFeatureValueActionTest.java
index 0085a44..dd8ab34 100644
--- a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/AddStructuralFeatureValueActionTest.java
+++ b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/AddStructuralFeatureValueActionTest.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: AddStructuralFeatureValueActionTest.java,v 1.6 2007/02/14 20:06:14 khussey Exp $
  */
 package org.eclipse.uml2.uml.tests;
 
@@ -25,8 +24,8 @@
  * <p>
  * The following operations are tested:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.AddStructuralFeatureValueAction#validateRequiredValue(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Required Value</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.AddStructuralFeatureValueAction#validateUnlimitedNaturalAndMultiplicity(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Unlimited Natural And Multiplicity</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.AddStructuralFeatureValueAction#validateRequiredValue(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Required Value</em>}</li>
  * </ul>
  * </p>
  * @generated
diff --git a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/AssociationClassTest.java b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/AssociationClassTest.java
index 55926df..d0bbfc2 100644
--- a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/AssociationClassTest.java
+++ b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/AssociationClassTest.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: AssociationClassTest.java,v 1.7 2007/02/14 20:06:12 khussey Exp $
  */
 package org.eclipse.uml2.uml.tests;
 
@@ -32,12 +31,12 @@
  * The following operations are tested:
  * <ul>
  *   <li>{@link org.eclipse.uml2.uml.Association#validateSpecializedEndNumber(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Specialized End Number</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.Association#validateSpecializedEndTypes(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Specialized End Types</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.Association#validateBinaryAssociations(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Binary Associations</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Association#validateAssociationEnds(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Association Ends</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.Association#validateBinaryAssociations(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Binary Associations</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.Association#validateSpecializedEndTypes(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Specialized End Types</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Association#isBinary() <em>Is Binary</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.AssociationClass#validateCannotBeDefined(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Cannot Be Defined</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.AssociationClass#validateDisjointAttributesEnds(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Disjoint Attributes Ends</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.AssociationClass#validateCannotBeDefined(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Cannot Be Defined</em>}</li>
  * </ul>
  * </p>
  * @generated
diff --git a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/AssociationTest.java b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/AssociationTest.java
index 840b700..ed68a81 100644
--- a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/AssociationTest.java
+++ b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/AssociationTest.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2007 IBM Corporation and others.
+ * Copyright (c) 2005, 2011 IBM Corporation, CEA, and others.
  * All rights reserved.   This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -7,8 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
+ *   Kenn Hussey (CEA) - 351774
  *
- * $Id: AssociationTest.java,v 1.7 2007/02/14 20:06:12 khussey Exp $
  */
 package org.eclipse.uml2.uml.tests;
 
@@ -31,9 +31,9 @@
  * The following operations are tested:
  * <ul>
  *   <li>{@link org.eclipse.uml2.uml.Association#validateSpecializedEndNumber(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Specialized End Number</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.Association#validateSpecializedEndTypes(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Specialized End Types</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.Association#validateBinaryAssociations(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Binary Associations</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Association#validateAssociationEnds(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Association Ends</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.Association#validateBinaryAssociations(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Binary Associations</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.Association#validateSpecializedEndTypes(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Specialized End Types</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Association#isBinary() <em>Is Binary</em>}</li>
  * </ul>
  * </p>
diff --git a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/BehaviorTest.java b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/BehaviorTest.java
index af7d799..7bb9bbd 100644
--- a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/BehaviorTest.java
+++ b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/BehaviorTest.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: BehaviorTest.java,v 1.5 2007/02/14 20:06:14 khussey Exp $
  */
 package org.eclipse.uml2.uml.tests;
 
@@ -28,10 +27,10 @@
  * <p>
  * The following operations are tested:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.Behavior#validateMostOneBehaviour(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Most One Behaviour</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.Behavior#validateMustRealize(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Must Realize</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Behavior#validateParametersMatch(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Parameters Match</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Behavior#validateFeatureOfContextClassifier(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Feature Of Context Classifier</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.Behavior#validateMustRealize(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Must Realize</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.Behavior#validateMostOneBehaviour(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Most One Behaviour</em>}</li>
  * </ul>
  * </p>
  * @generated
diff --git a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/BroadcastSignalActionTest.java b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/BroadcastSignalActionTest.java
index 618620f..0b5a343 100644
--- a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/BroadcastSignalActionTest.java
+++ b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/BroadcastSignalActionTest.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2007 IBM Corporation and others.
+ * Copyright (c) 2005, 2011 IBM Corporation, CEA, and others.
  * All rights reserved.   This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -7,8 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
+ *   Kenn Hussey (CEA) - 351774
  *
- * $Id: BroadcastSignalActionTest.java,v 1.3 2007/02/14 20:06:14 khussey Exp $
  */
 package org.eclipse.uml2.uml.tests;
 
@@ -24,8 +24,8 @@
  * <p>
  * The following operations are tested:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.BroadcastSignalAction#validateNumberAndOrder(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Number And Order</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.BroadcastSignalAction#validateTypeOrderingMultiplicity(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Type Ordering Multiplicity</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.BroadcastSignalAction#validateNumberAndOrder(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Number And Order</em>}</li>
  * </ul>
  * </p>
  * @generated
diff --git a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/CallActionTest.java b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/CallActionTest.java
index 87b14a3..b2dbb44 100644
--- a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/CallActionTest.java
+++ b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/CallActionTest.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: CallActionTest.java,v 1.5 2007/02/14 20:06:12 khussey Exp $
  */
 package org.eclipse.uml2.uml.tests;
 
@@ -22,9 +21,9 @@
  * <p>
  * The following operations are tested:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.CallAction#validateTypeOrderingMultiplicity(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Type Ordering Multiplicity</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.CallAction#validateNumberAndOrder(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Number And Order</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.CallAction#validateSynchronousCall(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Synchronous Call</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.CallAction#validateNumberAndOrder(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Number And Order</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.CallAction#validateTypeOrderingMultiplicity(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Type Ordering Multiplicity</em>}</li>
  * </ul>
  * </p>
  * @generated
diff --git a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/CallOperationActionTest.java b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/CallOperationActionTest.java
index 4597a4a..df96fb8 100644
--- a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/CallOperationActionTest.java
+++ b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/CallOperationActionTest.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: CallOperationActionTest.java,v 1.6 2007/02/14 20:06:13 khussey Exp $
  */
 package org.eclipse.uml2.uml.tests;
 
@@ -25,9 +24,9 @@
  * <p>
  * The following operations are tested:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.CallOperationAction#validateTypeTargetPin(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Type Target Pin</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.CallOperationAction#validateArgumentPinEqualParameter(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Argument Pin Equal Parameter</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.CallOperationAction#validateResultPinEqualParameter(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Result Pin Equal Parameter</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.CallOperationAction#validateTypeTargetPin(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Type Target Pin</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.CallOperationAction#validateTypeOrderingMultiplicity(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Type Ordering Multiplicity</em>}</li>
  * </ul>
  * </p>
diff --git a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ClassifierTest.java b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ClassifierTest.java
index aac7b6b..6439c32 100644
--- a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ClassifierTest.java
+++ b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ClassifierTest.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ClassifierTest.java,v 1.7 2007/02/14 20:06:14 khussey Exp $
  */
 package org.eclipse.uml2.uml.tests;
 
@@ -42,10 +41,10 @@
  *   <li>{@link org.eclipse.uml2.uml.Type#getAssociations() <em>Get Associations</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Classifier#isTemplate() <em>Is Template</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.TemplateableElement#parameterableElements() <em>Parameterable Elements</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.Classifier#validateSpecializeType(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Specialize Type</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.Classifier#validateMapsToGeneralizationSet(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Maps To Generalization Set</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Classifier#validateNonFinalParents(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Non Final Parents</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Classifier#validateNoCyclesInGeneralization(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate No Cycles In Generalization</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.Classifier#validateSpecializeType(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Specialize Type</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.Classifier#validateMapsToGeneralizationSet(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Maps To Generalization Set</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Classifier#getAllAttributes() <em>Get All Attributes</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Classifier#getAllOperations() <em>Get All Operations</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Classifier#getAllUsedInterfaces() <em>Get All Used Interfaces</em>}</li>
diff --git a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ClauseTest.java b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ClauseTest.java
index f2f327b..5efeca4 100644
--- a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ClauseTest.java
+++ b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ClauseTest.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ClauseTest.java,v 1.3 2007/02/14 20:06:12 khussey Exp $
  */
 package org.eclipse.uml2.uml.tests;
 
@@ -25,9 +24,9 @@
  * <p>
  * The following operations are tested:
  * <ul>
+ *   <li>{@link org.eclipse.uml2.uml.Clause#validateTestAndBody(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Test And Body</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Clause#validateBodyOutputPins(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Body Output Pins</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Clause#validateDeciderOutput(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Decider Output</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.Clause#validateTestAndBody(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Test And Body</em>}</li>
  * </ul>
  * </p>
  * @generated
diff --git a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ClearStructuralFeatureActionTest.java b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ClearStructuralFeatureActionTest.java
index 0202cd3..c54357e 100644
--- a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ClearStructuralFeatureActionTest.java
+++ b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ClearStructuralFeatureActionTest.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2008 IBM Corporation and others.
+ * Copyright (c) 2005, 2011 IBM Corporation, CEA, and others.
  * All rights reserved.   This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -7,8 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
+ *   Kenn Hussey (CEA) - 351774
  *
- * $Id: ClearStructuralFeatureActionTest.java,v 1.4 2008/10/02 21:00:20 jbruck Exp $
  */
 package org.eclipse.uml2.uml.tests;
 
@@ -24,8 +24,8 @@
  * <p>
  * The following operations are tested:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.ClearStructuralFeatureAction#validateTypeOfResult(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Type Of Result</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.ClearStructuralFeatureAction#validateMultiplicityOfResult(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Multiplicity Of Result</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.ClearStructuralFeatureAction#validateTypeOfResult(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Type Of Result</em>}</li>
  * </ul>
  * </p>
  * @generated
diff --git a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/CollaborationUseTest.java b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/CollaborationUseTest.java
index 97a0c53..236f298 100644
--- a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/CollaborationUseTest.java
+++ b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/CollaborationUseTest.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2007 IBM Corporation and others.
+ * Copyright (c) 2005, 2011 IBM Corporation, CEA, and others.
  * All rights reserved.   This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -7,8 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
+ *   Kenn Hussey (CEA) - 351774
  *
- * $Id: CollaborationUseTest.java,v 1.6 2007/02/14 20:06:12 khussey Exp $
  */
 package org.eclipse.uml2.uml.tests;
 
@@ -24,9 +24,9 @@
  * <p>
  * The following operations are tested:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.CollaborationUse#validateClientElements(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Client Elements</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.CollaborationUse#validateEveryRole(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Every Role</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.CollaborationUse#validateConnectors(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Connectors</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.CollaborationUse#validateEveryRole(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Every Role</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.CollaborationUse#validateClientElements(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Client Elements</em>}</li>
  * </ul>
  * </p>
  * @generated
diff --git a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/CombinedFragmentTest.java b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/CombinedFragmentTest.java
index 19e0c97..561a0ea 100644
--- a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/CombinedFragmentTest.java
+++ b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/CombinedFragmentTest.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: CombinedFragmentTest.java,v 1.6 2007/02/14 20:06:13 khussey Exp $
  */
 package org.eclipse.uml2.uml.tests;
 
@@ -25,10 +24,10 @@
  * <p>
  * The following operations are tested:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.CombinedFragment#validateMinintAndMaxint(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Minint And Maxint</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.CombinedFragment#validateBreak(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Break</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.CombinedFragment#validateConsiderAndIgnore(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Consider And Ignore</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.CombinedFragment#validateOptLoopBreakNeg(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Opt Loop Break Neg</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.CombinedFragment#validateConsiderAndIgnore(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Consider And Ignore</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.CombinedFragment#validateMinintAndMaxint(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Minint And Maxint</em>}</li>
  * </ul>
  * </p>
  * @generated
diff --git a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ComponentTest.java b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ComponentTest.java
index a8989ce..6ca1e88 100644
--- a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ComponentTest.java
+++ b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ComponentTest.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ComponentTest.java,v 1.7 2007/02/14 20:06:12 khussey Exp $
  */
 package org.eclipse.uml2.uml.tests;
 
@@ -32,8 +31,8 @@
  * <p>
  * The following operations are tested:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.Component#validateNoNestedClassifiers(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate No Nested Classifiers</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Component#validateNoPackagedElements(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate No Packaged Elements</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.Component#validateNoNestedClassifiers(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate No Nested Classifiers</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Component#createOwnedClass(java.lang.String, boolean) <em>Create Owned Class</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Component#createOwnedEnumeration(java.lang.String) <em>Create Owned Enumeration</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Component#createOwnedInterface(java.lang.String) <em>Create Owned Interface</em>}</li>
diff --git a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ConditionalNodeTest.java b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ConditionalNodeTest.java
index 7b1c0d9..c8ba419 100644
--- a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ConditionalNodeTest.java
+++ b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ConditionalNodeTest.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ConditionalNodeTest.java,v 1.6 2007/02/14 20:06:11 khussey Exp $
  */
 package org.eclipse.uml2.uml.tests;
 
@@ -25,12 +24,12 @@
  * <p>
  * The following operations are tested:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.ConditionalNode#validateResultNoIncoming(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Result No Incoming</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.ConditionalNode#validateNoInputPins(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate No Input Pins</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.ConditionalNode#validateOneClauseWithExecutableNode(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate One Clause With Executable Node</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.ConditionalNode#validateMatchingOutputPins(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Matching Output Pins</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.ConditionalNode#validateExecutableNodes(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Executable Nodes</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.ConditionalNode#validateClauseNoPredecessor(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Clause No Predecessor</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.ConditionalNode#validateMatchingOutputPins(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Matching Output Pins</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.ConditionalNode#validateOneClauseWithExecutableNode(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate One Clause With Executable Node</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.ConditionalNode#validateResultNoIncoming(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Result No Incoming</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.ConditionalNode#validateNoInputPins(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate No Input Pins</em>}</li>
  * </ul>
  * </p>
  * @generated
diff --git a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ConnectionPointReferenceTest.java b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ConnectionPointReferenceTest.java
index b0cf5b7..2efaecc 100644
--- a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ConnectionPointReferenceTest.java
+++ b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ConnectionPointReferenceTest.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ConnectionPointReferenceTest.java,v 1.5 2007/02/14 20:06:12 khussey Exp $
  */
 package org.eclipse.uml2.uml.tests;
 
@@ -25,8 +24,8 @@
  * <p>
  * The following operations are tested:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.ConnectionPointReference#validateExitPseudostates(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Exit Pseudostates</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.ConnectionPointReference#validateEntryPseudostates(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Entry Pseudostates</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.ConnectionPointReference#validateExitPseudostates(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Exit Pseudostates</em>}</li>
  * </ul>
  * </p>
  * @generated
diff --git a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ConnectorEndTest.java b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ConnectorEndTest.java
index 0786e0d..ca50ac7 100644
--- a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ConnectorEndTest.java
+++ b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ConnectorEndTest.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ConnectorEndTest.java,v 1.3 2007/02/14 20:06:14 khussey Exp $
  */
 package org.eclipse.uml2.uml.tests;
 
@@ -32,9 +31,9 @@
  * The following operations are tested:
  * <ul>
  *   <li>{@link org.eclipse.uml2.uml.ConnectorEnd#validateRoleAndPartWithPort(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Role And Part With Port</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.ConnectorEnd#validatePartWithPortEmpty(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Part With Port Empty</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.ConnectorEnd#validateMultiplicity(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Multiplicity</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.ConnectorEnd#validateSelfPartWithPort(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Self Part With Port</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.ConnectorEnd#validateMultiplicity(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Multiplicity</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.ConnectorEnd#validatePartWithPortEmpty(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Part With Port Empty</em>}</li>
  * </ul>
  * </p>
  * @generated
diff --git a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ConnectorTest.java b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ConnectorTest.java
index ab69eb4..25957da 100644
--- a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ConnectorTest.java
+++ b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ConnectorTest.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ConnectorTest.java,v 1.6 2007/02/14 20:06:14 khussey Exp $
  */
 package org.eclipse.uml2.uml.tests;
 
@@ -31,10 +30,10 @@
  * <p>
  * The following operations are tested:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.Connector#validateTypes(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Types</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.Connector#validateCompatible(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Compatible</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Connector#validateRoles(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Roles</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Connector#validateBetweenInterfacesPorts(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Between Interfaces Ports</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.Connector#validateCompatible(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Compatible</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.Connector#validateTypes(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Types</em>}</li>
  * </ul>
  * </p>
  * @generated
diff --git a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ConsiderIgnoreFragmentTest.java b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ConsiderIgnoreFragmentTest.java
index be8376d..de8799b 100644
--- a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ConsiderIgnoreFragmentTest.java
+++ b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ConsiderIgnoreFragmentTest.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2007 IBM Corporation and others.
+ * Copyright (c) 2005, 2011 IBM Corporation, CEA, and others.
  * All rights reserved.   This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -7,8 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
+ *   Kenn Hussey (CEA) - 351774
  *
- * $Id: ConsiderIgnoreFragmentTest.java,v 1.3 2007/02/14 20:06:13 khussey Exp $
  */
 package org.eclipse.uml2.uml.tests;
 
@@ -24,8 +24,8 @@
  * <p>
  * The following operations are tested:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.ConsiderIgnoreFragment#validateConsiderOrIgnore(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Consider Or Ignore</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.ConsiderIgnoreFragment#validateType(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Type</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.ConsiderIgnoreFragment#validateConsiderOrIgnore(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Consider Or Ignore</em>}</li>
  * </ul>
  * </p>
  * @generated
diff --git a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ConstraintTest.java b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ConstraintTest.java
index 75d0e21..98eec46 100644
--- a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ConstraintTest.java
+++ b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ConstraintTest.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ConstraintTest.java,v 1.6 2007/02/14 20:06:12 khussey Exp $
  */
 package org.eclipse.uml2.uml.tests;
 
@@ -25,9 +24,9 @@
  * <p>
  * The following operations are tested:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.Constraint#validateBooleanValue(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Boolean Value</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.Constraint#validateNoSideEffects(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate No Side Effects</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Constraint#validateNotApplyToSelf(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Not Apply To Self</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.Constraint#validateNoSideEffects(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate No Side Effects</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.Constraint#validateBooleanValue(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Boolean Value</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Constraint#validateValueSpecificationBoolean(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Value Specification Boolean</em>}</li>
  * </ul>
  * </p>
diff --git a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ContinuationTest.java b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ContinuationTest.java
index d1bd791..d1da6da 100644
--- a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ContinuationTest.java
+++ b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ContinuationTest.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ContinuationTest.java,v 1.3 2007/02/14 20:06:14 khussey Exp $
  */
 package org.eclipse.uml2.uml.tests;
 
@@ -25,8 +24,8 @@
  * <p>
  * The following operations are tested:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.Continuation#validateFirstOrLastInteractionFragment(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate First Or Last Interaction Fragment</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Continuation#validateSameName(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Same Name</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.Continuation#validateFirstOrLastInteractionFragment(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate First Or Last Interaction Fragment</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Continuation#validateGlobal(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Global</em>}</li>
  * </ul>
  * </p>
diff --git a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/CreateLinkObjectActionTest.java b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/CreateLinkObjectActionTest.java
index 2b5e204..ba5f28e 100644
--- a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/CreateLinkObjectActionTest.java
+++ b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/CreateLinkObjectActionTest.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: CreateLinkObjectActionTest.java,v 1.6 2007/02/14 20:06:12 khussey Exp $
  */
 package org.eclipse.uml2.uml.tests;
 
@@ -25,9 +24,9 @@
  * <p>
  * The following operations are tested:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.CreateLinkObjectAction#validateMultiplicity(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Multiplicity</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.CreateLinkObjectAction#validateTypeOfResult(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Type Of Result</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.CreateLinkObjectAction#validateAssociationClass(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Association Class</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.CreateLinkObjectAction#validateTypeOfResult(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Type Of Result</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.CreateLinkObjectAction#validateMultiplicity(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Multiplicity</em>}</li>
  * </ul>
  * </p>
  * @generated
diff --git a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/CreateObjectActionTest.java b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/CreateObjectActionTest.java
index b00906b..7c4902a 100644
--- a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/CreateObjectActionTest.java
+++ b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/CreateObjectActionTest.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: CreateObjectActionTest.java,v 1.6 2007/02/14 20:06:14 khussey Exp $
  */
 package org.eclipse.uml2.uml.tests;
 
@@ -25,10 +24,10 @@
  * <p>
  * The following operations are tested:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.CreateObjectAction#validateClassifierNotAbstract(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Classifier Not Abstract</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.CreateObjectAction#validateMultiplicity(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Multiplicity</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.CreateObjectAction#validateClassifierNotAssociationClass(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Classifier Not Association Class</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.CreateObjectAction#validateClassifierNotAbstract(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Classifier Not Abstract</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.CreateObjectAction#validateSameType(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Same Type</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.CreateObjectAction#validateMultiplicity(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Multiplicity</em>}</li>
  * </ul>
  * </p>
  * @generated
diff --git a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/DecisionNodeTest.java b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/DecisionNodeTest.java
index 4717996..4238cbb 100644
--- a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/DecisionNodeTest.java
+++ b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/DecisionNodeTest.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: DecisionNodeTest.java,v 1.4 2008/10/02 21:00:20 jbruck Exp $
  */
 package org.eclipse.uml2.uml.tests;
 
@@ -25,14 +24,14 @@
  * <p>
  * The following operations are tested:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.DecisionNode#validateZeroInputParameters(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Zero Input Parameters</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.DecisionNode#validateEdges(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Edges</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.DecisionNode#validateDecisionInputFlowIncoming(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Decision Input Flow Incoming</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.DecisionNode#validateTwoInputParameters(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Two Input Parameters</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.DecisionNode#validateIncomingOutgoingEdges(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Incoming Outgoing Edges</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.DecisionNode#validateIncomingControlOneInputParameter(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Incoming Control One Input Parameter</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.DecisionNode#validateParameters(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Parameters</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.DecisionNode#validateIncomingObjectOneInputParameter(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Incoming Object One Input Parameter</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.DecisionNode#validateIncomingOutgoingEdges(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Incoming Outgoing Edges</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.DecisionNode#validateIncomingControlOneInputParameter(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Incoming Control One Input Parameter</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.DecisionNode#validateTwoInputParameters(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Two Input Parameters</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.DecisionNode#validateDecisionInputFlowIncoming(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Decision Input Flow Incoming</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.DecisionNode#validateZeroInputParameters(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Zero Input Parameters</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.DecisionNode#validateEdges(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Edges</em>}</li>
  * </ul>
  * </p>
  * @generated
diff --git a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/DeploymentSpecificationTest.java b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/DeploymentSpecificationTest.java
index 10ef249..7622ec8 100644
--- a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/DeploymentSpecificationTest.java
+++ b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/DeploymentSpecificationTest.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: DeploymentSpecificationTest.java,v 1.3 2007/02/14 20:06:12 khussey Exp $
  */
 package org.eclipse.uml2.uml.tests;
 
@@ -25,8 +24,8 @@
  * <p>
  * The following operations are tested:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.DeploymentSpecification#validateDeploymentTarget(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Deployment Target</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.DeploymentSpecification#validateDeployedElements(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Deployed Elements</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.DeploymentSpecification#validateDeploymentTarget(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Deployment Target</em>}</li>
  * </ul>
  * </p>
  * @generated
diff --git a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ElementImportTest.java b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ElementImportTest.java
index fc23dd6..471a7bd 100644
--- a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ElementImportTest.java
+++ b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ElementImportTest.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ElementImportTest.java,v 1.7 2007/02/14 20:06:12 khussey Exp $
  */
 package org.eclipse.uml2.uml.tests;
 
@@ -25,8 +24,8 @@
  * <p>
  * The following operations are tested:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.ElementImport#validateImportedElementIsPublic(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Imported Element Is Public</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.ElementImport#validateVisibilityPublicOrPrivate(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Visibility Public Or Private</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.ElementImport#validateImportedElementIsPublic(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Imported Element Is Public</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.ElementImport#getName() <em>Get Name</em>}</li>
  * </ul>
  * </p>
diff --git a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ExceptionHandlerTest.java b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ExceptionHandlerTest.java
index 3965950..ec1e33d 100644
--- a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ExceptionHandlerTest.java
+++ b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ExceptionHandlerTest.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2007 IBM Corporation and others.
+ * Copyright (c) 2005, 2011 IBM Corporation, CEA, and others.
  * All rights reserved.   This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -7,8 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
+ *   Kenn Hussey (CEA) - 351774
  *
- * $Id: ExceptionHandlerTest.java,v 1.5 2007/02/14 20:06:13 khussey Exp $
  */
 package org.eclipse.uml2.uml.tests;
 
@@ -24,10 +24,10 @@
  * <p>
  * The following operations are tested:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.ExceptionHandler#validateExceptionBody(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Exception Body</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.ExceptionHandler#validateResultPins(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Result Pins</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.ExceptionHandler#validateOneInput(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate One Input</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.ExceptionHandler#validateEdgeSourceTarget(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Edge Source Target</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.ExceptionHandler#validateResultPins(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Result Pins</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.ExceptionHandler#validateExceptionBody(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Exception Body</em>}</li>
  * </ul>
  * </p>
  * @generated
diff --git a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/FinalStateTest.java b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/FinalStateTest.java
index 283e8b1..8a1ec86 100644
--- a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/FinalStateTest.java
+++ b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/FinalStateTest.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: FinalStateTest.java,v 1.4 2007/02/14 20:06:13 khussey Exp $
  */
 package org.eclipse.uml2.uml.tests;
 
@@ -25,12 +24,12 @@
  * <p>
  * The following operations are tested:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.FinalState#validateNoExitBehavior(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate No Exit Behavior</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.FinalState#validateNoOutgoingTransitions(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate No Outgoing Transitions</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.FinalState#validateNoRegions(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate No Regions</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.FinalState#validateCannotReferenceSubmachine(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Cannot Reference Submachine</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.FinalState#validateNoExitBehavior(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate No Exit Behavior</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.FinalState#validateNoEntryBehavior(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate No Entry Behavior</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.FinalState#validateNoStateBehavior(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate No State Behavior</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.FinalState#validateNoRegions(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate No Regions</em>}</li>
  * </ul>
  * </p>
  * @generated
diff --git a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/GeneralizationSetTest.java b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/GeneralizationSetTest.java
index 0310010..3a2d263 100644
--- a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/GeneralizationSetTest.java
+++ b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/GeneralizationSetTest.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2007 IBM Corporation and others.
+ * Copyright (c) 2005, 2011 IBM Corporation, CEA, and others.
  * All rights reserved.   This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -7,8 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
+ *   Kenn Hussey (CEA) - 351774
  *
- * $Id: GeneralizationSetTest.java,v 1.3 2007/02/14 20:06:13 khussey Exp $
  */
 package org.eclipse.uml2.uml.tests;
 
@@ -24,8 +24,8 @@
  * <p>
  * The following operations are tested:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.GeneralizationSet#validateGeneralizationSameClassifier(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Generalization Same Classifier</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.GeneralizationSet#validateMapsToGeneralizationSet(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Maps To Generalization Set</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.GeneralizationSet#validateGeneralizationSameClassifier(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Generalization Same Classifier</em>}</li>
  * </ul>
  * </p>
  * @generated
diff --git a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/InformationFlowTest.java b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/InformationFlowTest.java
index 5d877d6..034545d 100644
--- a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/InformationFlowTest.java
+++ b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/InformationFlowTest.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: InformationFlowTest.java,v 1.6 2007/02/14 20:06:12 khussey Exp $
  */
 package org.eclipse.uml2.uml.tests;
 
@@ -25,8 +24,8 @@
  * <p>
  * The following operations are tested:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.InformationFlow#validateMustConform(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Must Conform</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.InformationFlow#validateSourcesAndTargetsKind(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Sources And Targets Kind</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.InformationFlow#validateMustConform(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Must Conform</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.InformationFlow#validateConveyClassifiers(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Convey Classifiers</em>}</li>
  * </ul>
  * </p>
diff --git a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/InformationItemTest.java b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/InformationItemTest.java
index 9020a3c..12b6490 100644
--- a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/InformationItemTest.java
+++ b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/InformationItemTest.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2007 IBM Corporation and others.
+ * Copyright (c) 2005, 2011 IBM Corporation, CEA, and others.
  * All rights reserved.   This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -7,8 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
+ *   Kenn Hussey (CEA) - 351774
  *
- * $Id: InformationItemTest.java,v 1.3 2007/02/14 20:06:13 khussey Exp $
  */
 package org.eclipse.uml2.uml.tests;
 
@@ -24,9 +24,9 @@
  * <p>
  * The following operations are tested:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.InformationItem#validateSourcesAndTargets(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Sources And Targets</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.InformationItem#validateHasNo(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Has No</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.InformationItem#validateNotInstantiable(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Not Instantiable</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.InformationItem#validateSourcesAndTargets(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Sources And Targets</em>}</li>
  * </ul>
  * </p>
  * @generated
diff --git a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/InstanceSpecificationTest.java b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/InstanceSpecificationTest.java
index 51278c5..637150c 100644
--- a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/InstanceSpecificationTest.java
+++ b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/InstanceSpecificationTest.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: InstanceSpecificationTest.java,v 1.6 2007/02/14 20:06:14 khussey Exp $
  */
 package org.eclipse.uml2.uml.tests;
 
@@ -27,10 +26,10 @@
  * <ul>
  *   <li>{@link org.eclipse.uml2.uml.ParameterableElement#isCompatibleWith(org.eclipse.uml2.uml.ParameterableElement) <em>Is Compatible With</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.ParameterableElement#isTemplateParameter() <em>Is Template Parameter</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.InstanceSpecification#validateDeploymentArtifact(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Deployment Artifact</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.InstanceSpecification#validateStructuralFeature(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Structural Feature</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.InstanceSpecification#validateDefiningFeature(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Defining Feature</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.InstanceSpecification#validateDeploymentTarget(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Deployment Target</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.InstanceSpecification#validateDeploymentArtifact(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Deployment Artifact</em>}</li>
  * </ul>
  * </p>
  * @generated
diff --git a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/InteractionConstraintTest.java b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/InteractionConstraintTest.java
index 52dd848..d4862c8 100644
--- a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/InteractionConstraintTest.java
+++ b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/InteractionConstraintTest.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: InteractionConstraintTest.java,v 1.6 2007/02/14 20:06:13 khussey Exp $
  */
 package org.eclipse.uml2.uml.tests;
 
@@ -25,12 +24,12 @@
  * <p>
  * The following operations are tested:
  * <ul>
+ *   <li>{@link org.eclipse.uml2.uml.InteractionConstraint#validateMaxintPositive(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Maxint Positive</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.InteractionConstraint#validateMinintMaxint(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Minint Maxint</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.InteractionConstraint#validateMinintNonNegative(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Minint Non Negative</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.InteractionConstraint#validateMaxintPositive(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Maxint Positive</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.InteractionConstraint#validateDynamicVariables(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Dynamic Variables</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.InteractionConstraint#validateGlobalData(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Global Data</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.InteractionConstraint#validateMaxintGreaterEqualMinint(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Maxint Greater Equal Minint</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.InteractionConstraint#validateDynamicVariables(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Dynamic Variables</em>}</li>
  * </ul>
  * </p>
  * @generated
diff --git a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/InteractionOperandTest.java b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/InteractionOperandTest.java
index 78eed65..ecde754 100644
--- a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/InteractionOperandTest.java
+++ b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/InteractionOperandTest.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: InteractionOperandTest.java,v 1.6 2007/02/14 20:06:13 khussey Exp $
  */
 package org.eclipse.uml2.uml.tests;
 
@@ -25,8 +24,8 @@
  * <p>
  * The following operations are tested:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.InteractionOperand#validateGuardContainReferences(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Guard Contain References</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.InteractionOperand#validateGuardDirectlyPrior(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Guard Directly Prior</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.InteractionOperand#validateGuardContainReferences(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Guard Contain References</em>}</li>
  * </ul>
  * </p>
  * @generated
diff --git a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/InteractionUseTest.java b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/InteractionUseTest.java
index 91b752b..438663b 100644
--- a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/InteractionUseTest.java
+++ b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/InteractionUseTest.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: InteractionUseTest.java,v 1.6 2007/02/14 20:06:12 khussey Exp $
  */
 package org.eclipse.uml2.uml.tests;
 
@@ -25,12 +24,12 @@
  * <p>
  * The following operations are tested:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.InteractionUse#validateGatesMatch(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Gates Match</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.InteractionUse#validateArgumentsAreConstants(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Arguments Are Constants</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.InteractionUse#validateAllLifelines(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate All Lifelines</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.InteractionUse#validateReturnValueRecipientCoverage(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Return Value Recipient Coverage</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.InteractionUse#validateArgumentsCorrespondToParameters(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Arguments Correspond To Parameters</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.InteractionUse#validateGatesMatch(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Gates Match</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.InteractionUse#validateArgumentsAreConstants(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Arguments Are Constants</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.InteractionUse#validateReturnValueTypeRecipientCorrespondence(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Return Value Type Recipient Correspondence</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.InteractionUse#validateAllLifelines(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate All Lifelines</em>}</li>
  * </ul>
  * </p>
  * @generated
diff --git a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/LifelineTest.java b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/LifelineTest.java
index 4186ace..76df334 100644
--- a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/LifelineTest.java
+++ b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/LifelineTest.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: LifelineTest.java,v 1.6 2007/02/14 20:06:12 khussey Exp $
  */
 package org.eclipse.uml2.uml.tests;
 
@@ -25,9 +24,9 @@
  * <p>
  * The following operations are tested:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.Lifeline#validateSelectorSpecified(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Selector Specified</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Lifeline#validateInteractionUsesShareLifeline(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Interaction Uses Share Lifeline</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Lifeline#validateSameClassifier(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Same Classifier</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.Lifeline#validateSelectorSpecified(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Selector Specified</em>}</li>
  * </ul>
  * </p>
  * @generated
diff --git a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/LinkEndCreationDataTest.java b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/LinkEndCreationDataTest.java
index 545bb8d..7baa047 100644
--- a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/LinkEndCreationDataTest.java
+++ b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/LinkEndCreationDataTest.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: LinkEndCreationDataTest.java,v 1.3 2007/02/14 20:06:12 khussey Exp $
  */
 package org.eclipse.uml2.uml.tests;
 
@@ -25,8 +24,8 @@
  * <p>
  * The following operations are tested:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.LinkEndCreationData#validateSingleInputPin(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Single Input Pin</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.LinkEndCreationData#validateCreateLinkAction(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Create Link Action</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.LinkEndCreationData#validateSingleInputPin(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Single Input Pin</em>}</li>
  * </ul>
  * </p>
  * @generated
diff --git a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/LinkEndDataTest.java b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/LinkEndDataTest.java
index f5bd027..1826c09 100644
--- a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/LinkEndDataTest.java
+++ b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/LinkEndDataTest.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: LinkEndDataTest.java,v 1.3 2007/02/14 20:06:13 khussey Exp $
  */
 package org.eclipse.uml2.uml.tests;
 
@@ -25,10 +24,10 @@
  * <p>
  * The following operations are tested:
  * <ul>
+ *   <li>{@link org.eclipse.uml2.uml.LinkEndData#validatePropertyIsAssociationEnd(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Property Is Association End</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.LinkEndData#validateEndObjectInputPin(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate End Object Input Pin</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.LinkEndData#validateSameType(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Same Type</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.LinkEndData#validateMultiplicity(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Multiplicity</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.LinkEndData#validateEndObjectInputPin(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate End Object Input Pin</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.LinkEndData#validatePropertyIsAssociationEnd(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Property Is Association End</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.LinkEndData#validateQualifiers(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Qualifiers</em>}</li>
  * </ul>
  * </p>
diff --git a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/LinkEndDestructionDataTest.java b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/LinkEndDestructionDataTest.java
index cab1b35..208b38a 100644
--- a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/LinkEndDestructionDataTest.java
+++ b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/LinkEndDestructionDataTest.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: LinkEndDestructionDataTest.java,v 1.3 2007/02/14 20:06:13 khussey Exp $
  */
 package org.eclipse.uml2.uml.tests;
 
@@ -25,8 +24,8 @@
  * <p>
  * The following operations are tested:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.LinkEndDestructionData#validateUnlimitedNaturalAndMultiplicity(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Unlimited Natural And Multiplicity</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.LinkEndDestructionData#validateDestroyLinkAction(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Destroy Link Action</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.LinkEndDestructionData#validateUnlimitedNaturalAndMultiplicity(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Unlimited Natural And Multiplicity</em>}</li>
  * </ul>
  * </p>
  * @generated
diff --git a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/LoopNodeTest.java b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/LoopNodeTest.java
index 2d7fd95..96096a4 100644
--- a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/LoopNodeTest.java
+++ b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/LoopNodeTest.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: LoopNodeTest.java,v 1.6 2007/02/14 20:06:13 khussey Exp $
  */
 package org.eclipse.uml2.uml.tests;
 
@@ -25,10 +24,10 @@
  * <p>
  * The following operations are tested:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.LoopNode#validateResultNoIncoming(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Result No Incoming</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.LoopNode#validateInputEdges(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Input Edges</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.LoopNode#validateExecutableNodes(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Executable Nodes</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.LoopNode#validateBodyOutputPins(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Body Output Pins</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.LoopNode#validateResultNoIncoming(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Result No Incoming</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.LoopNode#validateInputEdges(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Input Edges</em>}</li>
  * </ul>
  * </p>
  * @generated
diff --git a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/MessageTest.java b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/MessageTest.java
index 3ce4619..a228e4f 100644
--- a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/MessageTest.java
+++ b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/MessageTest.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: MessageTest.java,v 1.6 2007/02/14 20:06:12 khussey Exp $
  */
 package org.eclipse.uml2.uml.tests;
 
@@ -32,12 +31,12 @@
  * The following operations are tested:
  * <ul>
  *   <li>{@link org.eclipse.uml2.uml.Message#validateSendingReceivingMessageEvent(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Sending Receiving Message Event</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.Message#validateOccurrenceSpecifications(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Occurrence Specifications</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.Message#validateSignatureIsSignal(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Signature Is Signal</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.Message#validateSignatureIsOperation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Signature Is Operation</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Message#validateArguments(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Arguments</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Message#validateCannotCrossBoundaries(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Cannot Cross Boundaries</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.Message#validateSignatureIsSignal(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Signature Is Signal</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.Message#validateOccurrenceSpecifications(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Occurrence Specifications</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Message#validateSignatureReferTo(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Signature Refer To</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.Message#validateSignatureIsOperation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Signature Is Operation</em>}</li>
  * </ul>
  * </p>
  * @generated
diff --git a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/MultiplicityElementTest.java b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/MultiplicityElementTest.java
index 3b678fc..7087f27 100644
--- a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/MultiplicityElementTest.java
+++ b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/MultiplicityElementTest.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: MultiplicityElementTest.java,v 1.10 2008/10/02 21:00:20 jbruck Exp $
  */
 package org.eclipse.uml2.uml.tests;
 
@@ -32,10 +31,10 @@
  * <p>
  * The following operations are tested:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.MultiplicityElement#validateUpperGeLower(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Upper Ge Lower</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.MultiplicityElement#validateLowerGe0(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Lower Ge0</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.MultiplicityElement#validateValueSpecificationNoSideEffects(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Value Specification No Side Effects</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.MultiplicityElement#validateUpperGeLower(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Upper Ge Lower</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.MultiplicityElement#validateValueSpecificationConstant(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Value Specification Constant</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.MultiplicityElement#validateValueSpecificationNoSideEffects(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Value Specification No Side Effects</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.MultiplicityElement#compatibleWith(org.eclipse.uml2.uml.MultiplicityElement) <em>Compatible With</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.MultiplicityElement#includesCardinality(int) <em>Includes Cardinality</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.MultiplicityElement#includesMultiplicity(org.eclipse.uml2.uml.MultiplicityElement) <em>Includes Multiplicity</em>}</li>
diff --git a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/NamedElementTest.java b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/NamedElementTest.java
index a33d662..828a907 100644
--- a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/NamedElementTest.java
+++ b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/NamedElementTest.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: NamedElementTest.java,v 1.7 2007/03/27 03:40:24 khussey Exp $
  */
 package org.eclipse.uml2.uml.tests;
 
@@ -28,9 +27,9 @@
  * <p>
  * The following operations are tested:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.NamedElement#validateVisibilityNeedsOwnership(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Visibility Needs Ownership</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.NamedElement#validateHasQualifiedName(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Has Qualified Name</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.NamedElement#validateHasNoQualifiedName(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Has No Qualified Name</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.NamedElement#validateVisibilityNeedsOwnership(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Visibility Needs Ownership</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.NamedElement#createDependency(org.eclipse.uml2.uml.NamedElement) <em>Create Dependency</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.NamedElement#createUsage(org.eclipse.uml2.uml.NamedElement) <em>Create Usage</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.NamedElement#getLabel() <em>Get Label</em>}</li>
diff --git a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ObjectFlowTest.java b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ObjectFlowTest.java
index 2c6bc25..c36e5fb 100644
--- a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ObjectFlowTest.java
+++ b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ObjectFlowTest.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ObjectFlowTest.java,v 1.3 2007/02/14 20:06:13 khussey Exp $
  */
 package org.eclipse.uml2.uml.tests;
 
@@ -25,14 +24,14 @@
  * <p>
  * The following operations are tested:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.ObjectFlow#validateInputAndOutputParameter(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Input And Output Parameter</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.ObjectFlow#validateNoActions(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate No Actions</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.ObjectFlow#validateTransformationBehaviour(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Transformation Behaviour</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.ObjectFlow#validateIsMulticastOrIsMultireceive(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Is Multicast Or Is Multireceive</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.ObjectFlow#validateSelectionBehaviour(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Selection Behaviour</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.ObjectFlow#validateCompatibleTypes(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Compatible Types</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.ObjectFlow#validateSameUpperBounds(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Same Upper Bounds</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.ObjectFlow#validateNoActions(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate No Actions</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.ObjectFlow#validateInputAndOutputParameter(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Input And Output Parameter</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.ObjectFlow#validateTransformationBehaviour(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Transformation Behaviour</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.ObjectFlow#validateTarget(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Target</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.ObjectFlow#validateIsMulticastOrIsMultireceive(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Is Multicast Or Is Multireceive</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.ObjectFlow#validateSameUpperBounds(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Same Upper Bounds</em>}</li>
  * </ul>
  * </p>
  * @generated
diff --git a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ObjectNodeTest.java b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ObjectNodeTest.java
index eac6f3d..b9ec293 100644
--- a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ObjectNodeTest.java
+++ b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ObjectNodeTest.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ObjectNodeTest.java,v 1.5 2007/02/14 20:06:12 khussey Exp $
  */
 package org.eclipse.uml2.uml.tests;
 
@@ -22,9 +21,9 @@
  * <p>
  * The following operations are tested:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.ObjectNode#validateInputOutputParameter(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Input Output Parameter</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.ObjectNode#validateSelectionBehavior(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Selection Behavior</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.ObjectNode#validateObjectFlowEdges(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Object Flow Edges</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.ObjectNode#validateSelectionBehavior(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Selection Behavior</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.ObjectNode#validateInputOutputParameter(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Input Output Parameter</em>}</li>
  * </ul>
  * </p>
  * @generated
diff --git a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/OpaqueExpressionTest.java b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/OpaqueExpressionTest.java
index 59bbf91..d9e2563 100644
--- a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/OpaqueExpressionTest.java
+++ b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/OpaqueExpressionTest.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: OpaqueExpressionTest.java,v 1.3 2007/02/14 20:06:12 khussey Exp $
  */
 package org.eclipse.uml2.uml.tests;
 
@@ -31,9 +30,9 @@
  * <p>
  * The following operations are tested:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.OpaqueExpression#validateLanguageBodySize(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Language Body Size</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.OpaqueExpression#validateOneReturnResultParameter(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate One Return Result Parameter</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.OpaqueExpression#validateOnlyReturnResultParameters(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Only Return Result Parameters</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.OpaqueExpression#validateOneReturnResultParameter(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate One Return Result Parameter</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.OpaqueExpression#validateLanguageBodySize(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Language Body Size</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.OpaqueExpression#isIntegral() <em>Is Integral</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.OpaqueExpression#isNonNegative() <em>Is Non Negative</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.OpaqueExpression#isPositive() <em>Is Positive</em>}</li>
diff --git a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ParameterSetTest.java b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ParameterSetTest.java
index 178429c..90566a4 100644
--- a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ParameterSetTest.java
+++ b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ParameterSetTest.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2007 IBM Corporation and others.
+ * Copyright (c) 2005, 2011 IBM Corporation, CEA, and others.
  * All rights reserved.   This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -7,8 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
+ *   Kenn Hussey (CEA) - 351774
  *
- * $Id: ParameterSetTest.java,v 1.6 2007/02/14 20:06:12 khussey Exp $
  */
 package org.eclipse.uml2.uml.tests;
 
@@ -24,9 +24,9 @@
  * <p>
  * The following operations are tested:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.ParameterSet#validateSameParameterizedEntity(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Same Parameterized Entity</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.ParameterSet#validateInput(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Input</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.ParameterSet#validateTwoParameterSets(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Two Parameter Sets</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.ParameterSet#validateInput(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Input</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.ParameterSet#validateSameParameterizedEntity(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Same Parameterized Entity</em>}</li>
  * </ul>
  * </p>
  * @generated
diff --git a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ParameterTest.java b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ParameterTest.java
index 935cf01..c9df2d8 100644
--- a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ParameterTest.java
+++ b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ParameterTest.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey - 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ParameterTest.java,v 1.13 2010/09/28 20:59:45 khussey Exp $
  */
 package org.eclipse.uml2.uml.tests;
 
@@ -41,10 +40,10 @@
  * <p>
  * The following operations are tested:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.MultiplicityElement#validateUpperGeLower(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Upper Ge Lower</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.MultiplicityElement#validateLowerGe0(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Lower Ge0</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.MultiplicityElement#validateValueSpecificationNoSideEffects(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Value Specification No Side Effects</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.MultiplicityElement#validateUpperGeLower(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Upper Ge Lower</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.MultiplicityElement#validateValueSpecificationConstant(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Value Specification Constant</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.MultiplicityElement#validateValueSpecificationNoSideEffects(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Value Specification No Side Effects</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.MultiplicityElement#compatibleWith(org.eclipse.uml2.uml.MultiplicityElement) <em>Compatible With</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.MultiplicityElement#includesCardinality(int) <em>Includes Cardinality</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.MultiplicityElement#includesMultiplicity(org.eclipse.uml2.uml.MultiplicityElement) <em>Includes Multiplicity</em>}</li>
@@ -52,10 +51,10 @@
  *   <li>{@link org.eclipse.uml2.uml.MultiplicityElement#isMultivalued() <em>Is Multivalued</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.MultiplicityElement#lowerBound() <em>Lower Bound</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.MultiplicityElement#upperBound() <em>Upper Bound</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.Parameter#validateInAndOut(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate In And Out</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.Parameter#validateNotException(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Not Exception</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.Parameter#validateConnectorEnd(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Connector End</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Parameter#validateReentrantBehaviors(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Reentrant Behaviors</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.Parameter#validateConnectorEnd(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Connector End</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.Parameter#validateNotException(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Not Exception</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.Parameter#validateInAndOut(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate In And Out</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Parameter#validateStreamAndException(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Stream And Exception</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Parameter#setBooleanDefaultValue(boolean) <em>Set Boolean Default Value</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Parameter#setIntegerDefaultValue(int) <em>Set Integer Default Value</em>}</li>
diff --git a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/PartDecompositionTest.java b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/PartDecompositionTest.java
index 89e9f4b..21e7669 100644
--- a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/PartDecompositionTest.java
+++ b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/PartDecompositionTest.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: PartDecompositionTest.java,v 1.3 2007/02/14 20:06:13 khussey Exp $
  */
 package org.eclipse.uml2.uml.tests;
 
@@ -25,9 +24,9 @@
  * <p>
  * The following operations are tested:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.PartDecomposition#validateCommutativityOfDecomposition(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Commutativity Of Decomposition</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.PartDecomposition#validateAssume(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Assume</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.PartDecomposition#validatePartsOfInternalStructures(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Parts Of Internal Structures</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.PartDecomposition#validateAssume(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Assume</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.PartDecomposition#validateCommutativityOfDecomposition(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Commutativity Of Decomposition</em>}</li>
  * </ul>
  * </p>
  * @generated
diff --git a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/PinTest.java b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/PinTest.java
index af46b05..d17d30e 100644
--- a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/PinTest.java
+++ b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/PinTest.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: PinTest.java,v 1.10 2008/10/02 21:00:20 jbruck Exp $
  */
 package org.eclipse.uml2.uml.tests;
 
@@ -29,10 +28,10 @@
  * <p>
  * The following operations are tested:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.MultiplicityElement#validateUpperGeLower(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Upper Ge Lower</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.MultiplicityElement#validateLowerGe0(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Lower Ge0</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.MultiplicityElement#validateValueSpecificationNoSideEffects(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Value Specification No Side Effects</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.MultiplicityElement#validateUpperGeLower(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Upper Ge Lower</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.MultiplicityElement#validateValueSpecificationConstant(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Value Specification Constant</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.MultiplicityElement#validateValueSpecificationNoSideEffects(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Value Specification No Side Effects</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.MultiplicityElement#compatibleWith(org.eclipse.uml2.uml.MultiplicityElement) <em>Compatible With</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.MultiplicityElement#includesCardinality(int) <em>Includes Cardinality</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.MultiplicityElement#includesMultiplicity(org.eclipse.uml2.uml.MultiplicityElement) <em>Includes Multiplicity</em>}</li>
diff --git a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/PortTest.java b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/PortTest.java
index ba2ff8a..4edadcc 100644
--- a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/PortTest.java
+++ b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/PortTest.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: PortTest.java,v 1.6 2007/02/14 20:06:13 khussey Exp $
  */
 package org.eclipse.uml2.uml.tests;
 
@@ -32,9 +31,9 @@
  * <p>
  * The following operations are tested:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.Port#validatePortDestroyed(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Port Destroyed</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.Port#validatePortAggregation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Port Aggregation</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Port#validateDefaultValue(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Default Value</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.Port#validatePortAggregation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Port Aggregation</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.Port#validatePortDestroyed(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Port Destroyed</em>}</li>
  * </ul>
  * </p>
  * @generated
diff --git a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/PropertyTest.java b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/PropertyTest.java
index 44e087a..4065ea5 100644
--- a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/PropertyTest.java
+++ b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/PropertyTest.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey - 323181
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: PropertyTest.java,v 1.14 2010/09/28 20:59:45 khussey Exp $
  */
 package org.eclipse.uml2.uml.tests;
 
@@ -50,15 +49,15 @@
  * <ul>
  *   <li>{@link org.eclipse.uml2.uml.Property#isCompatibleWith(org.eclipse.uml2.uml.ParameterableElement) <em>Is Compatible With</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.ParameterableElement#isTemplateParameter() <em>Is Template Parameter</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.Property#validateSubsettingContextConforms(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Subsetting Context Conforms</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.Property#validateDerivedUnionIsReadOnly(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Derived Union Is Read Only</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.Property#validateMultiplicityOfComposite(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Multiplicity Of Composite</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.Property#validateRedefinedPropertyInherited(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Redefined Property Inherited</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.Property#validateSubsettingRules(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Subsetting Rules</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.Property#validateBindingToAttribute(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Binding To Attribute</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.Property#validateDerivedUnionIsDerived(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Derived Union Is Derived</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.Property#validateDeploymentTarget(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Deployment Target</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Property#validateSubsettedPropertyNames(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Subsetted Property Names</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.Property#validateSubsettingRules(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Subsetting Rules</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.Property#validateMultiplicityOfComposite(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Multiplicity Of Composite</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.Property#validateBindingToAttribute(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Binding To Attribute</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.Property#validateRedefinedPropertyInherited(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Redefined Property Inherited</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.Property#validateSubsettingContextConforms(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Subsetting Context Conforms</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.Property#validateDeploymentTarget(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Deployment Target</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.Property#validateDerivedUnionIsDerived(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Derived Union Is Derived</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.Property#validateDerivedUnionIsReadOnly(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Derived Union Is Read Only</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Property#getOtherEnd() <em>Get Other End</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Property#setBooleanDefaultValue(boolean) <em>Set Boolean Default Value</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Property#setIntegerDefaultValue(int) <em>Set Integer Default Value</em>}</li>
diff --git a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ProtocolStateMachineTest.java b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ProtocolStateMachineTest.java
index e50be25..cc50100 100644
--- a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ProtocolStateMachineTest.java
+++ b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ProtocolStateMachineTest.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ProtocolStateMachineTest.java,v 1.6 2007/02/14 20:06:13 khussey Exp $
  */
 package org.eclipse.uml2.uml.tests;
 
@@ -25,10 +24,10 @@
  * <p>
  * The following operations are tested:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.ProtocolStateMachine#validateDeepOrShallowHistory(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Deep Or Shallow History</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.ProtocolStateMachine#validateEntryExitDo(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Entry Exit Do</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.ProtocolStateMachine#validatePortsConnected(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Ports Connected</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.ProtocolStateMachine#validateProtocolTransitions(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Protocol Transitions</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.ProtocolStateMachine#validateDeepOrShallowHistory(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Deep Or Shallow History</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.ProtocolStateMachine#validatePortsConnected(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Ports Connected</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.ProtocolStateMachine#validateClassifierContext(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Classifier Context</em>}</li>
  * </ul>
  * </p>
diff --git a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/PseudostateTest.java b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/PseudostateTest.java
index 3757a01..a3f7e50 100644
--- a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/PseudostateTest.java
+++ b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/PseudostateTest.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: PseudostateTest.java,v 1.5 2007/02/14 20:06:12 khussey Exp $
  */
 package org.eclipse.uml2.uml.tests;
 
@@ -25,14 +24,14 @@
  * <p>
  * The following operations are tested:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.Pseudostate#validateTransitionsOutgoing(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Transitions Outgoing</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.Pseudostate#validateChoiceVertex(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Choice Vertex</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.Pseudostate#validateOutgoingFromInitial(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Outgoing From Initial</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.Pseudostate#validateJoinVertex(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Join Vertex</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Pseudostate#validateJunctionVertex(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Junction Vertex</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Pseudostate#validateHistoryVertices(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate History Vertices</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.Pseudostate#validateInitialVertex(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Initial Vertex</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.Pseudostate#validateTransitionsOutgoing(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Transitions Outgoing</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.Pseudostate#validateOutgoingFromInitial(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Outgoing From Initial</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Pseudostate#validateForkVertex(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Fork Vertex</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.Pseudostate#validateJoinVertex(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Join Vertex</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.Pseudostate#validateChoiceVertex(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Choice Vertex</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.Pseudostate#validateInitialVertex(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Initial Vertex</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Pseudostate#validateTransitionsIncoming(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Transitions Incoming</em>}</li>
  * </ul>
  * </p>
diff --git a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/QualifierValueTest.java b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/QualifierValueTest.java
index ec07012..4933c63 100644
--- a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/QualifierValueTest.java
+++ b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/QualifierValueTest.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: QualifierValueTest.java,v 1.3 2007/02/14 20:06:14 khussey Exp $
  */
 package org.eclipse.uml2.uml.tests;
 
@@ -25,9 +24,9 @@
  * <p>
  * The following operations are tested:
  * <ul>
+ *   <li>{@link org.eclipse.uml2.uml.QualifierValue#validateQualifierAttribute(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Qualifier Attribute</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.QualifierValue#validateMultiplicityOfQualifier(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Multiplicity Of Qualifier</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.QualifierValue#validateTypeOfQualifier(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Type Of Qualifier</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.QualifierValue#validateQualifierAttribute(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Qualifier Attribute</em>}</li>
  * </ul>
  * </p>
  * @generated
diff --git a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ReadLinkActionTest.java b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ReadLinkActionTest.java
index 3ec1c28..91b626e 100644
--- a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ReadLinkActionTest.java
+++ b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ReadLinkActionTest.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ReadLinkActionTest.java,v 1.6 2007/02/14 20:06:14 khussey Exp $
  */
 package org.eclipse.uml2.uml.tests;
 
@@ -26,10 +25,10 @@
  * The following operations are tested:
  * <ul>
  *   <li>{@link org.eclipse.uml2.uml.ReadLinkAction#validateTypeAndOrdering(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Type And Ordering</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.ReadLinkAction#validateCompatibleMultiplicity(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Compatible Multiplicity</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.ReadLinkAction#validateVisibility(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Visibility</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.ReadLinkAction#validateOneOpenEnd(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate One Open End</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.ReadLinkAction#validateCompatibleMultiplicity(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Compatible Multiplicity</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.ReadLinkAction#validateNavigableOpenEnd(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Navigable Open End</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.ReadLinkAction#validateVisibility(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Visibility</em>}</li>
  * </ul>
  * </p>
  * @generated
diff --git a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ReadLinkObjectEndActionTest.java b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ReadLinkObjectEndActionTest.java
index 973c470..469e7dc 100644
--- a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ReadLinkObjectEndActionTest.java
+++ b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ReadLinkObjectEndActionTest.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ReadLinkObjectEndActionTest.java,v 1.6 2007/02/14 20:06:12 khussey Exp $
  */
 package org.eclipse.uml2.uml.tests;
 
@@ -25,13 +24,13 @@
  * <p>
  * The following operations are tested:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.ReadLinkObjectEndAction#validateProperty(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Property</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.ReadLinkObjectEndAction#validateMultiplicityOfObject(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Multiplicity Of Object</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.ReadLinkObjectEndAction#validateEndsOfAssociation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Ends Of Association</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.ReadLinkObjectEndAction#validateTypeOfResult(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Type Of Result</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.ReadLinkObjectEndAction#validateMultiplicityOfResult(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Multiplicity Of Result</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.ReadLinkObjectEndAction#validateTypeOfObject(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Type Of Object</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.ReadLinkObjectEndAction#validateAssociationOfAssociation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Association Of Association</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.ReadLinkObjectEndAction#validateMultiplicityOfObject(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Multiplicity Of Object</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.ReadLinkObjectEndAction#validateTypeOfResult(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Type Of Result</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.ReadLinkObjectEndAction#validateTypeOfObject(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Type Of Object</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.ReadLinkObjectEndAction#validateProperty(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Property</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.ReadLinkObjectEndAction#validateMultiplicityOfResult(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Multiplicity Of Result</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.ReadLinkObjectEndAction#validateEndsOfAssociation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Ends Of Association</em>}</li>
  * </ul>
  * </p>
  * @generated
diff --git a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ReadLinkObjectEndQualifierActionTest.java b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ReadLinkObjectEndQualifierActionTest.java
index 6445d89..7e429bf 100644
--- a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ReadLinkObjectEndQualifierActionTest.java
+++ b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ReadLinkObjectEndQualifierActionTest.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ReadLinkObjectEndQualifierActionTest.java,v 1.6 2007/02/14 20:06:13 khussey Exp $
  */
 package org.eclipse.uml2.uml.tests;
 
@@ -25,12 +24,12 @@
  * <p>
  * The following operations are tested:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction#validateMultiplicityOfObject(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Multiplicity Of Object</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction#validateTypeOfObject(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Type Of Object</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction#validateMultiplicityOfQualifier(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Multiplicity Of Qualifier</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction#validateEndsOfAssociation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Ends Of Association</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction#validateMultiplicityOfResult(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Multiplicity Of Result</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction#validateSameType(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Same Type</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction#validateEndsOfAssociation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Ends Of Association</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction#validateMultiplicityOfQualifier(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Multiplicity Of Qualifier</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction#validateMultiplicityOfObject(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Multiplicity Of Object</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction#validateAssociationOfAssociation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Association Of Association</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.ReadLinkObjectEndQualifierAction#validateQualifierAttribute(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Qualifier Attribute</em>}</li>
  * </ul>
diff --git a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ReadSelfActionTest.java b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ReadSelfActionTest.java
index 73f6267..e39aa0f 100644
--- a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ReadSelfActionTest.java
+++ b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ReadSelfActionTest.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ReadSelfActionTest.java,v 1.6 2007/02/14 20:06:13 khussey Exp $
  */
 package org.eclipse.uml2.uml.tests;
 
@@ -26,9 +25,9 @@
  * The following operations are tested:
  * <ul>
  *   <li>{@link org.eclipse.uml2.uml.ReadSelfAction#validateContained(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Contained</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.ReadSelfAction#validateMultiplicity(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Multiplicity</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.ReadSelfAction#validateNotStatic(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Not Static</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.ReadSelfAction#validateType(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Type</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.ReadSelfAction#validateNotStatic(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Not Static</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.ReadSelfAction#validateMultiplicity(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Multiplicity</em>}</li>
  * </ul>
  * </p>
  * @generated
diff --git a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ReclassifyObjectActionTest.java b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ReclassifyObjectActionTest.java
index 4e15cc3..f47e43d 100644
--- a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ReclassifyObjectActionTest.java
+++ b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ReclassifyObjectActionTest.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ReclassifyObjectActionTest.java,v 1.6 2007/02/14 20:06:12 khussey Exp $
  */
 package org.eclipse.uml2.uml.tests;
 
@@ -26,8 +25,8 @@
  * The following operations are tested:
  * <ul>
  *   <li>{@link org.eclipse.uml2.uml.ReclassifyObjectAction#validateInputPin(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Input Pin</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.ReclassifyObjectAction#validateClassifierNotAbstract(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Classifier Not Abstract</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.ReclassifyObjectAction#validateMultiplicity(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Multiplicity</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.ReclassifyObjectAction#validateClassifierNotAbstract(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Classifier Not Abstract</em>}</li>
  * </ul>
  * </p>
  * @generated
diff --git a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ReduceActionTest.java b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ReduceActionTest.java
index 3dfd748..6cd2f92 100644
--- a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ReduceActionTest.java
+++ b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ReduceActionTest.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ReduceActionTest.java,v 1.6 2007/02/14 20:06:12 khussey Exp $
  */
 package org.eclipse.uml2.uml.tests;
 
@@ -25,9 +24,9 @@
  * <p>
  * The following operations are tested:
  * <ul>
+ *   <li>{@link org.eclipse.uml2.uml.ReduceAction#validateOutputTypesAreCompatible(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Output Types Are Compatible</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.ReduceAction#validateReducerInputsOutput(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Reducer Inputs Output</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.ReduceAction#validateInputTypeIsCollection(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Input Type Is Collection</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.ReduceAction#validateOutputTypesAreCompatible(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Output Types Are Compatible</em>}</li>
  * </ul>
  * </p>
  * @generated
diff --git a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/RegionTest.java b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/RegionTest.java
index 9948a7d..da54fb2 100644
--- a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/RegionTest.java
+++ b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/RegionTest.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: RegionTest.java,v 1.6 2007/02/14 20:06:13 khussey Exp $
  */
 package org.eclipse.uml2.uml.tests;
 
@@ -35,10 +34,10 @@
  *   <li>{@link org.eclipse.uml2.uml.RedefinableElement#validateNonLeafRedefinition(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Non Leaf Redefinition</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.RedefinableElement#validateRedefinitionContextValid(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Redefinition Context Valid</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Region#isConsistentWith(org.eclipse.uml2.uml.RedefinableElement) <em>Is Consistent With</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.Region#validateDeepHistoryVertex(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Deep History Vertex</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Region#validateShallowHistoryVertex(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Shallow History Vertex</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.Region#validateOwned(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Owned</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.Region#validateDeepHistoryVertex(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Deep History Vertex</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Region#validateInitialVertex(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Initial Vertex</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.Region#validateOwned(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Owned</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Region#belongsToPSM() <em>Belongs To PSM</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Region#containingStateMachine() <em>Containing State Machine</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Region#isRedefinitionContextValid(org.eclipse.uml2.uml.Region) <em>Is Redefinition Context Valid</em>}</li>
diff --git a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ReplyActionTest.java b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ReplyActionTest.java
index 3adbc01..40c0bcc 100644
--- a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ReplyActionTest.java
+++ b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ReplyActionTest.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2007 IBM Corporation and others.
+ * Copyright (c) 2005, 2011 IBM Corporation, CEA, and others.
  * All rights reserved.   This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -7,8 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
+ *   Kenn Hussey (CEA) - 351774
  *
- * $Id: ReplyActionTest.java,v 1.6 2007/02/14 20:06:13 khussey Exp $
  */
 package org.eclipse.uml2.uml.tests;
 
@@ -24,8 +24,8 @@
  * <p>
  * The following operations are tested:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.ReplyAction#validatePinsMatchParameter(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Pins Match Parameter</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.ReplyAction#validateEventOnReplyToCallTrigger(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Event On Reply To Call Trigger</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.ReplyAction#validatePinsMatchParameter(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Pins Match Parameter</em>}</li>
  * </ul>
  * </p>
  * @generated
diff --git a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/StartClassifierBehaviorActionTest.java b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/StartClassifierBehaviorActionTest.java
index 79d69f1..1686cd5 100644
--- a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/StartClassifierBehaviorActionTest.java
+++ b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/StartClassifierBehaviorActionTest.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2007 IBM Corporation and others.
+ * Copyright (c) 2005, 2011 IBM Corporation, CEA, and others.
  * All rights reserved.   This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -7,8 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
+ *   Kenn Hussey (CEA) - 351774
  *
- * $Id: StartClassifierBehaviorActionTest.java,v 1.6 2007/02/14 20:06:12 khussey Exp $
  */
 package org.eclipse.uml2.uml.tests;
 
@@ -24,8 +24,8 @@
  * <p>
  * The following operations are tested:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.StartClassifierBehaviorAction#validateMultiplicity(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Multiplicity</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.StartClassifierBehaviorAction#validateTypeHasClassifier(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Type Has Classifier</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.StartClassifierBehaviorAction#validateMultiplicity(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Multiplicity</em>}</li>
  * </ul>
  * </p>
  * @generated
diff --git a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/StartObjectBehaviorActionTest.java b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/StartObjectBehaviorActionTest.java
index 65f3441..a17a859 100644
--- a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/StartObjectBehaviorActionTest.java
+++ b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/StartObjectBehaviorActionTest.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: StartObjectBehaviorActionTest.java,v 1.1 2008/10/02 21:00:20 jbruck Exp $
  */
 package org.eclipse.uml2.uml.tests;
 
@@ -25,11 +24,11 @@
  * <p>
  * The following operations are tested:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.StartObjectBehaviorAction#validateNumberOrderResults(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Number Order Results</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.StartObjectBehaviorAction#validateMultiplicityOfObject(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Multiplicity Of Object</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.StartObjectBehaviorAction#validateTypeOrderingMultiplicityMatch(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Type Ordering Multiplicity Match</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.StartObjectBehaviorAction#validateNumberOrderArguments(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Number Order Arguments</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.StartObjectBehaviorAction#validateTypeOrderingMultiplicityMatch(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Type Ordering Multiplicity Match</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.StartObjectBehaviorAction#validateNumberOrderResults(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Number Order Results</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.StartObjectBehaviorAction#validateTypeOfObject(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Type Of Object</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.StartObjectBehaviorAction#validateMultiplicityOfObject(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Multiplicity Of Object</em>}</li>
  * </ul>
  * </p>
  * @generated
diff --git a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/StateMachineTest.java b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/StateMachineTest.java
index d353349..e9c857d 100644
--- a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/StateMachineTest.java
+++ b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/StateMachineTest.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: StateMachineTest.java,v 1.6 2007/02/14 20:06:12 khussey Exp $
  */
 package org.eclipse.uml2.uml.tests;
 
@@ -25,10 +24,10 @@
  * <p>
  * The following operations are tested:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.StateMachine#validateConnectionPoints(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Connection Points</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.StateMachine#validateClassifierContext(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Classifier Context</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.StateMachine#validateMethod(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Method</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.StateMachine#validateClassifierContext(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Classifier Context</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.StateMachine#validateContextClassifier(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Context Classifier</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.StateMachine#validateConnectionPoints(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Connection Points</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.StateMachine#LCA(org.eclipse.uml2.uml.State, org.eclipse.uml2.uml.State) <em>LCA</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.StateMachine#ancestor(org.eclipse.uml2.uml.State, org.eclipse.uml2.uml.State) <em>Ancestor</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.StateMachine#isRedefinitionContextValid(org.eclipse.uml2.uml.StateMachine) <em>Is Redefinition Context Valid</em>}</li>
diff --git a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/StateTest.java b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/StateTest.java
index 54fb636..eb36cf5 100644
--- a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/StateTest.java
+++ b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/StateTest.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: StateTest.java,v 1.8 2008/10/02 21:00:20 jbruck Exp $
  */
 package org.eclipse.uml2.uml.tests;
 
@@ -43,10 +42,10 @@
  *   <li>{@link org.eclipse.uml2.uml.State#isConsistentWith(org.eclipse.uml2.uml.RedefinableElement) <em>Is Consistent With</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.State#containingStateMachine() <em>Containing State Machine</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.State#validateEntryOrExit(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Entry Or Exit</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.State#validateSubmachineStates(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Submachine States</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.State#validateCompositeStates(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Composite States</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.State#validateDestinationsOrSourcesOfTransitions(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Destinations Or Sources Of Transitions</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.State#validateSubmachineOrRegions(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Submachine Or Regions</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.State#validateSubmachineStates(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Submachine States</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.State#isRedefinitionContextValid(org.eclipse.uml2.uml.State) <em>Is Redefinition Context Valid</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.State#redefinitionContext() <em>Redefinition Context</em>}</li>
  * </ul>
diff --git a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/StereotypeTest.java b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/StereotypeTest.java
index 574d265..ddd28ca 100644
--- a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/StereotypeTest.java
+++ b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/StereotypeTest.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: StereotypeTest.java,v 1.3 2007/02/14 20:06:13 khussey Exp $
  */
 package org.eclipse.uml2.uml.tests;
 
@@ -31,10 +30,10 @@
  * <p>
  * The following operations are tested:
  * <ul>
+ *   <li>{@link org.eclipse.uml2.uml.Stereotype#validateAssociationEndOwnership(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Association End Ownership</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.Stereotype#validateNameNotClash(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Name Not Clash</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Stereotype#validateBinaryAssociationsOnly(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Binary Associations Only</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Stereotype#validateGeneralize(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Generalize</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.Stereotype#validateNameNotClash(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Name Not Clash</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.Stereotype#validateAssociationEndOwnership(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Association End Ownership</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Stereotype#createExtension(org.eclipse.uml2.uml.Class, boolean) <em>Create Extension</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Stereotype#createIcon(java.lang.String) <em>Create Icon</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Stereotype#createIcon(java.lang.String, java.lang.String) <em>Create Icon</em>}</li>
diff --git a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/StringExpressionTest.java b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/StringExpressionTest.java
index ab910c3..d95593e 100644
--- a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/StringExpressionTest.java
+++ b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/StringExpressionTest.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: StringExpressionTest.java,v 1.7 2007/02/14 20:06:14 khussey Exp $
  */
 package org.eclipse.uml2.uml.tests;
 
@@ -27,8 +26,8 @@
  * <ul>
  *   <li>{@link org.eclipse.uml2.uml.TemplateableElement#isTemplate() <em>Is Template</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.TemplateableElement#parameterableElements() <em>Parameterable Elements</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.StringExpression#validateOperands(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Operands</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.StringExpression#validateSubexpressions(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Subexpressions</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.StringExpression#validateOperands(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Operands</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.StringExpression#stringValue() <em>String Value</em>}</li>
  * </ul>
  * </p>
diff --git a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/StructuralFeatureActionTest.java b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/StructuralFeatureActionTest.java
index 3a81888..da07391 100644
--- a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/StructuralFeatureActionTest.java
+++ b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/StructuralFeatureActionTest.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: StructuralFeatureActionTest.java,v 1.5 2007/02/14 20:06:13 khussey Exp $
  */
 package org.eclipse.uml2.uml.tests;
 
@@ -22,11 +21,11 @@
  * <p>
  * The following operations are tested:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.StructuralFeatureAction#validateMultiplicity(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Multiplicity</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.StructuralFeatureAction#validateSameType(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Same Type</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.StructuralFeatureAction#validateVisibility(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Visibility</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.StructuralFeatureAction#validateMultiplicity(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Multiplicity</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.StructuralFeatureAction#validateNotStatic(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Not Static</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.StructuralFeatureAction#validateOneFeaturingClassifier(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate One Featuring Classifier</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.StructuralFeatureAction#validateSameType(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Same Type</em>}</li>
  * </ul>
  * </p>
  * @generated
diff --git a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/StructuralFeatureTest.java b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/StructuralFeatureTest.java
index a20cc08..91cce76 100644
--- a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/StructuralFeatureTest.java
+++ b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/StructuralFeatureTest.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: StructuralFeatureTest.java,v 1.9 2008/10/02 21:00:20 jbruck Exp $
  */
 package org.eclipse.uml2.uml.tests;
 
@@ -29,10 +28,10 @@
  * <p>
  * The following operations are tested:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.MultiplicityElement#validateUpperGeLower(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Upper Ge Lower</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.MultiplicityElement#validateLowerGe0(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Lower Ge0</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.MultiplicityElement#validateValueSpecificationNoSideEffects(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Value Specification No Side Effects</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.MultiplicityElement#validateUpperGeLower(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Upper Ge Lower</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.MultiplicityElement#validateValueSpecificationConstant(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Value Specification Constant</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.MultiplicityElement#validateValueSpecificationNoSideEffects(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Value Specification No Side Effects</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.MultiplicityElement#compatibleWith(org.eclipse.uml2.uml.MultiplicityElement) <em>Compatible With</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.MultiplicityElement#includesCardinality(int) <em>Includes Cardinality</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.MultiplicityElement#includesMultiplicity(org.eclipse.uml2.uml.MultiplicityElement) <em>Includes Multiplicity</em>}</li>
diff --git a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/StructuredActivityNodeTest.java b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/StructuredActivityNodeTest.java
index 58d5b07..276f82e 100644
--- a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/StructuredActivityNodeTest.java
+++ b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/StructuredActivityNodeTest.java
@@ -7,14 +7,14 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: StructuredActivityNodeTest.java,v 1.6 2007/02/14 20:06:14 khussey Exp $
  */
 package org.eclipse.uml2.uml.tests;
 
 import junit.textui.TestRunner;
 
+import org.eclipse.uml2.uml.Activity;
 import org.eclipse.uml2.uml.StructuredActivityNode;
 import org.eclipse.uml2.uml.UMLFactory;
 
@@ -41,12 +41,12 @@
  *   <li>{@link org.eclipse.uml2.uml.Namespace#getNamesOfMember(org.eclipse.uml2.uml.NamedElement) <em>Get Names Of Member</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Namespace#importMembers(org.eclipse.emf.common.util.EList) <em>Import Members</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Namespace#membersAreDistinguishable() <em>Members Are Distinguishable</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.ActivityGroup#validateNodesAndEdges(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Nodes And Edges</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.ActivityGroup#validateGroupOwned(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Group Owned</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.ActivityGroup#validateNotContained(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Not Contained</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.StructuredActivityNode#validateOutputPinEdges(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Output Pin Edges</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.StructuredActivityNode#validateEdges(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Edges</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.ActivityGroup#validateNodesAndEdges(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Nodes And Edges</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.StructuredActivityNode#validateInputPinEdges(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Input Pin Edges</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.StructuredActivityNode#validateEdges(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Edges</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.StructuredActivityNode#validateOutputPinEdges(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Output Pin Edges</em>}</li>
  * </ul>
  * </p>
  * @generated
@@ -125,11 +125,17 @@
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @see org.eclipse.uml2.uml.StructuredActivityNode#getActivity()
-	 * @generated
+	 * @generated NOT
 	 */
 	public void testGetActivity() {
-		// TODO: implement this feature getter test method
-		// Ensure that you remove @generated or mark it @generated NOT
+		Activity activity = UMLFactory.eINSTANCE.createActivity();
+		activity.getStructuredNodes().add(getFixture());
+
+		assertEquals(activity, getFixture().getActivity());
+
+		activity.getNodes().remove(getFixture());
+
+		assertNull(getFixture().getActivity());
 	}
 
 	/**
@@ -137,11 +143,27 @@
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @see org.eclipse.uml2.uml.StructuredActivityNode#setActivity(org.eclipse.uml2.uml.Activity)
-	 * @generated
+	 * @generated NOT
 	 */
 	public void testSetActivity() {
-		// TODO: implement this feature getter test method
-		// Ensure that you remove @generated or mark it @generated NOT
+		Activity activity1 = UMLFactory.eINSTANCE.createActivity();
+		getFixture().setActivity(activity1);
+
+		assertTrue(activity1.getStructuredNodes().contains(getFixture()));
+		assertTrue(activity1.getNodes().contains(getFixture()));
+
+		Activity activity2 = UMLFactory.eINSTANCE.createActivity();
+		getFixture().setActivity(activity2);
+
+		assertFalse(activity1.getStructuredNodes().contains(getFixture()));
+		assertFalse(activity1.getNodes().contains(getFixture()));
+		assertTrue(activity2.getStructuredNodes().contains(getFixture()));
+		assertTrue(activity2.getNodes().contains(getFixture()));
+
+		getFixture().setActivity(null);
+
+		assertFalse(activity2.getStructuredNodes().contains(getFixture()));
+		assertFalse(activity2.getNodes().contains(getFixture()));
 	}
 
 	/**
@@ -329,11 +351,17 @@
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @see org.eclipse.uml2.uml.ActivityGroup#getInActivity()
-	 * @generated
+	 * @generated NOT
 	 */
 	public void testGetInActivity() {
-		// TODO: implement this redefined feature getter test method
-		// Ensure that you remove @generated or mark it @generated NOT
+		Activity activity = UMLFactory.eINSTANCE.createActivity();
+		activity.getStructuredNodes().add(getFixture());
+
+		assertEquals(activity, getFixture().getInActivity());
+
+		activity.getGroups().remove(getFixture());
+
+		assertNull(getFixture().getInActivity());
 	}
 
 	/**
@@ -341,10 +369,26 @@
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @see org.eclipse.uml2.uml.ActivityGroup#setInActivity(org.eclipse.uml2.uml.Activity)
-	 * @generated
+	 * @generated NOT
 	 */
 	public void testSetInActivity() {
-		// TODO: implement this redefined feature setter test method
-		// Ensure that you remove @generated or mark it @generated NOT
+		Activity activity1 = UMLFactory.eINSTANCE.createActivity();
+		getFixture().setInActivity(activity1);
+
+		assertTrue(activity1.getStructuredNodes().contains(getFixture()));
+		assertTrue(activity1.getGroups().contains(getFixture()));
+
+		Activity activity2 = UMLFactory.eINSTANCE.createActivity();
+		getFixture().setInActivity(activity2);
+
+		assertFalse(activity1.getStructuredNodes().contains(getFixture()));
+		assertFalse(activity1.getGroups().contains(getFixture()));
+		assertTrue(activity2.getStructuredNodes().contains(getFixture()));
+		assertTrue(activity2.getGroups().contains(getFixture()));
+
+		getFixture().setInActivity(null);
+
+		assertFalse(activity2.getStructuredNodes().contains(getFixture()));
+		assertFalse(activity2.getGroups().contains(getFixture()));
 	}
 } //StructuredActivityNodeTest
diff --git a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/TimeEventTest.java b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/TimeEventTest.java
index d7c70e8..9e7f251 100644
--- a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/TimeEventTest.java
+++ b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/TimeEventTest.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2007 IBM Corporation and others.
+ * Copyright (c) 2005, 2011 IBM Corporation, CEA, and others.
  * All rights reserved.   This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -7,8 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
+ *   Kenn Hussey (CEA) - 351774
  *
- * $Id: TimeEventTest.java,v 1.6 2007/02/14 20:06:14 khussey Exp $
  */
 package org.eclipse.uml2.uml.tests;
 
@@ -24,8 +24,8 @@
  * <p>
  * The following operations are tested:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.TimeEvent#validateWhenNonNegative(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate When Non Negative</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.TimeEvent#validateStartingTime(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Starting Time</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.TimeEvent#validateWhenNonNegative(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate When Non Negative</em>}</li>
  * </ul>
  * </p>
  * @generated
diff --git a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/TransitionTest.java b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/TransitionTest.java
index b3753ad..f33a744 100644
--- a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/TransitionTest.java
+++ b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/TransitionTest.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: TransitionTest.java,v 1.6 2007/02/14 20:06:13 khussey Exp $
  */
 package org.eclipse.uml2.uml.tests;
 
@@ -36,16 +35,16 @@
  *   <li>{@link org.eclipse.uml2.uml.RedefinableElement#validateRedefinitionContextValid(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Redefinition Context Valid</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Transition#isConsistentWith(org.eclipse.uml2.uml.RedefinableElement) <em>Is Consistent With</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.RedefinableElement#isRedefinitionContextValid(org.eclipse.uml2.uml.RedefinableElement) <em>Is Redefinition Context Valid</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.Transition#validateStateIsExternal(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate State Is External</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.Transition#validateJoinSegmentGuards(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Join Segment Guards</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.Transition#validateStateIsInternal(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate State Is Internal</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.Transition#validateOutgoingPseudostates(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Outgoing Pseudostates</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.Transition#validateJoinSegmentState(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Join Segment State</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.Transition#validateForkSegmentState(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Fork Segment State</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.Transition#validateSignaturesCompatible(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Signatures Compatible</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Transition#validateStateIsLocal(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate State Is Local</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.Transition#validateInitialTransition(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Initial Transition</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Transition#validateForkSegmentGuards(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Fork Segment Guards</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.Transition#validateJoinSegmentState(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Join Segment State</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.Transition#validateInitialTransition(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Initial Transition</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.Transition#validateOutgoingPseudostates(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Outgoing Pseudostates</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.Transition#validateSignaturesCompatible(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Signatures Compatible</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.Transition#validateStateIsInternal(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate State Is Internal</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.Transition#validateJoinSegmentGuards(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Join Segment Guards</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.Transition#validateForkSegmentState(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Fork Segment State</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.Transition#validateStateIsExternal(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate State Is External</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Transition#containingStateMachine() <em>Containing State Machine</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.Transition#redefinitionContext() <em>Redefinition Context</em>}</li>
  * </ul>
diff --git a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/UMLTests.java b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/UMLTests.java
index ccf3004..8835a24 100644
--- a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/UMLTests.java
+++ b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/UMLTests.java
@@ -8,9 +8,8 @@
  * Contributors:
  *   IBM - initial API and implementation
  *   Kenn Hussey (Embarcadero Technologies) - 205188
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: UMLTests.java,v 1.6 2008/10/02 21:00:20 jbruck Exp $
  */
 package org.eclipse.uml2.uml.tests;
 
@@ -50,12 +49,12 @@
 		suite.addTestSuite(StereotypeTest.class);
 		suite.addTestSuite(ClassTest.class);
 		suite.addTestSuite(StringExpressionTest.class);
+		suite.addTestSuite(ExpressionTest.class);
+		suite.addTestSuite(PackageTest.class);
 		suite.addTestSuite(TemplateSignatureTest.class);
 		suite.addTestSuite(TemplateParameterTest.class);
 		suite.addTestSuite(TemplateBindingTest.class);
 		suite.addTestSuite(TemplateParameterSubstitutionTest.class);
-		suite.addTestSuite(ExpressionTest.class);
-		suite.addTestSuite(PackageTest.class);
 		suite.addTestSuite(PackageMergeTest.class);
 		suite.addTestSuite(ProfileApplicationTest.class);
 		suite.addTestSuite(ProfileTest.class);
@@ -71,10 +70,8 @@
 		suite.addTestSuite(ArtifactTest.class);
 		suite.addTestSuite(ManifestationTest.class);
 		suite.addTestSuite(OperationTest.class);
-		suite.addTestSuite(ParameterTest.class);
-		suite.addTestSuite(ParameterSetTest.class);
-		suite.addTestSuite(ConstraintTest.class);
-		suite.addTestSuite(DataTypeTest.class);
+		suite.addTestSuite(InterfaceRealizationTest.class);
+		suite.addTestSuite(RealizationTest.class);
 		suite.addTestSuite(InterfaceTest.class);
 		suite.addTestSuite(ReceptionTest.class);
 		suite.addTestSuite(SignalTest.class);
@@ -86,8 +83,12 @@
 		suite.addTestSuite(ConnectionPointReferenceTest.class);
 		suite.addTestSuite(TriggerTest.class);
 		suite.addTestSuite(PortTest.class);
+		suite.addTestSuite(ConstraintTest.class);
 		suite.addTestSuite(TransitionTest.class);
 		suite.addTestSuite(ProtocolConformanceTest.class);
+		suite.addTestSuite(ParameterTest.class);
+		suite.addTestSuite(ParameterSetTest.class);
+		suite.addTestSuite(DataTypeTest.class);
 		suite.addTestSuite(OperationTemplateParameterTest.class);
 		suite.addTestSuite(ExtensionEndTest.class);
 		suite.addTestSuite(ModelTest.class);
@@ -99,7 +100,6 @@
 		suite.addTestSuite(UsageTest.class);
 		suite.addTestSuite(CollaborationUseTest.class);
 		suite.addTestSuite(CollaborationTest.class);
-		suite.addTestSuite(ConnectorTest.class);
 		suite.addTestSuite(GeneralizationTest.class);
 		suite.addTestSuite(GeneralizationSetTest.class);
 		suite.addTestSuite(RedefinableTemplateSignatureTest.class);
@@ -108,9 +108,8 @@
 		suite.addTestSuite(ExtensionPointTest.class);
 		suite.addTestSuite(IncludeTest.class);
 		suite.addTestSuite(SubstitutionTest.class);
-		suite.addTestSuite(RealizationTest.class);
 		suite.addTestSuite(ClassifierTemplateParameterTest.class);
-		suite.addTestSuite(InterfaceRealizationTest.class);
+		suite.addTestSuite(ConnectorTest.class);
 		suite.addTestSuite(ImageTest.class);
 		suite.addTestSuite(OpaqueExpressionTest.class);
 		suite.addTestSuite(AcceptCallActionTest.class);
diff --git a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/UnmarshallActionTest.java b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/UnmarshallActionTest.java
index ab053a2..00f5579 100644
--- a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/UnmarshallActionTest.java
+++ b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/UnmarshallActionTest.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: UnmarshallActionTest.java,v 1.6 2007/02/14 20:06:13 khussey Exp $
  */
 package org.eclipse.uml2.uml.tests;
 
@@ -25,13 +24,13 @@
  * <p>
  * The following operations are tested:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.UnmarshallAction#validateStructuralFeature(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Structural Feature</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.UnmarshallAction#validateNumberOfResult(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Number Of Result</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.UnmarshallAction#validateMultiplicityOfResult(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Multiplicity Of Result</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.UnmarshallAction#validateTypeAndOrdering(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Type And Ordering</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.UnmarshallAction#validateUnmarshallTypeIsClassifier(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Unmarshall Type Is Classifier</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.UnmarshallAction#validateMultiplicityOfObject(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Multiplicity Of Object</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.UnmarshallAction#validateSameType(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Same Type</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.UnmarshallAction#validateStructuralFeature(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Structural Feature</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.UnmarshallAction#validateMultiplicityOfObject(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Multiplicity Of Object</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.UnmarshallAction#validateTypeAndOrdering(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Type And Ordering</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.UnmarshallAction#validateNumberOfResult(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Number Of Result</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.UnmarshallAction#validateUnmarshallTypeIsClassifier(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Unmarshall Type Is Classifier</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.UnmarshallAction#validateMultiplicityOfResult(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Multiplicity Of Result</em>}</li>
  * </ul>
  * </p>
  * @generated
diff --git a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/UseCaseTest.java b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/UseCaseTest.java
index 2f6545a..8545ede 100644
--- a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/UseCaseTest.java
+++ b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/UseCaseTest.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: UseCaseTest.java,v 1.6 2007/02/14 20:06:13 khussey Exp $
  */
 package org.eclipse.uml2.uml.tests;
 
@@ -25,10 +24,10 @@
  * <p>
  * The following operations are tested:
  * <ul>
+ *   <li>{@link org.eclipse.uml2.uml.UseCase#validateMustHaveName(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Must Have Name</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.UseCase#validateCannotIncludeSelf(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Cannot Include Self</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.UseCase#validateBinaryAssociations(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Binary Associations</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.UseCase#validateNoAssociationToUseCase(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate No Association To Use Case</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.UseCase#validateCannotIncludeSelf(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Cannot Include Self</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.UseCase#validateMustHaveName(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Must Have Name</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.UseCase#allIncludedUseCases() <em>All Included Use Cases</em>}</li>
  * </ul>
  * </p>
diff --git a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ValuePinTest.java b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ValuePinTest.java
index e8b71fb..8fd26d5 100644
--- a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ValuePinTest.java
+++ b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/ValuePinTest.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: ValuePinTest.java,v 1.4 2007/02/14 20:06:12 khussey Exp $
  */
 package org.eclipse.uml2.uml.tests;
 
@@ -25,8 +24,8 @@
  * <p>
  * The following operations are tested:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.ValuePin#validateNoIncomingEdges(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate No Incoming Edges</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.ValuePin#validateCompatibleType(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Compatible Type</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.ValuePin#validateNoIncomingEdges(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate No Incoming Edges</em>}</li>
  * </ul>
  * </p>
  * @generated
diff --git a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/VariableTest.java b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/VariableTest.java
index a42a0d7..7b8b527 100644
--- a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/VariableTest.java
+++ b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/VariableTest.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: VariableTest.java,v 1.10 2008/10/02 21:00:20 jbruck Exp $
  */
 package org.eclipse.uml2.uml.tests;
 
@@ -32,10 +31,10 @@
  * <p>
  * The following operations are tested:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.MultiplicityElement#validateUpperGeLower(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Upper Ge Lower</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.MultiplicityElement#validateLowerGe0(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Lower Ge0</em>}</li>
- *   <li>{@link org.eclipse.uml2.uml.MultiplicityElement#validateValueSpecificationNoSideEffects(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Value Specification No Side Effects</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.MultiplicityElement#validateUpperGeLower(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Upper Ge Lower</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.MultiplicityElement#validateValueSpecificationConstant(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Value Specification Constant</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.MultiplicityElement#validateValueSpecificationNoSideEffects(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Value Specification No Side Effects</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.MultiplicityElement#compatibleWith(org.eclipse.uml2.uml.MultiplicityElement) <em>Compatible With</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.MultiplicityElement#includesCardinality(int) <em>Includes Cardinality</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.MultiplicityElement#includesMultiplicity(org.eclipse.uml2.uml.MultiplicityElement) <em>Includes Multiplicity</em>}</li>
diff --git a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/WriteStructuralFeatureActionTest.java b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/WriteStructuralFeatureActionTest.java
index 28185d3..d0233b4 100644
--- a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/WriteStructuralFeatureActionTest.java
+++ b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/WriteStructuralFeatureActionTest.java
@@ -7,9 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
- *   Kenn Hussey (CEA) - 327039
+ *   Kenn Hussey (CEA) - 327039, 351774
  *
- * $Id: WriteStructuralFeatureActionTest.java,v 1.6 2008/10/02 21:00:20 jbruck Exp $
  */
 package org.eclipse.uml2.uml.tests;
 
@@ -22,9 +21,9 @@
  * <p>
  * The following operations are tested:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.WriteStructuralFeatureAction#validateMultiplicityOfResult(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Multiplicity Of Result</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.WriteStructuralFeatureAction#validateInputPin(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Input Pin</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.WriteStructuralFeatureAction#validateTypeOfResult(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Type Of Result</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.WriteStructuralFeatureAction#validateMultiplicityOfResult(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Multiplicity Of Result</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.WriteStructuralFeatureAction#validateMultiplicity(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Multiplicity</em>}</li>
  * </ul>
  * </p>
diff --git a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/WriteVariableActionTest.java b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/WriteVariableActionTest.java
index 3ecfb21..e14618a 100644
--- a/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/WriteVariableActionTest.java
+++ b/tests/org.eclipse.uml2.uml.tests/src/org/eclipse/uml2/uml/tests/WriteVariableActionTest.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2007 IBM Corporation and others.
+ * Copyright (c) 2005, 2011 IBM Corporation, CEA, and others.
  * All rights reserved.   This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -7,8 +7,8 @@
  *
  * Contributors:
  *   IBM - initial API and implementation
+ *   Kenn Hussey (CEA) - 351774
  *
- * $Id: WriteVariableActionTest.java,v 1.5 2007/02/14 20:06:14 khussey Exp $
  */
 package org.eclipse.uml2.uml.tests;
 
@@ -21,8 +21,8 @@
  * <p>
  * The following operations are tested:
  * <ul>
- *   <li>{@link org.eclipse.uml2.uml.WriteVariableAction#validateSameType(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Same Type</em>}</li>
  *   <li>{@link org.eclipse.uml2.uml.WriteVariableAction#validateMultiplicity(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Multiplicity</em>}</li>
+ *   <li>{@link org.eclipse.uml2.uml.WriteVariableAction#validateSameType(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) <em>Validate Same Type</em>}</li>
  * </ul>
  * </p>
  * @generated